linter

package
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2019 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConsoleFormatter added in v0.0.2

func ConsoleFormatter(out io.Writer, report Report)

func GetNamingChecker

func GetNamingChecker(convention NamingConvention) func(string) bool

func Naming added in v0.0.2

func Naming(ctx *RuleContext)

func NoDuplicateOperationIDs added in v0.0.2

func NoDuplicateOperationIDs(ctx *RuleContext)

func NoEmptyDescriptions

func NoEmptyDescriptions(ctx *RuleContext)

func NoEmptyOperationIDs added in v0.0.4

func NoEmptyOperationIDs(ctx *RuleContext)

func NoMissingRequiredProperties added in v0.0.3

func NoMissingRequiredProperties(ctx *RuleContext)

func NoUnusedDefinitions added in v0.0.2

func NoUnusedDefinitions(ctx *RuleContext)

func RequireOperationTags

func RequireOperationTags(ctx *RuleContext)

func RunSpecLint

func RunSpecLint(options Options)

func SlashTerminatedPaths

func SlashTerminatedPaths(ctx *RuleContext)

Types

type Config

type Config struct {
	Rules Rules `yaml:"rules,omitempty"`
}

func LoadConfig

func LoadConfig(path string) (*Config, error)

type NamingConvention

type NamingConvention = string
const (
	PascalCase NamingConvention = "PascalCase"
	SnakeCase  NamingConvention = "SnakeCase"
	CamelCase  NamingConvention = "CamelCase"
	KebabCase  NamingConvention = "KebabCase"
)

type NamingOpts added in v0.0.2

type NamingOpts struct {
	Paths       NamingConvention `yaml:"paths,omitempty"`
	Tags        NamingConvention `yaml:"tags,omitempty"`
	Operations  NamingConvention `yaml:"operation,omitempty"`
	Parameters  NamingConvention `yaml:"parameters,omitempty"`
	Definitions NamingConvention `yaml:"definitions,omitempty"`
	Properties  NamingConvention `yaml:"properties,omitempty"`
}

type NoEmptyDescriptionsOpts

type NoEmptyDescriptionsOpts struct {
	Operations bool `yaml:"operations,omitempty"`
	Properties bool `yaml:"properties,omitempty"`
	Parameters bool `yaml:"parameters,omitempty"`
}

type Options

type Options struct {
	Spec   string
	Config string
}

type Report added in v0.0.2

type Report struct {
	// contains filtered or unexported fields
}

func NewReport added in v0.0.2

func NewReport() *Report

func (*Report) AddViolation added in v0.0.2

func (report *Report) AddViolation(violation RuleViolation)

func (*Report) GetViolations added in v0.0.2

func (report *Report) GetViolations() []RuleViolation

type RuleContext added in v0.0.2

type RuleContext struct {
	Config   Config
	Analyzer analysis.Spec
	Report   Report
	Walk     func(visitor core.DocumentVisitor)
}

type RuleViolation added in v0.0.2

type RuleViolation struct {
	RuleName string
	Ref      string
	Failure  string
}

type Rules

type Rules struct {
	Naming                      *NamingOpts              `yaml:"naming,omitempty"`
	NoEmptyDescriptions         *NoEmptyDescriptionsOpts `yaml:"noEmptyDescriptions,omitempty"`
	NoEmptyOperationIDs         bool                     `yaml:"noEmptyOperationIDs,omitempty"`
	SlashTerminatedPaths        *bool                    `yaml:"slashTerminatedPaths,omitempty"`
	NoEmptyTags                 bool                     `yaml:"noEmptyTags,omitempty"`
	NoUnusedDefinitions         bool                     `yaml:"noUnusedDefinitions,omitempty"`
	NoDuplicateOperationIDs     bool                     `yaml:"noDuplicateOperationIDs,omitempty"`
	NoMissingRequiredProperties bool                     `yaml:"noMissingRequiredProperties,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL