UNPKG

seyfert

Version:

The most advanced framework for discord bots

55 lines (54 loc) 2.22 kB
import { LimitedCollection } from '../..'; import { type MakeRequired } from '../../common'; import type { Adapter } from './types'; export interface ResourceLimitedMemoryAdapter { expire?: number; limit?: number; } export interface LimitedMemoryAdapterOptions<T> { default?: ResourceLimitedMemoryAdapter; guild?: ResourceLimitedMemoryAdapter; user?: ResourceLimitedMemoryAdapter; ban?: ResourceLimitedMemoryAdapter; member?: ResourceLimitedMemoryAdapter; voice_state?: ResourceLimitedMemoryAdapter; channel?: ResourceLimitedMemoryAdapter; emoji?: ResourceLimitedMemoryAdapter; presence?: ResourceLimitedMemoryAdapter; role?: ResourceLimitedMemoryAdapter; stage_instance?: ResourceLimitedMemoryAdapter; sticker?: ResourceLimitedMemoryAdapter; overwrite?: ResourceLimitedMemoryAdapter; message?: ResourceLimitedMemoryAdapter; encode?(data: any): T; decode?(data: T): unknown; } export declare class LimitedMemoryAdapter<T> implements Adapter { isAsync: boolean; readonly storage: Map<string, LimitedCollection<string, T>>; readonly relationships: Map<string, Map<string, string[]>>; options: MakeRequired<LimitedMemoryAdapterOptions<T>, 'default' | 'encode' | 'decode'>; constructor(options?: LimitedMemoryAdapterOptions<T>); start(): void; scan(query: string, keys?: false): any[]; scan(query: string, keys: true): string[]; bulkGet(keys: string[]): unknown[]; get(key: string): unknown; private __set; bulkSet(keys: [string, any][]): void; set(keys: string, data: any): void; bulkPatch(keys: [string, any][]): void; patch(keys: string, data: any): void; values(to: string): any[]; keys(to: string): string[]; count(to: string): number; bulkRemove(keys: string[]): void; remove(key: string): void; flush(): void; contains(to: string, keys: string): boolean; getToRelationship(to: string): string[]; bulkAddToRelationShip(data: Record<string, string[]>): void; addToRelationship(to: string, keys: string | string[]): void; removeToRelationship(to: string, keys: string | string[]): void; removeRelationship(to: string | string[]): void; }