@actdim/utico 1.2.6 → 1.2.7
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/dist/arrayExtensions.es.js +64 -38
- package/dist/arrayExtensions.es.js.map +1 -1
- package/dist/asyncLock.es.js +45 -30
- package/dist/asyncLock.es.js.map +1 -1
- package/dist/cache/cacheContracts.es.js +8 -4
- package/dist/cache/cacheContracts.es.js.map +1 -1
- package/dist/cache/memoryCache.es.js +28 -13
- package/dist/cache/memoryCache.es.js.map +1 -1
- package/dist/cache/persistentCache.es.js +174 -97
- package/dist/cache/persistentCache.es.js.map +1 -1
- package/dist/dataFormats.es.js +4 -4
- package/dist/dataFormats.es.js.map +1 -1
- package/dist/dateTimeDataFormat.es.js +211 -130
- package/dist/dateTimeDataFormat.es.js.map +1 -1
- package/dist/decorators.es.js +15 -11
- package/dist/decorators.es.js.map +1 -1
- package/dist/gfx/canvasUtils.es.js +197 -114
- package/dist/gfx/canvasUtils.es.js.map +1 -1
- package/dist/gfx/color.es.js +134 -68
- package/dist/gfx/color.es.js.map +1 -1
- package/dist/i18n/cultures.es.js +8 -8
- package/dist/i18n/cultures.es.js.map +1 -1
- package/dist/i18n/enUsCulture.es.js +2 -2
- package/dist/i18n/enUsCulture.es.js.map +1 -1
- package/dist/i18n/euCulture.es.js +2 -2
- package/dist/i18n/euCulture.es.js.map +1 -1
- package/dist/i18n/invariantCulture.es.js +2 -2
- package/dist/i18n/invariantCulture.es.js.map +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/math.es.js +14 -8
- package/dist/math.es.js.map +1 -1
- package/dist/metadata.es.js +53 -25
- package/dist/metadata.es.js.map +1 -1
- package/dist/patterns.es.js +5 -3
- package/dist/patterns.es.js.map +1 -1
- package/dist/store/dataStore.es.js +241 -157
- package/dist/store/dataStore.es.js.map +1 -1
- package/dist/store/persistentStore.es.js +23 -17
- package/dist/store/persistentStore.es.js.map +1 -1
- package/dist/store/storeContracts.es.js +7 -3
- package/dist/store/storeContracts.es.js.map +1 -1
- package/dist/store/storeDb.es.js +87 -50
- package/dist/store/storeDb.es.js.map +1 -1
- package/dist/stringCore.es.js +60 -22
- package/dist/stringCore.es.js.map +1 -1
- package/dist/structEvent.es.js +30 -17
- package/dist/structEvent.es.js.map +1 -1
- package/dist/typeCore.es.js +25 -11
- package/dist/typeCore.es.js.map +1 -1
- package/dist/typeUtils.es.js +292 -182
- package/dist/typeUtils.es.js.map +1 -1
- package/dist/utils.es.js +138 -84
- package/dist/utils.es.js.map +1 -1
- package/dist/watchable.es.js +50 -27
- package/dist/watchable.es.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,56 +1,82 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
Array.prototype.unfold = function(callback) {
|
|
4
|
+
return this.reduce((res, element) => {
|
|
5
|
+
Array.prototype.push.apply(res, callback(element));
|
|
6
|
+
return res;
|
|
7
|
+
}, []);
|
|
3
8
|
};
|
|
4
|
-
Array.prototype.max = function(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
Array.prototype.max = function(selector, defaultValue) {
|
|
10
|
+
if (this.length == 0) {
|
|
11
|
+
return defaultValue;
|
|
12
|
+
}
|
|
13
|
+
return this.reduce((best, el) => {
|
|
14
|
+
const v = selector(el);
|
|
15
|
+
return best === void 0 || v > best ? v : best;
|
|
8
16
|
}, void 0);
|
|
9
17
|
};
|
|
10
|
-
Array.prototype.min = function(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
Array.prototype.min = function(selector, defaultValue) {
|
|
19
|
+
if (this.length == 0) {
|
|
20
|
+
return defaultValue;
|
|
21
|
+
}
|
|
22
|
+
return this.reduce((best, el) => {
|
|
23
|
+
const v = selector(el);
|
|
24
|
+
return best === void 0 || v < best ? v : best;
|
|
14
25
|
}, void 0);
|
|
15
26
|
};
|
|
16
|
-
Array.prototype.orderBy = function(
|
|
17
|
-
return this.slice(0).sort((
|
|
18
|
-
const
|
|
19
|
-
return
|
|
27
|
+
Array.prototype.orderBy = function(selector) {
|
|
28
|
+
return this.slice(0).sort((a, b) => {
|
|
29
|
+
const va = selector(a), vb = selector(b);
|
|
30
|
+
return va === vb ? 0 : va > vb ? 1 : -1;
|
|
20
31
|
});
|
|
21
32
|
};
|
|
22
|
-
Array.prototype.orderByDesc = function(
|
|
23
|
-
return this.slice(0).sort((
|
|
24
|
-
const
|
|
25
|
-
return
|
|
33
|
+
Array.prototype.orderByDesc = function(selector) {
|
|
34
|
+
return this.slice(0).sort((a, b) => {
|
|
35
|
+
const va = selector(a), vb = selector(b);
|
|
36
|
+
return va === vb ? 0 : va > vb ? -1 : 1;
|
|
26
37
|
});
|
|
27
38
|
};
|
|
28
|
-
Array.prototype.groupBy = function(
|
|
29
|
-
return this.reduce((
|
|
30
|
-
const
|
|
31
|
-
|
|
39
|
+
Array.prototype.groupBy = function(selector) {
|
|
40
|
+
return this.reduce((result, item) => {
|
|
41
|
+
const value = selector(item);
|
|
42
|
+
(result[value] = result[value] || []).push(item);
|
|
43
|
+
return result;
|
|
32
44
|
}, {});
|
|
33
45
|
};
|
|
34
|
-
Array.prototype.distinct = function(
|
|
35
|
-
if (!
|
|
46
|
+
Array.prototype.distinct = function(selector) {
|
|
47
|
+
if (!selector) {
|
|
36
48
|
return [...new Set(this)];
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
49
|
+
}
|
|
50
|
+
const seen = /* @__PURE__ */ new Set();
|
|
51
|
+
return this.filter(function(element) {
|
|
52
|
+
const key = selector(element);
|
|
53
|
+
if (seen.has(key)) return false;
|
|
54
|
+
seen.add(key);
|
|
55
|
+
return true;
|
|
41
56
|
});
|
|
42
57
|
};
|
|
43
|
-
Array.prototype.copy = function(
|
|
44
|
-
return
|
|
58
|
+
Array.prototype.copy = function(src, srcIndex = 0, dstIndex = 0, length) {
|
|
59
|
+
return copyArray(src, this, srcIndex, dstIndex, length);
|
|
45
60
|
};
|
|
46
|
-
Array.prototype.copyTo = function(
|
|
47
|
-
return
|
|
61
|
+
Array.prototype.copyTo = function(dst, srcIndex = 0, dstIndex = 0, length) {
|
|
62
|
+
return copyArray(this, dst, srcIndex, dstIndex, length);
|
|
48
63
|
};
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
64
|
+
function copyArray(src, dst, srcIndex = 0, dstIndex = 0, length) {
|
|
65
|
+
if (srcIndex < 0) {
|
|
66
|
+
srcIndex = 0;
|
|
67
|
+
}
|
|
68
|
+
if (dstIndex < 0) {
|
|
69
|
+
dstIndex = 0;
|
|
70
|
+
}
|
|
71
|
+
if (length == void 0) {
|
|
72
|
+
length = src.length - srcIndex;
|
|
73
|
+
}
|
|
74
|
+
let j = dstIndex;
|
|
75
|
+
for (let i = srcIndex; i < srcIndex + length; i++) {
|
|
76
|
+
dst[j] = src[i];
|
|
77
|
+
j++;
|
|
78
|
+
}
|
|
79
|
+
return dst;
|
|
55
80
|
}
|
|
81
|
+
__name(copyArray, "copyArray");
|
|
56
82
|
//# sourceMappingURL=arrayExtensions.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrayExtensions.es.js","sources":["D:/Src/my/actdim/public/utico/src/arrayExtensions.ts"],"sourcesContent":
|
|
1
|
+
{"version":3,"file":"arrayExtensions.es.js","sources":["D:/Src/my/actdim/public/utico/src/arrayExtensions.ts"],"sourcesContent":["\r\ninterface Array<T> {\r\n find(callback: (element: T, index: number, array: Array<T>) => boolean): T; // aka firstOrDefault\r\n unfold<TItem>(callback: (element: T) => Array<TItem>): Array<TItem>; // aka selectMany\r\n max<TItem>(selector: (element: T) => TItem, defaultValue?: any): TItem;\r\n min<TItem>(selector: (element: T) => TItem, defaultValue?: any): TItem;\r\n orderBy<TItem>(selector: (element: T) => TItem): Array<T>;\r\n groupBy(selector: (element: T) => string): { [key: string]: Array<T> };\r\n // groupBy(key: string): { [key: string]: Array<T> };\t\r\n orderByDesc<TItem>(selector: (element: T) => TItem): Array<T>;\r\n distinct(): Array<T>; // unique\r\n distinct<TItem>(selector: (element: T) => TItem): Array<T>; // distinctBy/uniqueBy\r\n // TODO: pushMany aka addRange\r\n /** NOTE: there is no native array copy method (all existing methods rely on spread) */\r\n copy(src: any[], srcIndex?: number, dstIndex?: number, length?: number): this; // copyFrom\r\n copyTo(dst: any[], srcIndex?: number, dstIndex?: number, length?: number): this;\r\n}\r\n\r\n\r\nArray.prototype.unfold = function (callback: (element: any) => any[]): any[] {\r\n return this.reduce((res, element) => {\r\n Array.prototype.push.apply(res, callback(element));\r\n return res;\r\n }, []);\r\n};\r\n\r\nArray.prototype.max = function (selector: (element: any) => any, defaultValue?: any): any {\r\n if (this.length == 0) {\r\n return defaultValue;\r\n }\r\n return this.reduce((best: any, el: any) => {\r\n const v = selector(el);\r\n return best === undefined || v > best ? v : best;\r\n }, undefined);\r\n};\r\n\r\nArray.prototype.min = function (selector: (element: any) => any, defaultValue?: any): any {\r\n if (this.length == 0) {\r\n return defaultValue;\r\n }\r\n return this.reduce((best: any, el: any) => {\r\n const v = selector(el);\r\n return best === undefined || v < best ? v : best;\r\n }, undefined);\r\n};\r\n\r\nArray.prototype.orderBy = function (selector: (element: any) => any): any[] {\r\n return this.slice(0).sort((a, b) => {\r\n const va = selector(a), vb = selector(b);\r\n return va === vb ? 0 : va > vb ? 1 : -1;\r\n });\r\n};\r\n\r\nArray.prototype.orderByDesc = function (selector: (element: any) => any): any[] {\r\n return this.slice(0).sort((a, b) => {\r\n const va = selector(a), vb = selector(b);\r\n return va === vb ? 0 : va > vb ? -1 : 1;\r\n });\r\n};\r\n\r\nArray.prototype.groupBy = function (selector: (element: any) => string): { [key: string]: any[] } {\r\n return this.reduce((result, item) => {\r\n const value = selector(item);\r\n (result[value] = result[value] || []).push(item);\r\n return result;\r\n }, {});\r\n};\r\n\r\n// distinctBy/uniqueBy\r\nArray.prototype.distinct = function (selector?: (element: any) => any): any[] {\r\n if (!selector) {\r\n return [...new Set(this)];\r\n }\r\n const seen = new Set();\r\n return this.filter(function (element) {\r\n const key = selector(element);\r\n if (seen.has(key)) return false;\r\n seen.add(key);\r\n return true;\r\n });\r\n};\r\n\r\n// copyFrom\r\nArray.prototype.copy = function (src: any[], srcIndex = 0, dstIndex = 0, length?: number) {\r\n return copyArray(src, this, srcIndex, dstIndex, length);\r\n}\r\n\r\nArray.prototype.copyTo = function (dst: any[], srcIndex = 0, dstIndex = 0, length?: number) {\r\n return copyArray(this, dst, srcIndex, dstIndex, length);\r\n}\r\n\r\nfunction copyArray(src: any[], dst: any[], srcIndex = 0, dstIndex = 0, length?: number) {\r\n if (srcIndex < 0) {\r\n srcIndex = 0;\r\n }\r\n if (dstIndex < 0) {\r\n dstIndex = 0;\r\n }\r\n if (length == undefined) {\r\n length = src.length - srcIndex;\r\n }\r\n let j = dstIndex;\r\n for (let i = srcIndex; i < srcIndex + length; i++) {\r\n dst[j] = src[i];\r\n j++;\r\n }\r\n return dst;\r\n}"],"names":[],"mappings":";;AAmBA,MAAM,UAAU,SAAS,SAAU,UAA0C;AACzE,SAAO,KAAK,OAAO,CAAC,KAAK,YAAY;AACjC,UAAM,UAAU,KAAK,MAAM,KAAK,SAAS,OAAO,CAAC;AACjD,WAAO;AAAA,EACX,GAAG,CAAA,CAAE;AACT;AAEA,MAAM,UAAU,MAAM,SAAU,UAAiC,cAAyB;AACtF,MAAI,KAAK,UAAU,GAAG;AAClB,WAAO;AAAA,EACX;AACA,SAAO,KAAK,OAAO,CAAC,MAAW,OAAY;AACvC,UAAM,IAAI,SAAS,EAAE;AACrB,WAAO,SAAS,UAAa,IAAI,OAAO,IAAI;AAAA,EAChD,GAAG,MAAS;AAChB;AAEA,MAAM,UAAU,MAAM,SAAU,UAAiC,cAAyB;AACtF,MAAI,KAAK,UAAU,GAAG;AAClB,WAAO;AAAA,EACX;AACA,SAAO,KAAK,OAAO,CAAC,MAAW,OAAY;AACvC,UAAM,IAAI,SAAS,EAAE;AACrB,WAAO,SAAS,UAAa,IAAI,OAAO,IAAI;AAAA,EAChD,GAAG,MAAS;AAChB;AAEA,MAAM,UAAU,UAAU,SAAU,UAAwC;AACxE,SAAO,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM;AAChC,UAAM,KAAK,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC;AACvC,WAAO,OAAO,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,EACzC,CAAC;AACL;AAEA,MAAM,UAAU,cAAc,SAAU,UAAwC;AAC5E,SAAO,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM;AAChC,UAAM,KAAK,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC;AACvC,WAAO,OAAO,KAAK,IAAI,KAAK,KAAK,KAAK;AAAA,EAC1C,CAAC;AACL;AAEA,MAAM,UAAU,UAAU,SAAU,UAA8D;AAC9F,SAAO,KAAK,OAAO,CAAC,QAAQ,SAAS;AACjC,UAAM,QAAQ,SAAS,IAAI;AAC3B,KAAC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,CAAA,GAAI,KAAK,IAAI;AAC/C,WAAO;AAAA,EACX,GAAG,CAAA,CAAE;AACT;AAGA,MAAM,UAAU,WAAW,SAAU,UAAyC;AAC1E,MAAI,CAAC,UAAU;AACX,WAAO,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC;AAAA,EAC5B;AACA,QAAM,2BAAW,IAAA;AACjB,SAAO,KAAK,OAAO,SAAU,SAAS;AAClC,UAAM,MAAM,SAAS,OAAO;AAC5B,QAAI,KAAK,IAAI,GAAG,EAAG,QAAO;AAC1B,SAAK,IAAI,GAAG;AACZ,WAAO;AAAA,EACX,CAAC;AACL;AAGA,MAAM,UAAU,OAAO,SAAU,KAAY,WAAW,GAAG,WAAW,GAAG,QAAiB;AACtF,SAAO,UAAU,KAAK,MAAM,UAAU,UAAU,MAAM;AAC1D;AAEA,MAAM,UAAU,SAAS,SAAU,KAAY,WAAW,GAAG,WAAW,GAAG,QAAiB;AACxF,SAAO,UAAU,MAAM,KAAK,UAAU,UAAU,MAAM;AAC1D;AAEA,SAAS,UAAU,KAAY,KAAY,WAAW,GAAG,WAAW,GAAG,QAAiB;AACpF,MAAI,WAAW,GAAG;AACd,eAAW;AAAA,EACf;AACA,MAAI,WAAW,GAAG;AACd,eAAW;AAAA,EACf;AACA,MAAI,UAAU,QAAW;AACrB,aAAS,IAAI,SAAS;AAAA,EAC1B;AACA,MAAI,IAAI;AACR,WAAS,IAAI,UAAU,IAAI,WAAW,QAAQ,KAAK;AAC/C,QAAI,CAAC,IAAI,IAAI,CAAC;AACd;AAAA,EACJ;AACA,SAAO;AACX;AAhBS;"}
|
package/dist/asyncLock.es.js
CHANGED
|
@@ -1,48 +1,63 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
let defaultLockTimeout = 1e3 * 5;
|
|
4
|
+
const _AsyncLock = class _AsyncLock {
|
|
3
5
|
queue = Promise.resolve();
|
|
4
|
-
locked =
|
|
5
|
-
async lock(
|
|
6
|
-
let
|
|
7
|
-
},
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
locked = false;
|
|
7
|
+
async lock(timeoutMs = defaultLockTimeout) {
|
|
8
|
+
let begin = /* @__PURE__ */ __name(() => {
|
|
9
|
+
}, "begin");
|
|
10
|
+
let timer;
|
|
11
|
+
const previous = this.queue;
|
|
12
|
+
this.queue = this.queue.then(() => new Promise(begin));
|
|
13
|
+
this.locked = true;
|
|
14
|
+
const lockPromise = new Promise((resolve, reject) => {
|
|
15
|
+
begin = resolve;
|
|
16
|
+
if (timeoutMs) {
|
|
17
|
+
timer = setTimeout(() => {
|
|
18
|
+
reject(new Error("Lock timeout"));
|
|
19
|
+
}, timeoutMs);
|
|
20
|
+
}
|
|
14
21
|
});
|
|
15
22
|
try {
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
const unlock = await lockPromise;
|
|
24
|
+
clearTimeout(timer);
|
|
25
|
+
return () => {
|
|
26
|
+
this.locked = false;
|
|
27
|
+
unlock();
|
|
19
28
|
};
|
|
20
|
-
} catch (
|
|
21
|
-
|
|
29
|
+
} catch (err) {
|
|
30
|
+
this.queue = previous;
|
|
31
|
+
this.locked = false;
|
|
32
|
+
throw err;
|
|
22
33
|
}
|
|
23
34
|
}
|
|
24
35
|
tryLock() {
|
|
25
36
|
if (this.locked) return null;
|
|
26
|
-
this.locked =
|
|
27
|
-
let
|
|
28
|
-
const
|
|
29
|
-
|
|
37
|
+
this.locked = true;
|
|
38
|
+
let resolve;
|
|
39
|
+
const promise = new Promise((res) => {
|
|
40
|
+
resolve = res;
|
|
30
41
|
});
|
|
31
|
-
|
|
32
|
-
|
|
42
|
+
this.queue = this.queue.then(() => promise);
|
|
43
|
+
return () => {
|
|
44
|
+
this.locked = false;
|
|
45
|
+
resolve();
|
|
33
46
|
};
|
|
34
47
|
}
|
|
35
|
-
async dispatch(
|
|
36
|
-
const
|
|
48
|
+
async dispatch(fn, timeoutMs = defaultLockTimeout) {
|
|
49
|
+
const unlock = await this.lock(timeoutMs);
|
|
37
50
|
try {
|
|
38
|
-
return await
|
|
51
|
+
return await fn();
|
|
39
52
|
} finally {
|
|
40
|
-
|
|
53
|
+
unlock();
|
|
41
54
|
}
|
|
42
55
|
}
|
|
43
|
-
}
|
|
56
|
+
};
|
|
57
|
+
__name(_AsyncLock, "AsyncLock");
|
|
58
|
+
let AsyncLock = _AsyncLock;
|
|
44
59
|
export {
|
|
45
|
-
|
|
46
|
-
|
|
60
|
+
AsyncLock,
|
|
61
|
+
defaultLockTimeout
|
|
47
62
|
};
|
|
48
63
|
//# sourceMappingURL=asyncLock.es.js.map
|
package/dist/asyncLock.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncLock.es.js","sources":["D:/Src/my/actdim/public/utico/src/asyncLock.ts"],"sourcesContent":
|
|
1
|
+
{"version":3,"file":"asyncLock.es.js","sources":["D:/Src/my/actdim/public/utico/src/asyncLock.ts"],"sourcesContent":["import { Executor } from './typeCore';\n/**\n * Example:\n * const lock = new AsyncLock();\n * await lock.dispatch(async () => {...});\n */\n\nexport let defaultLockTimeout = 1000 * 5; // 5 seconds\n\nclass AsyncLock {\n private queue = Promise.resolve();\n\n private locked = false;\n\n async lock(timeoutMs = defaultLockTimeout): Promise<() => void> {\n let begin: (unlock: () => void) => void = () => { };\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n const previous = this.queue;\n this.queue = this.queue.then(() => new Promise(begin));\n this.locked = true;\n\n const lockPromise = new Promise<() => void>((resolve, reject) => {\n begin = resolve;\n\n if (timeoutMs) {\n timer = setTimeout(() => {\n reject(new Error(\"Lock timeout\"));\n }, timeoutMs);\n }\n });\n\n try {\n const unlock = await lockPromise;\n clearTimeout(timer);\n return () => {\n this.locked = false;\n unlock();\n };\n } catch (err) {\n this.queue = previous;\n this.locked = false;\n throw err;\n }\n }\n\n tryLock(): (() => void) | null {\n if (this.locked) return null;\n\n this.locked = true;\n let resolve!: () => void;\n const promise = new Promise<void>(res => { resolve = res; });\n this.queue = this.queue.then(() => promise);\n return () => {\n this.locked = false;\n resolve();\n };\n }\n\n async dispatch<T>(fn: Executor<T>, timeoutMs = defaultLockTimeout): Promise<T> {\n const unlock = await this.lock(timeoutMs);\n try {\n return await fn();\n } finally {\n unlock();\n }\n }\n}\n\n\nexport {\n AsyncLock\n};\n"],"names":[],"mappings":";;AAOO,IAAI,qBAAqB,MAAO;AAEvC,MAAM,aAAN,MAAM,WAAU;AAAA,EACJ,QAAQ,QAAQ,QAAA;AAAA,EAEhB,SAAS;AAAA,EAEjB,MAAM,KAAK,YAAY,oBAAyC;AAC5D,QAAI,QAAsC,6BAAM;AAAA,IAAE,GAAR;AAC1C,QAAI;AAEJ,UAAM,WAAW,KAAK;AACtB,SAAK,QAAQ,KAAK,MAAM,KAAK,MAAM,IAAI,QAAQ,KAAK,CAAC;AACrD,SAAK,SAAS;AAEd,UAAM,cAAc,IAAI,QAAoB,CAAC,SAAS,WAAW;AAC7D,cAAQ;AAER,UAAI,WAAW;AACX,gBAAQ,WAAW,MAAM;AACrB,iBAAO,IAAI,MAAM,cAAc,CAAC;AAAA,QACpC,GAAG,SAAS;AAAA,MAChB;AAAA,IACJ,CAAC;AAED,QAAI;AACA,YAAM,SAAS,MAAM;AACrB,mBAAa,KAAK;AAClB,aAAO,MAAM;AACT,aAAK,SAAS;AACd,eAAA;AAAA,MACJ;AAAA,IACJ,SAAS,KAAK;AACV,WAAK,QAAQ;AACb,WAAK,SAAS;AACd,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,UAA+B;AAC3B,QAAI,KAAK,OAAQ,QAAO;AAExB,SAAK,SAAS;AACd,QAAI;AACJ,UAAM,UAAU,IAAI,QAAc,CAAA,QAAO;AAAE,gBAAU;AAAA,IAAK,CAAC;AAC3D,SAAK,QAAQ,KAAK,MAAM,KAAK,MAAM,OAAO;AAC1C,WAAO,MAAM;AACT,WAAK,SAAS;AACd,cAAA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,SAAY,IAAiB,YAAY,oBAAgC;AAC3E,UAAM,SAAS,MAAM,KAAK,KAAK,SAAS;AACxC,QAAI;AACA,aAAO,MAAM,GAAA;AAAA,IACjB,UAAA;AACI,aAAA;AAAA,IACJ;AAAA,EACJ;AACJ;AA1DgB;AAAhB,IAAM,YAAN;"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { MetadataRecord } from "../store/storeContracts.es.js";
|
|
4
|
+
const _CacheMetadataRecord = class _CacheMetadataRecord extends MetadataRecord {
|
|
3
5
|
accessedAt;
|
|
4
6
|
// lastAccessed/lastAccessTime
|
|
5
7
|
slidingExpiration;
|
|
6
8
|
absoluteExpiration;
|
|
7
9
|
expiresAt;
|
|
8
10
|
// expiryTime
|
|
9
|
-
}
|
|
11
|
+
};
|
|
12
|
+
__name(_CacheMetadataRecord, "CacheMetadataRecord");
|
|
13
|
+
let CacheMetadataRecord = _CacheMetadataRecord;
|
|
10
14
|
export {
|
|
11
|
-
|
|
15
|
+
CacheMetadataRecord
|
|
12
16
|
};
|
|
13
17
|
//# sourceMappingURL=cacheContracts.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cacheContracts.es.js","sources":["D:/Src/my/actdim/public/utico/src/cache/cacheContracts.ts"],"sourcesContent":
|
|
1
|
+
{"version":3,"file":"cacheContracts.es.js","sources":["D:/Src/my/actdim/public/utico/src/cache/cacheContracts.ts"],"sourcesContent":["import { DataRecord, MetadataRecord, StoreItem } from \"@/store/storeContracts\";\r\n\r\n// CacheMetadataEntry\r\nexport class CacheMetadataRecord extends MetadataRecord {\r\n accessedAt?: number; // lastAccessed/lastAccessTime\r\n slidingExpiration?: number;\r\n absoluteExpiration?: number;\r\n expiresAt?: number; // expiryTime\r\n}\r\n\r\nexport interface IPersistentCache<T extends CacheMetadataRecord = CacheMetadataRecord> {\r\n\r\n open(): Promise<void>;\r\n\r\n getKeys(): Promise<string[]>;\r\n\r\n contains(key: string): Promise<boolean>;\r\n\r\n delete(key: string): Promise<void>;\r\n\r\n bulkDelete(keys: string[]): Promise<void>;\r\n\r\n clear(): Promise<void>;\r\n\r\n get<TValue = any>(key: string): Promise<StoreItem<T, TValue>>;\r\n\r\n set<TValue = any>(metadataRecord: T, value: TValue): Promise<string>;\r\n\r\n getOrSet<TValue = any>(metadataRecord: T, factory: (metadataRecord: T) => TValue): Promise<StoreItem<T, TValue>>\r\n\r\n bulkGet<TValue = any>(keys: string[]): Promise<StoreItem<T, TValue>[]>;\r\n\r\n bulkSet<TValue = any>(metadataRecords: T[], dataRecords: DataRecord<TValue>[]): Promise<string[]>;\r\n}"],"names":[],"mappings":";;;AAGO,MAAM,uBAAN,MAAM,6BAA4B,eAAe;AAAA,EACpD;AAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACJ;AALwD;AAAjD,IAAM,sBAAN;"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
const _MemoryCache = class _MemoryCache {
|
|
2
4
|
map;
|
|
3
5
|
constructor() {
|
|
4
6
|
this.map = /* @__PURE__ */ new Map();
|
|
@@ -9,17 +11,21 @@ class i {
|
|
|
9
11
|
getKeys() {
|
|
10
12
|
return this.keys;
|
|
11
13
|
}
|
|
12
|
-
get(
|
|
13
|
-
return this.map.get(
|
|
14
|
+
get(key) {
|
|
15
|
+
return this.map.get(key);
|
|
14
16
|
}
|
|
15
|
-
contains(
|
|
16
|
-
return this.map.has(
|
|
17
|
+
contains(key) {
|
|
18
|
+
return this.map.has(key);
|
|
17
19
|
}
|
|
18
|
-
remove(
|
|
19
|
-
this.map.delete(
|
|
20
|
+
remove(key) {
|
|
21
|
+
this.map.delete(key);
|
|
20
22
|
}
|
|
21
|
-
set(
|
|
22
|
-
|
|
23
|
+
set(key, valueOrValueFactory) {
|
|
24
|
+
if (valueOrValueFactory instanceof Function) {
|
|
25
|
+
this.map.set(key, valueOrValueFactory());
|
|
26
|
+
} else {
|
|
27
|
+
this.map.set(key, valueOrValueFactory);
|
|
28
|
+
}
|
|
23
29
|
}
|
|
24
30
|
get values() {
|
|
25
31
|
return this.getValues();
|
|
@@ -27,8 +33,15 @@ class i {
|
|
|
27
33
|
getValues() {
|
|
28
34
|
return this.map.values();
|
|
29
35
|
}
|
|
30
|
-
getOrSet(
|
|
31
|
-
|
|
36
|
+
getOrSet(key, valueOrValueFactory) {
|
|
37
|
+
if (!this.contains(key)) {
|
|
38
|
+
if (valueOrValueFactory instanceof Function) {
|
|
39
|
+
this.map.set(key, valueOrValueFactory());
|
|
40
|
+
} else {
|
|
41
|
+
this.map.set(key, valueOrValueFactory);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return this.get(key);
|
|
32
45
|
}
|
|
33
46
|
clear() {
|
|
34
47
|
this.map.clear();
|
|
@@ -42,8 +55,10 @@ class i {
|
|
|
42
55
|
get entries() {
|
|
43
56
|
return this.map.entries();
|
|
44
57
|
}
|
|
45
|
-
}
|
|
58
|
+
};
|
|
59
|
+
__name(_MemoryCache, "MemoryCache");
|
|
60
|
+
let MemoryCache = _MemoryCache;
|
|
46
61
|
export {
|
|
47
|
-
|
|
62
|
+
MemoryCache
|
|
48
63
|
};
|
|
49
64
|
//# sourceMappingURL=memoryCache.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryCache.es.js","sources":["D:/Src/my/actdim/public/utico/src/cache/memoryCache.ts"],"sourcesContent":
|
|
1
|
+
{"version":3,"file":"memoryCache.es.js","sources":["D:/Src/my/actdim/public/utico/src/cache/memoryCache.ts"],"sourcesContent":["export type IMemoryCache<TKey = any, TValue = any> = {\r\n get keys(): Iterable<TKey>;\r\n getKeys: () => Iterable<TKey>;\r\n get: (key: TKey) => TValue;\r\n contains: (key: TKey) => boolean;\r\n remove: (key: TKey) => void;\r\n set: (key: TKey, valueOrValueFactory: TValue | (() => TValue)) => void;\r\n get values(): Iterable<TValue>;\r\n getValues: () => Iterable<TValue>;\r\n getOrSet: (key: TKey, valueOrValueFactory: TValue | (() => TValue)) => TValue;\r\n clear: () => void;\r\n get entries(): Iterable<[TKey, TValue]>;\r\n getEntries: () => Iterable<[TKey, TValue]>;\r\n};\r\n\r\nexport class MemoryCache<TKey = any, TValue = any> implements IMemoryCache {\r\n private map: Map<TKey, TValue>;\r\n\r\n constructor() {\r\n this.map = new Map<TKey, TValue>();\r\n }\r\n\r\n get keys() {\r\n return this.map.keys();\r\n }\r\n\r\n getKeys() {\r\n return this.keys;\r\n }\r\n\r\n get(key: TKey) {\r\n return this.map.get(key);\r\n }\r\n\r\n contains(key: TKey) {\r\n return this.map.has(key);\r\n }\r\n\r\n remove(key: TKey) {\r\n this.map.delete(key);\r\n }\r\n\r\n set(key: TKey, valueOrValueFactory: TValue | (() => TValue)) {\r\n if (valueOrValueFactory instanceof Function) {\r\n this.map.set(key, valueOrValueFactory());\r\n } else {\r\n this.map.set(key, valueOrValueFactory);\r\n }\r\n }\r\n\r\n get values() {\r\n return this.getValues();\r\n }\r\n\r\n getValues() {\r\n return this.map.values();\r\n }\r\n\r\n getOrSet(key: TKey, valueOrValueFactory: TValue | (() => TValue)) {\r\n if (!this.contains(key)) {\r\n // this.set(key, valueOrValueFactory);\r\n if (valueOrValueFactory instanceof Function) {\r\n // typeof valueOrValueFactory === \"function\"\r\n this.map.set(key, valueOrValueFactory());\r\n } else {\r\n this.map.set(key, valueOrValueFactory);\r\n }\r\n }\r\n return this.get(key);\r\n }\r\n\r\n clear() {\r\n this.map.clear();\r\n }\r\n\r\n get size() {\r\n return this.map.size;\r\n }\r\n\r\n getEntries() {\r\n return this.entries;\r\n }\r\n\r\n get entries() {\r\n return this.map.entries();\r\n }\r\n}"],"names":[],"mappings":";;AAeO,MAAM,eAAN,MAAM,aAA8D;AAAA,EAC/D;AAAA,EAER,cAAc;AACV,SAAK,0BAAU,IAAA;AAAA,EACnB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,IAAI,KAAA;AAAA,EACpB;AAAA,EAEA,UAAU;AACN,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,KAAW;AACX,WAAO,KAAK,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,SAAS,KAAW;AAChB,WAAO,KAAK,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,OAAO,KAAW;AACd,SAAK,IAAI,OAAO,GAAG;AAAA,EACvB;AAAA,EAEA,IAAI,KAAW,qBAA8C;AACzD,QAAI,+BAA+B,UAAU;AACzC,WAAK,IAAI,IAAI,KAAK,oBAAA,CAAqB;AAAA,IAC3C,OAAO;AACH,WAAK,IAAI,IAAI,KAAK,mBAAmB;AAAA,IACzC;AAAA,EACJ;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK,UAAA;AAAA,EAChB;AAAA,EAEA,YAAY;AACR,WAAO,KAAK,IAAI,OAAA;AAAA,EACpB;AAAA,EAEA,SAAS,KAAW,qBAA8C;AAC9D,QAAI,CAAC,KAAK,SAAS,GAAG,GAAG;AAErB,UAAI,+BAA+B,UAAU;AAEzC,aAAK,IAAI,IAAI,KAAK,oBAAA,CAAqB;AAAA,MAC3C,OAAO;AACH,aAAK,IAAI,IAAI,KAAK,mBAAmB;AAAA,MACzC;AAAA,IACJ;AACA,WAAO,KAAK,IAAI,GAAG;AAAA,EACvB;AAAA,EAEA,QAAQ;AACJ,SAAK,IAAI,MAAA;AAAA,EACb;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,IAAI;AAAA,EACpB;AAAA,EAEA,aAAa;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK,IAAI,QAAA;AAAA,EACpB;AACJ;AAvE2E;AAApE,IAAM,cAAN;"}
|