Persistence layer for Interval.file once-per-interval signal firing.
Stores fired-interval markers under ./dump/data/interval/.
A record's presence means the interval has already fired for that bucket+key;
absence means the function has not yet fired (or returned null last time).
constructor();
PersistIntervalFactory: any
getIntervalStorage: any
readIntervalData: (bucket: string, key: string) => Promise<IntervalData>
Reads interval data for a given bucket and key.
writeIntervalData: (data: IntervalData, bucket: string, key: string) => Promise<void>
Writes interval data to disk.
removeIntervalData: (bucket: string, key: string) => Promise<void>
Marks an interval entry as removed (soft delete — file is kept on disk).
After this call readIntervalData for the same key returns null,
so the function will fire again on the next IntervalFileInstance.run call.
usePersistIntervalAdapter(Ctor: TPersistBaseCtor<string, IntervalData>): void;
Registers a custom persistence adapter.
listIntervalData(bucket: string): AsyncGenerator<string>;
Async generator yielding all non-removed entity keys for a given bucket.
Used by IntervalFileInstance.clear() to iterate and soft-delete all entries.
clear(): void;
Clears the memoized storage cache. Call this when process.cwd() changes between strategy iterations.
useJson(): void;
Switches to the default JSON persist adapter.
useDummy(): void;
Switches to a dummy persist adapter that discards all writes.