EncryptionAdapter<K, V>
Class: EncryptionAdapter<K, V>
Encryption wrapper for adapters.
Uses AES-256-GCM (authenticated encryption) by default. Each value gets a unique random IV for security.
Extends
AdapterWrapper<K,V>
Type Parameters
| Type Parameter | Default type |
|---|---|
K extends string | string |
V | unknown |
Constructors
new EncryptionAdapter()
new EncryptionAdapter<K, V>(adapter, options): EncryptionAdapter<K, V>Parameters
| Parameter | Type |
|---|---|
adapter | FlashcoreAdapter<K, V> |
options | EncryptionOptions |
Returns
EncryptionAdapter<K, V>
Overrides
Properties
| Property | Modifier | Type | Default value | Description | Overrides | Inherited from |
|---|---|---|---|---|---|---|
name | readonly | "EncryptionAdapter" | 'EncryptionAdapter' | 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>>
Inherited from
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>
Inherited from
Methods
capabilities()?
optional capabilities(): Partial<AdapterCapabilitiesReport>Extended capabilities. Propagates from underlying adapter if available.
Returns
Partial<AdapterCapabilitiesReport>
Inherited from
clear()
clear(): boolean | void | Promise<void> | Promise<boolean>Clear all data.
Returns
boolean | void | Promise<void> | Promise<boolean>
Inherited from
delete()
delete(key): boolean | Promise<boolean>Delete a key. Returns true if the key existed and was deleted.
Parameters
| Parameter | Type |
|---|---|
key | K |
Returns
boolean | Promise<boolean>
Inherited from
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(): {
algorithm: "aes-256-gcm" | "aes-256-cbc";
}Get the current encryption configuration.
Returns
{
algorithm: "aes-256-gcm" | "aes-256-cbc";
}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): boolean | Promise<boolean>Check if a key exists. Must return true for stored falsy values (0, false, '', null).
Parameters
| Parameter | Type |
|---|---|
key | K |
Returns
boolean | Promise<boolean>
Inherited from
init()?
optional init(): void | Promise<void>Initialize the adapter (e.g., connect, create directories). Called once during Flashcore.$.init().
Returns
void | Promise<void>
Inherited from
isEncrypted()
isEncrypted(stored): booleanCheck if a stored value is encrypted.
Parameters
| Parameter | Type |
|---|---|
stored | unknown |
Returns
boolean
reEncrypt()
reEncrypt(key, newAdapter): Promise<boolean>Re-encrypt a value with a new key. Useful for key rotation.
Parameters
| Parameter | Type |
|---|---|
key | K |
newAdapter | EncryptionAdapter<K, V> |
Returns
Promise<boolean>
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>
