Claro Versions Save

Powerful Data Access for Clojure

v0.2.10

7 years ago

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"]

v0.2.9

7 years ago

Breaking Changes

None.

Features

  • adds unless-error-> and unless-error->> threading macros, short-circuiting on error containers.

Artifact Coordinates

[claro "0.2.9"]

v0.2.8

7 years ago

Breaking Changes

None.

Features

Claro's resolution logic consists of three steps:

  1. call resolver function,
  2. apply transformations to resolution results,
  3. re-wrap transformed resolution results.

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"]

v0.2.7

7 years ago

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

  • added extend-list-transform and extend-transform helper macros for common transformation cases,
  • expose mutation?, pure-resolvable? and batched-resolvable? predicates in claro.data.

Artifact Coordinates

[claro "0.2.7"]

v0.2.6

7 years ago

Breaking Changes

  • resolution engine no longer takes :max-batches but :max-cost.

Features

  • added claro.data/Cost protocol to assign cost to resolvable batches,
  • added claro.data/PureResolvable marker protocol to set cost to 0,
  • added claro.engine/multi-engine to run multiple resolvables sequentially (with independent caches), accommodating for mutation sequences,
  • improve error messages for map projections by including the value-to-project.

Artifact Coordinates

[claro "0.2.6"]

v0.2.5

7 years ago

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"]

v0.2.4

7 years ago

Breaking Changes

None.

Bugfixes

  • fixes union projections on mutations (see #8).

Features

  • improves performance of union projection by avoiding rewrapping (see e4c782915dd77d71dfd030d5f499f7c216f2fd87).

Artifact Coordinates

[claro "0.2.4"]

v0.2.3

7 years ago

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.
  • adds finite-value projection behaving like value but not needing a projection template.

Artifact Coordinates

[claro "0.2.3"]

v0.2.2

7 years ago

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

  • adds print-method implementations for union, union*, case and case-resolvable projections.

Bugfixes

  • Fixes projection on a composed value within collections. (see #7)

Artifact Coordinates

[claro "0.2.2"]

v0.2.1

7 years ago

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.
  • dedicated error values in 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"]