Liking cljdoc? Tell your friends :D

pallet.version-dispatch

Dispatch that is version aware.

A version is a dotted string, e.g. "1.0.3", which is represented as a vector [1 0 3].

A version specification is either a version vector, which matches a single version (and all point versions thereof), or a vector of two elements, specifying an inclusive version range. A nil in the version vector signifies an open end to the range.

The basic idea is that you wish to dispatch on hierarchy where the dispatched data may provide a version.

Dispatch that is version aware.

A version is a dotted string, e.g. "1.0.3", which is represented as a vector
`[1 0 3]`.

A version specification is either a version vector, which matches a single
version (and all point versions thereof), or a vector of two elements,
specifying an inclusive version range. A nil in the version vector signifies an
open end to the range.

The basic idea is that you wish to dispatch on hierarchy where the dispatched
data may provide a version.
raw docstring

defmethod-versioncljmacro

(defmethod-version multi-version
                   {:keys [os os-version version] :as dispatch-value}
                   [& args]
                   &
                   body)

Adds a method to the specified multi-version function for the specified dispatch-value.

Adds a method to the specified multi-version function for the specified
`dispatch-value`.
sourceraw docstring

defmethod-version-plancljmacro

(defmethod-version-plan multi-version
                        {:keys [os os-version version] :as dispatch-value}
                        [& args]
                        &
                        body)

Adds a method to the specified multi-version function for the specified dispatch-value.

Adds a method to the specified multi-version function for the specified
`dispatch-value`.
sourceraw docstring

defmulti-versioncljmacro

(defmulti-version name [os os-version version & args] hierarchy-place)

Defines a multi-version function used to abstract over an operating system hierarchy, where dispatch includes an optional os-version. The version refers to a software package version of some sort, on the specified os and os-version.

Defines a multi-version function used to abstract over an operating system
hierarchy, where dispatch includes an optional `os-version`. The `version`
refers to a software package version of some sort, on the specified `os` and
`os-version`.
sourceraw docstring

defmulti-version-plancljmacro

(defmulti-version-plan name [version & args])

Defines a multi-version function used to abstract over an operating system hierarchy, where dispatch includes an optional os-version. The version refers to a software package version of some sort, on the specified os and os-version.

Defines a multi-version function used to abstract over an operating system
hierarchy, where dispatch includes an optional `os-version`. The `version`
refers to a software package version of some sort, on the specified `os` and
`os-version`.
sourceraw docstring

dispatch-versionclj

(dispatch-version sym os os-version version args hierarchy methods)
source

hierarchy-valsclj

(hierarchy-vals hierarchy)

Returns all values in a hierarchy, whether parents or children.

Returns all values in a hierarchy, whether parents or children.
sourceraw docstring

os-mapclj

(os-map {:as os-value-pairs})

Construct an os version map. The keys should be maps with :os-family and :os-version keys. The :os-family value should be take from the os-hierarchy. The :os-version should be a version vector, or a version range vector.

Construct an os version map. The keys should be maps with :os-family
and :os-version keys. The :os-family value should be take from the
`os-hierarchy`. The :os-version should be a version vector, or a version range
vector.
sourceraw docstring

os-map-lookupclj

(os-map-lookup os-map)
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close