mcbe-leveldb-reader
    Preparing search index...

    Class LevelDbIndex

    LevelDbIndex manages metadata about LevelDB files to enable lazy loading.

    Instead of loading all files upfront, this class:

    1. Parses the MANIFEST to understand file metadata
    2. Tracks key ranges per file for efficient lookup
    3. Enables on-demand loading of specific files when keys are requested

    This dramatically reduces initial memory usage for large worlds.

    Index
    deletedFileNumbers: Set<number> = ...

    Deleted file numbers from manifest

    filesByIndex: Map<number, ILevelDbFileIndex> = ...

    Map of file index to file info for quick lookup

    ldbFileIndexes: ILevelDbFileIndex[] = []

    Indexed LDB files with metadata

    logFileIndexes: ILevelDbLogIndex[] = []

    Indexed LOG files with metadata

    • get totalFiles(): number

      Total number of files in the index

      Returns number

    • Find files that might contain a specific key based on key range metadata. Returns files in priority order (LOG files first, then LDB by level).

      Note: This is a heuristic - if key ranges aren't available from manifest, all files are considered potential matches.

      Parameters

      • key: string

      Returns (ILevelDbFileIndex | ILevelDbLogIndex)[]

    • Initialize the index from manifest metadata. This does NOT load any file contents - just organizes metadata.

      Parameters

      • ldbFiles: IFile[]
      • logFiles: IFile[]
      • OptionalnewFileLevel: number[]
      • OptionalnewFileNumber: number[]
      • OptionalnewFileSmallest: string[]
      • OptionalnewFileLargest: string[]
      • OptionaldeletedFileNumber: number[]

      Returns void