\ No newline at end of file
diff --git a/integrant.core.html b/integrant.core.html
index aba4915..73ec398 100644
--- a/integrant.core.html
+++ b/integrant.core.html
@@ -1,60 +1,84 @@
-integrant.core documentation
Check that the value of a key is correct immediately before the key is
+initiated. If the value is incorrect, an appropriate exception should
+be thrown.
(build config keys f)(build config keys f assertf)(build config keys f assertf resolvef)
Apply a function f to each key value pair in a configuration map. Keys are
traversed in dependency order, and any references in the value expanded. The
function should take two arguments, a key and value, and return a new value.
An optional fourth argument, assertf, may be supplied to provide an assertion
-check on the system, key and expanded value.
Return a dependency graph of all the refs and refsets in a config. Resolves
derived dependencies. Takes the following options:
`:include-refsets?`
-: whether to include refsets in the dependency graph (defauls to true)
Expand modules in the config map prior to initiation. The expand-key method
+is applied to each entry in the map, and the results deep-merged together to
+produce a new configuration.
+
+If there are conflicting keys with different values, an exception will be
+raised. Conflicts can be resolved by tagging one value with the :override
+metadata key.
Return a seq of all entries in a map, m, where the key is derived from the
a candidate key, k. If there are no matching keys, nil is returned. The
-candidate key may be a keyword, or vector of keywords.
Return the map entry in a map, m, where the key is derived from the keyword,
k. If there are no matching keys, nil is returned. If there is more than one
-matching key, an ambiguous key exception is raised.
Reduce all the key value pairs in system map in dependency order, starting
from an initial value. The function should take three arguments: the
-accumulator, the current key and the current value.
Halt a running or suspended implementation associated with a key. This is
often used for stopping processes or cleaning up resources. For example, a
database connection might be closed. This multimethod must be idempotent.
-The return value of this multimethod is discarded.
Turn a config map into an system map. Keys are traversed in dependency
order, initiated via the init-key multimethod, then the refs associated with
-the key are expanded.
Create a key comparator from the dependency graph of a configuration map.
The comparator is deterministic; it will always result in the same key
-order.
Search the base classpath for all resources that share the same
+path (by default `integrant/hierarchy.edn`), and use their contents
+to extend the global `derive` hierarchy. This allows a hierarchy to be
+constructed without needing to load every namespace.
+
+The hierarchy resources should be edn files that map child keywords
+to vectors of parents. For example:
+
+ {:example/child [:example/father :example/mother]}
+
+This is equivalent:
+
+ (derive :example/child :example/father)
+ (derive :example/child :example/mother)
Attempt to load the namespaces referenced by the keys in a configuration.
If a key is namespaced, both the namespace and the namespace concatenated
-with the name will be tried. For example, if a key is :foo.bar/baz, then the
-function will attempt to load the namespaces foo.bar and foo.bar.baz. Upon
-completion, a list of all loaded namespaces will be returned.
Prepare a config map for initiation. The prep-key method is applied to each
+with the name will be tried. For example, if a key is :foo.bar/baz, then
+the function will attempt to load the namespaces foo.bar and foo.bar.baz.
+Upon completion, a list of all loaded namespaces will be returned.
Prepare a config map for initiation. The prep-key method is applied to each
entry in the map, and the values replaced with the return value. This is used
-for adding default values and references to the configuration.
Prepare the configuration associated with a key for initiation. This is
generally used to add in default values and references. By default the
-method returns the value unaltered.
Return a value to substitute for a reference prior to initiation. By default
+the value of the key is returned unaltered. This can be used to hide
+information that is only necessary to halt or suspend the key.
Turn a config map into a system map, reusing resources from an existing
system when it's possible to do so. Keys are traversed in dependency order,
resumed with the resume-key multimethod, then the refs associated with the
-key are expanded.
Turn a config value associated with a key into a concrete implementation,
but reuse resources (e.g. connections, running threads, etc) from an existing
implementation. By default this multimethod calls init-key and ignores the
-additional argument.
Apply a side-effectful function f to each key value pair in a system map.
Keys are traversed in reverse dependency order. The function should take two
-arguments, a key and value.
Apply a side-effectful function f to each key value pair in a system map.
Keys are traversed in dependency order. The function should take two
-arguments, a key and value.
Suspend a running implementation associated with a key, so that it may be
eventually passed to resume-key. By default this multimethod calls halt-key!,
but it may be customized to do things like keep a server running, but buffer
-incoming requests until the server is resumed.