@metreeca/blue - v0.12.0
    Preparing search index...

    Type Alias ReferenceShape<T>

    Describes a link to a standalone resource.

    Admits the absolute IRI naming the resource the link points at, so that a member pointing at a resource carries the identifier alone and leaves the resource itself to be retrieved in its own right. The shape states what the target is, so the constraints the target puts on its own identifiers bound the link as well.

    Inheritance

    Where a resource!ResourceShape extends the shapes it lists as parents, reference-valued members are merged according to the following rules. The child is the extending shape; the parent is the inherited one.

    Field Override Rule
    kind Cannot be overridden
    target May be re-pointed at a shape extending the inherited target
    type ReferenceShape<T extends Lazy<ResourceShape> = Lazy<ResourceShape>> = {
        kind: "reference";
        target: T;
    }

    Type Parameters

    Index

    Properties

    Properties

    kind: "reference"

    Discriminator identifying this as a reference shape.

    Inheritance — cannot be overridden.

    target: T

    Shape describing the resource the reference points at, possibly deferred to break definition cycles.

    Inheritance — may be re-pointed at a shape that lists the inherited target among its parents, directly or transitively, so an extending shape refines what a link admits by naming the narrower target alone; the inherited definition reaches the refined target through its own inheritance chain and is never restated. Any other target is rejected. A target deferred to break a definition cycle is held to the same rule once its definition stands, so a shape may be re-pointed at one extending it, and a pair of shapes reaching each other at each other.