cacheable 0.3.0 → 1.1.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.
@@ -0,0 +1,151 @@
1
+ import { Keyv, KeyvStoreAdapter } from 'keyv';
2
+ import { Hookified } from 'hookified';
3
+
4
+ type CacheableOptions$1 = {
5
+ enabled?: boolean;
6
+ };
7
+ declare class CacheableStats {
8
+ private _hits;
9
+ private _misses;
10
+ private _gets;
11
+ private _sets;
12
+ private _deletes;
13
+ private _clears;
14
+ private _vsize;
15
+ private _ksize;
16
+ private _count;
17
+ private _enabled;
18
+ constructor(options?: CacheableOptions$1);
19
+ get enabled(): boolean;
20
+ set enabled(enabled: boolean);
21
+ get hits(): number;
22
+ get misses(): number;
23
+ get gets(): number;
24
+ get sets(): number;
25
+ get deletes(): number;
26
+ get clears(): number;
27
+ get vsize(): number;
28
+ get ksize(): number;
29
+ get count(): number;
30
+ incrementHits(): void;
31
+ incrementMisses(): void;
32
+ incrementGets(): void;
33
+ incrementSets(): void;
34
+ incrementDeletes(): void;
35
+ incrementClears(): void;
36
+ incrementVSize(value: any): void;
37
+ decreaseVSize(value: any): void;
38
+ incrementKSize(key: string): void;
39
+ decreaseKSize(key: string): void;
40
+ incrementCount(): void;
41
+ decreaseCount(): void;
42
+ setCount(count: number): void;
43
+ roughSizeOfString(value: string): number;
44
+ roughSizeOfObject(object: any): number;
45
+ reset(): void;
46
+ resetStoreValues(): void;
47
+ }
48
+
49
+ type CacheableMemoryOptions = {
50
+ ttl?: number;
51
+ useClone?: boolean;
52
+ lruSize?: number;
53
+ };
54
+ declare class CacheableMemory {
55
+ private readonly _hashCache;
56
+ private readonly _hash0;
57
+ private readonly _hash1;
58
+ private readonly _hash2;
59
+ private readonly _hash3;
60
+ private readonly _hash4;
61
+ private readonly _hash5;
62
+ private readonly _hash6;
63
+ private readonly _hash7;
64
+ private readonly _hash8;
65
+ private readonly _hash9;
66
+ private readonly _lru;
67
+ private _ttl;
68
+ private _useClone;
69
+ private _lruSize;
70
+ constructor(options?: CacheableMemoryOptions);
71
+ get ttl(): number;
72
+ set ttl(value: number);
73
+ get useClone(): boolean;
74
+ set useClone(value: boolean);
75
+ get lruSize(): number;
76
+ set lruSize(value: number);
77
+ get size(): number;
78
+ get keys(): IterableIterator<string>;
79
+ get<T>(key: string): any;
80
+ set(key: string, value: any, ttl?: number): void;
81
+ has(key: string): boolean;
82
+ take<T>(key: string): any;
83
+ delete(key: string): void;
84
+ clear(): void;
85
+ hashKey(key: string): number;
86
+ getStore(key: string): Map<string, any>;
87
+ clone(value: any): any;
88
+ lruAddToFront(key: string): void;
89
+ lruMoveToFront(key: string): void;
90
+ lruResize(): void;
91
+ private isPrimitive;
92
+ private concatStores;
93
+ }
94
+
95
+ declare enum CacheableHooks {
96
+ BEFORE_SET = "BEFORE_SET",
97
+ AFTER_SET = "AFTER_SET",
98
+ BEFORE_SET_MANY = "BEFORE_SET_MANY",
99
+ AFTER_SET_MANY = "AFTER_SET_MANY",
100
+ BEFORE_GET = "BEFORE_GET",
101
+ AFTER_GET = "AFTER_GET",
102
+ BEFORE_GET_MANY = "BEFORE_GET_MANY",
103
+ AFTER_GET_MANY = "AFTER_GET_MANY"
104
+ }
105
+ declare enum CacheableEvents {
106
+ ERROR = "error"
107
+ }
108
+ type CacheableItem = {
109
+ key: string;
110
+ value: unknown;
111
+ ttl?: number;
112
+ };
113
+ type CacheableOptions = {
114
+ primary?: Keyv | KeyvStoreAdapter;
115
+ secondary?: Keyv | KeyvStoreAdapter;
116
+ stats?: boolean;
117
+ nonBlocking?: boolean;
118
+ };
119
+ declare class Cacheable extends Hookified {
120
+ private _primary;
121
+ private _secondary;
122
+ private _nonBlocking;
123
+ private readonly _stats;
124
+ constructor(options?: CacheableOptions);
125
+ get stats(): CacheableStats;
126
+ get primary(): Keyv;
127
+ set primary(primary: Keyv);
128
+ get secondary(): Keyv | undefined;
129
+ set secondary(secondary: Keyv | undefined);
130
+ get nonBlocking(): boolean;
131
+ set nonBlocking(nonBlocking: boolean);
132
+ setPrimary(primary: Keyv | KeyvStoreAdapter): void;
133
+ setSecondary(secondary: Keyv | KeyvStoreAdapter): void;
134
+ get<T>(key: string): Promise<T | undefined>;
135
+ getMany<T>(keys: string[]): Promise<Array<T | undefined>>;
136
+ set<T>(key: string, value: T, ttl?: number): Promise<boolean>;
137
+ setMany(items: CacheableItem[]): Promise<boolean>;
138
+ take<T>(key: string): Promise<T | undefined>;
139
+ takeMany<T>(keys: string[]): Promise<Array<T | undefined>>;
140
+ has(key: string): Promise<boolean>;
141
+ hasMany(keys: string[]): Promise<boolean[]>;
142
+ delete(key: string): Promise<boolean>;
143
+ deleteMany(keys: string[]): Promise<boolean>;
144
+ clear(): Promise<void>;
145
+ disconnect(): Promise<void>;
146
+ private deleteManyKeyv;
147
+ private setManyKeyv;
148
+ private hasManyKeyv;
149
+ }
150
+
151
+ export { Cacheable, CacheableEvents, CacheableHooks, type CacheableItem, CacheableMemory, type CacheableOptions, CacheableStats };
@@ -0,0 +1,151 @@
1
+ import { Keyv, KeyvStoreAdapter } from 'keyv';
2
+ import { Hookified } from 'hookified';
3
+
4
+ type CacheableOptions$1 = {
5
+ enabled?: boolean;
6
+ };
7
+ declare class CacheableStats {
8
+ private _hits;
9
+ private _misses;
10
+ private _gets;
11
+ private _sets;
12
+ private _deletes;
13
+ private _clears;
14
+ private _vsize;
15
+ private _ksize;
16
+ private _count;
17
+ private _enabled;
18
+ constructor(options?: CacheableOptions$1);
19
+ get enabled(): boolean;
20
+ set enabled(enabled: boolean);
21
+ get hits(): number;
22
+ get misses(): number;
23
+ get gets(): number;
24
+ get sets(): number;
25
+ get deletes(): number;
26
+ get clears(): number;
27
+ get vsize(): number;
28
+ get ksize(): number;
29
+ get count(): number;
30
+ incrementHits(): void;
31
+ incrementMisses(): void;
32
+ incrementGets(): void;
33
+ incrementSets(): void;
34
+ incrementDeletes(): void;
35
+ incrementClears(): void;
36
+ incrementVSize(value: any): void;
37
+ decreaseVSize(value: any): void;
38
+ incrementKSize(key: string): void;
39
+ decreaseKSize(key: string): void;
40
+ incrementCount(): void;
41
+ decreaseCount(): void;
42
+ setCount(count: number): void;
43
+ roughSizeOfString(value: string): number;
44
+ roughSizeOfObject(object: any): number;
45
+ reset(): void;
46
+ resetStoreValues(): void;
47
+ }
48
+
49
+ type CacheableMemoryOptions = {
50
+ ttl?: number;
51
+ useClone?: boolean;
52
+ lruSize?: number;
53
+ };
54
+ declare class CacheableMemory {
55
+ private readonly _hashCache;
56
+ private readonly _hash0;
57
+ private readonly _hash1;
58
+ private readonly _hash2;
59
+ private readonly _hash3;
60
+ private readonly _hash4;
61
+ private readonly _hash5;
62
+ private readonly _hash6;
63
+ private readonly _hash7;
64
+ private readonly _hash8;
65
+ private readonly _hash9;
66
+ private readonly _lru;
67
+ private _ttl;
68
+ private _useClone;
69
+ private _lruSize;
70
+ constructor(options?: CacheableMemoryOptions);
71
+ get ttl(): number;
72
+ set ttl(value: number);
73
+ get useClone(): boolean;
74
+ set useClone(value: boolean);
75
+ get lruSize(): number;
76
+ set lruSize(value: number);
77
+ get size(): number;
78
+ get keys(): IterableIterator<string>;
79
+ get<T>(key: string): any;
80
+ set(key: string, value: any, ttl?: number): void;
81
+ has(key: string): boolean;
82
+ take<T>(key: string): any;
83
+ delete(key: string): void;
84
+ clear(): void;
85
+ hashKey(key: string): number;
86
+ getStore(key: string): Map<string, any>;
87
+ clone(value: any): any;
88
+ lruAddToFront(key: string): void;
89
+ lruMoveToFront(key: string): void;
90
+ lruResize(): void;
91
+ private isPrimitive;
92
+ private concatStores;
93
+ }
94
+
95
+ declare enum CacheableHooks {
96
+ BEFORE_SET = "BEFORE_SET",
97
+ AFTER_SET = "AFTER_SET",
98
+ BEFORE_SET_MANY = "BEFORE_SET_MANY",
99
+ AFTER_SET_MANY = "AFTER_SET_MANY",
100
+ BEFORE_GET = "BEFORE_GET",
101
+ AFTER_GET = "AFTER_GET",
102
+ BEFORE_GET_MANY = "BEFORE_GET_MANY",
103
+ AFTER_GET_MANY = "AFTER_GET_MANY"
104
+ }
105
+ declare enum CacheableEvents {
106
+ ERROR = "error"
107
+ }
108
+ type CacheableItem = {
109
+ key: string;
110
+ value: unknown;
111
+ ttl?: number;
112
+ };
113
+ type CacheableOptions = {
114
+ primary?: Keyv | KeyvStoreAdapter;
115
+ secondary?: Keyv | KeyvStoreAdapter;
116
+ stats?: boolean;
117
+ nonBlocking?: boolean;
118
+ };
119
+ declare class Cacheable extends Hookified {
120
+ private _primary;
121
+ private _secondary;
122
+ private _nonBlocking;
123
+ private readonly _stats;
124
+ constructor(options?: CacheableOptions);
125
+ get stats(): CacheableStats;
126
+ get primary(): Keyv;
127
+ set primary(primary: Keyv);
128
+ get secondary(): Keyv | undefined;
129
+ set secondary(secondary: Keyv | undefined);
130
+ get nonBlocking(): boolean;
131
+ set nonBlocking(nonBlocking: boolean);
132
+ setPrimary(primary: Keyv | KeyvStoreAdapter): void;
133
+ setSecondary(secondary: Keyv | KeyvStoreAdapter): void;
134
+ get<T>(key: string): Promise<T | undefined>;
135
+ getMany<T>(keys: string[]): Promise<Array<T | undefined>>;
136
+ set<T>(key: string, value: T, ttl?: number): Promise<boolean>;
137
+ setMany(items: CacheableItem[]): Promise<boolean>;
138
+ take<T>(key: string): Promise<T | undefined>;
139
+ takeMany<T>(keys: string[]): Promise<Array<T | undefined>>;
140
+ has(key: string): Promise<boolean>;
141
+ hasMany(keys: string[]): Promise<boolean[]>;
142
+ delete(key: string): Promise<boolean>;
143
+ deleteMany(keys: string[]): Promise<boolean>;
144
+ clear(): Promise<void>;
145
+ disconnect(): Promise<void>;
146
+ private deleteManyKeyv;
147
+ private setManyKeyv;
148
+ private hasManyKeyv;
149
+ }
150
+
151
+ export { Cacheable, CacheableEvents, CacheableHooks, type CacheableItem, CacheableMemory, type CacheableOptions, CacheableStats };