UNPKG

memcache-client

Version:
71 lines (70 loc) 5.57 kB
/// <reference types="node" /> /// <reference types="node" /> /// <reference types="node" /> import { Socket } from "net"; import RedundantServers from "./redundant-servers"; import EventEmitter from "events"; import { MemcacheClientOptions, ErrorFirstCallback, PackedData } from "../types"; import { MemcacheConnection } from "./connection"; import { DefaultLogger } from "memcache-parser"; declare type StoreParams = string | number | Buffer | Record<string, unknown>; declare type CommonCommandOption = Readonly<{ noreply?: boolean; }>; declare type StoreCommandOptions = CommonCommandOption & { ignoreNotStored?: boolean; } & Readonly<{ lifetime?: number; compress?: boolean; }>; declare type CasCommandOptions = CommonCommandOption & StoreCommandOptions & Readonly<{ casUniq: number | string; }>; declare type SocketCallback = (socket?: Socket) => void; declare type OperationCallback<Error, Data> = (error?: Error | null, data?: Data) => void; export declare type RetrievalCommandResponse<ValueType> = { tokens: string[]; casUniq?: number | string; value: ValueType; }; export declare type CasRetrievalCommandResponse<Type> = RetrievalCommandResponse<Type> & { casUniq: string | number; }; export declare type StatsCommandResponse = Record<"STAT", Array<Array<string>>>; export declare type MultiRetrievalResponse<ValueType = unknown> = Record<string, RetrievalCommandResponse<ValueType>>; export declare type MultiCasRetrievalResponse<ValueType = unknown> = Record<string, CasRetrievalCommandResponse<ValueType>>; declare type MultiCasRetrieval<ValueType> = ValueType extends MultiCasRetrievalResponse ? ValueType : CasRetrievalCommandResponse<ValueType>; declare type MultiRetrieval<ValueType> = ValueType extends MultiRetrievalResponse ? ValueType : RetrievalCommandResponse<ValueType>; export declare class MemcacheClient extends EventEmitter { options: MemcacheClientOptions; socketID: number; _logger: DefaultLogger; _servers: RedundantServers; private _packer; private Promise; constructor(options: MemcacheClientOptions); shutdown(): void; send<ValueType>(data: StoreParams | SocketCallback, options?: CommonCommandOption | ErrorFirstCallback, callback?: ErrorFirstCallback): Promise<ValueType>; xsend(data: StoreParams | SocketCallback, options?: StoreCommandOptions): Promise<unknown>; cmd<Response>(data: string, options?: CommonCommandOption, callback?: ErrorFirstCallback): Promise<Response>; set(key: string, value: StoreParams, options?: StoreCommandOptions | OperationCallback<Error, string[]>, callback?: OperationCallback<Error, string[]>): Promise<string[]>; add(key: string, value: StoreParams, options?: StoreCommandOptions | OperationCallback<Error, string[]>, callback?: OperationCallback<Error, string[]>): Promise<string[]>; replace(key: string, value: StoreParams, options?: StoreCommandOptions | OperationCallback<Error, string[]>, callback?: OperationCallback<Error, string[]>): Promise<string[]>; append(key: string, value: StoreParams, options?: StoreCommandOptions | OperationCallback<Error, string[]>, callback?: OperationCallback<Error, string[]>): Promise<string[]>; prepend(key: string, value: StoreParams, options?: StoreCommandOptions | OperationCallback<Error, string[]>, callback?: OperationCallback<Error, string[]>): Promise<string[]>; cas(key: string, value: StoreParams, options: CasCommandOptions, callback?: OperationCallback<Error, string[]>): Promise<string[]>; delete(key: string, options?: CommonCommandOption | OperationCallback<Error, string[]>, callback?: OperationCallback<Error, string[]>): Promise<string[]>; incr(key: string, value: number, options?: StoreCommandOptions | OperationCallback<Error, string>, callback?: OperationCallback<Error, string>): Promise<string>; decr(key: string, value: number, options?: StoreCommandOptions | OperationCallback<Error, string>, callback?: OperationCallback<Error, string>): Promise<string>; touch(key: string, exptime: string | number, options?: CommonCommandOption | OperationCallback<Error, string[]>, callback?: OperationCallback<Error, string[]>): Promise<string[]>; version(callback?: OperationCallback<Error, string[]>): Promise<string[]>; store(cmd: string, key: string, value: StoreParams, options?: Partial<CasCommandOptions> | OperationCallback<Error, string[]>, callback?: OperationCallback<Error, string[]>): Promise<string[]>; get<ValueType>(key: string | string[], options?: StoreCommandOptions | OperationCallback<Error, MultiRetrieval<ValueType>>, callback?: OperationCallback<Error, MultiRetrieval<ValueType>>): Promise<MultiRetrieval<ValueType>>; gets<ValueType>(key: string | string[], options?: StoreCommandOptions | OperationCallback<Error, MultiCasRetrieval<ValueType>>, callback?: OperationCallback<Error, MultiCasRetrieval<ValueType>>): Promise<MultiCasRetrieval<ValueType>>; retrieve<T>(cmd: string, key: string[] | string, options?: StoreCommandOptions | OperationCallback<Error, T>, callback?: ErrorFirstCallback): Promise<T>; xretrieve(cmd: string, key: string | string[], options?: StoreCommandOptions): Promise<unknown>; _send(conn: MemcacheConnection, data: StoreParams | SocketCallback, options: Partial<CasCommandOptions>): Promise<unknown>; _callbackSend(data: StoreParams | SocketCallback, options?: Partial<CasCommandOptions>, callback?: ErrorFirstCallback): Promise<unknown>; _unpackValue(result: PackedData): number | string | Record<string, unknown> | Buffer; } export {};