# json_schema v0.6.0 - Table of Contents

> A library for parsing, inspecting and manipulating JSON Schema documents.

## Pages

- [JSON Schema](readme.md)
- [Changelog](changelog.md)

## Modules

- [JsonSchema](JsonSchema.md): # JSON Schema
- [JsonSchema.Parser](JsonSchema.Parser.md): Parses JSON schema files into an intermediate representation to be used for
e.g. printing elm decoders.

- [JsonSchema.Parser.AllOfParser](JsonSchema.Parser.AllOfParser.md): Parses a JSON schema allOf type
- [JsonSchema.Parser.AnyOfParser](JsonSchema.Parser.AnyOfParser.md): Parses a JSON schema `anyOf` type
- [JsonSchema.Parser.ArrayParser](JsonSchema.Parser.ArrayParser.md): Parses a JSON schema array type
- [JsonSchema.Parser.ConstParser](JsonSchema.Parser.ConstParser.md): Parse a JSON schema const type
- [JsonSchema.Parser.DefinitionsParser](JsonSchema.Parser.DefinitionsParser.md): Parses a 'definitions' property in a JSON schema or subschema.
- [JsonSchema.Parser.EnumParser](JsonSchema.Parser.EnumParser.md): Parse a JSON schema enum type
- [JsonSchema.Parser.ErrorUtil](JsonSchema.Parser.ErrorUtil.md): Contains helper functions for reporting parser errors.

- [JsonSchema.Parser.ObjectParser](JsonSchema.Parser.ObjectParser.md): Parses a JSON schema object type
- [JsonSchema.Parser.OneOfParser](JsonSchema.Parser.OneOfParser.md): Parses a JSON schema oneOf type
- [JsonSchema.Parser.ParserBehaviour](JsonSchema.Parser.ParserBehaviour.md): Describes the functions needed to implement a parser for a JSON schema node.

- [JsonSchema.Parser.ParserError](JsonSchema.Parser.ParserError.md): Represents an error generated while parsing a JSON schema object.

- [JsonSchema.Parser.ParserResult](JsonSchema.Parser.ParserResult.md): Represents the result of parsing a subset of a JSON schema including
parsed types, warnings, and errors.

- [JsonSchema.Parser.ParserWarning](JsonSchema.Parser.ParserWarning.md): Represents a warning generated while parsing a JSON schema object.

- [JsonSchema.Parser.PrimitiveParser](JsonSchema.Parser.PrimitiveParser.md): Parses a JSON schema primitive type
- [JsonSchema.Parser.RootParser](JsonSchema.Parser.RootParser.md): Contains logic for verifying the schema version of a JSON schema file.

- [JsonSchema.Parser.SchemaResult](JsonSchema.Parser.SchemaResult.md): Represents the result of parsing a whole JSON schema including the parsed
schema, along with all warnings and errors generated while parsing the schema
and its members.

- [JsonSchema.Parser.TupleParser](JsonSchema.Parser.TupleParser.md): Parses a JSON schema array type
- [JsonSchema.Parser.TypeReferenceParser](JsonSchema.Parser.TypeReferenceParser.md): Parses a JSON schema type reference
- [JsonSchema.Parser.UnionParser](JsonSchema.Parser.UnionParser.md): Parses a JSON schema union type
- [JsonSchema.Parser.Util](JsonSchema.Parser.Util.md): A module containing utility functions for JSON schema parsers.

- [JsonSchema.Resolver](JsonSchema.Resolver.md): Module containing functions for resolving types. Main function being
the `resolve_type` function.

- [JsonSchema.Types](JsonSchema.Types.md): Specifies the main Elixir types used for describing the
intermediate representations of JSON schema types.

- [JsonSchema.Types.AllOfType](JsonSchema.Types.AllOfType.md): Represents a custom `allOf` type definition in a JSON schema.
- [JsonSchema.Types.AnyOfType](JsonSchema.Types.AnyOfType.md): Represents a custom `anyOf` type definition in a JSON schema.
- [JsonSchema.Types.ArrayType](JsonSchema.Types.ArrayType.md): Represents a custom `array` type definition in a JSON schema.
- [JsonSchema.Types.ConstType](JsonSchema.Types.ConstType.md): Represents a custom `const` type definition in a JSON schema.
- [JsonSchema.Types.EnumType](JsonSchema.Types.EnumType.md): Represents a custom `enum` type definition in a JSON schema.
- [JsonSchema.Types.ObjectType](JsonSchema.Types.ObjectType.md): Represents a custom `object` type definition in a JSON schema.
- [JsonSchema.Types.OneOfType](JsonSchema.Types.OneOfType.md): Represents a custom `oneOf` type definition in a JSON schema.
- [JsonSchema.Types.PrimitiveType](JsonSchema.Types.PrimitiveType.md): Represents a custom `primitive` type definition in a JSON schema.
- [JsonSchema.Types.SchemaDefinition](JsonSchema.Types.SchemaDefinition.md): An intermediate representation of the root of a whole JSON schema document.

- [JsonSchema.Types.TupleType](JsonSchema.Types.TupleType.md): Represents a custom `tuple` type definition in a JSON schema.
- [JsonSchema.Types.TypeReference](JsonSchema.Types.TypeReference.md): Represents a reference to a custom type definition in a JSON schema.
- [JsonSchema.Types.UnionType](JsonSchema.Types.UnionType.md): Represents a custom `union` type definition in a JSON schema.

