Lines Matching refs:schema

29 func (schema *Schema) IsEmpty() bool {
30 return (schema.Schema == nil) &&
31 (schema.ID == nil) &&
32 (schema.MultipleOf == nil) &&
33 (schema.Maximum == nil) &&
34 (schema.ExclusiveMaximum == nil) &&
35 (schema.Minimum == nil) &&
36 (schema.ExclusiveMinimum == nil) &&
37 (schema.MaxLength == nil) &&
38 (schema.MinLength == nil) &&
39 (schema.Pattern == nil) &&
40 (schema.AdditionalItems == nil) &&
41 (schema.Items == nil) &&
42 (schema.MaxItems == nil) &&
43 (schema.MinItems == nil) &&
44 (schema.UniqueItems == nil) &&
45 (schema.MaxProperties == nil) &&
46 (schema.MinProperties == nil) &&
47 (schema.Required == nil) &&
48 (schema.AdditionalProperties == nil) &&
49 (schema.Properties == nil) &&
50 (schema.PatternProperties == nil) &&
51 (schema.Dependencies == nil) &&
52 (schema.Enumeration == nil) &&
53 (schema.Type == nil) &&
54 (schema.AllOf == nil) &&
55 (schema.AnyOf == nil) &&
56 (schema.OneOf == nil) &&
57 (schema.Not == nil) &&
58 (schema.Definitions == nil) &&
59 (schema.Title == nil) &&
60 (schema.Description == nil) &&
61 (schema.Default == nil) &&
62 (schema.Format == nil) &&
63 (schema.Ref == nil)
67 func (schema *Schema) IsEqual(schema2 *Schema) bool {
68 return schema.String() == schema2.String()
72 type SchemaOperation func(schema *Schema, context string)
75 func (schema *Schema) applyToSchemas(operation SchemaOperation, context string) {
77 if schema.AdditionalItems != nil {
78 s := schema.AdditionalItems.Schema
84 if schema.Items != nil {
85 if schema.Items.SchemaArray != nil {
86 for _, s := range *(schema.Items.SchemaArray) {
89 } else if schema.Items.Schema != nil {
90 schema.Items.Schema.applyToSchemas(operation, "Items.Schema")
94 if schema.AdditionalProperties != nil {
95 s := schema.AdditionalProperties.Schema
101 if schema.Properties != nil {
102 for _, pair := range *(schema.Properties) {
107 if schema.PatternProperties != nil {
108 for _, pair := range *(schema.PatternProperties) {
114 if schema.Dependencies != nil {
115 for _, pair := range *(schema.Dependencies) {
124 if schema.AllOf != nil {
125 for _, s := range *(schema.AllOf) {
129 if schema.AnyOf != nil {
130 for _, s := range *(schema.AnyOf) {
134 if schema.OneOf != nil {
135 for _, s := range *(schema.OneOf) {
139 if schema.Not != nil {
140 schema.Not.applyToSchemas(operation, "Not")
143 if schema.Definitions != nil {
144 for _, pair := range *(schema.Definitions) {
150 operation(schema, context)
154 func (schema *Schema) CopyProperties(source *Schema) {
156 schema.Schema = source.Schema
159 schema.ID = source.ID
162 schema.MultipleOf = source.MultipleOf
165 schema.Maximum = source.Maximum
168 schema.ExclusiveMaximum = source.ExclusiveMaximum
171 schema.Minimum = source.Minimum
174 schema.ExclusiveMinimum = source.ExclusiveMinimum
177 schema.MaxLength = source.MaxLength
180 schema.MinLength = source.MinLength
183 schema.Pattern = source.Pattern
186 schema.AdditionalItems = source.AdditionalItems
189 schema.Items = source.Items
192 schema.MaxItems = source.MaxItems
195 schema.MinItems = source.MinItems
198 schema.UniqueItems = source.UniqueItems
201 schema.MaxProperties = source.MaxProperties
204 schema.MinProperties = source.MinProperties
207 schema.Required = source.Required
210 schema.AdditionalProperties = source.AdditionalProperties
213 schema.Properties = source.Properties
216 schema.PatternProperties = source.PatternProperties
219 schema.Dependencies = source.Dependencies
222 schema.Enumeration = source.Enumeration
225 schema.Type = source.Type
228 schema.AllOf = source.AllOf
231 schema.AnyOf = source.AnyOf
234 schema.OneOf = source.OneOf
237 schema.Not = source.Not
240 schema.Definitions = source.Definitions
243 schema.Title = source.Title
246 schema.Description = source.Description
249 schema.Default = source.Default
252 schema.Format = source.Format
255 schema.Ref = source.Ref
260 func (schema *Schema) TypeIs(typeName string) bool {
261 if schema.Type != nil {
263 if schema.Type.String != nil {
264 return (*(schema.Type.String) == typeName)
265 } else if schema.Type.StringArray != nil {
266 for _, n := range *(schema.Type.StringArray) {
280 func (schema *Schema) ResolveRefs() {
281 rootSchema := schema
285 schema.applyToSchemas(
286 func(schema *Schema, context string) {
287 if schema.Ref != nil {
288 resolvedRef, err := rootSchema.resolveJSONPointer(*(schema.Ref))
300 schema.Ref = nil
301 schema.CopyProperties(resolvedRef)
312 func (schema *Schema) resolveJSONPointer(ref string) (result *Schema, err error) {
316 if documentName == "#" && schema.ID != nil {
317 documentName = *(schema.ID)
354 func (schema *Schema) ResolveAllOfs() {
355 schema.applyToSchemas(
356 func(schema *Schema, context string) {
357 if schema.AllOf != nil {
358 for _, allOf := range *(schema.AllOf) {
359 schema.CopyProperties(allOf)
361 schema.AllOf = nil
367 func (schema *Schema) ResolveAnyOfs() {
368 schema.applyToSchemas(
369 func(schema *Schema, context string) {
370 if schema.AnyOf != nil {
371 schema.OneOf = schema.AnyOf
372 schema.AnyOf = nil
383 func (schema *Schema) CopyOfficialSchemaProperty(name string) {
384 *schema.Properties = append(*schema.Properties,
390 func (schema *Schema) CopyOfficialSchemaProperties(names []string) {
392 schema.CopyOfficialSchemaProperty(name)