Powerful Data Access for Clojure
Breaking Changes
None.
Features
Introduces the Partition
protocol, allowing batched resolvables to specify disjunct partitions of the current batch that should be resolved individually.
Artifact Coordinates
[claro "0.2.10"]
Breaking Changes
None.
Features
unless-error->
and unless-error->>
threading macros, short-circuiting on error containers.Artifact Coordinates
[claro "0.2.9"]
Breaking Changes
None.
Features
Claro's resolution logic consists of three steps:
The existing claro.engine/wrap
hook wraps the complete function (1-3). This has the disadvantage that you never see the raw resolution result, plus you'll have to unwrap them if any further transformations should be applied.
So, two new hooks have been introduced: wrap-transform
which wraps steps 1-2 and wrap-pre-transform
which wraps step 1. This, hopefully, allows for greater flexibility when creating middlewares.
Artifact Coordinates
[claro "0.2.8"]
Breaking Changes
BatchedResolvable
alone is now enough to fulfil claro.data/resolvable?
, i.e. it's no longer necessary to implement Resolvable
for batched resolvables.Features
extend-list-transform
and extend-transform
helper macros for common transformation cases,mutation?
, pure-resolvable?
and batched-resolvable?
predicates in claro.data
.Artifact Coordinates
[claro "0.2.7"]
Breaking Changes
:max-batches
but :max-cost
.Features
claro.data/Cost
protocol to assign cost to resolvable batches,claro.data/PureResolvable
marker protocol to set cost to 0
,claro.engine/multi-engine
to run multiple resolvables sequentially (with independent caches), accommodating for mutation sequences,Artifact Coordinates
[claro "0.2.6"]
Breaking Changes
None.
Features
merge
and merge*
as an addition to union
and union*
, disabling checking for disjunct keys.Artifact Coordinates
[claro "0.2.5"]
Breaking Changes
None.
Bugfixes
Features
Artifact Coordinates
[claro "0.2.4"]
Breaking Changes
None.
Features
This release allows for transformation/injection projections to be more flexible, putting more responsibility on the developer when it comes to producing potentially infinite subtrees.
transform
can be called without an output template, reducing verbosity for most use cases.extract
can now be used to extract complete subtrees instead of just leaves.finite-value
projection behaving like value
but not needing a projection template.Artifact Coordinates
[claro "0.2.3"]
Breaking Changes
The parameters
projection now creates a dedicated record instead of reusing prepare
. Projection types were never exposed, so – while technically breaking – this shouldn't affect anyone.
Features
print-method
implementations for union
, union*
, case
and case-resolvable
projections.Bugfixes
Artifact Coordinates
[claro "0.2.2"]
Breaking Changes
This release renames case
to case-resolvable
to free the original name for a version that is applied to a resolved result instead of a Resolvable
(see #6).
Features
case-resolvable
projection replacing the previous case
.case
projection for class-based dispatch on a partially resolved value.claro.data
(see #3)
error
creates an error container,error?
, error-message
and error-data
for inspection,collect-errors
to check a result for errors.Artifact Coordinates
[claro "0.2.1"]