IFClite TypeScript API
    Preparing search index...

    Columnar entity index for the server data model (issue #1841).

    Replaces the previous Map<number, EntityMetadata>: V8 caps Map/Set at 2^24 (~16.7M) entries, so huge models hit a hard ceiling the canonical parser path (CompactEntityIndex) avoids. This mirrors that design — the decoded columns are kept as-is, lookups binary-search a sorted expressId view, and EntityMetadata rows are materialized lazily on access.

    The read surface is Map-compatible (size/get/has/iteration/keys/ values/entries/forEach) so existing consumers keep working; columnar consumers should iterate columns by index instead.

    Index

    Raw decoded columns; iterate these by index for bulk consumption.

    size: number

    Number of entities (Map-compatible).

    • Map-compatible iteration, in row (server emission) order.

      Returns IterableIterator<[number, EntityMetadata]>

    • Map-compatible forEach, including the third (value, key, collection) argument — consumers written against a Map may destructure it.

      Parameters

      Returns void

    • Map-compatible lookup; materializes the row object lazily.

      Parameters

      • expressId: number

      Returns EntityMetadata | undefined

    • Map-compatible existence check.

      Parameters

      • expressId: number

      Returns boolean

    • Returns IterableIterator<number>

    • Row index into columns for an expressId, or -1 when absent.

      Parameters

      • expressId: number

      Returns number