@bitblit/ratchet-aws
Version:
Common tools for use with AWS browser and node
26 lines (25 loc) • 1.18 kB
TypeScript
import { SimpleCacheObjectWrapper } from '../../cache/simple-cache-object-wrapper.js';
import { SimpleCacheStorageProvider } from '../../cache/simple-cache-storage-provider.js';
import { DynamoRatchet } from '../dynamo-ratchet.js';
export declare class DynamoDbStorageProvider implements SimpleCacheStorageProvider {
private dynamo;
private opts;
constructor(dynamo: DynamoRatchet, opts: DynamoDbSimpleCacheOptions);
static createDefaultOptions(): DynamoDbSimpleCacheOptions;
createKeyObject(cacheKey: string): any;
cleanDynamoFieldsFromObjectInPlace(rval: any): void;
extractKeysFromObject(rval: SimpleCacheObjectWrapper<any>): any;
readFromCache<T>(cacheKey: string): Promise<SimpleCacheObjectWrapper<T>>;
storeInCache<T>(value: SimpleCacheObjectWrapper<T>): Promise<boolean>;
removeFromCache(cacheKey: string): Promise<void>;
clearCache(): Promise<number>;
readAll(): Promise<SimpleCacheObjectWrapper<any>[]>;
}
export interface DynamoDbSimpleCacheOptions {
tableName: string;
useRangeKeys: boolean;
hashKeyName: string;
rangeKeyName?: string;
hashKeyValue?: string;
dynamoExpiresColumnName?: string;
}