Skip to content

WorkspacePersistence

Nodepod API


Nodepod API / src / WorkspacePersistence

Defined in: src/persistence/workspace/controller.ts:108

Keeps a workspace saved. Available as nodepod.persistence when booted with the persistence option. Emits saved ({ entries, bytes }) after each successful save and error when one fails; failed saves are retried.

new WorkspacePersistence(id, volume, store, opts?, lock?): WorkspacePersistence

Defined in: src/persistence/workspace/controller.ts:134

string

MemoryVolume

WorkspaceStore

WorkspacePersistenceOptions = {}

WorkspaceLock | null

WorkspacePersistence

EventEmitter.constructor

_ceiling: number

Defined in: src/polyfills/events.ts:88

EventEmitter._ceiling


_registry: Map<string, EventHandler[]>

Defined in: src/polyfills/events.ts:87

EventEmitter._registry


readonly id: string

Defined in: src/persistence/workspace/controller.ts:109


static defaultMaxListeners: number

Defined in: src/polyfills/events.ts:111

EventEmitter.defaultMaxListeners


static EventEmitter: EventEmitterConstructor

Defined in: src/polyfills/events.ts:110

EventEmitter.EventEmitter

get pendingChanges(): number

Defined in: src/persistence/workspace/controller.ts:170

Paths waiting to be saved.

number


get status(): PersistenceStatus

Defined in: src/persistence/workspace/controller.ts:162

PersistenceStatus

addListener(name, handler): this

Defined in: src/polyfills/events.ts:89

string

EventHandler

this

EventEmitter.addListener


attach(): void

Defined in: src/persistence/workspace/controller.ts:236

Start saving changes.

void


clear(): Promise<void>

Defined in: src/persistence/workspace/controller.ts:267

Delete the saved workspace and stop saving. The running filesystem is left alone; boot again to start a fresh saved workspace.

Promise<void>


close(): Promise<void>

Defined in: src/persistence/workspace/controller.ts:283

Stop saving after one last save. Pending changes are captured synchronously, so the volume can be disposed right after this call.

Promise<void>


emit(name, …payload): boolean

Defined in: src/polyfills/events.ts:95

string

…unknown[]

boolean

EventEmitter.emit


eventNames(): string[]

Defined in: src/polyfills/events.ts:99

string[]

EventEmitter.eventNames


flush(): Promise<void>

Defined in: src/persistence/workspace/controller.ts:257

Save pending changes now. Rejects if the save fails (it is still retried).

Promise<void>


getMaxListeners(): number

Defined in: src/polyfills/events.ts:101

number

EventEmitter.getMaxListeners


listenerCount(name): number

Defined in: src/polyfills/events.ts:98

string

number

EventEmitter.listenerCount


listeners(name): EventHandler[]

Defined in: src/polyfills/events.ts:96

string

EventHandler[]

EventEmitter.listeners


load(): Promise<boolean>

Defined in: src/persistence/workspace/controller.ts:179

Load the stored workspace into the (empty) volume. Resolves false when nothing (or an empty tree) was stored. Call before attach() so the restore isn’t saved straight back.

Promise<boolean>


off(name, handler): this

Defined in: src/polyfills/events.ts:93

string

EventHandler

this

EventEmitter.off


on(name, handler): this

Defined in: src/polyfills/events.ts:90

string

EventHandler

this

EventEmitter.on


once(name, handler): this

Defined in: src/polyfills/events.ts:91

string

EventHandler

this

EventEmitter.once


prependListener(name, handler): this

Defined in: src/polyfills/events.ts:102

string

EventHandler

this

EventEmitter.prependListener


prependOnceListener(name, handler): this

Defined in: src/polyfills/events.ts:103

string

EventHandler

this

EventEmitter.prependOnceListener


rawListeners(name): EventHandler[]

Defined in: src/polyfills/events.ts:97

string

EventHandler[]

EventEmitter.rawListeners


removeAllListeners(name?): this

Defined in: src/polyfills/events.ts:94

string

this

EventEmitter.removeAllListeners


removeListener(name, handler): this

Defined in: src/polyfills/events.ts:92

string

EventHandler

this

EventEmitter.removeListener


setMaxListeners(limit): this

Defined in: src/polyfills/events.ts:100

number

this

EventEmitter.setMaxListeners


static getEventListeners(target, name): EventHandler[]

Defined in: src/polyfills/events.ts:115

EventEmitter

string

EventHandler[]

EventEmitter.getEventListeners


static listenerCount(target, name): number

Defined in: src/polyfills/events.ts:112

EventEmitter

string

number

EventEmitter.listenerCount


static on(target, name): AsyncIterable<unknown[]>

Defined in: src/polyfills/events.ts:114

EventEmitter

string

AsyncIterable<unknown[]>

EventEmitter.on


static once(target, name): Promise<unknown[]>

Defined in: src/polyfills/events.ts:113

EventEmitter

string

Promise<unknown[]>

EventEmitter.once