IFClite TypeScript API
    Preparing search index...

    Interface ParsedIfcStore

    The subset of @ifc-lite/parser's IfcDataStore (what IfcParser.parseColumnar and every other parser entry point return) that toCacheDataStore needs. Declared structurally here, rather than importing IfcDataStore itself, so @ifc-lite/cache doesn't take on a runtime dependency on @ifc-lite/parser just to name a type — every field below is already typed against @ifc-lite/data, which @ifc-lite/cache depends on regardless.

    interface ParsedIfcStore {
        entities: EntityTable;
        entityCount: number;
        entityIndex?: CacheEntityIndex & { byType?: unknown };
        properties: PropertyTable;
        quantities: QuantityTable;
        relationships: RelationshipGraph;
        schemaVersion: "IFC2X3" | "IFC4" | "IFC4X3" | "IFC5";
        spatialHierarchy?: SpatialHierarchy;
        strings: StringTable;
    }
    Index
    entities: EntityTable
    entityCount: number
    entityIndex?: CacheEntityIndex & { byType?: unknown }

    The parser's entityIndex. Its byId is an EntityByIdIndex, which already iterates [number, EntityRef], and EntityRef is structurally a CacheEntityRef (same expressId/type/byteOffset/byteLength, plus a required rather than optional lineNumber) -- so it satisfies CacheEntityIndex as written, with no conversion and no cast. Typed as CacheEntityIndex here so the adapter stays free of a parser import; byType and the parser index's other members are simply ignored.

    The byType?: unknown member carries no meaning to this adapter. It is here so a caller can pass the parser's index shape as an OBJECT LITERAL ({ byId, byType }, which a worker rehydrating a transported store writes) without TypeScript's excess-property check rejecting byType. Passing an already-typed variable never needed it, which is why neither the viewer nor the tests hit that check.

    properties: PropertyTable
    quantities: QuantityTable
    relationships: RelationshipGraph
    schemaVersion: "IFC2X3" | "IFC4" | "IFC4X3" | "IFC5"
    spatialHierarchy?: SpatialHierarchy
    strings: StringTable