JSONSchex.Compiler.Predicates (jsonschex v0.5.0)

Copy Markdown View Source

Pure predicates for JSON Schema validation constraints.

All functions return :ok or {:error, context}. Non-applicable data types pass validation (e.g., pattern checking on non-strings).

Summary

Functions

Checks const.

Checks exclusiveMaximum.

Checks exclusiveMinimum.

Checks maxItems.

Checks maxLength.

Checks maxProperties.

Checks maximum.

Checks minItems.

Checks minLength.

Checks minProperties.

Checks minimum.

Checks multipleOf.

Checks pattern.

Checks if data matches the specified JSON Schema type(s).

Checks uniqueItems. Uses == semantics (1 equals 1.0).

Functions

check_const(data, const)

@spec check_const(term(), term()) :: :ok | {:error, map()}

Checks const.

check_enum(data, values)

@spec check_enum(term(), list()) :: :ok | {:error, map()}

Checks enum.

check_exclusive_maximum(data, limit)

Checks exclusiveMaximum.

check_exclusive_minimum(data, limit)

Checks exclusiveMinimum.

check_max_items(data, max)

Checks maxItems.

check_max_length(data, max)

Checks maxLength.

check_max_properties(data, max)

Checks maxProperties.

check_maximum(data, max)

Checks maximum.

check_min_items(data, min)

Checks minItems.

check_min_length(data, min)

Checks minLength.

check_min_properties(data, min)

Checks minProperties.

check_minimum(data, min)

@spec check_minimum(number(), number()) :: :ok | {:error, map()}

Checks minimum.

check_multiple_of(data, factor)

Checks multipleOf.

check_pattern(data, regex)

@spec check_pattern(String.t(), Regex.t()) :: :ok | {:error, map()}

Checks pattern.

check_type(data, types)

@spec check_type(term(), String.t()) :: :ok | {:error, map()}

Checks if data matches the specified JSON Schema type(s).

check_unique_items(data, arg2)

Checks uniqueItems. Uses == semantics (1 equals 1.0).