another attempt at solving fmt issues

This commit is contained in:
Shreyas Goenka 2023-01-19 15:37:47 +01:00
parent 2ca648718a
commit 2e0c3928f7
No known key found for this signature in database
GPG Key ID: 92A07DF49CCB0622
1 changed files with 25 additions and 23 deletions

View File

@ -37,29 +37,31 @@ type Schema struct {
Required []string `json:"required,omitempty"` Required []string `json:"required,omitempty"`
} }
// This function translates golang types into json schema. Here is the mapping /*
// between json schema types and golang types This function translates golang types into json schema. Here is the mapping
// - GolangType -> Javascript type / Json Schema2 between json schema types and golang types
// - bool -> boolean - GolangType -> Javascript type / Json Schema2
// - string -> string - bool -> boolean
// - int (all variants) -> number - string -> string
// - float (all variants) -> number - int (all variants) -> number
// - map[string]MyStruct -> { - float (all variants) -> number
// type: object - map[string]MyStruct -> {
// additionalProperties: {} type: object
// } additionalProperties: {}
// for details visit: https://json-schema.org/understanding-json-schema/reference/object.html#additional-properties }
// - []MyStruct -> { for details visit: https://json-schema.org/understanding-json-schema/reference/object.html#additional-properties
// type: array - []MyStruct -> {
// items: {} type: array
// } items: {}
// for details visit: https://json-schema.org/understanding-json-schema/reference/array.html#items }
// - []MyStruct -> { for details visit: https://json-schema.org/understanding-json-schema/reference/array.html#items
// type: object - []MyStruct -> {
// properties: {} type: object
// additionalProperties: false properties: {}
// } additionalProperties: false
// for details visit: https://json-schema.org/understanding-json-schema/reference/object.html#properties }
for details visit: https://json-schema.org/understanding-json-schema/reference/object.html#properties
*/
func NewSchema(golangType reflect.Type, docs *Docs) (*Schema, error) { func NewSchema(golangType reflect.Type, docs *Docs) (*Schema, error) {
seenTypes := map[reflect.Type]struct{}{} seenTypes := map[reflect.Type]struct{}{}
debugTrace := list.New() debugTrace := list.New()