schema.experimental.abstract-map

Schemas representing abstract classes and subclasses

->AbstractSchema

(->AbstractSchema sub-schemas dispatch-key schema open?)
Positional factory function for class schema.experimental.abstract_map.AbstractSchema.

->SchemaExtension

(->SchemaExtension schema-name base-schema extended-schema explain-value)
Positional factory function for class schema.experimental.abstract_map.SchemaExtension.

abstract-map-schema

(abstract-map-schema dispatch-key schema)
Inputs: [dispatch-key :- s/Keyword schema :- (s/pred map?)]

A schema representing an 'abstract class' map that must match at least one concrete
 subtype (indicated by the value of dispatch-key, a keyword).  Add subtypes by calling
 `extend-schema`.

extend-schema

macro

(extend-schema schema-name extensible-schema dispatch-values extension)

map->AbstractSchema

(map->AbstractSchema m__6289__auto__)
Factory function for class schema.experimental.abstract_map.AbstractSchema, taking a map of keywords to field values.

map->SchemaExtension

(map->SchemaExtension m__6289__auto__)
Factory function for class schema.experimental.abstract_map.SchemaExtension, taking a map of keywords to field values.

open-abstract-map-schema

(open-abstract-map-schema dispatch-key schema)
Inputs: [dispatch-key :- s/Keyword schema :- (s/pred map?)]

Like abstract-map-schema, but allows unknown types to validate (for, e.g. forward
 compatibility).

PExtensibleSchema

protocol

members

extend-schema!

(extend-schema! this extension schema-name dispatch-values)

sub-schemas

(sub-schemas abstract-schema)