@thisisagile/easy 17.23.0 → 17.24.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.
- package/dist/{chunk-HAEVUETQ.mjs → chunk-2C5WHSM5.mjs} +2 -2
- package/dist/{chunk-4BC26J7U.mjs → chunk-4WLPMNMB.mjs} +9 -9
- package/dist/{chunk-DUMDOMES.mjs → chunk-6ATDEGSU.mjs} +3 -3
- package/dist/{chunk-P4MEAARF.mjs → chunk-6ENYJKOF.mjs} +42 -35
- package/dist/chunk-6ENYJKOF.mjs.map +1 -0
- package/dist/{chunk-ZLU26SR3.mjs → chunk-6RSOVRW4.mjs} +4 -4
- package/dist/{chunk-6O3TSROI.mjs → chunk-73VXBPTL.mjs} +14 -14
- package/dist/{chunk-CHV6RMJL.mjs → chunk-7OEH5Q3V.mjs} +2 -2
- package/dist/{chunk-UQTNYF53.mjs → chunk-AWT4XDU7.mjs} +4 -4
- package/dist/{chunk-QL3DRPMM.mjs → chunk-BDKRR6H2.mjs} +2 -2
- package/dist/{chunk-VI57VONC.mjs → chunk-CHLVZFAR.mjs} +2 -2
- package/dist/{chunk-RTVVXROA.mjs → chunk-CMMMDBTK.mjs} +3 -3
- package/dist/{chunk-WUHEP5NJ.mjs → chunk-D4EFIKFU.mjs} +4 -4
- package/dist/chunk-D4EFIKFU.mjs.map +1 -0
- package/dist/{chunk-3ZX4YFOK.mjs → chunk-EOIG654K.mjs} +4 -4
- package/dist/{chunk-LMVFKEDS.mjs → chunk-F2SLQDR2.mjs} +2 -2
- package/dist/{chunk-5UUY67VD.mjs → chunk-F7MQZLCR.mjs} +3 -3
- package/dist/{chunk-3LWQJAEJ.mjs → chunk-FLJXHLSM.mjs} +3 -3
- package/dist/{chunk-7WCAHERW.mjs → chunk-GA7BBYC2.mjs} +3 -3
- package/dist/{chunk-WO4R5EYQ.mjs → chunk-GSAKK3JN.mjs} +3 -3
- package/dist/{chunk-A42HFDBS.mjs → chunk-HFBHENMJ.mjs} +3 -3
- package/dist/{chunk-A42HFDBS.mjs.map → chunk-HFBHENMJ.mjs.map} +1 -1
- package/dist/{chunk-Q7FJUYZT.mjs → chunk-HO3IEF5S.mjs} +14 -3
- package/dist/chunk-HO3IEF5S.mjs.map +1 -0
- package/dist/{chunk-PIW6QNIG.mjs → chunk-HWYUYPBI.mjs} +8 -8
- package/dist/{chunk-J7FACY7Y.mjs → chunk-I4HFLLRR.mjs} +3 -3
- package/dist/{chunk-YAB5YLHI.mjs → chunk-J5AZL5T6.mjs} +2 -2
- package/dist/{chunk-F4JCURDN.mjs → chunk-JABPZGOG.mjs} +2 -2
- package/dist/{chunk-4BH22HLY.mjs → chunk-JJQAGAQN.mjs} +3 -3
- package/dist/{chunk-5UXTE3WM.mjs → chunk-KBB2WGTO.mjs} +2 -2
- package/dist/{chunk-QH2LF3L3.mjs → chunk-LIDMZELG.mjs} +3 -3
- package/dist/{chunk-3CSSJCVP.mjs → chunk-N5B6HSHV.mjs} +7 -7
- package/dist/{chunk-IS675X5Z.mjs → chunk-NUA7EUWX.mjs} +9 -9
- package/dist/{chunk-DAG7KGVL.mjs → chunk-O4CJ7NSN.mjs} +2 -2
- package/dist/{chunk-TG7T4QPS.mjs → chunk-ONWMWJ43.mjs} +2 -2
- package/dist/chunk-ONWMWJ43.mjs.map +1 -0
- package/dist/{chunk-HL7ITJJT.mjs → chunk-OVORFG3O.mjs} +2 -2
- package/dist/{chunk-NWQTAKAM.mjs → chunk-PB6SCADS.mjs} +4 -4
- package/dist/{chunk-RGO5KVRQ.mjs → chunk-QNE24TSJ.mjs} +2 -2
- package/dist/{chunk-BI3DP4QA.mjs → chunk-S2VNBE5K.mjs} +3 -3
- package/dist/{chunk-7W67IZE4.mjs → chunk-ST3P6VWM.mjs} +2 -2
- package/dist/{chunk-AMIP3FS5.mjs → chunk-TLYJ2G3X.mjs} +9 -3
- package/dist/chunk-TLYJ2G3X.mjs.map +1 -0
- package/dist/{chunk-SDGUXNY3.mjs → chunk-TMAB63X5.mjs} +2 -2
- package/dist/{chunk-BE474ULY.mjs → chunk-UCNB24EO.mjs} +2 -2
- package/dist/{chunk-YODYDO2U.mjs → chunk-W53U3D4O.mjs} +2 -2
- package/dist/{chunk-UHP56ITH.mjs → chunk-WBL4BT3I.mjs} +2 -2
- package/dist/{chunk-4K6SPD7T.mjs → chunk-WDC45I5H.mjs} +4 -4
- package/dist/{chunk-KWE3VWIW.mjs → chunk-Y5NBOPDI.mjs} +5 -5
- package/dist/chunk-Y5NBOPDI.mjs.map +1 -0
- package/dist/{chunk-VKBEWDLL.mjs → chunk-YMJ43VFE.mjs} +4 -4
- package/dist/{chunk-OWZ5I5IV.mjs → chunk-YYIIQGLL.mjs} +13 -10
- package/dist/chunk-YYIIQGLL.mjs.map +1 -0
- package/dist/{chunk-I32HDHLS.mjs → chunk-ZNUHRHPU.mjs} +2 -2
- package/dist/data/Condition.mjs +5 -4
- package/dist/data/Database.mjs +6 -5
- package/dist/data/Field.mjs +5 -4
- package/dist/data/Field.mjs.map +1 -1
- package/dist/data/InMemoryGateway.mjs +14 -13
- package/dist/data/InMemoryGateway.mjs.map +1 -1
- package/dist/domain/Audit.mjs +18 -17
- package/dist/domain/Child.mjs +17 -16
- package/dist/domain/Child.mjs.map +1 -1
- package/dist/domain/DateTime.mjs +14 -13
- package/dist/domain/Entity.mjs +22 -21
- package/dist/domain/Entity.mjs.map +1 -1
- package/dist/domain/Repo.mjs +14 -13
- package/dist/domain/Repo.mjs.map +1 -1
- package/dist/domain/Struct.mjs +14 -13
- package/dist/domain/Typo.mjs +14 -13
- package/dist/domain/Typo.mjs.map +1 -1
- package/dist/http/CacheControl.mjs +14 -13
- package/dist/http/CacheControl.mjs.map +1 -1
- package/dist/http/ContentType.mjs +6 -5
- package/dist/http/HttpStatus.mjs +6 -5
- package/dist/http/HttpVerb.mjs +6 -5
- package/dist/http/LocalRequestStore.mjs +5 -4
- package/dist/http/LocalRequestStore.mjs.map +1 -1
- package/dist/http/RequestOptions.mjs +10 -9
- package/dist/http/RestResult.mjs +14 -13
- package/dist/http/toResponse.mjs +15 -14
- package/dist/index.d.ts +1 -0
- package/dist/index.js +48 -31
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/process/App.mjs +7 -6
- package/dist/process/App.mjs.map +1 -1
- package/dist/process/Manage.mjs +14 -13
- package/dist/process/Manage.mjs.map +1 -1
- package/dist/process/Scope.mjs +7 -6
- package/dist/process/Search.mjs +14 -13
- package/dist/process/UseCase.d.ts +1 -1
- package/dist/process/UseCase.mjs +9 -8
- package/dist/process/UseCase.mjs.map +1 -1
- package/dist/resources/Req.mjs +13 -12
- package/dist/resources/Req.mjs.map +1 -1
- package/dist/services/Api.mjs +23 -22
- package/dist/services/ApiGateway.mjs +26 -25
- package/dist/services/AxiosProvider.mjs +21 -20
- package/dist/services/MappedRouteGateway.mjs +29 -28
- package/dist/services/MappedRouteGateway.mjs.map +1 -1
- package/dist/services/RouteGateway.mjs +27 -26
- package/dist/services/ViewRouteGateway.mjs +30 -30
- package/dist/sql/Column.mjs +13 -12
- package/dist/sql/Count.mjs +5 -4
- package/dist/sql/Delete.mjs +4 -3
- package/dist/sql/Insert.mjs +4 -3
- package/dist/sql/Select.mjs +4 -3
- package/dist/sql/SqlQuery.mjs +3 -2
- package/dist/sql/Table.mjs +22 -21
- package/dist/sql/Table.mjs.map +1 -1
- package/dist/sql/TableGateway.mjs +14 -13
- package/dist/sql/TableGateway.mjs.map +1 -1
- package/dist/sql/Update.mjs +4 -3
- package/dist/types/AnyKey.d.ts +2 -2
- package/dist/types/Cache.mjs +4 -3
- package/dist/types/Cache.mjs.map +1 -1
- package/dist/types/CacheAge.mjs +14 -13
- package/dist/types/Case.mjs +12 -11
- package/dist/types/Context.d.ts +1 -1
- package/dist/types/Context.mjs +5 -4
- package/dist/types/Enum.mjs +5 -4
- package/dist/types/Environment.mjs +5 -4
- package/dist/types/Environment.mjs.map +1 -1
- package/dist/types/Exception.mjs +7 -6
- package/dist/types/Gateway.mjs +9 -8
- package/dist/types/IsEqual.mjs +13 -12
- package/dist/types/Json.mjs +4 -3
- package/dist/types/List.d.ts +12 -9
- package/dist/types/List.mjs +2 -1
- package/dist/types/Meta.mjs +4 -3
- package/dist/types/Number.mjs +13 -12
- package/dist/types/Object.mjs +3 -2
- package/dist/types/PageList.mjs +13 -12
- package/dist/types/Parser.mjs +12 -11
- package/dist/types/Parser.mjs.map +1 -1
- package/dist/types/Repository.mjs +9 -8
- package/dist/types/Result.mjs +6 -5
- package/dist/types/Results.mjs +7 -6
- package/dist/types/Tag.mjs +4 -3
- package/dist/types/Tag.mjs.map +1 -1
- package/dist/types/Template.d.ts +0 -43
- package/dist/types/Template.mjs +6 -11
- package/dist/types/ToText.d.ts +45 -0
- package/dist/types/ToText.mjs +23 -0
- package/dist/types/ToText.mjs.map +1 -0
- package/dist/types/Try.mjs +12 -11
- package/dist/types/Uri.mjs +12 -11
- package/dist/types/Uri.mjs.map +1 -1
- package/dist/utils/If.mjs +2 -1
- package/dist/utils/Mapper.mjs +6 -5
- package/dist/utils/Promise.d.ts +2 -0
- package/dist/utils/Promise.mjs +8 -4
- package/dist/utils/Seconds.mjs +3 -2
- package/dist/utils/Sentence.mjs +4 -3
- package/dist/utils/Sentence.mjs.map +1 -1
- package/dist/utils/View.mjs +16 -16
- package/dist/validation/Contraints.mjs +13 -12
- package/dist/validation/Validate.mjs +12 -11
- package/dist/validation/When.mjs +12 -11
- package/package.json +1 -1
- package/src/index.ts +1 -1
- package/src/process/Scope.ts +1 -1
- package/src/process/UseCase.ts +5 -5
- package/src/types/AnyKey.ts +10 -2
- package/src/types/Context.ts +6 -2
- package/src/types/Exception.ts +2 -1
- package/src/types/List.ts +17 -11
- package/src/types/Template.ts +2 -152
- package/src/types/ToText.ts +167 -0
- package/src/types/Uri.ts +1 -1
- package/src/utils/Promise.ts +5 -0
- package/src/utils/Sentence.ts +1 -1
- package/src/validation/Contraints.ts +1 -1
- package/src/validation/Validate.ts +10 -3
- package/dist/chunk-AMIP3FS5.mjs.map +0 -1
- package/dist/chunk-KWE3VWIW.mjs.map +0 -1
- package/dist/chunk-OWZ5I5IV.mjs.map +0 -1
- package/dist/chunk-P4MEAARF.mjs.map +0 -1
- package/dist/chunk-Q7FJUYZT.mjs.map +0 -1
- package/dist/chunk-TG7T4QPS.mjs.map +0 -1
- package/dist/chunk-WUHEP5NJ.mjs.map +0 -1
- /package/dist/{chunk-HAEVUETQ.mjs.map → chunk-2C5WHSM5.mjs.map} +0 -0
- /package/dist/{chunk-4BC26J7U.mjs.map → chunk-4WLPMNMB.mjs.map} +0 -0
- /package/dist/{chunk-DUMDOMES.mjs.map → chunk-6ATDEGSU.mjs.map} +0 -0
- /package/dist/{chunk-ZLU26SR3.mjs.map → chunk-6RSOVRW4.mjs.map} +0 -0
- /package/dist/{chunk-6O3TSROI.mjs.map → chunk-73VXBPTL.mjs.map} +0 -0
- /package/dist/{chunk-CHV6RMJL.mjs.map → chunk-7OEH5Q3V.mjs.map} +0 -0
- /package/dist/{chunk-UQTNYF53.mjs.map → chunk-AWT4XDU7.mjs.map} +0 -0
- /package/dist/{chunk-QL3DRPMM.mjs.map → chunk-BDKRR6H2.mjs.map} +0 -0
- /package/dist/{chunk-VI57VONC.mjs.map → chunk-CHLVZFAR.mjs.map} +0 -0
- /package/dist/{chunk-RTVVXROA.mjs.map → chunk-CMMMDBTK.mjs.map} +0 -0
- /package/dist/{chunk-3ZX4YFOK.mjs.map → chunk-EOIG654K.mjs.map} +0 -0
- /package/dist/{chunk-LMVFKEDS.mjs.map → chunk-F2SLQDR2.mjs.map} +0 -0
- /package/dist/{chunk-5UUY67VD.mjs.map → chunk-F7MQZLCR.mjs.map} +0 -0
- /package/dist/{chunk-3LWQJAEJ.mjs.map → chunk-FLJXHLSM.mjs.map} +0 -0
- /package/dist/{chunk-7WCAHERW.mjs.map → chunk-GA7BBYC2.mjs.map} +0 -0
- /package/dist/{chunk-WO4R5EYQ.mjs.map → chunk-GSAKK3JN.mjs.map} +0 -0
- /package/dist/{chunk-PIW6QNIG.mjs.map → chunk-HWYUYPBI.mjs.map} +0 -0
- /package/dist/{chunk-J7FACY7Y.mjs.map → chunk-I4HFLLRR.mjs.map} +0 -0
- /package/dist/{chunk-YAB5YLHI.mjs.map → chunk-J5AZL5T6.mjs.map} +0 -0
- /package/dist/{chunk-F4JCURDN.mjs.map → chunk-JABPZGOG.mjs.map} +0 -0
- /package/dist/{chunk-4BH22HLY.mjs.map → chunk-JJQAGAQN.mjs.map} +0 -0
- /package/dist/{chunk-5UXTE3WM.mjs.map → chunk-KBB2WGTO.mjs.map} +0 -0
- /package/dist/{chunk-QH2LF3L3.mjs.map → chunk-LIDMZELG.mjs.map} +0 -0
- /package/dist/{chunk-3CSSJCVP.mjs.map → chunk-N5B6HSHV.mjs.map} +0 -0
- /package/dist/{chunk-IS675X5Z.mjs.map → chunk-NUA7EUWX.mjs.map} +0 -0
- /package/dist/{chunk-DAG7KGVL.mjs.map → chunk-O4CJ7NSN.mjs.map} +0 -0
- /package/dist/{chunk-HL7ITJJT.mjs.map → chunk-OVORFG3O.mjs.map} +0 -0
- /package/dist/{chunk-NWQTAKAM.mjs.map → chunk-PB6SCADS.mjs.map} +0 -0
- /package/dist/{chunk-RGO5KVRQ.mjs.map → chunk-QNE24TSJ.mjs.map} +0 -0
- /package/dist/{chunk-BI3DP4QA.mjs.map → chunk-S2VNBE5K.mjs.map} +0 -0
- /package/dist/{chunk-7W67IZE4.mjs.map → chunk-ST3P6VWM.mjs.map} +0 -0
- /package/dist/{chunk-SDGUXNY3.mjs.map → chunk-TMAB63X5.mjs.map} +0 -0
- /package/dist/{chunk-BE474ULY.mjs.map → chunk-UCNB24EO.mjs.map} +0 -0
- /package/dist/{chunk-YODYDO2U.mjs.map → chunk-W53U3D4O.mjs.map} +0 -0
- /package/dist/{chunk-UHP56ITH.mjs.map → chunk-WBL4BT3I.mjs.map} +0 -0
- /package/dist/{chunk-4K6SPD7T.mjs.map → chunk-WDC45I5H.mjs.map} +0 -0
- /package/dist/{chunk-VKBEWDLL.mjs.map → chunk-YMJ43VFE.mjs.map} +0 -0
- /package/dist/{chunk-I32HDHLS.mjs.map → chunk-ZNUHRHPU.mjs.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SqlQuery
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WBL4BT3I.mjs";
|
|
4
4
|
import {
|
|
5
5
|
quote
|
|
6
6
|
} from "./chunk-OKPGJD64.mjs";
|
|
@@ -20,4 +20,4 @@ var Insert = class extends SqlQuery {
|
|
|
20
20
|
export {
|
|
21
21
|
Insert
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-J5AZL5T6.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SqlQuery
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WBL4BT3I.mjs";
|
|
4
4
|
import {
|
|
5
5
|
toClause
|
|
6
6
|
} from "./chunk-OKPGJD64.mjs";
|
|
@@ -23,4 +23,4 @@ var Update = class extends SqlQuery {
|
|
|
23
23
|
export {
|
|
24
24
|
Update
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
26
|
+
//# sourceMappingURL=chunk-JABPZGOG.mjs.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
choose
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YYIIQGLL.mjs";
|
|
4
4
|
import {
|
|
5
5
|
List,
|
|
6
6
|
isList,
|
|
7
7
|
toList
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
9
9
|
import {
|
|
10
10
|
isA
|
|
11
11
|
} from "./chunk-ZHXKBOK2.mjs";
|
|
@@ -170,4 +170,4 @@ export {
|
|
|
170
170
|
toPageList,
|
|
171
171
|
asPageList
|
|
172
172
|
};
|
|
173
|
-
//# sourceMappingURL=chunk-
|
|
173
|
+
//# sourceMappingURL=chunk-JJQAGAQN.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ifDefined,
|
|
3
3
|
toList
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
5
5
|
|
|
6
6
|
// src/types/Object.ts
|
|
7
7
|
function entries(subject) {
|
|
@@ -34,4 +34,4 @@ export {
|
|
|
34
34
|
keys,
|
|
35
35
|
extractKeys
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-KBB2WGTO.mjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
entries,
|
|
3
3
|
values
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KBB2WGTO.mjs";
|
|
5
5
|
import {
|
|
6
6
|
toList
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
8
8
|
import {
|
|
9
9
|
on,
|
|
10
10
|
use
|
|
@@ -55,4 +55,4 @@ var meta = (subject) => new ClassMeta(subject ?? {});
|
|
|
55
55
|
export {
|
|
56
56
|
meta
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
58
|
+
//# sourceMappingURL=chunk-LIDMZELG.mjs.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
HttpHeader
|
|
3
|
+
} from "./chunk-SW2OCUH3.mjs";
|
|
1
4
|
import {
|
|
2
5
|
toUuid
|
|
3
6
|
} from "./chunk-SJ4YFZKO.mjs";
|
|
4
7
|
import {
|
|
5
8
|
ContentType
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import {
|
|
8
|
-
HttpHeader
|
|
9
|
-
} from "./chunk-SW2OCUH3.mjs";
|
|
9
|
+
} from "./chunk-QNE24TSJ.mjs";
|
|
10
10
|
import {
|
|
11
11
|
ctx
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ONWMWJ43.mjs";
|
|
13
13
|
import {
|
|
14
14
|
Enum
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-FLJXHLSM.mjs";
|
|
16
16
|
import {
|
|
17
17
|
asString
|
|
18
18
|
} from "./chunk-BDA5LB4S.mjs";
|
|
@@ -87,4 +87,4 @@ export {
|
|
|
87
87
|
RequestOptions,
|
|
88
88
|
isRequestOptions
|
|
89
89
|
};
|
|
90
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-N5B6HSHV.mjs.map
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isResponse
|
|
3
|
-
} from "./chunk-UYDZZAEK.mjs";
|
|
4
1
|
import {
|
|
5
2
|
HttpStatus,
|
|
6
3
|
isHttpStatus
|
|
7
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7OEH5Q3V.mjs";
|
|
5
|
+
import {
|
|
6
|
+
isResponse
|
|
7
|
+
} from "./chunk-UYDZZAEK.mjs";
|
|
8
8
|
import {
|
|
9
9
|
choose
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YYIIQGLL.mjs";
|
|
11
11
|
import {
|
|
12
12
|
isResults
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ST3P6VWM.mjs";
|
|
14
14
|
import {
|
|
15
15
|
isResult,
|
|
16
16
|
toResult
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-OVORFG3O.mjs";
|
|
18
18
|
import {
|
|
19
19
|
toList
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
21
21
|
import {
|
|
22
22
|
isDefined,
|
|
23
23
|
isError
|
|
@@ -52,4 +52,4 @@ export {
|
|
|
52
52
|
rest,
|
|
53
53
|
isRestResult
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
55
|
+
//# sourceMappingURL=chunk-NUA7EUWX.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ifTrue,
|
|
3
3
|
toList
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
5
5
|
|
|
6
6
|
// src/utils/Seconds.ts
|
|
7
7
|
var seconds = {
|
|
@@ -21,4 +21,4 @@ var seconds = {
|
|
|
21
21
|
export {
|
|
22
22
|
seconds
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
24
|
+
//# sourceMappingURL=chunk-O4CJ7NSN.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
text
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6ENYJKOF.mjs";
|
|
4
4
|
|
|
5
5
|
// src/types/Context.ts
|
|
6
6
|
var DotEnvContext = class {
|
|
@@ -91,4 +91,4 @@ export {
|
|
|
91
91
|
Context,
|
|
92
92
|
ctx
|
|
93
93
|
};
|
|
94
|
-
//# sourceMappingURL=chunk-
|
|
94
|
+
//# sourceMappingURL=chunk-ONWMWJ43.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types/Context.ts"],"sourcesContent":["import { Uuid } from './Uuid';\nimport { Identity } from './Identity';\nimport { Optional } from './Types';\n\nimport { text } from './ToText';\n\nexport interface EnvContext {\n readonly domain: string;\n readonly name: string;\n readonly host: string;\n readonly port: number;\n readonly app: string;\n\n get(key: string, alt?: string): Optional<string>;\n}\n\nexport class DotEnvContext implements EnvContext {\n readonly domain = process.env.DOMAIN ?? 'easy';\n readonly name = process.env.ENVIRONMENT_NAME ?? '';\n readonly host = process.env.HOST ?? '';\n readonly port = Number.parseInt(process.env.PORT ?? '8080');\n readonly app = process.env.APP ?? '';\n\n readonly get = (key: string, alt?: string): Optional<string> => {\n const k = text(key)\n .map(k => k.replace(/([a-z])([A-Z])/g, '$1 $2'))\n .snake.toString();\n return process.env[k] ?? alt;\n };\n}\n\nexport interface RequestContext {\n token?: any;\n identity?: Identity;\n jwt: string;\n correlationId?: Uuid;\n lastError?: string;\n lastErrorStack?: string;\n create: (f: () => void) => void;\n\n get<T>(key: string): T;\n\n set<T>(key: string, value: T): T;\n\n wrap<T>(f: () => Promise<T>): Promise<T>;\n}\n\nexport class BaseRequestContext implements RequestContext {\n private state: any = {};\n\n get token(): any {\n return this.get('token');\n }\n\n set token(token: any) {\n this.set('token', token);\n }\n\n get identity(): Identity {\n return this.token as Identity;\n }\n\n get jwt(): string {\n return this.get('jwt');\n }\n\n set jwt(jwt: string) {\n this.set('jwt', jwt);\n }\n\n get correlationId(): Uuid {\n return this.get('correlationId');\n }\n\n set correlationId(id: Uuid) {\n this.set('correlationId', id);\n }\n\n get lastError(): Optional<string> {\n return this.get('lastError');\n }\n\n set lastError(error: Optional<string>) {\n this.set('lastError', error);\n }\n\n public get<T>(key: string): T {\n return this.state[key] as T;\n }\n\n public set<T>(key: string, value: T): T {\n return (this.state[key] = value);\n }\n\n public readonly create = (f: () => void): void => f();\n\n public readonly wrap = <T>(f: () => Promise<T>): Promise<T> => f();\n}\n\n/**\n * @deprecated Renamed to BaseRequestContext\n */\nexport class BaseContext extends BaseRequestContext {}\n\nexport interface Contexts {\n env?: EnvContext;\n request?: RequestContext;\n other?: any;\n}\n\nexport class Context {\n constructor(protected state: Contexts = {}) {\n this.state = {\n ...{\n env: new DotEnvContext(),\n request: new BaseRequestContext(),\n other: {},\n },\n ...this.state,\n };\n }\n\n get env(): EnvContext {\n return this.state.env as EnvContext;\n }\n\n set env(env: EnvContext) {\n this.state.env = env;\n }\n\n get request(): RequestContext {\n return this.state.request as RequestContext;\n }\n\n set request(request: RequestContext) {\n this.state.request = request;\n }\n\n get other(): any {\n return this.state.other;\n }\n}\n\nexport const ctx = new Context();\n"],"mappings":";;;;;AAgBO,IAAM,gBAAN,MAA0C;AAAA,EACtC,SAAS,QAAQ,IAAI,UAAU;AAAA,EAC/B,OAAO,QAAQ,IAAI,oBAAoB;AAAA,EACvC,OAAO,QAAQ,IAAI,QAAQ;AAAA,EAC3B,OAAO,OAAO,SAAS,QAAQ,IAAI,QAAQ,MAAM;AAAA,EACjD,MAAM,QAAQ,IAAI,OAAO;AAAA,EAEzB,MAAM,CAAC,KAAa,QAAmC;AAC9D,UAAM,IAAI,KAAK,GAAG,EACf,IAAI,CAAAA,OAAKA,GAAE,QAAQ,mBAAmB,OAAO,CAAC,EAC9C,MAAM,SAAS;AAClB,WAAO,QAAQ,IAAI,CAAC,KAAK;AAAA,EAC3B;AACF;AAkBO,IAAM,qBAAN,MAAmD;AAAA,EAChD,QAAa,CAAC;AAAA,EAEtB,IAAI,QAAa;AACf,WAAO,KAAK,IAAI,OAAO;AAAA,EACzB;AAAA,EAEA,IAAI,MAAM,OAAY;AACpB,SAAK,IAAI,SAAS,KAAK;AAAA,EACzB;AAAA,EAEA,IAAI,WAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,MAAc;AAChB,WAAO,KAAK,IAAI,KAAK;AAAA,EACvB;AAAA,EAEA,IAAI,IAAI,KAAa;AACnB,SAAK,IAAI,OAAO,GAAG;AAAA,EACrB;AAAA,EAEA,IAAI,gBAAsB;AACxB,WAAO,KAAK,IAAI,eAAe;AAAA,EACjC;AAAA,EAEA,IAAI,cAAc,IAAU;AAC1B,SAAK,IAAI,iBAAiB,EAAE;AAAA,EAC9B;AAAA,EAEA,IAAI,YAA8B;AAChC,WAAO,KAAK,IAAI,WAAW;AAAA,EAC7B;AAAA,EAEA,IAAI,UAAU,OAAyB;AACrC,SAAK,IAAI,aAAa,KAAK;AAAA,EAC7B;AAAA,EAEO,IAAO,KAAgB;AAC5B,WAAO,KAAK,MAAM,GAAG;AAAA,EACvB;AAAA,EAEO,IAAO,KAAa,OAAa;AACtC,WAAQ,KAAK,MAAM,GAAG,IAAI;AAAA,EAC5B;AAAA,EAEgB,SAAS,CAAC,MAAwB,EAAE;AAAA,EAEpC,OAAO,CAAI,MAAoC,EAAE;AACnE;AAKO,IAAM,cAAN,cAA0B,mBAAmB;AAAC;AAQ9C,IAAM,UAAN,MAAc;AAAA,EACnB,YAAsB,QAAkB,CAAC,GAAG;AAAtB;AACpB,SAAK,QAAQ;AAAA,MACX,GAAG;AAAA,QACD,KAAK,IAAI,cAAc;AAAA,QACvB,SAAS,IAAI,mBAAmB;AAAA,QAChC,OAAO,CAAC;AAAA,MACV;AAAA,MACA,GAAG,KAAK;AAAA,IACV;AAAA,EACF;AAAA,EAEA,IAAI,MAAkB;AACpB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,IAAI,KAAiB;AACvB,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEA,IAAI,UAA0B;AAC5B,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,QAAQ,SAAyB;AACnC,SAAK,MAAM,UAAU;AAAA,EACvB;AAAA,EAEA,IAAI,QAAa;AACf,WAAO,KAAK,MAAM;AAAA,EACpB;AACF;AAEO,IAAM,MAAM,IAAI,QAAQ;","names":["k"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ctx
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ONWMWJ43.mjs";
|
|
4
4
|
import {
|
|
5
5
|
isA
|
|
6
6
|
} from "./chunk-ZHXKBOK2.mjs";
|
|
@@ -17,4 +17,4 @@ export {
|
|
|
17
17
|
toResult,
|
|
18
18
|
isResult
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=chunk-
|
|
20
|
+
//# sourceMappingURL=chunk-OVORFG3O.mjs.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ApiGateway
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AWT4XDU7.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Api
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6RSOVRW4.mjs";
|
|
7
7
|
import {
|
|
8
8
|
HttpStatus
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7OEH5Q3V.mjs";
|
|
10
10
|
import {
|
|
11
11
|
toArray
|
|
12
12
|
} from "./chunk-CO2AFYVD.mjs";
|
|
@@ -57,4 +57,4 @@ var RouteGateway = class extends ApiGateway {
|
|
|
57
57
|
export {
|
|
58
58
|
RouteGateway
|
|
59
59
|
};
|
|
60
|
-
//# sourceMappingURL=chunk-
|
|
60
|
+
//# sourceMappingURL=chunk-PB6SCADS.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Enum
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FLJXHLSM.mjs";
|
|
4
4
|
import {
|
|
5
5
|
asString
|
|
6
6
|
} from "./chunk-BDA5LB4S.mjs";
|
|
@@ -28,4 +28,4 @@ var ContentType = class _ContentType extends Enum {
|
|
|
28
28
|
export {
|
|
29
29
|
ContentType
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
31
|
+
//# sourceMappingURL=chunk-QNE24TSJ.mjs.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
reject
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HO3IEF5S.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Exception
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HFBHENMJ.mjs";
|
|
7
7
|
|
|
8
8
|
// src/types/Repository.ts
|
|
9
9
|
var Repository = class {
|
|
@@ -48,4 +48,4 @@ var Repository = class {
|
|
|
48
48
|
export {
|
|
49
49
|
Repository
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
51
|
+
//# sourceMappingURL=chunk-S2VNBE5K.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isResult,
|
|
3
3
|
toResult
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OVORFG3O.mjs";
|
|
5
5
|
import {
|
|
6
6
|
toArray
|
|
7
7
|
} from "./chunk-CO2AFYVD.mjs";
|
|
@@ -32,4 +32,4 @@ export {
|
|
|
32
32
|
toResults,
|
|
33
33
|
isResults
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
35
|
+
//# sourceMappingURL=chunk-ST3P6VWM.mjs.map
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
traverse
|
|
3
|
+
} from "./chunk-SSROJBD5.mjs";
|
|
1
4
|
import {
|
|
2
5
|
toArray
|
|
3
6
|
} from "./chunk-CO2AFYVD.mjs";
|
|
@@ -208,8 +211,11 @@ var List = class extends Array {
|
|
|
208
211
|
switch(item) {
|
|
209
212
|
return this.includes(item) ? this.remove(item) : this.add(item);
|
|
210
213
|
}
|
|
211
|
-
switchOn(
|
|
212
|
-
return use(
|
|
214
|
+
switchOn(item, on2) {
|
|
215
|
+
return use(
|
|
216
|
+
typeof on2 === "function" ? this.find(on2) : use(traverse(item, on2), (v) => this.find((i) => traverse(i, on2) === v)),
|
|
217
|
+
(i) => i ? this.remove(i) : this.add(item)
|
|
218
|
+
);
|
|
213
219
|
}
|
|
214
220
|
defined() {
|
|
215
221
|
return this.reduce((l, v) => isDefined(v) ? l.add(v) : l, toList());
|
|
@@ -285,4 +291,4 @@ export {
|
|
|
285
291
|
ifNotEmpty,
|
|
286
292
|
ifEither
|
|
287
293
|
};
|
|
288
|
-
//# sourceMappingURL=chunk-
|
|
294
|
+
//# sourceMappingURL=chunk-TLYJ2G3X.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/If.ts","../src/types/List.ts"],"sourcesContent":["import { isDefined, isNotEmpty, isPresent, isTrue } from '../types/Is';\nimport { Optional } from '../types/Types';\nimport { Construct, ofConstruct, use } from '../types/Constructor';\nimport { OneOrMore } from '../types/Array';\nimport { toList } from '../types/List';\n\nexport function ifTrue<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifTrue<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifTrue<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out> {\n return isTrue(o) ? ofConstruct(f, o) : ofConstruct(alt, o);\n}\n\nexport function ifFalse<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifFalse<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifFalse<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out> {\n return !isTrue(o) ? ofConstruct(f, o) : ofConstruct(alt, o);\n}\n\nexport function ifDefined<Out, In = unknown>(o: Optional<In>, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifDefined<Out, In = unknown>(o: Optional<In>, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifDefined<Out, In = unknown>(o: Optional<In>, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out> {\n return isDefined(o) ? ofConstruct(f, o) : ofConstruct(alt);\n}\n\nexport function ifNotEmpty<Out, In = unknown>(o: In, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifNotEmpty<Out, In = unknown>(o: In, f?: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifNotEmpty<Out, In = unknown>(o: In, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifNotEmpty<Out, In = unknown>(o: In, f: Construct<Out, NonNullable<In>> = o => o as Out, alt?: Construct<Out>): Optional<Out> {\n return isNotEmpty(o) ? ofConstruct(f, o) : ofConstruct(alt, o);\n}\n\nexport function ifEither<Out, In = unknown>(os: OneOrMore<In>, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifEither<Out, In = unknown>(os: OneOrMore<In>, f?: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifEither<Out, In = unknown>(os: OneOrMore<In>, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifEither<Out, In = unknown>(os: OneOrMore<In>, f: Construct<Out, NonNullable<In>> = o => o as Out, alt?: Construct<Out>): Optional<Out> {\n return use(\n toList(os).first(o => isPresent(o)),\n o => (isDefined(o) ? ofConstruct(f, o) : ofConstruct(alt, o))\n );\n}\n","import { ArrayLike, toArray } from './Array';\nimport { Constructor, on, use } from './Constructor';\nimport type { Json } from './Json';\nimport { isArray, isDefined, isEmpty } from './Is';\nimport { isA } from './IsA';\nimport { Get, GetProperty, ofGet, ofProperty } from './Get';\nimport type { Id } from './Id';\nimport { asString } from './Text';\nimport { Optional } from './Types';\nimport { ifDefined, ifTrue } from '../utils/If';\nimport { AnyKey } from './AnyKey';\nimport { traverse } from '../utils/Traverse';\n\ntype Pred<T> = (value: T, index: number, obj: T[]) => unknown;\n\nexport class List<T = unknown> extends Array<T> {\n get ids(): List<Id> {\n return this.mapDefined(i => (i as any).id as Id);\n }\n\n isSubSetOf(...items: ArrayLike<T>): boolean {\n return this.diff(items).length === 0;\n }\n\n isSuperSetOf(...items: ArrayLike<T>): boolean {\n return this.length > items.length && toList(...items).isSubSetOf(...this);\n }\n\n isIntersectingWith(...items: ArrayLike<T>): boolean {\n return this.intersect(items).length > 0;\n }\n\n isDisjointWith(...items: ArrayLike<T>): boolean {\n return !this.isIntersectingWith(...items);\n }\n\n areEqual(...items: ArrayLike<T>): boolean {\n return this.isSubSetOf(...items) && toList(...items).isSubSetOf(...this);\n }\n\n asc(p: GetProperty<T, any>): List<T> {\n return this.sort((e1, e2) => (ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1));\n }\n\n desc(p: GetProperty<T, any>): List<T> {\n return this.sort((e1, e2) => (ofProperty(e1, p) < ofProperty(e2, p) ? 1 : -1));\n }\n\n first(p?: Pred<T>, params?: unknown): T {\n return (p ? this.find(p, params) : this[0]) as T;\n }\n\n firstValue<V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V> {\n return ifDefined(\n this.first(t => !!f(t)),\n f,\n v => ofGet(alt, v)\n );\n }\n\n isFirst(value: T): boolean {\n return value === this.first();\n }\n\n next(p?: Pred<T>, params?: unknown): T {\n return p ? this[this.findIndex(p, params) + 1] : this[0];\n }\n\n prev(p?: Pred<T>, params?: unknown): T {\n return p ? this[this.findIndex(p, params) - 1] : this[0];\n }\n\n last(p?: Pred<T>, params?: unknown): T {\n return p ? this.filter(p, params).last() : this[this.length - 1];\n }\n\n isLast(value: T): boolean {\n return value === this.last();\n }\n\n overlaps(...items: ArrayLike<T>): boolean {\n return toList<T>(...items).some(i => this.some(t => i === t));\n }\n\n diff(others: ArrayLike<T>): List<T> {\n return this.filter(i => !others.includes(i));\n }\n\n diffByKey<U = T>(others: ArrayLike<U>, key: keyof T & keyof U): List<T> {\n return this.filter((i: any) => !others.some((o: any) => o[key] === i[key]));\n }\n\n symmetricDiff(others: ArrayLike<T>): List<T> {\n return this.diff(others).concat(toList<T>(...others).diff(this));\n }\n\n symmetricDiffByKey(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.diffByKey(others, key).concat(toList<T>(...others).diffByKey(this, key));\n }\n\n intersect(others: ArrayLike<T>): List<T> {\n return this.filter(i => others.includes(i));\n }\n\n intersectByKey<U>(others: ArrayLike<U>, key: keyof T & keyof U): List<T> {\n return this.filter((i: any) => others.some((o: any) => o[key] === i[key]));\n }\n\n intersectBy<U>(others: ArrayLike<U>, f: (value: T, value2: U) => boolean): List<T> {\n return this.filter(i => others.some(o => f(i, o as U)));\n }\n\n accumulate(...keys: (keyof T)[]): List<T> {\n return this.map((d, i, arr) => {\n const acc = keys.reduce((acc, v) => {\n (acc as any)[v] = i === 0 ? d[v] : (arr[i - 1][v] as number) + (d[v] as number);\n return acc;\n }, d);\n arr[i] = acc;\n return acc;\n });\n }\n\n toJSON(): Json[] {\n return this.reduce((a, i) => {\n a.push(JSON.parse(JSON.stringify(i ?? {})));\n return a;\n }, new Array<Json>());\n }\n\n map<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<U> {\n return toList<U>(super.map(f, params));\n }\n\n flatMap<U, This = unknown>(f: (this: This, value: T, index: number, array: T[]) => ReadonlyArray<U> | U, params?: This): List<U> {\n return toList<U>(super.flatMap(f, params));\n }\n\n mapDefined<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<NonNullable<U>> {\n return this.map(f, params).defined();\n }\n\n mapAsync(f: (i: T) => Promise<T>): Promise<List<T>> {\n return Promise.all(super.map(e => f(e))).then(a => toList<T>(a));\n }\n\n mapSerial<U>(f: (i: T) => Promise<U>): Promise<List<U>> {\n return super.reduce((p, item) => p.then(results => on(results, async r => r.push(await f(item)))), Promise.resolve(toList<U>()));\n }\n\n distinct(): List<T> {\n return this.filter((i, index) => this.indexOf(i) === index);\n }\n\n distinctByKey(key: keyof T): List<T> {\n const seen = new Set<T[keyof T]>();\n return this.filter(item => !seen.has(item[key]) && seen.add(item[key]));\n }\n\n distinctByValue(): List<T> {\n const seen = new Set<string>();\n return this.filter(item => !seen.has(JSON.stringify(item)) && seen.add(JSON.stringify(item)));\n }\n filter(p: Pred<T>, params?: unknown): List<T> {\n return toList<T>(super.filter(p, params));\n }\n\n sum(p: (t: T) => number): number {\n return this.reduce((sum: number, i) => sum + p(i), 0);\n }\n\n max(p: (value: T) => any): T;\n max(key: keyof T): T;\n max(p: keyof T | ((value: T) => any)): T {\n return typeof p === 'function' ? this.sort((e1, e2) => (p(e1) < p(e2) ? 1 : -1)).first() : this.desc(p).first();\n }\n\n min(key: keyof T): T;\n min(p: (value: T) => any): T;\n min(p: keyof T | ((value: T) => any)): T {\n return typeof p === 'function' ? this.sort((e1, e2) => (p(e1) > p(e2) ? 1 : -1)).first() : this.asc(p).first();\n }\n\n byId(id: Id): T {\n return this.first(i => asString((i as any).id) === asString(id));\n }\n\n byKey(key: keyof T, value: unknown): T {\n return this.first(i => i[key] == value);\n }\n\n add(...items: ArrayLike<T>): this {\n super.push(...toArray(...items));\n return this;\n }\n\n concat(...items: ConcatArray<T>[]): List<T>;\n concat(...items: (T | ConcatArray<T>)[]): List<T>;\n concat(...items: (T | ConcatArray<T>)[]): List<T> {\n return toList<T>(super.concat(...items));\n }\n\n reverse(): List<T> {\n return toList<T>(super.reverse());\n }\n\n splice(start: number, deleteCount?: number): List<T>;\n splice(start: number, deleteCount: number, ...items: T[]): List<T>;\n splice(start: number, deleteCount: number, ...items: T[]): List<T> {\n return toList<T>(super.splice(start, deleteCount, ...items));\n }\n\n remove(item: T): List<T> {\n const index = this.indexOf(item);\n if (index > -1) {\n this.splice(index, 1);\n }\n return this;\n }\n\n replace(key: keyof T, item: T): List<T> {\n const index = this.findIndex(i => i[key] === item?.[key]);\n ifTrue(index != -1, () => this.splice(index, 1, item));\n return this;\n }\n\n switch(item: T): List<T> {\n return this.includes(item) ? this.remove(item) : this.add(item);\n }\n\n switchOn<U = T>(item: U, on: AnyKey<U>): List<T>;\n switchOn<T>(item: T, on: Pred<T>): List<T>;\n switchOn<U = T>(item: T, on: AnyKey<U> | Pred<T>): List<T> {\n return use(typeof on === 'function' ? this.find(on) : use(traverse(item, on), v => this.find(i => traverse(i, on) === v)), i =>\n i ? this.remove(i) : this.add(item)\n );\n }\n\n defined(): List<NonNullable<T>> {\n return this.reduce((l, v) => (isDefined(v) ? l.add(v) : l), toList<NonNullable<T>>());\n }\n\n toObject(key: keyof T, options: { deleteKey?: boolean } = {}): Record<string | number | symbol, T> {\n return this.reduce((o: any, i) => {\n o[i[key]] = i;\n if (options.deleteKey) delete o[i[key]][key];\n return o;\n }, {});\n }\n\n toObjectList(key: keyof T): Record<string | number | symbol, List<T>> {\n return this.reduce(\n (a, t) => {\n const k = t[key] as unknown as string | number | symbol;\n a[k] = a[k] ?? toList();\n a[k].push(t);\n return a;\n },\n {} as Record<string | number | symbol, List<T>>\n );\n }\n\n orElse(...alt: ArrayLike<T>): Optional<List<T>> {\n return !isEmpty(this) ? this : !isEmpty(...alt) ? toList<T>(...alt) : undefined;\n }\n\n weave(insertFrom: T[], interval: number): this {\n for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {\n this.splice(i, 0, insertFrom[n++]);\n }\n return this;\n }\n\n slice(start?: number, end?: number): List<T> {\n return toList(super.slice(start, end));\n }\n\n none(p: (t: T) => boolean): boolean {\n return !this.some(p);\n }\n\n chunk(chunkSize: number): List<List<T>> {\n return this.reduce((acc, _, index) => (index % chunkSize === 0 ? on(acc, a => a.push(this.slice(index, index + chunkSize))) : acc), toList<List<T>>());\n }\n\n //we needed to add U because of a Typescript issue with generics\n update<U = T>(p: Pred<T>, val: T | ((v: U) => T)): List<T> {\n return this.map((v, i, a) => (p(v, i, a) ? ofGet<T>(val, v, i, a) : v));\n }\n\n updateFirst<U = T>(p: Pred<T>, val: T | ((v: U) => T)) {\n const index = this.findIndex(p);\n return this.update((t, i) => p(t, i, this) && i == index, val);\n }\n\n updateFirstById<U = T>(id: Id, val: T | ((v: U) => T)) {\n return this.updateFirst(i => asString((i as any)?.id) === asString(id), val);\n }\n\n updateById<U = T>(id: Id, val: T | ((v: U) => T)) {\n return this.update(i => asString((i as any)?.id) === asString(id), val);\n }\n}\n\nexport const toList = <T = unknown>(...items: ArrayLike<T>): List<T> => new List<T>().add(...items);\n\nexport const isList = <T>(l?: unknown): l is List<T> => isDefined(l) && isArray(l) && isA<List<T>>(l, 'first', 'last', 'asc', 'desc');\n\nexport const asList = <T>(c: Constructor<T>, items: unknown = []): List<T> => toList<T>(toArray(items).map(i => new c(i)));\n\nexport const maxValue = <T>(l: List<T>, key: keyof T): T[keyof T] | undefined => l.desc(key).first()?.[key];\n\nexport const minValue = <T>(l: List<T>, key: keyof T): T[keyof T] | undefined => l.asc(key).first()?.[key];\n"],"mappings":"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","names":["o","acc","on"]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-MDXL65W4.mjs";
|
|
4
4
|
import {
|
|
5
5
|
json
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GA7BBYC2.mjs";
|
|
7
7
|
import {
|
|
8
8
|
isDefined
|
|
9
9
|
} from "./chunk-DEJ7A5PY.mjs";
|
|
@@ -50,4 +50,4 @@ export {
|
|
|
50
50
|
toCondition,
|
|
51
51
|
isSortCondition
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
53
|
+
//# sourceMappingURL=chunk-TMAB63X5.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SqlQuery
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WBL4BT3I.mjs";
|
|
4
4
|
import {
|
|
5
5
|
ifGet
|
|
6
6
|
} from "./chunk-SJGQU3OG.mjs";
|
|
@@ -15,4 +15,4 @@ var Delete = class extends SqlQuery {
|
|
|
15
15
|
export {
|
|
16
16
|
Delete
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
18
|
+
//# sourceMappingURL=chunk-UCNB24EO.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
tryTo
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YYIIQGLL.mjs";
|
|
4
4
|
import {
|
|
5
5
|
asString
|
|
6
6
|
} from "./chunk-BDA5LB4S.mjs";
|
|
@@ -17,4 +17,4 @@ var asNumber = (n, alt) => tryTo(() => asString(n)).map((s) => parseInt(s)).filt
|
|
|
17
17
|
export {
|
|
18
18
|
asNumber
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=chunk-
|
|
20
|
+
//# sourceMappingURL=chunk-W53U3D4O.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
toList
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
4
4
|
|
|
5
5
|
// src/sql/SqlQuery.ts
|
|
6
6
|
var SqlQuery = class {
|
|
@@ -17,4 +17,4 @@ var SqlQuery = class {
|
|
|
17
17
|
export {
|
|
18
18
|
SqlQuery
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=chunk-
|
|
20
|
+
//# sourceMappingURL=chunk-WBL4BT3I.mjs.map
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
} from "./chunk-GCY5A63A.mjs";
|
|
7
7
|
import {
|
|
8
8
|
json
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GA7BBYC2.mjs";
|
|
10
10
|
import {
|
|
11
11
|
meta
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-LIDMZELG.mjs";
|
|
13
13
|
import {
|
|
14
14
|
ifNotEmpty,
|
|
15
15
|
toList
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
17
17
|
import {
|
|
18
18
|
ofGet
|
|
19
19
|
} from "./chunk-SJGQU3OG.mjs";
|
|
@@ -131,4 +131,4 @@ export {
|
|
|
131
131
|
Mapper,
|
|
132
132
|
mappings
|
|
133
133
|
};
|
|
134
|
-
//# sourceMappingURL=chunk-
|
|
134
|
+
//# sourceMappingURL=chunk-WDC45I5H.mjs.map
|
|
@@ -5,16 +5,16 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
tryTo,
|
|
7
7
|
validate
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YYIIQGLL.mjs";
|
|
9
9
|
import {
|
|
10
10
|
text
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6ENYJKOF.mjs";
|
|
12
12
|
import {
|
|
13
13
|
meta
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-LIDMZELG.mjs";
|
|
15
15
|
import {
|
|
16
16
|
toList
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
18
18
|
import {
|
|
19
19
|
isBoolean,
|
|
20
20
|
isDefined,
|
|
@@ -73,4 +73,4 @@ export {
|
|
|
73
73
|
maxLength,
|
|
74
74
|
rule
|
|
75
75
|
};
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-Y5NBOPDI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/validation/Contraints.ts"],"sourcesContent":["import { validate, Validator } from './Validate';\nimport { Func } from '../types/Func';\nimport { Results } from '../types/Results';\nimport { meta } from '../types/Meta';\nimport { List, toList } from '../types/List';\nimport { isBoolean, isDefined, isFunction, isIn, isNotEmpty, isString } from '../types/Is';\nimport { tryTo } from '../types/Try';\nimport { inFuture, inPast } from '../types/IsDate';\nimport type { Text } from '../types/Text';\nimport { text } from '../types/ToText';\n\nexport type Constraint = Func<boolean | Results, any>;\n\nexport const constraint =\n <T>(c: Constraint, message: Text): PropertyDecorator =>\n (subject: unknown, property: string | symbol): void => {\n const cs = meta(subject).property(property).get<List<Validator>>('constraint') ?? toList<Validator>();\n meta(subject)\n .property(property)\n .set('constraint', cs.add({ property, constraint: c, text: message }));\n };\n\nexport const defined = (message?: Text): PropertyDecorator => constraint(v => isDefined(v), message ?? 'Property {property} must be defined.');\n\nexport const required = (message?: Text): PropertyDecorator =>\n constraint(v => isNotEmpty(v), message ?? 'Property {property} is required, and may not be empty.');\n\nexport const notEmpty = (message?: Text): PropertyDecorator => constraint(v => isNotEmpty(v), message ?? 'Property {property} may not be empty.');\n\nexport const valid = (): PropertyDecorator => constraint(v => validate(v), '');\n\nexport const optional = (): PropertyDecorator => constraint(v => !isDefined(v) || validate(v), '');\n\nexport const includes = (sub: string, message?: string): PropertyDecorator =>\n constraint(s => isDefined(s) && isString(s) && s.includes(sub), message ?? `Value {actual} must include '${sub}'.`);\n\nexport const inList = (values: unknown[], message?: Text): PropertyDecorator =>\n constraint(v => isDefined(v) && isIn(v, values), message ?? 'Value {actual} must appear in list.');\n\nexport const inOptionalList = (values: unknown[], message?: Text): PropertyDecorator =>\n constraint(v => !isDefined(v) || isIn(v, values), message ?? 'Value {actual} must appear in list.');\n\nexport const gt = (limit: number, message?: Text): PropertyDecorator => constraint(v => v > limit, message ?? `Value {actual} must be larger than '${limit}'.`);\n\nexport const gte = (limit: number, message?: Text): PropertyDecorator =>\n constraint(v => v >= limit, message ?? `Value {actual} must be larger than or equal to ${limit}.`);\n\nexport const lt = (limit: number, message?: Text): PropertyDecorator => constraint(v => v < limit, message ?? `Value {actual} must be smaller than ${limit}.`);\n\nexport const lte = (limit: number, message?: Text): PropertyDecorator =>\n constraint(v => v <= limit, message ?? `Value {actual} must be smaller than or equal to ${limit}.`);\n\nexport const past = (message?: Text): PropertyDecorator => constraint(v => inPast(v), message ?? 'Value {actual} must lay in the past.');\n\nexport const future = (message?: Text): PropertyDecorator => constraint(v => inFuture(v), message ?? 'Value {actual} must lay in the future.');\n\nexport const minLength = (length: number, message?: Text): PropertyDecorator =>\n constraint(\n v =>\n tryTo(() => v)\n .is.defined()\n .map(v => text(v).toString().length >= length)\n .orElse(true) as boolean,\n message ?? `Value {actual} must be at least '${length}' characters long.`\n );\n\nexport const maxLength = (length: number, message?: Text): PropertyDecorator =>\n constraint(\n v =>\n tryTo(() => v)\n .is.defined()\n .map(v => text(v).toString().length <= length)\n .orElse(true) as boolean,\n message ?? `Value {actual} cannot be longer than '${length}' characters.`\n );\n\nexport const rule = (message?: Text): PropertyDecorator =>\n constraint(v => (isFunction(v) ? (v() as boolean | Results) : isBoolean(v) ? v : false), message ?? `Value {actual} must be true`);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,IAAM,aACX,CAAI,GAAe,YACnB,CAAC,SAAkB,aAAoC;AACrD,QAAM,KAAK,KAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAqB,YAAY,KAAK,OAAkB;AACpG,OAAK,OAAO,EACT,SAAS,QAAQ,EACjB,IAAI,cAAc,GAAG,IAAI,EAAE,UAAU,YAAY,GAAG,MAAM,QAAQ,CAAC,CAAC;AACzE;AAEK,IAAM,UAAU,CAAC,YAAsC,WAAW,OAAK,UAAU,CAAC,GAAG,WAAW,sCAAsC;AAEtI,IAAM,WAAW,CAAC,YACvB,WAAW,OAAK,WAAW,CAAC,GAAG,WAAW,wDAAwD;AAE7F,IAAM,WAAW,CAAC,YAAsC,WAAW,OAAK,WAAW,CAAC,GAAG,WAAW,uCAAuC;AAEzI,IAAM,QAAQ,MAAyB,WAAW,OAAK,SAAS,CAAC,GAAG,EAAE;AAEtE,IAAM,WAAW,MAAyB,WAAW,OAAK,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,GAAG,EAAE;AAE1F,IAAM,WAAW,CAAC,KAAa,YACpC,WAAW,OAAK,UAAU,CAAC,KAAK,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,WAAW,gCAAgC,GAAG,IAAI;AAE7G,IAAM,SAAS,CAAC,QAAmB,YACxC,WAAW,OAAK,UAAU,CAAC,KAAK,KAAK,GAAG,MAAM,GAAG,WAAW,qCAAqC;AAE5F,IAAM,iBAAiB,CAAC,QAAmB,YAChD,WAAW,OAAK,CAAC,UAAU,CAAC,KAAK,KAAK,GAAG,MAAM,GAAG,WAAW,qCAAqC;AAE7F,IAAM,KAAK,CAAC,OAAe,YAAsC,WAAW,OAAK,IAAI,OAAO,WAAW,uCAAuC,KAAK,IAAI;AAEvJ,IAAM,MAAM,CAAC,OAAe,YACjC,WAAW,OAAK,KAAK,OAAO,WAAW,kDAAkD,KAAK,GAAG;AAE5F,IAAM,KAAK,CAAC,OAAe,YAAsC,WAAW,OAAK,IAAI,OAAO,WAAW,uCAAuC,KAAK,GAAG;AAEtJ,IAAM,MAAM,CAAC,OAAe,YACjC,WAAW,OAAK,KAAK,OAAO,WAAW,mDAAmD,KAAK,GAAG;AAE7F,IAAM,OAAO,CAAC,YAAsC,WAAW,OAAK,OAAO,CAAC,GAAG,WAAW,sCAAsC;AAEhI,IAAM,SAAS,CAAC,YAAsC,WAAW,OAAK,SAAS,CAAC,GAAG,WAAW,wCAAwC;AAEtI,IAAM,YAAY,CAAC,QAAgB,YACxC;AAAA,EACE,OACE,MAAM,MAAM,CAAC,EACV,GAAG,QAAQ,EACX,IAAI,CAAAA,OAAK,KAAKA,EAAC,EAAE,SAAS,EAAE,UAAU,MAAM,EAC5C,OAAO,IAAI;AAAA,EAChB,WAAW,oCAAoC,MAAM;AACvD;AAEK,IAAM,YAAY,CAAC,QAAgB,YACxC;AAAA,EACE,OACE,MAAM,MAAM,CAAC,EACV,GAAG,QAAQ,EACX,IAAI,CAAAA,OAAK,KAAKA,EAAC,EAAE,SAAS,EAAE,UAAU,MAAM,EAC5C,OAAO,IAAI;AAAA,EAChB,WAAW,yCAAyC,MAAM;AAC5D;AAEK,IAAM,OAAO,CAAC,YACnB,WAAW,OAAM,WAAW,CAAC,IAAK,EAAE,IAA0B,UAAU,CAAC,IAAI,IAAI,OAAQ,WAAW,6BAA6B;","names":["v"]}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
seconds
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-O4CJ7NSN.mjs";
|
|
4
4
|
import {
|
|
5
5
|
isDate
|
|
6
6
|
} from "./chunk-ADJAEGCT.mjs";
|
|
7
7
|
import {
|
|
8
8
|
choose,
|
|
9
9
|
tryTo
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YYIIQGLL.mjs";
|
|
11
11
|
import {
|
|
12
12
|
Value
|
|
13
13
|
} from "./chunk-WSBULPUZ.mjs";
|
|
14
14
|
import {
|
|
15
15
|
ifDefined
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
17
17
|
import {
|
|
18
18
|
isA
|
|
19
19
|
} from "./chunk-ZHXKBOK2.mjs";
|
|
@@ -139,4 +139,4 @@ export {
|
|
|
139
139
|
isDateTime,
|
|
140
140
|
dt
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=chunk-
|
|
142
|
+
//# sourceMappingURL=chunk-YMJ43VFE.mjs.map
|
|
@@ -4,32 +4,32 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
isResults,
|
|
6
6
|
toResults
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ST3P6VWM.mjs";
|
|
8
8
|
import {
|
|
9
9
|
toResult
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-OVORFG3O.mjs";
|
|
11
11
|
import {
|
|
12
12
|
reject,
|
|
13
13
|
resolve
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HO3IEF5S.mjs";
|
|
15
15
|
import {
|
|
16
16
|
Exception
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-HFBHENMJ.mjs";
|
|
18
18
|
import {
|
|
19
19
|
isValue
|
|
20
20
|
} from "./chunk-WSBULPUZ.mjs";
|
|
21
21
|
import {
|
|
22
22
|
text
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-6ENYJKOF.mjs";
|
|
24
24
|
import {
|
|
25
25
|
isEnum
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-FLJXHLSM.mjs";
|
|
27
27
|
import {
|
|
28
28
|
meta
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-LIDMZELG.mjs";
|
|
30
30
|
import {
|
|
31
31
|
toList
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-TLYJ2G3X.mjs";
|
|
33
33
|
import {
|
|
34
34
|
toArray
|
|
35
35
|
} from "./chunk-CO2AFYVD.mjs";
|
|
@@ -257,7 +257,10 @@ var runValidator = (v, subject) => {
|
|
|
257
257
|
try {
|
|
258
258
|
const actual = isFunction(subject[v.property]) ? subject[v.property]() : subject[v.property];
|
|
259
259
|
const constraint = v.constraint(actual);
|
|
260
|
-
return isResults(constraint) ? constraint : !constraint ? asResults(subject, v.text, {
|
|
260
|
+
return isResults(constraint) ? constraint : !constraint ? asResults(subject, v.text, {
|
|
261
|
+
...v,
|
|
262
|
+
actual
|
|
263
|
+
}) : toResults();
|
|
261
264
|
} catch (e) {
|
|
262
265
|
return asResults(subject, asString(e));
|
|
263
266
|
}
|
|
@@ -318,4 +321,4 @@ export {
|
|
|
318
321
|
tryTo,
|
|
319
322
|
choose
|
|
320
323
|
};
|
|
321
|
-
//# sourceMappingURL=chunk-
|
|
324
|
+
//# sourceMappingURL=chunk-YYIIQGLL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types/Try.ts","../src/types/Case.ts","../src/validation/Validate.ts","../src/validation/When.ts"],"sourcesContent":["import { isDefined, isEmpty, isTrue } from './Is';\nimport { validate } from '../validation/Validate';\nimport { Construct, Constructor, ofConstruct } from './Constructor';\nimport { Validatable } from './Validatable';\nimport { Get, ofGet } from './Get';\nimport { Func } from './Func';\nimport { Optional } from './Types';\n\nexport abstract class Try<T = unknown> implements Validatable {\n is = {\n defined: (prop?: Func<unknown, T>): Try<T> => this.filter(v => isDefined(prop ? prop(v) : v)),\n empty: (prop?: Func<unknown, T>): Try<T> => this.filter(v => isEmpty(prop ? prop(v) : v)),\n valid: (prop?: Func<unknown, T>): Try<T> => this.filter(v => validate(prop ? prop(v) : v).isValid),\n true: (prop?: Func<unknown, T>): Try<T> => this.filter(v => isTrue(prop ? prop(v) : v)),\n false: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !isTrue(prop ? prop(v) : v)),\n not: {\n defined: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !isDefined(prop ? prop(v) : v)),\n empty: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !isEmpty(prop ? prop(v) : v)),\n valid: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !validate(prop ? prop(v) : v).isValid),\n },\n };\n\n if = this.is;\n\n abstract get value(): T;\n\n abstract get error(): Error;\n\n abstract get isValid(): boolean;\n\n static of = <T>(c: Get<T | Try<T>>, ...args: unknown[]): Try<T> => {\n try {\n const out = ofGet(c, ...args);\n return new Success(out instanceof Try ? out.value : out);\n } catch (e) {\n return new Failure(e as Error);\n }\n };\n\n abstract map<U>(f: Func<U | Try<U>, T>): Try<U>;\n\n abstract recover(f: Func<T | Try<T>, Error>): Try<T>;\n\n abstract recoverFrom(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T>;\n\n abstract accept(f: Func<void, T>): Try<T>;\n\n abstract filter(predicate: Func<boolean, T>): Try<T>;\n\n abstract or(value: Get<T>): T;\n\n abstract orElse(value?: Get<T>): Optional<T>;\n\n abstract orThrow(error: Construct<Error>): T;\n}\n\nclass Success<T> extends Try<T> {\n constructor(readonly value: T) {\n super();\n }\n\n get error(): Error {\n throw new Error('No error found');\n }\n\n get isValid(): boolean {\n return true;\n }\n\n map<U>(f: Func<U | Try<U>, T>): Try<U> {\n return tryTo<U>(f, this.value);\n }\n\n recover(f: Func<T | Try<T>, Error>): Try<T> {\n return this;\n }\n\n recoverFrom(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T> {\n return this;\n }\n\n accept(f: Func<void, T>): Try<T> {\n return tryTo(() => {\n f(this.value);\n return this;\n });\n }\n\n filter(predicate: Func<boolean, T>): Try<T> {\n return tryTo(() => {\n if (predicate(this.value)) return this;\n throw new Error(`Applying filter(${predicate.toString()}) failed.`);\n });\n }\n\n or(value: Get<T>): T {\n return this.value;\n }\n\n orElse(value?: Get<T>): Optional<T> {\n return this.value;\n }\n\n orThrow(_error: Construct<Error>): T {\n return this.value;\n }\n}\n\nclass Failure<T> extends Try<T> {\n constructor(readonly error: Error) {\n super();\n }\n\n get value(): T {\n throw this.error;\n }\n\n get isValid(): boolean {\n return false;\n }\n\n map<U>(f: Func<U | Try<U>, T>): Try<U> {\n return new Failure<U>(this.error);\n }\n\n recover<U>(f: Func<U | Try<U>, Error>): Try<U> {\n return tryTo<U>(f, this.error);\n }\n\n recoverFrom<U>(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T> {\n return tryTo(() => (this.error instanceof type ? this.recover(f) : this));\n }\n\n accept(f: Func<void, T>): Try<T> {\n return this;\n }\n\n filter(predicate: Func<boolean, T>): Try<T> {\n return this;\n }\n\n or(value: Get<T>): T {\n return ofGet(value);\n }\n\n orElse(value?: Get<T>): Optional<T> {\n return ofGet(value);\n }\n\n orThrow(error: Construct<Error>): T {\n throw ofConstruct(error);\n }\n}\n\nexport const tryTo = <T>(c: Get<T | Try<T>>, ...args: unknown[]) => Try.of<T>(c, ...args);\n","import { Get, ofGet, Predicate } from './Get';\nimport { TypeGuard } from './TypeGuard';\nimport { Func } from './Func';\nimport { isDefined, isEmpty } from './Is';\nimport { validate } from '../validation/Validate';\nimport { tryTo } from './Try';\n\nclass CaseBuilder<V> {\n is = {\n defined: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(isDefined(prop(this.v)), out),\n empty: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(isEmpty(prop(this.v)), out),\n valid: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(validate(prop(this.v)).isValid, out),\n in: <T>(prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(ofGet(prop, this.v).includes(this.v), out),\n not: {\n defined: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!isDefined(prop(this.v)), out),\n empty: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!isEmpty(prop(this.v)), out),\n valid: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!validate(prop(this.v)).isValid, out),\n in: <T>(prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!ofGet(prop, this.v).includes(this.v), out),\n },\n };\n if = this.is;\n\n constructor(readonly v: V) {}\n\n case<T>(pred: Predicate<V>, out: Get<T, V>): Case<T, V> {\n return new Case<T, V>(this.v).case(pred, out);\n }\n\n type<T, U = unknown>(guard: TypeGuard<U>, out: Func<T, U>): Case<T, V> {\n return new Case<T, V>(this.v).type<U>(guard, out);\n }\n\n equals<T>(value: V, out: Get<T, V>): Case<T, V> {\n return new Case<T, V>(this.v).equals(value, out);\n }\n}\n\nclass Case<T, V = unknown> {\n is = {\n defined: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(isDefined(prop(this.value)), out),\n empty: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(isEmpty(prop(this.value)), out),\n valid: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(validate(prop(this.value)).isValid, out),\n in: (prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(ofGet(prop, this.value).includes(this.value), out),\n not: {\n defined: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!isDefined(prop(this.value)), out),\n empty: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!isEmpty(prop(this.value)), out),\n valid: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!validate(prop(this.value)).isValid, out),\n in: (prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!ofGet(prop, this.value).includes(this.value), out),\n },\n };\n if = this.is;\n\n constructor(\n protected value: V,\n protected outcome?: T\n ) {}\n\n case(pred: Predicate<V>, out: Get<T, V>): Case<T, V> {\n return tryTo(pred, this.value)\n .is.true()\n .map(() => ofGet(out, this.value))\n .map(res => new Found(this.value, res) as Case<T, V>)\n .or(this);\n }\n\n type<U>(guard: TypeGuard<U>, out: Func<T, U>): Case<T, V> {\n return tryTo(guard, this.value)\n .is.true()\n .map(() => out(this.value as unknown as U))\n .map(res => new Found(this.value, res) as Case<T, V>)\n .or(this);\n }\n\n equals(value: V, out: Get<T, V>): Case<T, V> {\n return this.case(this.value === value, out);\n }\n\n else(alt: Get<T, V>): T {\n return ofGet<T, V>(alt, this.value);\n }\n}\n\nclass Found<T, V> extends Case<T, V> {\n is = {\n defined: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n empty: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n valid: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n in: (_prop: Get<Array<V>, V>, _out: Get<T, V>): Case<T, V> => this,\n not: {\n defined: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n empty: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n valid: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n in: (_prop: Get<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n },\n };\n if = this.is;\n\n constructor(\n protected value: V,\n protected outcome: T\n ) {\n super(value, outcome);\n }\n\n case(pred: Predicate<V>, out: Get<T, V>): this {\n return this;\n }\n\n type<U>(guard: TypeGuard<U>, out: Func<T, U>): Case<T, V> {\n return this;\n }\n\n equals(value: V, out: Get<T, V>): Case<T, V> {\n return this;\n }\n\n else(alt: Get<T, V>): T {\n return this.outcome;\n }\n}\n\nexport const choose = <V>(value: V) => new CaseBuilder<V>(value);\n","import { Constraint } from './Contraints';\nimport { when } from './When';\nimport type { TemplateOptions } from '../types/Template';\nimport { isResults, Results, toResults } from '../types/Results';\nimport { toName } from '../types/Constructor';\nimport { toResult } from '../types/Result';\nimport { List, toList } from '../types/List';\nimport { meta } from '../types/Meta';\nimport { isArray, isFunction } from '../types/Is';\nimport type { Text } from '../types/Text';\nimport { asString } from '../types/Text';\nimport { choose } from '../types/Case';\nimport { isEnum } from '../types/Enum';\nimport { isValue } from '../types/Value';\nimport { isValidatable } from '../types/Validatable';\nimport { text } from '../types/ToText';\n\nexport type Validator = { property: string | symbol; constraint: Constraint; text: Text; actual?: Text };\n\nexport const asResults = (subject: unknown, template: Text, options: TemplateOptions = {}): Results =>\n toResults(toResult(text(template).parse(subject, options), toName(subject)));\n\nconst validators = (subject: unknown): List<Validator> =>\n meta(subject)\n .keys<List<Validator>>('constraint')\n .reduce((list, vs) => list.add(vs), toList<Validator>());\n\nconst runValidator = (v: Validator, subject?: unknown): Results => {\n try {\n const actual = isFunction((subject as any)[v.property]) ? (subject as any)[v.property]() : (subject as any)[v.property];\n const constraint = v.constraint(actual);\n return isResults(constraint)\n ? constraint\n : !constraint\n ? asResults(subject, v.text, {\n ...v,\n actual,\n })\n : toResults();\n } catch (e) {\n return asResults(subject, asString(e));\n }\n};\n\nconst constraints = (subject?: unknown): Results =>\n validators(subject)\n .map(vs => runValidator(vs, subject))\n .reduce((rs, r) => rs.add(...r.results), toResults());\n\nexport const validate = (subject?: unknown): Results =>\n choose(subject)\n .is.not.defined(\n s => s,\n () => toResults('Subject is not defined.')\n )\n .type(isEnum, e => (e.isValid ? toResults() : asResults(e, 'This is not a valid {type}.')))\n .type(isValue, v => (v.isValid ? toResults() : asResults(v, 'This is not a valid {type}.')))\n .type(isArray, a => a.map(i => validate(i)).reduce((rs, r) => rs.add(...r.results), toResults()))\n .type(isValidatable, v => constraints(v))\n .else(toResults());\n\nexport const validateReject = <T>(subject: T): Promise<T> => when(subject).not.isValid.reject();\n\nexport const isValid = <T>(t: T): boolean => validate(t).isValid;\n","import { validate } from './Validate';\nimport { Results } from '../types/Results';\nimport { Constructor } from '../types/Constructor';\nimport { Get, ofGet, Predicate } from '../types/Get';\nimport { isDefined, isEmpty, isIn } from '../types/Is';\nimport { toArray } from '../types/Array';\nimport { ErrorOrigin } from '../types/ErrorOrigin';\nimport { reject, resolve } from '../utils/Promise';\nimport { Exception } from '../types/Exception';\n\nexport class When<W> {\n constructor(\n readonly subject: W,\n readonly valid = true,\n private results?: Results\n ) {}\n\n get not(): When<W> {\n return this.clone(!this.valid);\n }\n\n get and(): When<W> {\n return this.clone(this.valid);\n }\n\n get isDefined(): When<W> {\n return this.clone(this.valid === isDefined(this.subject));\n }\n\n get isEmpty(): When<W> {\n return this.clone(this.valid === isEmpty(this.subject));\n }\n\n get isTrue(): When<W> {\n return this.clone(this.valid === !!this.subject);\n }\n\n get isValid(): When<W> {\n this.results = validate(this.subject);\n return this.clone(this.valid === this.results.isValid);\n }\n\n isInstance = <U>(c: Constructor<U>): When<W> => this.clone(this.valid === this.subject instanceof c);\n\n with = (pred: Predicate<W>): When<W> => this.clone(this.valid === ofGet(pred, this.subject));\n\n contains = (property: (w: W) => unknown): When<W> => this.clone(this.valid === isDefined(ofGet(property, this.subject)));\n\n in = (...items: W[]): When<W> => this.clone(this.valid === isIn(this.subject, toArray(...items)));\n\n is = (item: W): When<W> => this.clone(this.valid === (this.subject === item));\n\n reject = (error?: Get<ErrorOrigin, W>): Promise<NonNullable<W>> =>\n !this.valid ? resolve(this.subject as NonNullable<W>) : reject(ofGet(error, this.subject) ?? this.results ?? Exception.Unknown);\n\n recover = (f: (item: W) => W | Promise<W>): Promise<W> => resolve(!this.valid ? this.subject : f(this.subject));\n\n protected clone = (result = true): When<W> => new When(this.subject, result, this.results);\n}\n\nexport const when = <T>(subject: T): When<T> => new When<T>(subject);\n"],"mappings":"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","names":[]}
|