polystore 0.15.12 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts ADDED
@@ -0,0 +1,82 @@
1
+ type Options = {
2
+ expires?: number | null | string;
3
+ };
4
+ type StoreData<T extends Serializable = Serializable> = {
5
+ value: T;
6
+ expires: number | null;
7
+ };
8
+ type Serializable = string | number | boolean | null | (Serializable | null)[] | {
9
+ [key: string]: Serializable | null;
10
+ };
11
+ interface ClientExpires {
12
+ EXPIRES: true;
13
+ promise?: Promise<any>;
14
+ test?: (client: any) => boolean;
15
+ get<T extends Serializable>(key: string): Promise<T | null> | T | null;
16
+ set<T extends Serializable>(key: string, value: T, options?: Options): Promise<any> | any;
17
+ iterate<T extends Serializable>(prefix: string): AsyncGenerator<[string, T], void, unknown> | Generator<[string, T], void, unknown>;
18
+ add?<T extends Serializable>(prefix: string, value: T, options?: Options): Promise<string>;
19
+ has?(key: string): Promise<boolean> | boolean;
20
+ del?(key: string): Promise<any> | any;
21
+ keys?(prefix: string): Promise<string[]> | string[];
22
+ values?<T extends Serializable>(prefix: string): Promise<T[]> | T[];
23
+ entries?<T extends Serializable>(prefix: string): Promise<[string, T][]> | [string, T][];
24
+ all?<T extends Serializable>(prefix: string): Promise<Record<string, T>> | Record<string, T>;
25
+ clear?(prefix: string): Promise<any> | any;
26
+ clearAll?(): Promise<any> | any;
27
+ close?(): Promise<any> | any;
28
+ }
29
+ interface ClientNonExpires {
30
+ EXPIRES: false;
31
+ promise?: Promise<any>;
32
+ test?: (client: any) => boolean;
33
+ get<T extends Serializable>(key: string): Promise<StoreData<T> | null> | StoreData<T> | null;
34
+ set<T extends Serializable>(key: string, value: StoreData<T> | null, options?: Options): Promise<any> | any;
35
+ iterate<T extends Serializable>(prefix: string): AsyncGenerator<[string, StoreData<T>], void, unknown> | Generator<[string, StoreData<T>], void, unknown>;
36
+ add?<T extends Serializable>(prefix: string, value: StoreData<T>, options?: Options): Promise<string>;
37
+ has?(key: string): Promise<boolean> | boolean;
38
+ del?(key: string): Promise<any> | any;
39
+ keys?(prefix: string): Promise<string[]> | string[];
40
+ values?<T extends Serializable>(prefix: string): Promise<StoreData<T>[]> | StoreData<T>[];
41
+ entries?<T extends Serializable>(prefix: string): Promise<[string, StoreData<T>][]> | [string, StoreData<T>][];
42
+ all?<T extends Serializable>(prefix: string): Promise<Record<string, StoreData<T>>> | Record<string, StoreData<T>>;
43
+ clear?(prefix: string): Promise<any> | any;
44
+ clearAll?(): Promise<any> | any;
45
+ close?(): Promise<any> | any;
46
+ }
47
+ type Client = ClientExpires | ClientNonExpires;
48
+
49
+ declare class Store<TDefault extends Serializable = Serializable> {
50
+ #private;
51
+ PREFIX: string;
52
+ promise: Promise<Client> | null;
53
+ client: Client;
54
+ constructor(clientPromise?: any);
55
+ add(value: TDefault, options?: Options): Promise<string>;
56
+ add<T extends TDefault>(value: T, options?: Options): Promise<string>;
57
+ set(key: string, value: TDefault, options?: Options): Promise<string>;
58
+ set<T extends TDefault>(key: string, value: T, options?: Options): Promise<string>;
59
+ get(key: string): Promise<TDefault | null>;
60
+ get<T extends TDefault>(key: string): Promise<T | null>;
61
+ has(key: string): Promise<boolean>;
62
+ del(key: string): Promise<string>;
63
+ [Symbol.asyncIterator](): AsyncGenerator<[string, TDefault], void, unknown>;
64
+ [Symbol.asyncIterator]<T extends TDefault>(): AsyncGenerator<[
65
+ string,
66
+ T
67
+ ], void, unknown>;
68
+ entries(): Promise<[string, TDefault][]>;
69
+ entries<T extends TDefault>(): Promise<[string, T][]>;
70
+ keys(): Promise<string[]>;
71
+ values(): Promise<TDefault[]>;
72
+ values<T extends TDefault>(): Promise<T[]>;
73
+ all(): Promise<Record<string, TDefault>>;
74
+ all<T extends TDefault>(): Promise<Record<string, T>>;
75
+ clear(): Promise<void>;
76
+ prefix(prefix?: string): Store<TDefault>;
77
+ close(): Promise<void>;
78
+ }
79
+ declare function createStore(): Store<Serializable>;
80
+ declare function createStore<T extends Serializable = Serializable>(client?: any): Store<T>;
81
+
82
+ export { type Client, type Serializable, Store, createStore as default };