@thisisagile/easy 17.4.5 → 17.4.8
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/{chunk-JV3PEYHS.mjs → chunk-24WJGYH4.mjs} +2 -2
- package/dist/{chunk-3PPC4YMQ.mjs → chunk-2V3F4LJ5.mjs} +2 -2
- package/dist/{chunk-OGMTD753.mjs → chunk-3BXPK7FX.mjs} +2 -2
- package/dist/{chunk-QLM2AYD4.mjs → chunk-3DAZTFKD.mjs} +7 -7
- package/dist/{chunk-2JX2SSPQ.mjs → chunk-3EYCIHXW.mjs} +3 -3
- package/dist/{chunk-DS6NSJUW.mjs → chunk-4KB2NPKQ.mjs} +2 -2
- package/dist/chunk-4NI3O7DE.mjs +26 -0
- package/dist/chunk-4NI3O7DE.mjs.map +1 -0
- package/dist/{chunk-KA3TZADE.mjs → chunk-55B7FIAE.mjs} +2 -2
- package/dist/{chunk-WBEMXVO6.mjs → chunk-5GALY24M.mjs} +6 -6
- package/dist/{chunk-V7EJJWVX.mjs → chunk-6DL5IBFE.mjs} +3 -3
- package/dist/{chunk-L4T4Z7PG.mjs → chunk-6TJC3RI3.mjs} +9 -9
- package/dist/chunk-BKA7GVXL.mjs +29 -0
- package/dist/chunk-BKA7GVXL.mjs.map +1 -0
- package/dist/{chunk-JCINHOMG.mjs → chunk-CHNRVP7J.mjs} +2 -2
- package/dist/{chunk-KAYSE6PM.mjs → chunk-CLIM3GJ7.mjs} +3 -3
- package/dist/{chunk-4KJZ4LNQ.mjs → chunk-DEESTSMV.mjs} +3 -3
- package/dist/{chunk-VRLSZ2MW.mjs → chunk-FZBUEEQB.mjs} +2 -2
- package/dist/{chunk-EG3KSNQZ.mjs → chunk-GKDMM6XO.mjs} +3 -3
- package/dist/{chunk-2BTY2F3A.mjs → chunk-H6WLTQXF.mjs} +4 -4
- package/dist/{chunk-SRFFQJLL.mjs → chunk-H7TRIY7A.mjs} +2 -2
- package/dist/{chunk-3LASXEE5.mjs → chunk-HE6MAJDE.mjs} +3 -3
- package/dist/{chunk-PJXWZFLD.mjs → chunk-ILJV7234.mjs} +2 -2
- package/dist/{chunk-24OSK3DS.mjs → chunk-IXUCBTR3.mjs} +7 -7
- package/dist/{chunk-WI2ICJHX.mjs → chunk-JEIESGLS.mjs} +3 -3
- package/dist/{chunk-TNOOLHK7.mjs → chunk-KK66VUSS.mjs} +2 -2
- package/dist/{chunk-IVX4I3NC.mjs → chunk-L5TIL3QC.mjs} +2 -2
- package/dist/{chunk-X3C5CS4X.mjs → chunk-NE6FVUU7.mjs} +4 -4
- package/dist/{chunk-PRN25GXK.mjs → chunk-NFZZGGEV.mjs} +2 -2
- package/dist/{chunk-T5VZORPQ.mjs → chunk-OJW2KVY7.mjs} +2 -2
- package/dist/{chunk-F4XMHKOR.mjs → chunk-PWYWE7H7.mjs} +4 -4
- package/dist/{chunk-63OA3RR6.mjs → chunk-QKWQIRUO.mjs} +4 -4
- package/dist/{chunk-Q3TL43R2.mjs → chunk-R43LAFNS.mjs} +6 -2
- package/dist/{chunk-Q3TL43R2.mjs.map → chunk-R43LAFNS.mjs.map} +1 -1
- package/dist/{chunk-5M76X6J5.mjs → chunk-SJJ4E4HD.mjs} +8 -2
- package/dist/chunk-SJJ4E4HD.mjs.map +1 -0
- package/dist/{chunk-RSOPHC7S.mjs → chunk-STPFSN7K.mjs} +2 -2
- package/dist/{chunk-YK65IKP2.mjs → chunk-VVWELITO.mjs} +2 -2
- package/dist/{chunk-ZDBXA2D4.mjs → chunk-XQ4KXG5O.mjs} +2 -2
- package/dist/{chunk-QB3ZLR7S.mjs → chunk-Y4RD46AM.mjs} +5 -5
- package/dist/{chunk-IX2TMY6X.mjs → chunk-YNOOWA75.mjs} +2 -2
- package/dist/{chunk-GVJWRPOP.mjs → chunk-YUFKMTUP.mjs} +2 -2
- package/dist/{chunk-INO2742F.mjs → chunk-Z7CGMLOT.mjs} +4 -4
- package/dist/data/Condition.mjs +3 -3
- package/dist/data/Database.mjs +4 -4
- package/dist/data/Field.mjs +3 -3
- package/dist/data/InMemoryGateway.mjs +11 -11
- package/dist/domain/Audit.mjs +15 -14
- package/dist/domain/Child.mjs +12 -12
- package/dist/domain/DateTime.d.ts +1 -0
- package/dist/domain/DateTime.mjs +11 -10
- package/dist/domain/Entity.mjs +15 -14
- package/dist/domain/Entity.mjs.map +1 -1
- package/dist/domain/Repo.mjs +11 -11
- package/dist/domain/Struct.mjs +11 -11
- package/dist/domain/Typo.mjs +10 -10
- package/dist/http/CacheControl.mjs +11 -11
- package/dist/http/ContentType.mjs +4 -4
- package/dist/http/HttpStatus.mjs +4 -4
- package/dist/http/HttpVerb.mjs +4 -4
- package/dist/http/LocalRequestStore.mjs +3 -3
- package/dist/http/RequestOptions.mjs +7 -7
- package/dist/http/RestResult.mjs +11 -11
- package/dist/http/toResponse.mjs +12 -12
- package/dist/index.js +49 -26
- package/dist/index.js.map +1 -1
- package/dist/process/App.mjs +5 -5
- package/dist/process/Manage.mjs +11 -11
- package/dist/process/Scope.mjs +5 -5
- package/dist/process/Search.mjs +11 -11
- package/dist/process/UseCase.mjs +4 -4
- package/dist/resources/Req.mjs +10 -10
- package/dist/services/Api.mjs +19 -19
- package/dist/services/ApiGateway.mjs +22 -22
- package/dist/services/AxiosProvider.mjs +17 -17
- package/dist/services/MappedRouteGateway.mjs +25 -25
- package/dist/services/RouteGateway.mjs +23 -23
- package/dist/services/ViewRouteGateway.mjs +27 -27
- package/dist/sql/Column.mjs +10 -10
- package/dist/sql/Table.mjs +13 -13
- package/dist/sql/TableGateway.mjs +11 -11
- package/dist/types/Cache.mjs +2 -2
- package/dist/types/CacheAge.mjs +11 -11
- package/dist/types/Case.mjs +9 -9
- package/dist/types/Context.mjs +3 -3
- package/dist/types/Enum.mjs +3 -3
- package/dist/types/Environment.mjs +3 -3
- package/dist/types/Exception.mjs +5 -5
- package/dist/types/Gateway.mjs +6 -6
- package/dist/types/IsEqual.mjs +10 -10
- package/dist/types/Json.mjs +2 -2
- package/dist/types/Meta.mjs +2 -2
- package/dist/types/Number.mjs +10 -10
- package/dist/types/Object.d.ts +3 -0
- package/dist/types/Object.mjs +3 -1
- package/dist/types/PageList.mjs +10 -10
- package/dist/types/Parser.mjs +9 -9
- package/dist/types/Repository.mjs +6 -6
- package/dist/types/Result.mjs +4 -4
- package/dist/types/Results.mjs +5 -5
- package/dist/types/Tag.mjs +2 -2
- package/dist/types/Template.mjs +2 -2
- package/dist/types/Try.mjs +9 -9
- package/dist/types/Uri.mjs +9 -9
- package/dist/utils/Mapper.mjs +4 -4
- package/dist/utils/Seconds.mjs +4 -25
- package/dist/utils/Seconds.mjs.map +1 -1
- package/dist/utils/Sentence.mjs +2 -2
- package/dist/utils/Traverse.d.ts +3 -0
- package/dist/utils/Traverse.mjs +7 -3
- package/dist/utils/View.mjs +14 -14
- package/dist/validation/Contraints.mjs +10 -10
- package/dist/validation/Validate.mjs +9 -9
- package/dist/validation/When.mjs +9 -9
- package/package.json +2 -2
- package/src/domain/DateTime.ts +5 -0
- package/src/types/Object.ts +4 -0
- package/src/utils/Seconds.ts +2 -7
- package/src/utils/Traverse.ts +21 -0
- package/dist/chunk-5M76X6J5.mjs.map +0 -1
- package/dist/chunk-DICMUQFL.mjs +0 -11
- package/dist/chunk-DICMUQFL.mjs.map +0 -1
- /package/dist/{chunk-JV3PEYHS.mjs.map → chunk-24WJGYH4.mjs.map} +0 -0
- /package/dist/{chunk-3PPC4YMQ.mjs.map → chunk-2V3F4LJ5.mjs.map} +0 -0
- /package/dist/{chunk-OGMTD753.mjs.map → chunk-3BXPK7FX.mjs.map} +0 -0
- /package/dist/{chunk-QLM2AYD4.mjs.map → chunk-3DAZTFKD.mjs.map} +0 -0
- /package/dist/{chunk-2JX2SSPQ.mjs.map → chunk-3EYCIHXW.mjs.map} +0 -0
- /package/dist/{chunk-DS6NSJUW.mjs.map → chunk-4KB2NPKQ.mjs.map} +0 -0
- /package/dist/{chunk-KA3TZADE.mjs.map → chunk-55B7FIAE.mjs.map} +0 -0
- /package/dist/{chunk-WBEMXVO6.mjs.map → chunk-5GALY24M.mjs.map} +0 -0
- /package/dist/{chunk-V7EJJWVX.mjs.map → chunk-6DL5IBFE.mjs.map} +0 -0
- /package/dist/{chunk-L4T4Z7PG.mjs.map → chunk-6TJC3RI3.mjs.map} +0 -0
- /package/dist/{chunk-JCINHOMG.mjs.map → chunk-CHNRVP7J.mjs.map} +0 -0
- /package/dist/{chunk-KAYSE6PM.mjs.map → chunk-CLIM3GJ7.mjs.map} +0 -0
- /package/dist/{chunk-4KJZ4LNQ.mjs.map → chunk-DEESTSMV.mjs.map} +0 -0
- /package/dist/{chunk-VRLSZ2MW.mjs.map → chunk-FZBUEEQB.mjs.map} +0 -0
- /package/dist/{chunk-EG3KSNQZ.mjs.map → chunk-GKDMM6XO.mjs.map} +0 -0
- /package/dist/{chunk-2BTY2F3A.mjs.map → chunk-H6WLTQXF.mjs.map} +0 -0
- /package/dist/{chunk-SRFFQJLL.mjs.map → chunk-H7TRIY7A.mjs.map} +0 -0
- /package/dist/{chunk-3LASXEE5.mjs.map → chunk-HE6MAJDE.mjs.map} +0 -0
- /package/dist/{chunk-PJXWZFLD.mjs.map → chunk-ILJV7234.mjs.map} +0 -0
- /package/dist/{chunk-24OSK3DS.mjs.map → chunk-IXUCBTR3.mjs.map} +0 -0
- /package/dist/{chunk-WI2ICJHX.mjs.map → chunk-JEIESGLS.mjs.map} +0 -0
- /package/dist/{chunk-TNOOLHK7.mjs.map → chunk-KK66VUSS.mjs.map} +0 -0
- /package/dist/{chunk-IVX4I3NC.mjs.map → chunk-L5TIL3QC.mjs.map} +0 -0
- /package/dist/{chunk-X3C5CS4X.mjs.map → chunk-NE6FVUU7.mjs.map} +0 -0
- /package/dist/{chunk-PRN25GXK.mjs.map → chunk-NFZZGGEV.mjs.map} +0 -0
- /package/dist/{chunk-T5VZORPQ.mjs.map → chunk-OJW2KVY7.mjs.map} +0 -0
- /package/dist/{chunk-F4XMHKOR.mjs.map → chunk-PWYWE7H7.mjs.map} +0 -0
- /package/dist/{chunk-63OA3RR6.mjs.map → chunk-QKWQIRUO.mjs.map} +0 -0
- /package/dist/{chunk-RSOPHC7S.mjs.map → chunk-STPFSN7K.mjs.map} +0 -0
- /package/dist/{chunk-YK65IKP2.mjs.map → chunk-VVWELITO.mjs.map} +0 -0
- /package/dist/{chunk-ZDBXA2D4.mjs.map → chunk-XQ4KXG5O.mjs.map} +0 -0
- /package/dist/{chunk-QB3ZLR7S.mjs.map → chunk-Y4RD46AM.mjs.map} +0 -0
- /package/dist/{chunk-IX2TMY6X.mjs.map → chunk-YNOOWA75.mjs.map} +0 -0
- /package/dist/{chunk-GVJWRPOP.mjs.map → chunk-YUFKMTUP.mjs.map} +0 -0
- /package/dist/{chunk-INO2742F.mjs.map → chunk-Z7CGMLOT.mjs.map} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ctx
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-KK66VUSS.mjs";
|
|
4
|
+
import "../chunk-55B7FIAE.mjs";
|
|
5
|
+
import "../chunk-R43LAFNS.mjs";
|
|
6
6
|
import "../chunk-EX7OK25Y.mjs";
|
|
7
7
|
import "../chunk-JSON7A4X.mjs";
|
|
8
8
|
import "../chunk-X7FZPY3P.mjs";
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
RequestOptions,
|
|
3
3
|
isRequestOptions,
|
|
4
4
|
toPageOptions
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-H6WLTQXF.mjs";
|
|
6
6
|
import "../chunk-LXQQ5N6S.mjs";
|
|
7
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-YUFKMTUP.mjs";
|
|
8
8
|
import "../chunk-SW2OCUH3.mjs";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-KK66VUSS.mjs";
|
|
10
|
+
import "../chunk-55B7FIAE.mjs";
|
|
11
|
+
import "../chunk-H7TRIY7A.mjs";
|
|
12
|
+
import "../chunk-L5TIL3QC.mjs";
|
|
13
|
+
import "../chunk-R43LAFNS.mjs";
|
|
14
14
|
import "../chunk-EX7OK25Y.mjs";
|
|
15
15
|
import "../chunk-JSON7A4X.mjs";
|
|
16
16
|
import "../chunk-X7FZPY3P.mjs";
|
package/dist/http/RestResult.mjs
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isRestResult,
|
|
3
3
|
rest
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-Y4RD46AM.mjs";
|
|
5
5
|
import "../chunk-UYDZZAEK.mjs";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-24WJGYH4.mjs";
|
|
7
|
+
import "../chunk-3DAZTFKD.mjs";
|
|
8
8
|
import "../chunk-OFGI5FLG.mjs";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-VVWELITO.mjs";
|
|
10
|
+
import "../chunk-FZBUEEQB.mjs";
|
|
11
11
|
import "../chunk-ISLR7BKT.mjs";
|
|
12
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-CLIM3GJ7.mjs";
|
|
13
13
|
import "../chunk-CAHTK3AT.mjs";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-KK66VUSS.mjs";
|
|
15
|
+
import "../chunk-55B7FIAE.mjs";
|
|
16
|
+
import "../chunk-H7TRIY7A.mjs";
|
|
17
|
+
import "../chunk-L5TIL3QC.mjs";
|
|
18
|
+
import "../chunk-R43LAFNS.mjs";
|
|
19
19
|
import "../chunk-EX7OK25Y.mjs";
|
|
20
20
|
import "../chunk-JSON7A4X.mjs";
|
|
21
21
|
import "../chunk-X7FZPY3P.mjs";
|
package/dist/http/toResponse.mjs
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
toResponse
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-3EYCIHXW.mjs";
|
|
4
|
+
import "../chunk-Y4RD46AM.mjs";
|
|
5
5
|
import "../chunk-UYDZZAEK.mjs";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-24WJGYH4.mjs";
|
|
7
|
+
import "../chunk-3DAZTFKD.mjs";
|
|
8
8
|
import "../chunk-OFGI5FLG.mjs";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-VVWELITO.mjs";
|
|
10
|
+
import "../chunk-FZBUEEQB.mjs";
|
|
11
11
|
import "../chunk-ISLR7BKT.mjs";
|
|
12
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-CLIM3GJ7.mjs";
|
|
13
13
|
import "../chunk-CAHTK3AT.mjs";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-KK66VUSS.mjs";
|
|
15
|
+
import "../chunk-55B7FIAE.mjs";
|
|
16
|
+
import "../chunk-H7TRIY7A.mjs";
|
|
17
|
+
import "../chunk-L5TIL3QC.mjs";
|
|
18
|
+
import "../chunk-R43LAFNS.mjs";
|
|
19
19
|
import "../chunk-EX7OK25Y.mjs";
|
|
20
20
|
import "../chunk-JSON7A4X.mjs";
|
|
21
21
|
import "../chunk-X7FZPY3P.mjs";
|
package/dist/index.js
CHANGED
|
@@ -111,6 +111,7 @@ __export(src_exports, {
|
|
|
111
111
|
ViewRouteGateway: () => ViewRouteGateway,
|
|
112
112
|
Wait: () => Wait,
|
|
113
113
|
When: () => When,
|
|
114
|
+
accumulate: () => accumulate,
|
|
114
115
|
any: () => any,
|
|
115
116
|
api: () => api,
|
|
116
117
|
array: () => array,
|
|
@@ -207,6 +208,7 @@ __export(src_exports, {
|
|
|
207
208
|
isValue: () => isValue,
|
|
208
209
|
json: () => json,
|
|
209
210
|
kebab: () => kebab,
|
|
211
|
+
keys: () => keys,
|
|
210
212
|
log: () => log,
|
|
211
213
|
lt: () => lt,
|
|
212
214
|
lte: () => lte,
|
|
@@ -261,6 +263,7 @@ __export(src_exports, {
|
|
|
261
263
|
toViewer: () => toViewer,
|
|
262
264
|
toWords: () => toWords,
|
|
263
265
|
traverse: () => traverse,
|
|
266
|
+
traverseSet: () => traverseSet,
|
|
264
267
|
tryTo: () => tryTo,
|
|
265
268
|
tuple: () => tuple,
|
|
266
269
|
tuple2: () => tuple2,
|
|
@@ -447,9 +450,9 @@ var List = class extends Array {
|
|
|
447
450
|
intersectByKey(others, key) {
|
|
448
451
|
return this.filter((i) => others.some((o) => o[key] === i[key]));
|
|
449
452
|
}
|
|
450
|
-
accumulate(...
|
|
453
|
+
accumulate(...keys2) {
|
|
451
454
|
return this.map((d, i, arr) => {
|
|
452
|
-
const acc =
|
|
455
|
+
const acc = keys2.reduce((acc2, v) => {
|
|
453
456
|
acc2[v] = i === 0 ? d[v] : arr[i - 1][v] + d[v];
|
|
454
457
|
return acc2;
|
|
455
458
|
}, d);
|
|
@@ -593,6 +596,9 @@ function entries(subject) {
|
|
|
593
596
|
function values(subject) {
|
|
594
597
|
return toList([...Object.values(subject), ...Object.values(Object.getPrototypeOf(subject))]);
|
|
595
598
|
}
|
|
599
|
+
function keys(subject) {
|
|
600
|
+
return toList([...Object.keys(subject), ...Object.keys(Object.getPrototypeOf(subject))]);
|
|
601
|
+
}
|
|
596
602
|
|
|
597
603
|
// src/types/Json.ts
|
|
598
604
|
var isJson = (subject) => isA(subject, "toJSON");
|
|
@@ -604,7 +610,7 @@ var json = {
|
|
|
604
610
|
return subject;
|
|
605
611
|
},
|
|
606
612
|
set: (subject, key = "", value) => isEmpty(key) ? subject : value !== void 0 ? { ...subject, ...{ [key]: value } } : json.delete(subject, key),
|
|
607
|
-
omit: (subject, ...
|
|
613
|
+
omit: (subject, ...keys2) => keys2.reduce((js, k) => json.delete(js, k), json.parse(subject)),
|
|
608
614
|
defaults: (options = {}, defaults = {}) => json.merge(defaults, options),
|
|
609
615
|
isSubset: (subject, subset) => !entries(subset).some(([k, v]) => subject[k] !== v)
|
|
610
616
|
};
|
|
@@ -616,7 +622,7 @@ var Any = class {
|
|
|
616
622
|
}
|
|
617
623
|
merge = (...subjects) => any(json.merge(this.value, ...subjects));
|
|
618
624
|
delete = (key) => any(json.delete(this.value, key));
|
|
619
|
-
omit = (...
|
|
625
|
+
omit = (...keys2) => any(json.omit(this.value, ...keys2));
|
|
620
626
|
set = (key, value) => any(json.set(this.value, key, value));
|
|
621
627
|
toJSON() {
|
|
622
628
|
return this.value;
|
|
@@ -1442,8 +1448,8 @@ var PageList = class extends List {
|
|
|
1442
1448
|
filter(p, params) {
|
|
1443
1449
|
return toPageList(super.filter(p, params), this);
|
|
1444
1450
|
}
|
|
1445
|
-
accumulate(...
|
|
1446
|
-
return toPageList(super.accumulate(...
|
|
1451
|
+
accumulate(...keys2) {
|
|
1452
|
+
return toPageList(super.accumulate(...keys2), this);
|
|
1447
1453
|
}
|
|
1448
1454
|
concat(...items) {
|
|
1449
1455
|
return toPageList(super.concat(...items), this);
|
|
@@ -1601,6 +1607,21 @@ var days = {
|
|
|
1601
1607
|
var inPast = (o) => isDate(o) && o <= days.today();
|
|
1602
1608
|
var inFuture = (o) => isDate(o) && o > days.today();
|
|
1603
1609
|
|
|
1610
|
+
// src/utils/Seconds.ts
|
|
1611
|
+
var seconds = {
|
|
1612
|
+
toDuration: (s) => {
|
|
1613
|
+
const seconds2 = s % 60;
|
|
1614
|
+
const minutes = Math.floor(s / 60) % 60;
|
|
1615
|
+
const hours = Math.floor(s / 3600) % 24;
|
|
1616
|
+
const days2 = Math.floor(s / 86400);
|
|
1617
|
+
return { days: days2, hours, minutes, seconds: seconds2 };
|
|
1618
|
+
},
|
|
1619
|
+
toText: (s) => {
|
|
1620
|
+
const { days: days2, hours, minutes, seconds: secs } = seconds.toDuration(s);
|
|
1621
|
+
return toList(ifTrue(days2, `${days2}d`), ifTrue(hours, `${hours}h`), ifTrue(minutes, `${minutes}m`), ifTrue(days2 + hours + minutes === 0, `${secs}s`)).mapDefined((s2) => s2).join(" ");
|
|
1622
|
+
}
|
|
1623
|
+
};
|
|
1624
|
+
|
|
1604
1625
|
// src/domain/DateTime.ts
|
|
1605
1626
|
import_luxon.Settings.defaultZone = "utc";
|
|
1606
1627
|
var DateTime = class _DateTime extends Value {
|
|
@@ -1684,6 +1705,9 @@ var DateTime = class _DateTime extends Value {
|
|
|
1684
1705
|
toDate() {
|
|
1685
1706
|
return this.isValid ? this.utc.toJSDate() : void 0;
|
|
1686
1707
|
}
|
|
1708
|
+
ago(end = _DateTime.now) {
|
|
1709
|
+
return seconds.toText(end.diff(this, "second"));
|
|
1710
|
+
}
|
|
1687
1711
|
};
|
|
1688
1712
|
var isDateTime = (dt2) => isDefined(dt2) && dt2 instanceof DateTime;
|
|
1689
1713
|
var dt = (dt2) => isString(dt2) || isNumber(dt2) || dt2 instanceof Date ? new DateTime(dt2) : new DateTime();
|
|
@@ -2668,6 +2692,22 @@ var traverse = (subject = {}, property = "") => {
|
|
|
2668
2692
|
const p = props.shift();
|
|
2669
2693
|
return props.length === 0 ? subject[p] : traverse(subject[p], props.join("."));
|
|
2670
2694
|
};
|
|
2695
|
+
var traverseSet = (subject, property, value) => {
|
|
2696
|
+
const props = property.split(".");
|
|
2697
|
+
const p = props.shift();
|
|
2698
|
+
return {
|
|
2699
|
+
...subject,
|
|
2700
|
+
[p]: props.length === 0 ? value : traverseSet(subject[p], props.join("."), value)
|
|
2701
|
+
};
|
|
2702
|
+
};
|
|
2703
|
+
var accumulate = (items, ...keys2) => items.map((t, i, arr) => {
|
|
2704
|
+
const acc = keys2.reduce(
|
|
2705
|
+
(acc2, v) => traverseSet(acc2, v, i === 0 ? traverse(t, v) : traverse(arr[i - 1], v) + traverse(t, v)),
|
|
2706
|
+
t
|
|
2707
|
+
);
|
|
2708
|
+
arr[i] = acc;
|
|
2709
|
+
return acc;
|
|
2710
|
+
});
|
|
2671
2711
|
|
|
2672
2712
|
// src/types/IsEqual.ts
|
|
2673
2713
|
var isEqualArray = (one, another) => choose([one, another]).case(([o, a]) => !isArray(o) || !isArray(a), false).case(([o, a]) => o?.length !== a?.length, false).else(([o, a]) => !o.some((v, i) => !isEqual(v, a[i])));
|
|
@@ -3195,26 +3235,6 @@ function dir(t) {
|
|
|
3195
3235
|
return t;
|
|
3196
3236
|
}
|
|
3197
3237
|
|
|
3198
|
-
// src/utils/Seconds.ts
|
|
3199
|
-
var seconds = {
|
|
3200
|
-
toDuration: (s) => {
|
|
3201
|
-
const seconds2 = s % 60;
|
|
3202
|
-
const minutes = Math.floor(s / 60) % 60;
|
|
3203
|
-
const hours = Math.floor(s / 3600) % 24;
|
|
3204
|
-
const days2 = Math.floor(s / 86400);
|
|
3205
|
-
return { days: days2, hours, minutes, seconds: seconds2 };
|
|
3206
|
-
},
|
|
3207
|
-
toText: (s) => {
|
|
3208
|
-
const { days: days2, hours, minutes, seconds: secs } = seconds.toDuration(s);
|
|
3209
|
-
return toList(
|
|
3210
|
-
ifTrue(days2, (d) => `${d}d`),
|
|
3211
|
-
ifTrue(hours, (h) => `${h}h`),
|
|
3212
|
-
ifTrue(minutes, (m) => `${m}m`),
|
|
3213
|
-
ifTrue(days2 + hours + minutes === 0, `${secs}s`)
|
|
3214
|
-
).mapDefined((s2) => s2).join(" ");
|
|
3215
|
-
}
|
|
3216
|
-
};
|
|
3217
|
-
|
|
3218
3238
|
// src/utils/Sentence.ts
|
|
3219
3239
|
var Sentence = class {
|
|
3220
3240
|
constructor(word, pre, sentence = (pre?.sentence ?? []).concat(word)) {
|
|
@@ -3350,6 +3370,7 @@ var wait = (millis) => Wait.wait(millis);
|
|
|
3350
3370
|
ViewRouteGateway,
|
|
3351
3371
|
Wait,
|
|
3352
3372
|
When,
|
|
3373
|
+
accumulate,
|
|
3353
3374
|
any,
|
|
3354
3375
|
api,
|
|
3355
3376
|
array,
|
|
@@ -3446,6 +3467,7 @@ var wait = (millis) => Wait.wait(millis);
|
|
|
3446
3467
|
isValue,
|
|
3447
3468
|
json,
|
|
3448
3469
|
kebab,
|
|
3470
|
+
keys,
|
|
3449
3471
|
log,
|
|
3450
3472
|
lt,
|
|
3451
3473
|
lte,
|
|
@@ -3500,6 +3522,7 @@ var wait = (millis) => Wait.wait(millis);
|
|
|
3500
3522
|
toViewer,
|
|
3501
3523
|
toWords,
|
|
3502
3524
|
traverse,
|
|
3525
|
+
traverseSet,
|
|
3503
3526
|
tryTo,
|
|
3504
3527
|
tuple,
|
|
3505
3528
|
tuple2,
|