Function defineRecorderKit
- defineRecorderKit(makers): (<T>(storageNode: StorageNode | DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>, valueShape?: TypedPattern<T>) => RecorderKit<T>)
Parameters
- makers: {
makeDurablePublishKit: ((...args: [options: {
valueDurability: undefined | "mandatory";
}]) => GuardedKit<{
publisher: {
fail(reason: any): void;
finish(finalValue: any): void;
publish(value: any): void;
};
subscriber: {
getUpdateSince(updateCount: any): any;
subscribeAfter(publishCount?: bigint): Promise<any>;
};
}>);
makeRecorder: ((...args: [publisher: Publisher<unknown>, storageNode: DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>, valueShape: TypedPattern<any>]) => Guarded<{
getStorageNode(): DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>;
getStoragePath(): Promise<string>;
write(value: any): Promise<void>;
writeFinal(value: any): Promise<void>;
}>);
}makeDurablePublishKit: ((...args: [options: {
valueDurability: undefined | "mandatory";
}]) => GuardedKit<{
publisher: {
fail(reason: any): void;
finish(finalValue: any): void;
publish(value: any): void;
};
subscriber: {
getUpdateSince(updateCount: any): any;
subscribeAfter(publishCount?: bigint): Promise<any>;
};
}>)
- (...args): GuardedKit<{
publisher: {
fail(reason: any): void;
finish(finalValue: any): void;
publish(value: any): void;
};
subscriber: {
getUpdateSince(updateCount: any): any;
subscribeAfter(publishCount?: bigint): Promise<any>;
};
}> Parameters
Rest
...args: [options: {
valueDurability: undefined | "mandatory";
}]
Returns GuardedKit<{
publisher: {
fail(reason: any): void;
finish(finalValue: any): void;
publish(value: any): void;
};
subscriber: {
getUpdateSince(updateCount: any): any;
subscribeAfter(publishCount?: bigint): Promise<any>;
};
}>
makeRecorder: ((...args: [publisher: Publisher<unknown>, storageNode: DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>, valueShape: TypedPattern<any>]) => Guarded<{
getStorageNode(): DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>;
getStoragePath(): Promise<string>;
write(value: any): Promise<void>;
writeFinal(value: any): Promise<void>;
}>)
- (...args): Guarded<{
getStorageNode(): DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>;
getStoragePath(): Promise<string>;
write(value: any): Promise<void>;
writeFinal(value: any): Promise<void>;
}> Parameters
Rest
...args: [publisher: Publisher<unknown>, storageNode: DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>, valueShape: TypedPattern<any>]
Returns Guarded<{
getStorageNode(): DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>;
getStoragePath(): Promise<string>;
write(value: any): Promise<void>;
writeFinal(value: any): Promise<void>;
}>
Returns (<T>(storageNode: StorageNode | DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>, valueShape?: TypedPattern<T>) => RecorderKit<T>)
- <T>(storageNode, valueShape?): RecorderKit<T>
Parameters
- storageNode: StorageNode | DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>
Optional
valueShape: TypedPattern<T>
makeRecorderKit
is suitable for making a durableRecorderKit
which can be held in Exo state.See