@keyv/postgres
Version:
PostgreSQL storage adapter for Keyv
38 lines (34 loc) • 1.33 kB
text/typescript
import EventEmitter from 'node:events';
import Keyv, { KeyvStoreAdapter, KeyvEntry } from 'keyv';
import { PoolConfig } from 'pg';
type KeyvPostgresOptions = {
uri?: string;
table?: string;
keySize?: number;
schema?: string;
ssl?: any;
dialect?: string;
iterationLimit?: number;
useUnloggedTable?: boolean;
} & PoolConfig;
type Query = (sqlString: string, values?: any) => Promise<any[]>;
declare class KeyvPostgres extends EventEmitter implements KeyvStoreAdapter {
ttlSupport: boolean;
opts: KeyvPostgresOptions;
query: Query;
namespace?: string;
constructor(options?: KeyvPostgresOptions | string);
get(key: string): Promise<any>;
getMany(keys: string[]): Promise<any[]>;
set(key: string, value: any): Promise<void>;
setMany(entries: KeyvEntry[]): Promise<void>;
delete(key: string): Promise<boolean>;
deleteMany(keys: string[]): Promise<boolean>;
clear(): Promise<void>;
iterator(namespace?: string): AsyncGenerator<any, void, any>;
has(key: string): Promise<any>;
connect(): Promise<(sql: string, values?: any) => Promise<any[]>>;
disconnect(): Promise<void>;
}
declare const createKeyv: (options?: KeyvPostgresOptions) => Keyv<any>;
export { KeyvPostgres, type KeyvPostgresOptions, createKeyv, KeyvPostgres as default };