IFClite TypeScript API
    Preparing search index...

    Interface RelationshipEdges

    interface RelationshipEdges {
        counts: Map<number, number>;
        edgeRelIds: Uint32Array;
        edgeTargets: Uint32Array;
        edgeTypes: Uint16Array;
        offsets: Map<number, number>;
        shadowedEdgeIndex?: Uint32Array<ArrayBufferLike>;
        shadowedGroupOffsets?: Uint32Array<ArrayBufferLike>;
        shadowedRelIds?: Uint32Array<ArrayBufferLike>;
        getEdges(entityId: number, type?: RelationshipType): Edge[];
        getTargets(entityId: number, type?: RelationshipType): number[];
        hasAnyEdges(entityId: number): boolean;
    }
    Index
    counts: Map<number, number>
    edgeRelIds: Uint32Array
    edgeTargets: Uint32Array
    edgeTypes: Uint16Array
    offsets: Map<number, number>
    shadowedEdgeIndex?: Uint32Array<ArrayBufferLike>

    Sparse "shadowed" ids collapsed by the (source, target, type) dedupe (#3760/#3782): three small, Transferable typed arrays rather than one (number[] | undefined)[] slot per edge — the dense shape structured-clones (not transfers) across the worker boundary, measured +1.2s/+190MB on a 12M-edge model for a field that's empty almost everywhere. shadowedEdgeIndex[g] (ascending) names the edge whose ids live at shadowedRelIds[shadowedGroupOffsets[g]..shadowedGroupOffsets[g+1]). Absent together when nothing was collapsed — read via ?..

    shadowedGroupOffsets?: Uint32Array<ArrayBufferLike>
    shadowedRelIds?: Uint32Array<ArrayBufferLike>
    • Parameters

      • entityId: number

      Returns boolean