@@ -13,51 +13,51 @@ type Definitions map[string]*Schema
13
13
14
14
// Schema represents a JSON Schema compatible CNAB Definition
15
15
type Schema struct {
16
- Schema string `json:"$schema,omitempty" yaml:"$schema,omitempty" mapstructure:"$schema,omitempty" `
17
- Comment string `json:"$comment,omitempty" yaml:"$comment,omitempty" mapstructure:"$comment,omitempty" `
18
- ID string `json:"$id,omitempty" yaml:"$id,omitempty" mapstructure:"$id,omitempty" `
19
- Ref string `json:"$ref,omitempty" yaml:"$ref,omitempty" mapstructure:"$ref,omitempty" `
20
- AdditionalItems interface {} `json:"additionalItems,omitempty" yaml:"additionalItems,omitempty" mapstructure:"additionalItems,omitempty" `
21
- AdditionalProperties interface {} `json:"additionalProperties,omitempty" yaml:"additionalProperties,omitempty" mapstructure:"additionalProperties,omitempty" `
22
- AllOf []* Schema `json:"allOf,omitempty" yaml:"allOf,omitempty" mapstructure:"allOf,omitempty" `
23
- Const interface {} `json:"const,omitempty" yaml:"const,omitempty" mapstructure:"const,omitempty" `
24
- Contains * Schema `json:"contains,omitempty" yaml:"contains,omitempty" mapstructure:"contains,omitempty" `
25
- ContentEncoding string `json:"contentEncoding,omitempty" yaml:"contentEncoding,omitempty" mapstructure:"contentEncoding,omitempty" `
26
- ContentMediaType string `json:"contentMediaType,omitempty" yaml:"contentMediaType,omitempty" mapstructure:"contentMediaType,omitempty" `
27
- Default interface {} `json:"default,omitempty" yaml:"default,omitempty" mapstructure:"default,omitempty" `
28
- Definitions Definitions `json:"definitions,omitempty" yaml:"definitions,omitempty" mapstructure:"definitions,omitempty" `
29
- Dependencies map [string ]interface {} `json:"dependencies,omitempty" yaml:"dependencies,omitempty" mapstructure:"dependencies,omitempty" `
30
- Description string `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty" `
31
- Else * Schema `json:"else,omitempty" yaml:"else,omitempty" mapstructure:"else,omitempty" `
32
- Enum []interface {} `json:"enum,omitempty" yaml:"enum,omitempty" mapstructure:"enum,omitempty" `
33
- Examples []interface {} `json:"examples,omitempty" yaml:"examples,omitempty" mapstructure:"examples,omitempty" `
34
- ExclusiveMaximum * float64 `json:"exclusiveMaximum,omitempty" yaml:"exclusiveMaximum,omitempty" mapstructure:"exclusiveMaximum,omitempty" `
35
- ExclusiveMinimum * float64 `json:"exclusiveMinimum,omitempty" yaml:"exclusiveMinimum,omitempty" mapstructure:"exclusiveMinimum,omitempty" `
36
- Format string `json:"format,omitempty" yaml:"format,omitempty" mapstructure:"format,omitempty" `
37
- If * Schema `json:"if,omitempty" yaml:"if,omitempty" mapstructure:"if,omitempty" `
16
+ Schema string `json:"$schema,omitempty" yaml:"$schema,omitempty"`
17
+ Comment string `json:"$comment,omitempty" yaml:"$comment,omitempty"`
18
+ ID string `json:"$id,omitempty" yaml:"$id,omitempty"`
19
+ Ref string `json:"$ref,omitempty" yaml:"$ref,omitempty"`
20
+ AdditionalItems interface {} `json:"additionalItems,omitempty" yaml:"additionalItems,omitempty"`
21
+ AdditionalProperties interface {} `json:"additionalProperties,omitempty" yaml:"additionalProperties,omitempty"`
22
+ AllOf []* Schema `json:"allOf,omitempty" yaml:"allOf,omitempty"`
23
+ Const interface {} `json:"const,omitempty" yaml:"const,omitempty"`
24
+ Contains * Schema `json:"contains,omitempty" yaml:"contains,omitempty"`
25
+ ContentEncoding string `json:"contentEncoding,omitempty" yaml:"contentEncoding,omitempty"`
26
+ ContentMediaType string `json:"contentMediaType,omitempty" yaml:"contentMediaType,omitempty"`
27
+ Default interface {} `json:"default,omitempty" yaml:"default,omitempty"`
28
+ Definitions Definitions `json:"definitions,omitempty" yaml:"definitions,omitempty"`
29
+ Dependencies map [string ]interface {} `json:"dependencies,omitempty" yaml:"dependencies,omitempty"`
30
+ Description string `json:"description,omitempty" yaml:"description,omitempty"`
31
+ Else * Schema `json:"else,omitempty" yaml:"else,omitempty"`
32
+ Enum []interface {} `json:"enum,omitempty" yaml:"enum,omitempty"`
33
+ Examples []interface {} `json:"examples,omitempty" yaml:"examples,omitempty"`
34
+ ExclusiveMaximum * float64 `json:"exclusiveMaximum,omitempty" yaml:"exclusiveMaximum,omitempty"`
35
+ ExclusiveMinimum * float64 `json:"exclusiveMinimum,omitempty" yaml:"exclusiveMinimum,omitempty"`
36
+ Format string `json:"format,omitempty" yaml:"format,omitempty"`
37
+ If * Schema `json:"if,omitempty" yaml:"if,omitempty"`
38
38
//Items can be a Schema or an Array of Schema :(
39
- Items interface {} `json:"items,omitempty" yaml:"items,omitempty" mapstructure:"items,omitempty" `
40
- Maximum * float64 `json:"maximum,omitempty" yaml:"maximum,omitempty" mapstructure:"maximum,omitempty" `
41
- MaxLength * float64 `json:"maxLength,omitempty" yaml:"maxLength,omitempty" mapstructure:"maxLength,omitempty" `
42
- MinItems * float64 `json:"minItems,omitempty" yaml:"minItems,omitempty" mapstructure:"minItems,omitempty" `
43
- MinLength * float64 `json:"minLength,omitempty" yaml:"minLength,omitempty" mapstructure:"minLength,omitempty" `
44
- MinProperties * float64 `json:"minProperties,omitempty" yaml:"minProperties,omitempty" mapstructure:"minProperties,omitempty" `
45
- Minimum * float64 `json:"minimum,omitempty" yaml:"minimum,omitempty" mapstructure:"minimum,omitempty" `
46
- MultipleOf * float64 `json:"multipleOf,omitempty" yaml:"multipleOf,omitempty" mapstructure:"multipleOf,omitempty" `
47
- Not * Schema `json:"not,omitempty" yaml:"not,omitempty" mapstructure:"not,omitempty" `
48
- OneOf * Schema `json:"oneOf,omitempty" yaml:"oneOf,omitempty" mapstructure:"oneOf,omitempty" `
39
+ Items interface {} `json:"items,omitempty" yaml:"items,omitempty"`
40
+ Maximum * float64 `json:"maximum,omitempty" yaml:"maximum,omitempty"`
41
+ MaxLength * float64 `json:"maxLength,omitempty" yaml:"maxLength,omitempty"`
42
+ MinItems * float64 `json:"minItems,omitempty" yaml:"minItems,omitempty"`
43
+ MinLength * float64 `json:"minLength,omitempty" yaml:"minLength,omitempty"`
44
+ MinProperties * float64 `json:"minProperties,omitempty" yaml:"minProperties,omitempty"`
45
+ Minimum * float64 `json:"minimum,omitempty" yaml:"minimum,omitempty"`
46
+ MultipleOf * float64 `json:"multipleOf,omitempty" yaml:"multipleOf,omitempty"`
47
+ Not * Schema `json:"not,omitempty" yaml:"not,omitempty"`
48
+ OneOf * Schema `json:"oneOf,omitempty" yaml:"oneOf,omitempty"`
49
49
50
- PatternProperties map [string ]* Schema `json:"patternProperties,omitempty" yaml:"patternProperties,omitempty" mapstructure:"patternProperties,omitempty" `
50
+ PatternProperties map [string ]* Schema `json:"patternProperties,omitempty" yaml:"patternProperties,omitempty"`
51
51
52
- Properties map [string ]* Schema `json:"properties,omitempty" yaml:"properties,omitempty" mapstructure:"properties,omitempty" `
53
- PropertyNames * Schema `json:"propertyNames,omitempty" yaml:"propertyNames,omitempty" mapstructure:"propertyNames,omitempty" `
54
- ReadOnly * bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty" mapstructure:"readOnly,omitempty" `
55
- Required []string `json:"required,omitempty" yaml:"required,omitempty" mapstructure:"required,omitempty" `
56
- Then * Schema `json:"then,omitempty" yaml:"then,omitempty" mapstructure:"then,omitempty" `
57
- Title string `json:"title,omitempty" yaml:"title,omitempty" mapstructure:"title,omitempty" `
58
- Type interface {} `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty" `
59
- UniqueItems * bool `json:"uniqueItems,omitempty" yaml:"uniqueItems,omitempty" mapstructure:"uniqueItems,omitempty" `
60
- WriteOnly * bool `json:"writeOnly,omitempty" yaml:"writeOnly,omitempty" mapstructure:"writeOnly,omitempty" `
52
+ Properties map [string ]* Schema `json:"properties,omitempty" yaml:"properties,omitempty"`
53
+ PropertyNames * Schema `json:"propertyNames,omitempty" yaml:"propertyNames,omitempty"`
54
+ ReadOnly * bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
55
+ Required []string `json:"required,omitempty" yaml:"required,omitempty"`
56
+ Then * Schema `json:"then,omitempty" yaml:"then,omitempty"`
57
+ Title string `json:"title,omitempty" yaml:"title,omitempty"`
58
+ Type interface {} `json:"type,omitempty" yaml:"type,omitempty"`
59
+ UniqueItems * bool `json:"uniqueItems,omitempty" yaml:"uniqueItems,omitempty"`
60
+ WriteOnly * bool `json:"writeOnly,omitempty" yaml:"writeOnly,omitempty"`
61
61
}
62
62
63
63
// GetType will return the singular type for a given schema and a success boolean. If the
0 commit comments