makeERecorderKit is for closures that must return a subscriber synchronously but can defer the recorder.

  • Parameters

    • makers: {
          makeDurablePublishKit: (<T>(options?: {
              valueDurability: undefined | "mandatory";
          }) => PublishKit<T>);
          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: (<T>(options?: {
            valueDurability: undefined | "mandatory";
        }) => PublishKit<T>)
          • <T>(options?): PublishKit<T>
          • Type Parameters

            • T

            Parameters

            • Optionaloptions: {
                  valueDurability: undefined | "mandatory";
              }
              • valueDurability: undefined | "mandatory"

            Returns PublishKit<T>

      • 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>(storageNodeP: ERef<StorageNode>, valueShape?: TypedPattern<T>) => EventualRecorderKit<T>)