Function prepareRecorderKitMakers prepare Recorder Kit Makers ( baggage , marshaller ) : { makeDurablePublishKit : ( < T > ( options ?: { valueDurability : undefined | "mandatory" ; } ) => PublishKit < T > ) ; makeERecorderKit : ( < T > ( storageNodeP : ERemote < StorageNode > , valueShape ?: TypedPattern < T > ) => EventualRecorderKit < T > ) ; makeRecorder : ( ( ... args : [ publisher: Publisher < unknown > , storageNode: Remote < StorageNode > , valueShape: TypedPattern < any > ] ) => Guarded < { getStorageNode ( ) : Remote < StorageNode > ; getStoragePath ( ) : Promise < string > ; write ( value : any ) : Promise < void > ; writeFinal ( value : any ) : Promise < void > ; } > ) ; makeRecorderKit : ( < T > ( storageNode : Remote < StorageNode > , valueShape ?: TypedPattern < T > ) => RecorderKit < T > ) ; } Parameters baggage : Baggage marshaller : ERemote < { fromCapData : ( ( ... args : [ data: CapData < unknown > ] ) => any ) ; serialize : ( ( ... args : [ val: Passable ] ) => ERef < CapData < unknown > > ) ; toCapData : ( ( ... args : [ val: Passable ] ) => ERef < CapData < unknown > > ) ; unserialize : ( ( ... args : [ data: CapData < unknown > ] ) => any ) ; } > Returns { makeDurablePublishKit : ( < T > ( options ?: { valueDurability : undefined | "mandatory" ; } ) => PublishKit < T > ) ; makeERecorderKit : ( < T > ( storageNodeP : ERemote < StorageNode > , valueShape ?: TypedPattern < T > ) => EventualRecorderKit < T > ) ; makeRecorder : ( ( ... args : [ publisher: Publisher < unknown > , storageNode: Remote < StorageNode > , valueShape: TypedPattern < any > ] ) => Guarded < { getStorageNode ( ) : Remote < StorageNode > ; getStoragePath ( ) : Promise < string > ; write ( value : any ) : Promise < void > ; writeFinal ( value : any ) : Promise < void > ; } > ) ; makeRecorderKit : ( < T > ( storageNode : Remote < StorageNode > , valueShape ?: TypedPattern < T > ) => RecorderKit < T > ) ; } make Durable Publish Kit : ( < T > ( options ?: { valueDurability : undefined | "mandatory" ; } ) => PublishKit < T > ) < T > ( options ? ) : PublishKit < T > Parameters Optionaloptions : { valueDurability : undefined | "mandatory" ; } value Durability : undefined | "mandatory" makeERecorder Kit : ( < T > ( storageNodeP : ERemote < StorageNode > , valueShape ?: TypedPattern < T > ) => EventualRecorderKit < T > ) < T > ( storageNodeP , valueShape ? ) : EventualRecorderKit < T > Parameters storageNodeP : ERemote < StorageNode > OptionalvalueShape : TypedPattern < T > make Recorder : ( ( ... args : [ publisher: Publisher < unknown > , storageNode: Remote < StorageNode > , valueShape: TypedPattern < any > ] ) => Guarded < { getStorageNode ( ) : Remote < StorageNode > ; getStoragePath ( ) : Promise < string > ; write ( value : any ) : Promise < void > ; writeFinal ( value : any ) : Promise < void > ; } > ) ( ... args ) : Guarded < { getStorageNode ( ) : Remote < StorageNode > ; getStoragePath ( ) : Promise < string > ; write ( value : any ) : Promise < void > ; writeFinal ( value : any ) : Promise < void > ; } > Parameters Rest... args : [ publisher: Publisher < unknown > , storageNode: Remote < StorageNode > , valueShape: TypedPattern < any > ] Returns Guarded < { getStorageNode ( ) : Remote < StorageNode > ; getStoragePath ( ) : Promise < string > ; write ( value : any ) : Promise < void > ; writeFinal ( value : any ) : Promise < void > ; } > make Recorder Kit : ( < T > ( storageNode : Remote < StorageNode > , valueShape ?: TypedPattern < T > ) => RecorderKit < T > ) < T > ( storageNode , valueShape ? ) : RecorderKit < T > Parameters storageNode : Remote < StorageNode > OptionalvalueShape : TypedPattern < T >
Convenience wrapper for DurablePublishKit and Recorder kinds.
NB: this defines two durable kinds. Must be called at most once per baggage.
makeRecorderKitis suitable for making a durableRecorderKitwhich can be held in Exo state.makeERecorderKitis for closures that must return asubscribersynchronously but can defer therecorder.