@digital-alchemy/core 25.11.17 → 25.11.19
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/helpers/cron.mjs +1 -1
- package/dist/helpers/cron.mjs.map +1 -1
- package/dist/helpers/utilities.d.mts +14 -2
- package/dist/helpers/utilities.mjs +62 -1
- package/dist/helpers/utilities.mjs.map +1 -1
- package/dist/services/internal.service.mjs +4 -51
- package/dist/services/internal.service.mjs.map +1 -1
- package/package.json +2 -2
package/dist/helpers/cron.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron.mjs","sourceRoot":"","sources":["../../src/helpers/cron.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"cron.mjs","sourceRoot":"","sources":["../../src/helpers/cron.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAMhD,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,CAAN,IAAY,cAoFX;AApFD,WAAY,cAAc;IACxB,8CAA4B,CAAA;IAC5B,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,qDAAmC,CAAA;IACnC,8CAA4B,CAAA;IAC5B,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,qDAAmC,CAAA;IACnC,+CAA6B,CAAA;IAC7B,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,oDAAkC,CAAA;IAClC,oDAAkC,CAAA;IAClC,oDAAkC,CAAA;IAClC,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,kDAAgC,CAAA;IAChC,kDAAgC,CAAA;IAChC,qDAAmC,CAAA;IACnC,0CAAwB,CAAA;IACxB,+CAA6B,CAAA;IAC7B,+CAA6B,CAAA;IAC7B,kEAAgD,CAAA;IAChD,+DAA6C,CAAA;IAC7C,gDAA8B,CAAA;IAC9B,yEAAuD,CAAA;IACvD,iDAA+B,CAAA;IAC/B,+CAA6B,CAAA;IAC7B,gDAA8B,CAAA;IAC9B,0CAAwB,CAAA;IACxB,4EAA0D,CAAA;IAC1D,4EAA0D,CAAA;IAC1D,8EAA4D,CAAA;IAC5D,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,iEAA+C,CAAA;IAC/C,6DAA2C,CAAA;IAC3C,6DAA2C,CAAA;IAC3C,iEAA+C,CAAA;IAC/C,6DAA2C,CAAA;IAC3C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,4DAA0C,CAAA;IAC1C,6DAA2C,CAAA;IAC3C,6DAA2C,CAAA;AAC7C,CAAC,EApFW,cAAc,KAAd,cAAc,QAoFzB;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { Dayjs } from "dayjs";
|
|
2
|
+
import type { Duration } from "dayjs/plugin/duration";
|
|
3
|
+
import type { TOffset } from "./cron.mts";
|
|
1
4
|
export declare const EVEN = 2;
|
|
2
5
|
export declare const PAIR = 2;
|
|
3
6
|
export declare const HALF = 0.5;
|
|
@@ -31,6 +34,15 @@ export declare const SECOND = 1000;
|
|
|
31
34
|
export declare const PERCENT = 100;
|
|
32
35
|
export declare const YEAR: number;
|
|
33
36
|
export declare const ACTIVE_SLEEPS: Set<SleepReturn>;
|
|
37
|
+
/**
|
|
38
|
+
* Converts a TOffset to a Duration object (or undefined if invalid)
|
|
39
|
+
* Handles function unwrapping, arrays, objects, strings, and numbers
|
|
40
|
+
*/
|
|
41
|
+
export declare function toOffsetDuration(offset: TOffset): Duration | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Converts a TOffset to milliseconds
|
|
44
|
+
*/
|
|
45
|
+
export declare function toOffsetMs(offset: TOffset): number;
|
|
34
46
|
export type SleepReturn = Promise<void> & {
|
|
35
47
|
kill: (execute?: "stop" | "continue") => void;
|
|
36
48
|
};
|
|
@@ -52,13 +64,13 @@ export type SleepReturn = Promise<void> & {
|
|
|
52
64
|
* console.log(end - start); // 1000, because we stopped it early and executed
|
|
53
65
|
* ```
|
|
54
66
|
*/
|
|
55
|
-
export declare function sleep(target:
|
|
67
|
+
export declare function sleep(target: TOffset | Date | Dayjs): SleepReturn;
|
|
56
68
|
export declare const ACTIVE_THROTTLE: Set<string>;
|
|
57
69
|
export declare const ACTIVE_DEBOUNCE: Map<string, SleepReturn>;
|
|
58
70
|
/**
|
|
59
71
|
* wait for duration after call before allowing next, extends for calls inside window
|
|
60
72
|
*/
|
|
61
|
-
export declare function debounce(identifier: string, timeout:
|
|
73
|
+
export declare function debounce(identifier: string, timeout: TOffset): Promise<void>;
|
|
62
74
|
export declare const asyncNoop: () => Promise<void>;
|
|
63
75
|
export declare const noop: () => void;
|
|
64
76
|
export type TBlackHole = unknown | void | Promise<void>;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import dayjs from "dayjs";
|
|
2
|
+
import duration from "dayjs/plugin/duration.js";
|
|
1
3
|
import { is } from "../index.mjs";
|
|
4
|
+
dayjs.extend(duration);
|
|
2
5
|
/* eslint-disable @typescript-eslint/no-magic-numbers */
|
|
3
6
|
export const EVEN = 2;
|
|
4
7
|
export const PAIR = 2;
|
|
@@ -42,6 +45,52 @@ export const SECOND = 1000;
|
|
|
42
45
|
export const PERCENT = 100;
|
|
43
46
|
export const YEAR = 365 * DAY;
|
|
44
47
|
export const ACTIVE_SLEEPS = new Set();
|
|
48
|
+
/**
|
|
49
|
+
* Converts a TOffset to a Duration object (or undefined if invalid)
|
|
50
|
+
* Handles function unwrapping, arrays, objects, strings, and numbers
|
|
51
|
+
*/
|
|
52
|
+
export function toOffsetDuration(offset) {
|
|
53
|
+
// If function, unwrap
|
|
54
|
+
if (is.function(offset)) {
|
|
55
|
+
offset = offset();
|
|
56
|
+
}
|
|
57
|
+
// If tuple, resolve
|
|
58
|
+
if (is.array(offset)) {
|
|
59
|
+
const [amount, unit] = offset;
|
|
60
|
+
return dayjs.duration(amount, unit);
|
|
61
|
+
}
|
|
62
|
+
// Resolve objects, or capture Duration
|
|
63
|
+
if (is.object(offset)) {
|
|
64
|
+
return dayjs.isDuration(offset)
|
|
65
|
+
? offset
|
|
66
|
+
: dayjs.duration(offset);
|
|
67
|
+
}
|
|
68
|
+
// Resolve from partial ISO 8601
|
|
69
|
+
if (is.string(offset)) {
|
|
70
|
+
return dayjs.duration(`PT${offset.toUpperCase()}`);
|
|
71
|
+
}
|
|
72
|
+
// ms - number
|
|
73
|
+
if (is.number(offset)) {
|
|
74
|
+
return dayjs.duration(offset, "ms");
|
|
75
|
+
}
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Converts a TOffset to milliseconds
|
|
80
|
+
*/
|
|
81
|
+
export function toOffsetMs(offset) {
|
|
82
|
+
// If function, unwrap
|
|
83
|
+
if (is.function(offset)) {
|
|
84
|
+
offset = offset();
|
|
85
|
+
}
|
|
86
|
+
// If it's a number, return directly (optimization - no need to create duration)
|
|
87
|
+
if (is.number(offset)) {
|
|
88
|
+
return offset;
|
|
89
|
+
}
|
|
90
|
+
// Otherwise, convert to duration and get milliseconds
|
|
91
|
+
const duration = toOffsetDuration(offset);
|
|
92
|
+
return duration?.asMilliseconds() ?? NONE;
|
|
93
|
+
}
|
|
45
94
|
/**
|
|
46
95
|
* #MARK: Simple usage
|
|
47
96
|
*
|
|
@@ -63,12 +112,24 @@ export const ACTIVE_SLEEPS = new Set();
|
|
|
63
112
|
export function sleep(target) {
|
|
64
113
|
// done function from promise
|
|
65
114
|
let done;
|
|
115
|
+
const getTimeoutMs = () => {
|
|
116
|
+
// Handle Date - absolute time
|
|
117
|
+
if (is.date(target)) {
|
|
118
|
+
return target.getTime() - Date.now();
|
|
119
|
+
}
|
|
120
|
+
// Handle Dayjs - absolute time
|
|
121
|
+
if (is.dayjs(target)) {
|
|
122
|
+
return target.valueOf() - Date.now();
|
|
123
|
+
}
|
|
124
|
+
// Handle TOffset - duration/offset
|
|
125
|
+
return toOffsetMs(target);
|
|
126
|
+
};
|
|
66
127
|
const timeout = setTimeout(() => {
|
|
67
128
|
if (done) {
|
|
68
129
|
done();
|
|
69
130
|
}
|
|
70
131
|
ACTIVE_SLEEPS.delete(out);
|
|
71
|
-
},
|
|
132
|
+
}, getTimeoutMs());
|
|
72
133
|
// Take a normal promise, add a `.kill` to it
|
|
73
134
|
// You can await as normal, or call the function
|
|
74
135
|
const out = new Promise(i => (done = i));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.mjs","sourceRoot":"","sources":["../../src/helpers/utilities.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utilities.mjs","sourceRoot":"","sources":["../../src/helpers/utilities.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import dayjs
|
|
1
|
+
import dayjs from "dayjs";
|
|
2
2
|
import { EventEmitter } from "events";
|
|
3
|
-
import { ARRAY_OFFSET, DAY, deepExtend, FIRST, HOUR, MINUTE, NONE, SECOND, START, YEAR, } from "../index.mjs";
|
|
3
|
+
import { ARRAY_OFFSET, DAY, deepExtend, FIRST, HOUR, MINUTE, NONE, SECOND, START, toOffsetDuration, toOffsetMs, YEAR, } from "../index.mjs";
|
|
4
4
|
import { is } from "./is.service.mjs";
|
|
5
5
|
const EVERYTHING_ELSE = 1;
|
|
6
6
|
const MONTHS = 12;
|
|
@@ -45,59 +45,12 @@ export class InternalUtils {
|
|
|
45
45
|
.join(" ");
|
|
46
46
|
}
|
|
47
47
|
getIntervalTarget(offset) {
|
|
48
|
-
|
|
49
|
-
// * if function, unwrap
|
|
50
|
-
if (is.function(offset)) {
|
|
51
|
-
offset = offset();
|
|
52
|
-
}
|
|
53
|
-
// * if tuple, resolve
|
|
54
|
-
if (is.array(offset)) {
|
|
55
|
-
const [amount, unit] = offset;
|
|
56
|
-
duration = dayjs.duration(amount, unit);
|
|
57
|
-
// * resolve objects, or capture Duration
|
|
58
|
-
}
|
|
59
|
-
else if (is.object(offset)) {
|
|
60
|
-
duration = isDuration(offset)
|
|
61
|
-
? offset
|
|
62
|
-
: dayjs.duration(offset);
|
|
63
|
-
}
|
|
64
|
-
// * resolve from partial ISO 8601
|
|
65
|
-
if (is.string(offset)) {
|
|
66
|
-
duration = dayjs.duration(`PT${offset.toUpperCase()}`);
|
|
67
|
-
}
|
|
68
|
-
// * ms
|
|
69
|
-
if (is.number(offset)) {
|
|
70
|
-
duration = dayjs.duration(offset, "ms");
|
|
71
|
-
}
|
|
48
|
+
const duration = toOffsetDuration(offset);
|
|
72
49
|
const now = dayjs();
|
|
73
50
|
return duration ? now.add(duration) : now;
|
|
74
51
|
}
|
|
75
52
|
getIntervalMs(offset) {
|
|
76
|
-
|
|
77
|
-
// * if function, unwrap
|
|
78
|
-
if (is.function(offset)) {
|
|
79
|
-
offset = offset();
|
|
80
|
-
}
|
|
81
|
-
// * if tuple, resolve
|
|
82
|
-
if (is.array(offset)) {
|
|
83
|
-
const [amount, unit] = offset;
|
|
84
|
-
duration = dayjs.duration(amount, unit);
|
|
85
|
-
// * resolve objects, or capture Duration
|
|
86
|
-
}
|
|
87
|
-
else if (is.object(offset)) {
|
|
88
|
-
duration = isDuration(offset)
|
|
89
|
-
? offset
|
|
90
|
-
: dayjs.duration(offset);
|
|
91
|
-
}
|
|
92
|
-
// * resolve from partial ISO 8601
|
|
93
|
-
if (is.string(offset)) {
|
|
94
|
-
duration = dayjs.duration(`PT${offset.toUpperCase()}`);
|
|
95
|
-
}
|
|
96
|
-
// * ms
|
|
97
|
-
if (is.number(offset)) {
|
|
98
|
-
return offset;
|
|
99
|
-
}
|
|
100
|
-
return duration?.asMilliseconds() ?? NONE;
|
|
53
|
+
return toOffsetMs(offset);
|
|
101
54
|
}
|
|
102
55
|
relativeDate(pastDate, futureDate = new Date().toISOString()) {
|
|
103
56
|
const past = dayjs(pastDate);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.service.mjs","sourceRoot":"","sources":["../../src/services/internal.service.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"internal.service.mjs","sourceRoot":"","sources":["../../src/services/internal.service.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAgBtC,OAAO,EACL,YAAY,EACZ,GAAG,EACH,UAAU,EACV,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,IAAI,GACL,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAItC,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,MAAM,GAAG,EAAE,CAAC;AAElB,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAsC;IACvE,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,QAAQ,EAAE,MAAM,CAAC;IAClB,CAAC,QAAQ,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAKH,+CAA+C;AAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;IAClD,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,OAAO;CACf,CAAC,CAAC;AAEH,cAAc;AACd,MAAM,OAAO,aAAa;IACxB;;;;;OAKG;IACI,KAAK,CAAe;IAE3B;;OAEG;IACI,EAAE,CAAO;IAEhB;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,SAAS,CAAC,KAAa;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,KAAK;aACT,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;aAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;aAChF,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,iBAAiB,CAAC,MAAe;QAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAe;QAC3B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEM,YAAY,CAAC,QAAsB,EAAE,aAA2B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC7F,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACnD,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kBAAkB;IACX,MAAM,GAAG;QACd,UAAU;QACV,GAAG,CAAI,MAAS,EAAE,IAAY;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,OAAO,GAAG,MAAiB,CAAC,CAAC,8CAA8C;YAE/E,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEpB,6CAA6C;gBAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACpD,8CAA8C;oBAC9C,OAAO;gBACT,CAAC;gBAED,MAAM,WAAW,GAAG,OAAkC,CAAC;gBAEvD,2DAA2D;gBAC3D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;oBACrC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,yDAAyD;gBACpF,CAAC;qBAAM,CAAC;oBACN,yFAAyF;oBACzF,IAAI,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;wBACtE,OAAO;oBACT,CAAC;oBACD,qCAAqC;oBACrC,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,CAAsB,MAAS,EAAE,IAAO;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,OAAO,GAAY,MAAM,CAAC;YAE9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;oBACjE,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC;YAED,OAAO,OAAoB,CAAC;QAC9B,CAAC;QACD,GAAG,CAAI,MAAS,EAAE,IAAY,EAAE,KAAc,EAAE,eAAwB,KAAK;YAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,OAAO,GAAG,MAAiB,CAAC,CAAC,8CAA8C;YAE/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEpB,qEAAqE;gBACrE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACpD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAChE,CAAC;gBAED,sEAAsE;gBACtE,MAAM,WAAW,GAAG,OAAkC,CAAC;gBAEvD,6CAA6C;gBAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC;wBAC3C,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBAC3B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iFAAiF;oBACjF,IACE,WAAW,CAAC,GAAG,CAAC,KAAK,SAAS;wBAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,QAAQ;wBACpC,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,EACzB,CAAC;wBACD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBACxB,CAAC;oBACD,qCAAqC;oBACrC,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;CAEH;AASD,0BAA0B;AAC1B,MAAM,OAAO,kBAAkB;IAC7B;;OAEG;IACI,WAAW,CAAoE;IACtF;;OAEG;IACI,MAAM,CAAmD;IACzD,IAAI,CAyCT;IACK,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;IAEnC;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,MAAwB;QACtC,MAAM,GAAG,GAAG,MAAwB,CAAC;QACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,QAAQ,CAAI,OAA6C;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;QACpD,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;QACpE,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,8CAA8C,CAAC,CAAC;YAC1E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,EAAE,CAAM,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,sBAAsB,CAAC,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AACD,aAAa"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "git+https://github.com/Digital-Alchemy-TS/core"
|
|
7
7
|
},
|
|
8
|
-
"version": "25.11.
|
|
8
|
+
"version": "25.11.19",
|
|
9
9
|
"author": {
|
|
10
10
|
"url": "https://github.com/zoe-codez",
|
|
11
11
|
"name": "Zoe Codez"
|
|
@@ -97,4 +97,4 @@
|
|
|
97
97
|
"vitest": "^4.0.8"
|
|
98
98
|
},
|
|
99
99
|
"packageManager": "yarn@4.11.0"
|
|
100
|
-
}
|
|
100
|
+
}
|