UNPKG

@ceramicnetwork/core

Version:

Typescript implementation of the Ceramic protocol

30 lines 988 B
import { StreamUtils } from '@ceramicnetwork/common'; import { ObjectStore } from './object-store.js'; function generateKey(object) { return object.toString(); } function serialize(value) { return StreamUtils.serializeState(value); } function deserialize(serialized) { return StreamUtils.deserializeState(serialized); } export class StreamStateStore extends ObjectStore { constructor() { super(generateKey, serialize, deserialize); this.useCaseName = undefined; } async saveFromStreamStateHolder(streamStateHolder) { await this.save(streamStateHolder.id, streamStateHolder.state); } async listStoredStreamIDs(streamId, limit) { if (streamId == null) { return await this.store.findKeys({ limit }); } else { const exists = Boolean(await this.load(streamId.baseID)); return exists ? [streamId.toString()] : []; } } } //# sourceMappingURL=stream-state-store.js.map