json_schema v0.2.0 JsonSchema.Types.ObjectType View Source

Represents a custom object type definition in a JSON schema.

JSON Schema:

"circle": {
  "type": "object",
  "properties": {
    "color": {
      "$ref": "#/color"
    },
    "title": {
      "type": "string"
    },
    "radius": {
      "type": "number"
    }
  },
  "patternProperties": {
    "f.*o": {
      "type": "integer"
    }
  },
  "additionalProperties": {
    "type": "boolean"
  },
  "required": [ "color", "radius" ]
}

Resulting in the Elixir representation:

%ObjectType{name: "circle",
            path: URI.parse("#/circle"),
            required: ["color", "radius"],
            properties: %{
                "color" => URI.parse("#/circle/properties/color"),
                "title" => URI.parse("#/circle/properties/title"),
                "radius" => URI.parse("#/circle/properties/radius")},
            pattern_properties: %{
                "f.*o" => URI.parse("#/circle/patternProperties/f.*o")},
            additional_properties: URI.parse("#/circle/additionalProperties")

Link to this section Summary

Link to this section Types

Link to this type t() View Source
t() :: %JsonSchema.Types.ObjectType{
  additional_properties: URI.t() | nil,
  name: String.t(),
  path: URI.t(),
  pattern_properties: JsonSchema.Types.propertyDictionary(),
  properties: JsonSchema.Types.propertyDictionary(),
  required: [String.t()]
}

Link to this section Functions

Link to this function new(name, path, properties, pattern_properties, additional_properties, required) View Source