export { Contains, IsInt, Length, IsEmail, IsFQDN, IsDate, IsBoolean, IsString, IsNumber, IsArray, IsEnum, Min, Max, IsNotEmpty, IsEmpty, validate, validateOrReject, } from "class-validator"; export declare const Type: { String: number; Number: number; Object: number; Buffer: number; Boolean: number; }; export declare type LionDBOptions = { env: "cluster" | "electron" | "egg" | "browser"; isMaster: boolean; thread: any; }; export interface ILionDB { /** * 设置值 * @param key key关键字 * @param value 值 * @param ttl 过期时间, 默认=0表示不过期,单位s(秒) */ set(key: string, value: any, ttl?: number): Promise; /** * 设置值 * @param key key关键字 * @param value 值 * @param ttl 过期时间, 默认=0表示不过期,单位s(秒) */ put(key: string, value: any, ttl?: number): Promise; getSet(key: string, value: any, ttl?: number): Promise; getIntSet(key: string, value: any, ttl?: number): Promise; getStringSet(key: string, value: any, ttl?: number): Promise; getFloatSet(key: string, value: any, ttl?: number): Promise; getString(key: string, extension: boolean): Promise; getInt(key: string, extension: boolean): Promise; getFloat(key: string, extension: boolean): Promise; /** * 获取数据 * @param key * @param extension 是否自动延期(默认false, 如果在put时,设置的过期时间, 才会起作用) */ get(key: string, extension?: boolean): Promise; getMany(...keys: string[]): Promise; getProperty(property: "leveldb.num-files-at-levelN" | "leveldb.stats" | "leveldb.sstables"): Promise; /** * 设置过期时间 * @param key * @param ttl */ expire(key: string, ttl?: number): Promise; /** * 存在 * @param key * @deprecated */ exist(key: string): Promise; /** * 是否存在 * @param key */ has(key: string): Promise; /** * 取得增量后的值,并存储 * @param key * @param increment 增量,默认为1 */ increment(key: string, increment: number, ttl?: number): Promise; /** * 删除 * @param key */ del(...keys: string[]): Promise; /** * * @param { * { type : 'del' | 'put' , key : string } , { type : 'put' , key : 'name' , value : 'Yuri Irsenovich Kim' } , { type : 'put' , key : ' dob' , value : '16 February 1941' } , { type : 'put' , key : 'spouse' , 价值: 'Kim Young-sook' } , { type : 'put' , key : 'occupation' , value : 'Clown' } * } ops * @returns */ batch(ops: { type: "del" | "put"; key: string; value?: any; ttl?: number; }[]): Promise; clear(): Promise; close(): Promise; count(key: string, filter?: Filter): Promise; /** 总条数 */ total(): Promise; /** * 查找 * @param config * key: 搜索词 结尾 * 表示匹配所有 * start: 开始位置 默认 0 * limit: 限制 默认100条, -1 表示无限 * reverse: 倒序查询, 默认false * keys: 搜索结果是否包含key, 默认false * flow: boolean, 顺流查找(模糊搜索才有效), 在查询关键字不匹配时,自动往下查询,默认false */ find(config: { key: string; limit?: number; start?: number; reverse?: boolean; filter?: Filter; keys?: boolean; }): Promise<{ key: string; value: any; }[] | any[]>; /** * 递归查询 * @param param0 { * key: 查询词, 结尾*表示模糊搜索 * limit: 查询限制条数,默认100条 * filter: 过滤器 (value: any, key: string) => boolean || Promise * reverse: boolean, 逆转,默认false true=逆转 false=正常 * flow: boolean, 顺流查找(模糊搜索才有效), 在查询关键字不匹配时,自动往下查询,默认false * } * @param callback */ iterator(config: { key: string; limit?: number; start?: number; filter?: Filter; }, callback: IteratorCallback): Promise; /** * 过滤 * @param list * @param filter */ filter(item: any, query: { [key: string]: any; }, filter: (item: any) => boolean | Promise): Promise; } declare type Get = (key: string) => Promise; declare type GetMany = (...key: string[]) => Promise; export declare type Filter = (value: any, key: string, db: { get: Get; getMany: GetMany; }) => Promise | boolean; export declare type IteratorCallback = (key: string, value?: any) => void | "break" | Promise;