UNPKG

ioredis-cache

Version:

A promise-based cache package for Nodejs using IORedis

36 lines (35 loc) 1.75 kB
import type Redis from "ioredis"; import type { RedisKey } from "ioredis"; import type { AcquiredResult, AcquireDesire, AcquireOptionsInput, AcquireOptions } from "./Acquire"; declare type Key = RedisKey | number; declare type Awaitable<T> = T | Promise<T>; export declare class LuaAcquire { private readonly redis; constructor(redis: Redis); acquire<T>(key: Key, amount: number, fn: (currentAmount: number, acquiredAmount: number, lackingAmount: number) => Awaitable<T>, options?: AcquireOptionsInput): Promise<T>; hashAcquire<T>(hashKey: Key, id: Key, amount: number, fn: (currentAmount: number, acquiredAmount: number, lackingAmount: number) => Awaitable<T>, options?: AcquireOptionsInput): Promise<T>; acquireMany<K extends string | number, T>(items: AcquireDesire<K>[], fn: (acquireResult: AcquiredResult<K>[]) => Awaitable<T>, options?: AcquireOptions): Promise<T>; hashAcquireMany<K extends string | number, T>(hashKey: string, items: AcquireDesire<K>[], fn: (acquireResult: AcquiredResult<K>[]) => Awaitable<T>, options?: AcquireOptions): Promise<T>; private runAcquireManyScript; private acquireSingle; private hashAcquireSingle; private getChangeCommand; private getHashChangeCommand; private runHashAcquireManyScript; private runAcquireCallback; private releaseMany; private hashReleaseMany; private runDynamicKeyReleaseScript; private runFixedKeyReleaseScript; private defineCommands; private get luaRedis(); private buildAcquireArgs; private buildHashAcquireArgs; private buildReleaseArgs; private buildHashReleaseArgs; private getFloatFlag; private parseAcquiredRows; private isLuaRow; private getAcquiredReleaseItems; } export {};