makeRecorderKit is suitable for making a durable RecorderKit which can be held in Exo state.

  • 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>
      • Type Parameters

        • T

        Parameters

        • storageNode: StorageNode | DataOnly<StorageNode> & RemotableBrand<DataOnly<StorageNode>, StorageNode>
        • OptionalvalueShape: TypedPattern<T>

        Returns RecorderKit<T>