@towns-protocol/sdk
Version:
For more details, visit the following resources:
40 lines • 1.21 kB
JavaScript
import { ObservableRecord } from '../../observable/observableRecord';
export class GdmStreamsView extends ObservableRecord {
constructor() {
super({
makeDefault: (streamId) => ({
streamId,
lastEventCreatedAtEpochMs: 0n,
}),
});
}
setLastEventCreatedAtEpochMs(streamId, lastEventCreatedAtEpochMs) {
this.set((prev) => ({
...prev,
[streamId]: {
...(prev[streamId] ?? this.makeDefault(streamId)),
lastEventCreatedAtEpochMs,
},
}));
}
setMetadata(streamId, metadata, eventId) {
this.set((prev) => ({
...prev,
[streamId]: {
...(prev[streamId] ?? this.makeDefault(streamId)),
metadata,
metadataEventId: eventId,
},
}));
}
setLatestMetadataEventId(streamId, eventId) {
this.set((prev) => ({
...prev,
[streamId]: {
...(prev[streamId] ?? this.makeDefault(streamId)),
latestMetadataEventId: eventId,
},
}));
}
}
//# sourceMappingURL=gdmStreams.js.map