ResilienceAdapter<K, V>
Class: ResilienceAdapter<K, V>
Resilience wrapper for adapters.
Automatically retries failed operations with exponential backoff when transient errors occur.
Extends
AdapterWrapper<K,V>
Type Parameters
| Type Parameter | Default type |
|---|---|
K extends string | string |
V | unknown |
Constructors
new ResilienceAdapter()
new ResilienceAdapter<K, V>(adapter, options): ResilienceAdapter<K, V>Parameters
| Parameter | Type |
|---|---|
adapter | FlashcoreAdapter<K, V> |
options | ResilienceOptions |
Returns
ResilienceAdapter<K, V>
Overrides
Properties
| Property | Modifier | Type | Default value | Description | Overrides | Inherited from |
|---|---|---|---|---|---|---|
name | readonly | "ResilienceAdapter" | 'ResilienceAdapter' | Human-readable name for this wrapper. Subclasses should override this. | AdapterWrapper.name | - |
next | readonly | FlashcoreAdapter<K, V> | undefined | - | - | AdapterWrapper.next |
Accessors
atomicBatch
Get Signature
get atomicBatch(): (ops) => void | Promise<void>Atomic batch operations. Propagates from underlying adapter if available.
Returns
Function
Parameters
| Parameter | Type |
|---|---|
ops | BatchOperation<K, V>[] |
Returns
void | Promise<void>
Overrides
compareAndSwap
Get Signature
get compareAndSwap(): (key, expected, next) => boolean | Promise<boolean>Compare and swap. Propagates from underlying adapter if available.
Returns
Function
Parameters
| Parameter | Type |
|---|---|
key | K |
expected | V |
next | V |
Returns
boolean | Promise<boolean>
Overrides
maxValueSize
Get Signature
get maxValueSize(): numberMaximum value size. Propagates from underlying adapter if available.
Returns
number
Maximum size in bytes for a single value. Used for chunk sizing and WAL segmentation.
Inherited from
scan
Get Signature
get scan(): (prefix) =>
| K[]
| Promise<K[]>
| AsyncIterable<K, any, any>
| Promise<AsyncIterable<K, any, any>>Scan for keys with a prefix. Propagates from underlying adapter if available.
Returns
Function
Parameters
| Parameter | Type |
|---|---|
prefix | K |
Returns
| K[]
| Promise<K[]>
| AsyncIterable<K, any, any>
| Promise<AsyncIterable<K, any, any>>
Overrides
setIfNotExists
Get Signature
get setIfNotExists(): (key, value) => boolean | Promise<boolean>Set if not exists. Propagates from underlying adapter if available.
Returns
Function
Parameters
| Parameter | Type |
|---|---|
key | K |
value | V |
Returns
boolean | Promise<boolean>
Overrides
transaction
Get Signature
get transaction(): (fn) => Promise<void>Native transaction API. Propagates from underlying adapter if available.
Returns
Function
Parameters
| Parameter | Type |
|---|---|
fn | (tx) => Promise<void> |
Returns
Promise<void>
Overrides
Methods
capabilities()?
optional capabilities(): Partial<AdapterCapabilitiesReport>Extended capabilities. Propagates from underlying adapter if available.
Returns
Partial<AdapterCapabilitiesReport>
Inherited from
clear()
clear(): Promise<void>Clear all data.
Returns
Promise<void>
Overrides
delete()
delete(key): Promise<boolean>Delete a key. Returns true if the key existed and was deleted.
Parameters
| Parameter | Type |
|---|---|
key | K |
Returns
Promise<boolean>
Overrides
get()
get(key): Promise<V>Get a value by key. Returns undefined if the key does not exist.
Parameters
| Parameter | Type |
|---|---|
key | K |
Returns
Promise<V>
Overrides
getConfig()
getConfig(): {
jitter: number;
maxRetries: number;
retryBaseDelay: number;
retryMaxDelay: number;
}Get the current retry configuration.
Returns
{
jitter: number;
maxRetries: number;
retryBaseDelay: number;
retryMaxDelay: number;
}getConsecutiveFailures()
getConsecutiveFailures(): numberGet the number of consecutive failures.
Returns
number
getInnermostAdapter()
protected getInnermostAdapter(): FlashcoreAdapter<K, V>Get the innermost adapter by unwrapping all wrappers.
Returns
FlashcoreAdapter<K, V>
Inherited from
AdapterWrapper.getInnermostAdapter
getWrappedAdapter()
protected getWrappedAdapter(): FlashcoreAdapter<K, V>Get the underlying (wrapped) adapter.
Returns
FlashcoreAdapter<K, V>
Inherited from
AdapterWrapper.getWrappedAdapter
has()
has(key): Promise<boolean>Check if a key exists. Must return true for stored falsy values (0, false, '', null).
Parameters
| Parameter | Type |
|---|---|
key | K |
Returns
Promise<boolean>
Overrides
init()
init(): Promise<void>Initialize the adapter (e.g., connect, create directories). Called once during Flashcore.$.init().
Returns
Promise<void>
Overrides
isCurrentlyDisconnected()
isCurrentlyDisconnected(): booleanCheck if the adapter is currently in a disconnected state.
Returns
boolean
resetFailures()
resetFailures(): voidReset the failure counter (useful for testing).
Returns
void
set()
set(key, value): Promise<boolean>Set a key-value pair. Returns true if the operation succeeded.
Parameters
| Parameter | Type |
|---|---|
key | K |
value | V |
Returns
Promise<boolean>
Overrides
shutdown()?
optional shutdown(): void | Promise<void>Shutdown the adapter (e.g., close connections).
Returns
void | Promise<void>
