Function prepareRecorderKitMakers prepare Recorder Kit Makers ( baggage , marshaller ) : { makeDurablePublishKit : ( ( ... args ) => GuardedKit < { publisher : { fail ( reason ) : void ; finish ( finalValue ) : void ; publish ( value ) : void ; } ; subscriber : { getUpdateSince ( updateCount ) : any ; subscribeAfter ( publishCount ? ) : Promise < any > ; } ; } > ) ; makeERecorderKit : ( < T > ( storageNodeP , valueShape ? ) => EventualRecorderKit < T > ) ; makeRecorder : ( ( ... args ) => Guarded < { getStorageNode ( ) : DataOnly < StorageNode > & RemotableBrand < DataOnly < StorageNode > , StorageNode > ; getStoragePath ( ) : Promise < string > ; write ( value ) : Promise < void > ; writeFinal ( value ) : Promise < void > ; } > ) ; makeRecorderKit : ( < T > ( storageNode , valueShape ? ) => RecorderKit < T > ) ; } Parameters marshaller : ERef < Marshaller < unknown > > Returns { makeDurablePublishKit : ( ( ... args ) => GuardedKit < { publisher : { fail ( reason ) : void ; finish ( finalValue ) : void ; publish ( value ) : void ; } ; subscriber : { getUpdateSince ( updateCount ) : any ; subscribeAfter ( publishCount ? ) : Promise < any > ; } ; } > ) ; makeERecorderKit : ( < T > ( storageNodeP , valueShape ? ) => EventualRecorderKit < T > ) ; makeRecorder : ( ( ... args ) => Guarded < { getStorageNode ( ) : DataOnly < StorageNode > & RemotableBrand < DataOnly < StorageNode > , StorageNode > ; getStoragePath ( ) : Promise < string > ; write ( value ) : Promise < void > ; writeFinal ( value ) : Promise < void > ; } > ) ; makeRecorderKit : ( < T > ( storageNode , valueShape ? ) => RecorderKit < T > ) ; } make Durable Publish Kit : ( ( ... args ) => GuardedKit < { publisher : { fail ( reason ) : void ; finish ( finalValue ) : void ; publish ( value ) : void ; } ; subscriber : { getUpdateSince ( updateCount ) : any ; subscribeAfter ( publishCount ? ) : Promise < any > ; } ; } > ) ( ... args ) : GuardedKit < { 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 GuardedKit < { publisher : { fail ( reason ) : void ; finish ( finalValue ) : void ; publish ( value ) : void ; } ; subscriber : { getUpdateSince ( updateCount ) : any ; subscribeAfter ( publishCount ? ) : Promise < any > ; } ; } > makeERecorder Kit : ( < T > ( storageNodeP , valueShape ? ) => EventualRecorderKit < T > ) < T > ( storageNodeP , valueShape ? ) : EventualRecorderKit < T > Parameters storageNodeP : ERef < StorageNode > make Recorder : ( ( ... args ) => Guarded < { getStorageNode ( ) : DataOnly < StorageNode > & RemotableBrand < DataOnly < StorageNode > , StorageNode > ; getStoragePath ( ) : Promise < string > ; write ( value ) : Promise < void > ; writeFinal ( value ) : Promise < void > ; } > ) ( ... args ) : Guarded < { 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 Guarded < { getStorageNode ( ) : DataOnly < StorageNode > & RemotableBrand < DataOnly < StorageNode > , StorageNode > ; getStoragePath ( ) : Promise < string > ; write ( value ) : Promise < void > ; writeFinal ( value ) : Promise < void > ; } > make Recorder Kit : ( < T > ( storageNode , valueShape ? ) => RecorderKit < T > ) < T > ( storageNode , valueShape ? ) : RecorderKit < T > Parameters storageNode : StorageNode | DataOnly < StorageNode > & RemotableBrand < DataOnly < StorageNode > , StorageNode >
Convenience wrapper for DurablePublishKit and Recorder kinds.
NB: this defines two durable kinds. Must be called at most once per baggage.
makeRecorderKit
is suitable for making a durableRecorderKit
which can be held in Exo state.makeERecorderKit
is for closures that must return asubscriber
synchronously but can defer therecorder
.