@dxos/app-graph - v0.16.0
    Preparing search index...

    Type Alias CreateTypeExtensionOptions<T, R, Id>

    Options for creating a type-based extension. All callbacks must return Effects for dependency injection. Effects may fail - errors are caught, logged, and the extension returns empty results.

    type CreateTypeExtensionOptions<
        T extends Type.AnyEntity = Type.AnyEntity,
        R = never,
        Id extends string = string,
    > = {
        actionGroups?: (
            object: Type.InstanceType<T>,
            get: Atom.AtomContext,
        ) => Effect.Effect<
            Omit<NodeArg<typeof actionGroupSymbol>, "type" | "data">[],
            never,
            R,
        >;
        actions?: (
            object: Type.InstanceType<T>,
            get: Atom.AtomContext,
        ) => Effect.Effect<Omit<NodeArg<ActionData<any>>, "type">[], never, R>;
        connector?: (
            object: Type.InstanceType<T>,
            get: Atom.AtomContext,
        ) => Effect.Effect<NodeArg<any>[], never, R>;
        id: [DXN.Path<Id>] extends [never]
            ? `Invalid id "${Id}": final segment must be camelCase — letters and digits, starting with a letter`
            : Id;
        position?: Position.Position;
        relation?: RelationInput;
        type: T;
    }

    Type Parameters

    • T extends Type.AnyEntity = Type.AnyEntity
    • R = never
    • Id extends string = string
    Index

    Properties

    actionGroups?: (
        object: Type.InstanceType<T>,
        get: Atom.AtomContext,
    ) => Effect.Effect<
        Omit<NodeArg<typeof actionGroupSymbol>, "type" | "data">[],
        never,
        R,
    >
    actions?: (
        object: Type.InstanceType<T>,
        get: Atom.AtomContext,
    ) => Effect.Effect<Omit<NodeArg<ActionData<any>>, "type">[], never, R>
    connector?: (
        object: Type.InstanceType<T>,
        get: Atom.AtomContext,
    ) => Effect.Effect<NodeArg<any>[], never, R>
    id: [DXN.Path<Id>] extends [never]
        ? `Invalid id "${Id}": final segment must be camelCase — letters and digits, starting with a letter`
        : Id
    position?: Position.Position
    relation?: RelationInput
    type: T