Coerce raw URPX parser output into typed Clojure values.
The parser (urpx.core/load-rate-plan) produces a Clojure map with
namespaced keys but all-string leaf values. This namespace applies the
:decode/urpx-jsonld decoders attached to urpx.schema schemas to convert
those strings into BigDecimals, LocalDates, LocalTimes, LocalDateTimes,
Durations, and integer month numbers — and to normalize fields that URPX
permits as either a single map or a vector of maps.
Coerce raw URPX parser output into typed Clojure values. The parser (`urpx.core/load-rate-plan`) produces a Clojure map with namespaced keys but all-string leaf values. This namespace applies the `:decode/urpx-jsonld` decoders attached to `urpx.schema` schemas to convert those strings into BigDecimals, LocalDates, LocalTimes, LocalDateTimes, Durations, and integer month numbers — and to normalize fields that URPX permits as either a single map or a vector of maps.
(coerce schema raw)Decode a raw value against schema using the URPX JSON-LD transformer.
Returns the typed value. Use validate afterwards if you want a strict check.
Decode a raw value against `schema` using the URPX JSON-LD transformer. Returns the typed value. Use `validate` afterwards if you want a strict check.
(coerce-doc raw)Dispatch on the document's :jsonld/type and coerce as a RatePlan or RatePlanModifier. Returns nil for unknown types.
Dispatch on the document's :jsonld/type and coerce as a RatePlan or RatePlanModifier. Returns nil for unknown types.
(coerce-rate-plan raw)Coerce a raw parsed URPX rate plan into the typed shape described by
urpx.schema/RatePlan.
Coerce a raw parsed URPX rate plan into the typed shape described by `urpx.schema/RatePlan`.
(coerce-rate-plan-modifier raw)Coerce a raw parsed URPX rate plan modifier into the typed shape described
by urpx.schema/RatePlanModifier. Modifier docs (EEC, NSE, HRA fixtures)
augment or override parts of an existing RatePlan; price resolution against
a modifier alone is not (yet) supported.
Coerce a raw parsed URPX rate plan modifier into the typed shape described by `urpx.schema/RatePlanModifier`. Modifier docs (EEC, NSE, HRA fixtures) augment or override parts of an existing RatePlan; price resolution against a modifier alone is not (yet) supported.
(explain schema value)Return a Malli explanation for why value does not validate against schema,
or nil if it does.
Return a Malli explanation for why `value` does not validate against `schema`, or nil if it does.
(validate schema value)Validate value against schema. Returns true on success.
Validate `value` against `schema`. Returns true on success.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |