UNPKG

@melchyore/adonis-cache

Version:
29 lines (28 loc) 1.44 kB
import type { TableDescription } from 'aws-sdk/clients/dynamodb'; import type { CacheStoreContract } from '@ioc:Adonis/Addons/Cache'; import type { DynamoDBContract } from '@ioc:Adonis/Addons/DynamoDB'; import BaseStore from './BaseStore'; export default class DynamoDB extends BaseStore implements CacheStoreContract { private client; private tableName; private store; constructor(client: DynamoDBContract, tableName: string); /** * In DynamoDB, TTL is expressed in seconds. */ calculateTTL(ttlInMilliseconds: number): number; get<T = any>(key: string): Promise<T | null>; many<T extends Record<string, any>>(keys: Array<string>): Promise<T>; has(key: string): Promise<boolean>; put<T = any>(key: string, value: T, ttl: number): Promise<boolean>; add<T = any>(key: string, value: T, ttl: number): Promise<boolean>; putMany(list: Record<string, unknown>, ttl: number): Promise<Array<boolean>>; increment(key: string, value: number): Promise<number | boolean>; decrement(key: string, value: number): Promise<number | boolean>; putManyForever(list: Record<string, unknown>): Promise<Array<boolean>>; forever<T = any>(key: string, value: T): Promise<boolean>; forget(key: string): Promise<boolean>; flush(): Promise<boolean>; createTable(tableName?: string): Promise<TableDescription | null>; private incrementOrDecrement; }