API reference / @jsprismarine/leveldb / Database
Class: Database
Defined in: Database.ts:84
A LevelDB database, able to read and write the ones Minecraft: Bedrock Edition keeps its worlds in.
The one deliberate departure from upstream: we read manifests the game wrote, but never append to one. After recovery a fresh MANIFEST-<n> holding a full snapshot is written and CURRENT repointed at it. Upstream does the same whenever it decides the manifest wants replacing; doing it unconditionally bounds manifest growth and means the only VersionEdit encoding that has to be exactly right is the one a round-trip test covers.
Accessors
levelSizes
Get Signature
get levelSizes():
number[]
Defined in: Database.ts:793
For diagnostics: how many files sit at each level.
Returns
number[]
stats
Get Signature
get stats():
DatabaseStats
Defined in: Database.ts:781
Returns
Methods
close()
close():
Promise<void>
Defined in: Database.ts:229
Returns
Promise<void>
del()
del(
key):void
Defined in: Database.ts:466
Parameters
key
Buffer
Returns
void
entries()
entries(
range?):IterableIterator<[Buffer<ArrayBufferLike>,Buffer<ArrayBufferLike>]>
Defined in: Database.ts:306
Every live key and value in order.
A merge across the memtable and every table, taking the newest version of each user key and dropping the ones whose newest version is a deletion.
Parameters
range?
KeyRange = {}
Returns
IterableIterator<[Buffer<ArrayBufferLike>, Buffer<ArrayBufferLike>]>
flush()
flush():
Promise<void>
Defined in: Database.ts:498
Turns the memtable into a table off-thread, then compacts any level over its size budget.
Returns
Promise<void>
get()
get(
key):Buffer<ArrayBufferLike> |null
Defined in: Database.ts:263
Parameters
key
Buffer
Returns
Buffer<ArrayBufferLike> | null
has()
has(
key):boolean
Defined in: Database.ts:292
Parameters
key
Buffer
Returns
boolean
keys()
keys(
range?):IterableIterator<Buffer<ArrayBufferLike>>
Defined in: Database.ts:296
Parameters
range?
KeyRange = {}
Returns
IterableIterator<Buffer<ArrayBufferLike>>
put()
put(
key,value):void
Defined in: Database.ts:462
Parameters
key
Buffer
value
Buffer
Returns
void
write()
write(
batch):void
Defined in: Database.ts:470
Parameters
batch
Returns
void
open()
staticopen(directory,options?):Promise<Database>
Defined in: Database.ts:113
Parameters
directory
string
options?
DatabaseOptions = {}
Returns
Promise<Database>