ExParamsSchema.Schema.JsonSchema (ex_params_schema v0.1.0)

Copy Markdown View Source

正規化済みフィールドから JSON Schema Draft 7 を組み立てます。

ExParamsSchema.json_schema/1json_schema/2 を支える内部モジュールです。

Summary

Functions

コンパイル済みフィールドから JSON Schema とエラーパス定義を組み立てます。

Types

build_result()

@type build_result() ::
  {schema :: schema_document(),
   error_definitions :: [ExParamsSchema.Schema.error_definition()]}

schema_document()

@type schema_document() :: map()

Functions

build(fields, strict)

コンパイル済みフィールドから 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}]