Options
All
  • Public
  • Public/Protected
  • All
Menu

An update to which further updates can be asserted or entailed.

Hierarchy

  • InterimUpdate

Index

Properties

Methods

Properties

Readonly update

update: Promise<MeldUpdate>

A promise that resolves to the current update. If any modifications made by the methods above have affected the @insert and @delete of the update, they will have been applied.

Methods

alias

  • alias(subjectId: Iri | null, property: "@id" | Iri, alias: Iri | SubjectProperty): void
  • Substitutes the given alias for the given property subject, property, or subject and property, in updates provided to the application. This allows a constraint to hide a data implementation detail.

    Parameters

    • subjectId: Iri | null

      the subject to which the alias applies

    • property: "@id" | Iri

      if @id, the subject IRI is aliased. Otherwise, the property is aliased.

    • alias: Iri | SubjectProperty

      the alias for the given subject and/or property. It is an error if the property is @id and a SubjectProperty alias is provided.

    Returns void

assert

  • assert(update: Update): void
  • An assertion is an update that maintains the data integrity of the domain by changing data that the app created, or that was the result of a prior assertion.

    An assertion is incorporated into the final update sent to other clones and echoed to the local app. Examples of assertions:

    • Delete previous value from a single-value register
    • Rewrite a list index predicate to a CRDT-specific form
    see

    {@link ready}

    Parameters

    • update: Update

      the update to assert into the domain

    Returns void

entail

  • entail(update: Update): void
  • An entailment is an update that maintains the data integrity of a domain by changing only entailed data. Entailed data is data that can be deduced automatically, and can only be created by entailment, and not by an app.

    An entailment is not included in updates sent to other clones or to the local app. Examples of entailments:

    • The size of a collection
    • Membership of a duck-type class
    see

    {@link ready}

    Parameters

    • update: Update

      the update to entail into the domain

    Returns void

remove

  • Removes assertions (not entailments) from this update, prior to application to the dataset. This is used to rewrite assertions made by the application, or the work of prior constraints.

    Removal of an assertion is possible:

    1. during constraint checking,
    2. during constraint application, if the assertion was made by another constraint. An attempt to remove an assertion made in the original update will be ignored, which may lead to unexpected results.
    see

    {@link ready}

    Parameters

    • key: keyof DeleteInsert<any>

      Whether to remove @delete or @insert components

    • pattern: Subject | Subject[]

      the Subject assertions to remove

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Static property

Generated using TypeDoc. Delivered by Vercel. @m-ld/m-ld - v0.7.1-4 Source code licensed MIT. Privacy policy