OptionalentityThe 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.
Optionalspatial
The subset of
@ifc-lite/parser'sIfcDataStore(whatIfcParser.parseColumnarand every other parser entry point return) that toCacheDataStore needs. Declared structurally here, rather than importingIfcDataStoreitself, so@ifc-lite/cachedoesn't take on a runtime dependency on@ifc-lite/parserjust to name a type — every field below is already typed against@ifc-lite/data, which@ifc-lite/cachedepends on regardless.