Skip to main content

0.38 — set effects, caller values, existence-selected outcomes and paged views

· One min read

0.38.0 adds the source format ess/16, described in the version history.

Outcomes over many records​

instances: {where: …} on a moves: or updates: changes every stored record the predicate selects, and {count: changed} is how many it changed. affects: lets an outcome with one subject change other records a filter selects, reading subject.<field>.

Which outcome, and for whom​

unknown_instance: beside an update makes a create-or-update, and existing_instance: with an error: makes a create-or-refuse. An actor may declare attributes:, read as {caller: …} in values and as caller.<attribute> in guards. input_absent: answers a request that carries no input at all.

Retries, paging and values​

A binding can bound its retry with attempts and final refusals. A view with order_by: can declare paging:. A value may fall back to a literal after else:, or read a field of a related record with {related: …}. ess-composition/2 checks a consumer's types against the service it imports.