正規化済みフィールドから JSON Schema Draft 7 を組み立てます。
ExParamsSchema.json_schema/1・json_schema/2 を支える内部モジュールです。
Summary
Functions
コンパイル済みフィールドから JSON Schema とエラーパス定義を組み立てます。
Types
@type build_result() :: {schema :: schema_document(), error_definitions :: [ExParamsSchema.Schema.error_definition()]}
@type schema_document() :: map()
Functions
@spec build([ExParamsSchema.Definition.Field.t()], boolean()) :: build_result()
コンパイル済みフィールドから JSON Schema とエラーパス定義を組み立てます。
iex> fields = ExParamsSchema.Definition.compile_fields!([{:count, :integer, [minimum: 1]}])
iex> {schema, errors} = ExParamsSchema.Schema.JsonSchema.build(fields, false)
iex> get_in(schema, ["properties", "count"])
%{"minimum" => 1, "type" => "integer"}
iex> errors
[{["count"], {:invalid_param, :count}, 0}]