├── .github └── workflows │ ├── lint.yaml │ ├── release.yaml │ └── test.yaml ├── .gitignore ├── .golangci.yml ├── COPYING ├── README.md ├── examples ├── nested │ └── nested.go └── user.go ├── examples_test.go ├── fixtures ├── .gitignore ├── allow_additional_props.json ├── anyof.json ├── array_handling.json ├── array_type.json ├── base_schema_id.json ├── commas_in_pattern.json ├── compact_date.json ├── custom_additional.json ├── custom_base_schema_id.json ├── custom_comments.json ├── custom_map_type.json ├── custom_slice_type.json ├── custom_type.json ├── custom_type_extend.json ├── custom_type_with_interface.json ├── defaults_expanded_toplevel.json ├── equals_in_pattern.json ├── go_comments.json ├── go_comments_full.json ├── ignore_type.json ├── inlining_embedded.json ├── inlining_embedded_anchored.json ├── inlining_inheritance.json ├── inlining_ptr.json ├── inlining_tag.json ├── keynamed.json ├── lookup.json ├── lookup_expanded.json ├── map_type.json ├── no_reference.json ├── no_reference_anchor.json ├── nullable.json ├── number_handling.json ├── oneof.json ├── oneof_ref.json ├── recursive.json ├── required_from_jsontags.json ├── schema_alias.json ├── schema_alias_2.json ├── schema_property_alias.json ├── schema_with_expression.json ├── schema_with_minimum.json ├── test_config.json ├── test_description_override.json ├── test_user.json ├── test_user_assign_anchor.json ├── test_yaml_and_json_prefer_yaml.json ├── unsigned_int_handling.json ├── user_with_anchor.json ├── with_custom_format.json └── yaml_inline.json ├── go.mod ├── go.sum ├── id.go ├── id_test.go ├── reflect.go ├── reflect_comments.go ├── reflect_comments_test.go ├── reflect_test.go ├── schema.go └── utils.go /.github/workflows/lint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/.github/workflows/lint.yaml -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | .idea/ 3 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/.golangci.yml -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/COPYING -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/README.md -------------------------------------------------------------------------------- /examples/nested/nested.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/examples/nested/nested.go -------------------------------------------------------------------------------- /examples/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/examples/user.go -------------------------------------------------------------------------------- /examples_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/examples_test.go -------------------------------------------------------------------------------- /fixtures/.gitignore: -------------------------------------------------------------------------------- 1 | *.out.json -------------------------------------------------------------------------------- /fixtures/allow_additional_props.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/allow_additional_props.json -------------------------------------------------------------------------------- /fixtures/anyof.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/anyof.json -------------------------------------------------------------------------------- /fixtures/array_handling.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/array_handling.json -------------------------------------------------------------------------------- /fixtures/array_type.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/array_type.json -------------------------------------------------------------------------------- /fixtures/base_schema_id.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/base_schema_id.json -------------------------------------------------------------------------------- /fixtures/commas_in_pattern.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/commas_in_pattern.json -------------------------------------------------------------------------------- /fixtures/compact_date.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/compact_date.json -------------------------------------------------------------------------------- /fixtures/custom_additional.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/custom_additional.json -------------------------------------------------------------------------------- /fixtures/custom_base_schema_id.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/custom_base_schema_id.json -------------------------------------------------------------------------------- /fixtures/custom_comments.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/custom_comments.json -------------------------------------------------------------------------------- /fixtures/custom_map_type.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/custom_map_type.json -------------------------------------------------------------------------------- /fixtures/custom_slice_type.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/custom_slice_type.json -------------------------------------------------------------------------------- /fixtures/custom_type.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/custom_type.json -------------------------------------------------------------------------------- /fixtures/custom_type_extend.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/custom_type_extend.json -------------------------------------------------------------------------------- /fixtures/custom_type_with_interface.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/custom_type_with_interface.json -------------------------------------------------------------------------------- /fixtures/defaults_expanded_toplevel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/defaults_expanded_toplevel.json -------------------------------------------------------------------------------- /fixtures/equals_in_pattern.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/equals_in_pattern.json -------------------------------------------------------------------------------- /fixtures/go_comments.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/go_comments.json -------------------------------------------------------------------------------- /fixtures/go_comments_full.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/go_comments_full.json -------------------------------------------------------------------------------- /fixtures/ignore_type.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/ignore_type.json -------------------------------------------------------------------------------- /fixtures/inlining_embedded.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/inlining_embedded.json -------------------------------------------------------------------------------- /fixtures/inlining_embedded_anchored.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/inlining_embedded_anchored.json -------------------------------------------------------------------------------- /fixtures/inlining_inheritance.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/inlining_inheritance.json -------------------------------------------------------------------------------- /fixtures/inlining_ptr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/inlining_ptr.json -------------------------------------------------------------------------------- /fixtures/inlining_tag.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/inlining_tag.json -------------------------------------------------------------------------------- /fixtures/keynamed.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/keynamed.json -------------------------------------------------------------------------------- /fixtures/lookup.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/lookup.json -------------------------------------------------------------------------------- /fixtures/lookup_expanded.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/lookup_expanded.json -------------------------------------------------------------------------------- /fixtures/map_type.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/map_type.json -------------------------------------------------------------------------------- /fixtures/no_reference.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/no_reference.json -------------------------------------------------------------------------------- /fixtures/no_reference_anchor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/no_reference_anchor.json -------------------------------------------------------------------------------- /fixtures/nullable.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/nullable.json -------------------------------------------------------------------------------- /fixtures/number_handling.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/number_handling.json -------------------------------------------------------------------------------- /fixtures/oneof.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/oneof.json -------------------------------------------------------------------------------- /fixtures/oneof_ref.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/oneof_ref.json -------------------------------------------------------------------------------- /fixtures/recursive.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/recursive.json -------------------------------------------------------------------------------- /fixtures/required_from_jsontags.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/required_from_jsontags.json -------------------------------------------------------------------------------- /fixtures/schema_alias.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/schema_alias.json -------------------------------------------------------------------------------- /fixtures/schema_alias_2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/schema_alias_2.json -------------------------------------------------------------------------------- /fixtures/schema_property_alias.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/schema_property_alias.json -------------------------------------------------------------------------------- /fixtures/schema_with_expression.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/schema_with_expression.json -------------------------------------------------------------------------------- /fixtures/schema_with_minimum.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/schema_with_minimum.json -------------------------------------------------------------------------------- /fixtures/test_config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/test_config.json -------------------------------------------------------------------------------- /fixtures/test_description_override.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/test_description_override.json -------------------------------------------------------------------------------- /fixtures/test_user.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/test_user.json -------------------------------------------------------------------------------- /fixtures/test_user_assign_anchor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/test_user_assign_anchor.json -------------------------------------------------------------------------------- /fixtures/test_yaml_and_json_prefer_yaml.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/test_yaml_and_json_prefer_yaml.json -------------------------------------------------------------------------------- /fixtures/unsigned_int_handling.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/unsigned_int_handling.json -------------------------------------------------------------------------------- /fixtures/user_with_anchor.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/user_with_anchor.json -------------------------------------------------------------------------------- /fixtures/with_custom_format.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/with_custom_format.json -------------------------------------------------------------------------------- /fixtures/yaml_inline.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/fixtures/yaml_inline.json -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/go.sum -------------------------------------------------------------------------------- /id.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/id.go -------------------------------------------------------------------------------- /id_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/id_test.go -------------------------------------------------------------------------------- /reflect.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/reflect.go -------------------------------------------------------------------------------- /reflect_comments.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/reflect_comments.go -------------------------------------------------------------------------------- /reflect_comments_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/reflect_comments_test.go -------------------------------------------------------------------------------- /reflect_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/reflect_test.go -------------------------------------------------------------------------------- /schema.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/schema.go -------------------------------------------------------------------------------- /utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/invopop/jsonschema/HEAD/utils.go --------------------------------------------------------------------------------