diginext-utils 3.12.11 → 3.13.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,19 @@
|
|
|
1
|
+
interface CacheEntry {
|
|
2
|
+
value: any;
|
|
3
|
+
lastAccessed: number;
|
|
4
|
+
maxAge: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ICacheManager {
|
|
7
|
+
maxCacheSize?: number;
|
|
8
|
+
}
|
|
9
|
+
export default class CacheManager {
|
|
10
|
+
private cache;
|
|
11
|
+
private MAX_CACHE_SIZE;
|
|
12
|
+
constructor(props?: ICacheManager);
|
|
13
|
+
get(id: string, updateLastAccessed?: boolean): any | undefined;
|
|
14
|
+
add(id: string, value: any, maxAge?: number): void;
|
|
15
|
+
private evictEntryOutdate;
|
|
16
|
+
private evictMaxAgeEntry;
|
|
17
|
+
update(id: string, value: Partial<CacheEntry>): void;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class CacheManager {
|
|
4
|
+
constructor(props) {
|
|
5
|
+
this.MAX_CACHE_SIZE = 1000;
|
|
6
|
+
this.cache = new Map();
|
|
7
|
+
this.MAX_CACHE_SIZE = (props === null || props === void 0 ? void 0 : props.maxCacheSize) || 1000;
|
|
8
|
+
}
|
|
9
|
+
get(id, updateLastAccessed = true) {
|
|
10
|
+
try {
|
|
11
|
+
const entry = this.cache.get(id);
|
|
12
|
+
if (entry) {
|
|
13
|
+
const { lastAccessed, maxAge } = entry;
|
|
14
|
+
if (Date.now() - lastAccessed > maxAge) {
|
|
15
|
+
this.cache.delete(id);
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
if (updateLastAccessed)
|
|
19
|
+
entry.lastAccessed = Date.now(); // Update last accessed time
|
|
20
|
+
return entry.value;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
throw new Error(`Access Cache failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
25
|
+
}
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
add(id, value, maxAge = Number.MAX_VALUE) {
|
|
29
|
+
try {
|
|
30
|
+
this.evictEntryOutdate();
|
|
31
|
+
this.cache.set(id, {
|
|
32
|
+
value,
|
|
33
|
+
lastAccessed: Date.now(),
|
|
34
|
+
maxAge,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
throw new Error(`Add To Cache failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
evictEntryOutdate() {
|
|
42
|
+
const oldestId = this.evictMaxAgeEntry();
|
|
43
|
+
if (this.cache.size >= this.MAX_CACHE_SIZE && oldestId) {
|
|
44
|
+
this.cache.delete(oldestId);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
evictMaxAgeEntry() {
|
|
48
|
+
const now = Date.now();
|
|
49
|
+
//
|
|
50
|
+
let oldestId = null;
|
|
51
|
+
let oldestAccess = Number.MAX_VALUE;
|
|
52
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
53
|
+
if (entry.maxAge != Number.MAX_VALUE && now - entry.lastAccessed > entry.maxAge) {
|
|
54
|
+
this.cache.delete(key);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
if (entry.lastAccessed < oldestAccess) {
|
|
58
|
+
oldestAccess = entry.lastAccessed;
|
|
59
|
+
oldestId = key;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return oldestId;
|
|
64
|
+
}
|
|
65
|
+
update(id, value) {
|
|
66
|
+
try {
|
|
67
|
+
const now = Date.now();
|
|
68
|
+
const entry = this.cache.get(id);
|
|
69
|
+
if (entry) {
|
|
70
|
+
Object.assign(entry, value);
|
|
71
|
+
entry.lastAccessed = now;
|
|
72
|
+
this.cache.set(id, entry);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
throw new Error(`Update Cache failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.default = CacheManager;
|
|
81
|
+
//# sourceMappingURL=CacheManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../src/cached/CacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface CacheEntry {
|
|
2
|
+
value: any;
|
|
3
|
+
lastAccessed: number;
|
|
4
|
+
maxAge: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ICacheManager {
|
|
7
|
+
maxCacheSize?: number;
|
|
8
|
+
}
|
|
9
|
+
export default class CacheManager {
|
|
10
|
+
private cache;
|
|
11
|
+
private MAX_CACHE_SIZE;
|
|
12
|
+
constructor(props?: ICacheManager);
|
|
13
|
+
get(id: string, updateLastAccessed?: boolean): any | undefined;
|
|
14
|
+
add(id: string, value: any, maxAge?: number): void;
|
|
15
|
+
private evictEntryOutdate;
|
|
16
|
+
private evictMaxAgeEntry;
|
|
17
|
+
update(id: string, value: Partial<CacheEntry>): void;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export default class CacheManager {
|
|
2
|
+
constructor(props) {
|
|
3
|
+
this.MAX_CACHE_SIZE = 1000;
|
|
4
|
+
this.cache = new Map();
|
|
5
|
+
this.MAX_CACHE_SIZE = (props === null || props === void 0 ? void 0 : props.maxCacheSize) || 1000;
|
|
6
|
+
}
|
|
7
|
+
get(id, updateLastAccessed = true) {
|
|
8
|
+
try {
|
|
9
|
+
const entry = this.cache.get(id);
|
|
10
|
+
if (entry) {
|
|
11
|
+
const { lastAccessed, maxAge } = entry;
|
|
12
|
+
if (Date.now() - lastAccessed > maxAge) {
|
|
13
|
+
this.cache.delete(id);
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
if (updateLastAccessed)
|
|
17
|
+
entry.lastAccessed = Date.now(); // Update last accessed time
|
|
18
|
+
return entry.value;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw new Error(`Access Cache failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
add(id, value, maxAge = Number.MAX_VALUE) {
|
|
27
|
+
try {
|
|
28
|
+
this.evictEntryOutdate();
|
|
29
|
+
this.cache.set(id, {
|
|
30
|
+
value,
|
|
31
|
+
lastAccessed: Date.now(),
|
|
32
|
+
maxAge,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
throw new Error(`Add To Cache failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
evictEntryOutdate() {
|
|
40
|
+
const oldestId = this.evictMaxAgeEntry();
|
|
41
|
+
if (this.cache.size >= this.MAX_CACHE_SIZE && oldestId) {
|
|
42
|
+
this.cache.delete(oldestId);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
evictMaxAgeEntry() {
|
|
46
|
+
const now = Date.now();
|
|
47
|
+
//
|
|
48
|
+
let oldestId = null;
|
|
49
|
+
let oldestAccess = Number.MAX_VALUE;
|
|
50
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
51
|
+
if (entry.maxAge != Number.MAX_VALUE && now - entry.lastAccessed > entry.maxAge) {
|
|
52
|
+
this.cache.delete(key);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (entry.lastAccessed < oldestAccess) {
|
|
56
|
+
oldestAccess = entry.lastAccessed;
|
|
57
|
+
oldestId = key;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return oldestId;
|
|
62
|
+
}
|
|
63
|
+
update(id, value) {
|
|
64
|
+
try {
|
|
65
|
+
const now = Date.now();
|
|
66
|
+
const entry = this.cache.get(id);
|
|
67
|
+
if (entry) {
|
|
68
|
+
Object.assign(entry, value);
|
|
69
|
+
entry.lastAccessed = now;
|
|
70
|
+
this.cache.set(id, entry);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
throw new Error(`Update Cache failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=CacheManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../src/cached/CacheManager.ts"],"names":[],"mappings":"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"}
|