Skip to content

@usine/engine/item-projection

The latest payload a trigger observed for one Item, whatever the source adapter.

  • Schema.Class

new ItemProjection(…args): ItemProjection

Parameter Type
…args [props: object, options?: MakeOptions]

ItemProjection

readonly contentHash: string & Brand<"ItemContentHash">

readonly itemKey: string & Brand<"ItemKey">

readonly number: number & Brand<"ItemNumber">

readonly payload: object

[key: string]: Json

readonly repository: string & Brand<"RepositoryName">

readonly source: string & Brand<"ItemProjectionSource">


  • Context.ServiceClass

readonly Service: object

The service’s operations: what yield* ItemProjectionReader returns.

readonly list: (repository, options) => Effect.Effect<ReadonlyArray<ItemProjection>, EnginePersistenceError>

The newest limit Item projections of one repository, highest number first.

Parameter Type
repository RepositoryName
options ItemProjectionListOptions

Effect.Effect<ReadonlyArray<ItemProjection>, EnginePersistenceError>

readonly static layer: Layer<ItemProjectionReader, never, RunDatabase>


  • Context.ServiceClass

readonly Service: object

The service’s operations: what yield* ItemProjectionWriter returns.

readonly upsert: (item) => Effect.Effect<boolean, EnginePersistenceError>

true means the durable projection changed.

Parameter Type
item ItemProjection

Effect.Effect<boolean, EnginePersistenceError>

readonly static layer: Layer<ItemProjectionWriter, never, RunDatabase>

Newest Items first. The bound keeps a long-lived repository’s Board response finite.

readonly limit: number

ItemContentHash = typeof ItemContentHash.Type


ItemProjectionSource = typeof ItemProjectionSource.Type

const ItemContentHash: Schema.brand<Schema.NonEmptyString, "ItemContentHash">


const ItemProjectionSource: Schema.brand<Schema.NonEmptyString, "ItemProjectionSource">