View Source JsonSchema.Types.ObjectType (json_schema v0.5.0)

Represents a custom object type definition in a JSON schema.

JSON Schema:

"circle": {
  "type": "object",
  "description": "A circle 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",
            description: "A circle object",
            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

@type t() :: %JsonSchema.Types.ObjectType{
  additional_properties: URI.t() | boolean() | nil,
  default: map() | nil,
  description: String.t(),
  name: String.t() | :anonymous,
  path: URI.t(),
  pattern_properties: JsonSchema.Types.propertyDictionary(),
  properties: JsonSchema.Types.propertyDictionary(),
  required: [String.t()]
}