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