Documentation
¶
Index ¶
Constants ¶
const ( NoWarning = 0 APINameWarning = 1 DuplicateWarning = 2 FormattingWarning = 3 RedefinitionWarning = 4 IgnoringWarning = 5 EmptyDefinitionWarning = 6 NotEmptyDefinitionWarning = 7 LogicalErrorWarning = 8 DeprecatedWarning = 9 IndentationWarning = 10 AmbiguityWarning = 11 URIWarning = 12 )
Warning Codes see https://github.com/apiaryio/snowcrash/blob/master/src/SourceAnnotation.h#L128
const ( NoError = 0 ApplicationError = 1 BusinessError = 2 SymbolError = 3 )
Error Codes see https://github.com/apiaryio/snowcrash/blob/master/src/SourceAnnotation.h#L113
const ( // ScRenderDescriptionsOptionKey causes the parser to render markdown in description ScRenderDescriptionsOptionKey = 1 << 0 // RequireBlueprintNameOptionKey causes the parser to treat missing blueprint name as error RequireBlueprintNameOptionKey = 1 << 1 // ExportSourcemapOptionKey causes the parser to export source maps AST ExportSourcemapOptionKey = 1 << 2 )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Action ¶
type Action struct {
Name string
Description string
// HTTP request method or nil
Method string
// action-specific URI parameters or nil
Parameters []Parameter
// TODO: in RedSnow, these are flattened out. Ideally these should be too
Attributes struct {
// action relation attribute
Relation string
// action uri template attribute
UTITemplate string
}
Content []interface{}
// action transaction examples
Examples []TransactionExample
}
Action Blueprint AST node represents 'action section'
type Blueprint ¶
type Blueprint struct {
Version string `json:"_version"`
// Metadata collection Blueprint AST node
Metadata []struct {
Name string
Value string
}
// Resource group Blueprint AST node
// array of resources in the group
ResourceGroups []struct {
Name string
Description string
Resources []Resource
}
Name string
Description string
Element string
}
Blueprint is a data representation of the ast blueprints
type BlueprintSourcemap ¶
type BlueprintSourcemap interface{}
BlueprintSourcemap is a blueprint for sourcemaps
TODO: fill this out just as the AST blueprint is
type LocationPoint ¶
type LocationPoint struct {
// Zero-based index of the character where warning has occurred.
Index int
// Number of the characters from index where warning has occurred.
Length int
}
LocationPoint makes up an array of possibly non-continuous blocks of the source API Blueprint.
type Parameter ¶
type Parameter struct {
Name string
// an arbitrary type of the parameter or nil
Type string
Description string
// parameter necessity flag
// TODO: change this to be an enum indicating required`, optional or undefined
// Where undefined implies required according to the API Blueprint Specification
Required bool
// default value of the parameter or nil
DefaultValue string `json:"default"`
// example value of the parameter or nil
ExampleValue string `json:"example"`
// an enumeration of possible parameter values
Values []struct {
Value string
}
}
Parameter is a URI parameter Blueprint AST node represents one 'parameters section' parameter
type ParseResult ¶
type ParseResult struct {
AST Blueprint
SourceMap BlueprintSourcemap
// Description of a parsing error as occurred during parsing.
// If this field is present && code different from 0 then the
// content of ast field should be ignored.
Error SourceAnnotation
// Ordered array of parser warnings as occurred during the parsing.
Warnings []SourceAnnotation
}
ParseResult contains all the information resulting from the parse in a fully typed structured format see: https://github.com/apiaryio/api-blueprint-ast/blob/master/Parse%20Result.md
func OptionParse ¶
func OptionParse(source string, options int) (*ParseResult, error)
OptionParse parses the inputted string using the drafter library with the specified options to affect the parse and unmarshals the returned json into a struct containing all the necessary information
func Parse ¶
func Parse(source string) (*ParseResult, error)
Parse is a wrapper around OptionParse passing in 0 for the options value, indicating normal parsing behavior
type Payload ¶
type Payload struct {
Name string
Description string
// array of HTTP header fields of the message or nil
Headers []struct {
Name string
Value string
}
// HTTP-message body or nil
Body string
// HTTP-message body validation schema or nil
Schema string
// Symbol Reference if the payload is a reference
Reference struct {
ID string
}
Content []interface{}
}
Payload is a HTTP message payload Blueprint AST node
type Resource ¶
type Resource struct {
Element string
Name string
Description string
URITemplate string
Model Payload
Parameters []Parameter
Actions []Action
}
Resource is a resource within the blueprint
type SourceAnnotation ¶
type SourceAnnotation struct {
Message string
Code int
Location []LocationPoint
}
SourceAnnotation is a building block of the json for API Blueprints
func (*SourceAnnotation) Ok ¶
func (s *SourceAnnotation) Ok() bool
Ok returns whether or not the return code indicated success