Liking cljdoc? Tell your friends :D

vary.core


casescljmacro

(cases vary-name)

Returns the cases of a variant as a map. Usage: (cases CoffeeSize)

Returns the cases of a variant as a map.
Usage: (cases CoffeeSize)
sourceraw docstring

generate-accessorsclj

(generate-accessors vary-name case-map)

Generates accessor functions for all unique properties in the case map, only for associated values maps.

Generates accessor functions for all unique properties in the case map, only for associated values maps.
sourceraw docstring

generate-schemaclj

(generate-schema case-map)

Generates a Malli schema from a case map defining variant cases.

Generates a Malli schema from a case map defining variant cases.
sourceraw docstring

matchcljmacro

(match value vary-name & clauses)

Matches a value against variant cases with validation. Usage: (match size CoffeeSize :small 3.50 :medium 4.00 :large 4.50) (match order OrderStatus :pending "Order is pending" [:completed amount] (str "Completed with amount: " amount) [:failed reason] (str "Failed: " reason))

Matches a value against variant cases with validation.
Usage:
  (match size CoffeeSize
    :small  3.50
    :medium 4.00
    :large  4.50)
  (match order OrderStatus
    :pending               "Order is pending"
    [:completed amount]    (str "Completed with amount: " amount)
    [:failed reason]       (str "Failed: " reason))
sourceraw docstring

variantsclj

source

varycljmacro

(vary vary-name case-map)

Defines a variant with a Malli schema, case associated values, and accessor functions. Usage: (vary CoffeeSize {:small {:label "Small" :price 3.50 :volume 8} :medium {:label "Medium" :price 4.00 :volume 12} :large {:label "Large" :price 4.50 :volume 16}}) (vary OrderStatus {:pending [] :completed [:amount :double] :failed [:reason :string]}) (vary Color #{:red :blue :green})

Defines a variant with a Malli schema, case associated values, and accessor functions.
Usage:
(vary CoffeeSize
  {:small  {:label "Small" :price 3.50 :volume 8}
   :medium {:label "Medium" :price 4.00 :volume 12}
   :large  {:label "Large" :price 4.50 :volume 16}})
(vary OrderStatus
  {:pending []
   :completed [:amount :double]
   :failed [:reason :string]})
(vary Color #{:red :blue :green})
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close