@thisisagile/easy 17.26.1 → 17.26.3
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-27MBNT3X.mjs +25 -0
- package/dist/chunk-27MBNT3X.mjs.map +1 -0
- package/dist/chunk-35SXXNQO.mjs +20 -0
- package/dist/chunk-35SXXNQO.mjs.map +1 -0
- package/dist/chunk-3M6NLHSO.mjs +18 -0
- package/dist/chunk-3M6NLHSO.mjs.map +1 -0
- package/dist/chunk-4CRBLF44.mjs +56 -0
- package/dist/chunk-4CRBLF44.mjs.map +1 -0
- package/dist/chunk-4K4X43SV.mjs +164 -0
- package/dist/chunk-4K4X43SV.mjs.map +1 -0
- package/dist/chunk-4LVZOQ6O.mjs +58 -0
- package/dist/chunk-4LVZOQ6O.mjs.map +1 -0
- package/dist/chunk-4N72FQFX.mjs +16 -0
- package/dist/chunk-4N72FQFX.mjs.map +1 -0
- package/dist/chunk-5AV36UKS.mjs +20 -0
- package/dist/chunk-5AV36UKS.mjs.map +1 -0
- package/dist/chunk-5DJPREIN.mjs +142 -0
- package/dist/chunk-5DJPREIN.mjs.map +1 -0
- package/dist/chunk-5ZHEIMZ7.mjs +79 -0
- package/dist/chunk-5ZHEIMZ7.mjs.map +1 -0
- package/dist/chunk-6QFV73AS.mjs +55 -0
- package/dist/chunk-6QFV73AS.mjs.map +1 -0
- package/dist/chunk-6UDAYZAZ.mjs +53 -0
- package/dist/chunk-6UDAYZAZ.mjs.map +1 -0
- package/dist/chunk-7HTKPMTI.mjs +72 -0
- package/dist/chunk-7HTKPMTI.mjs.map +1 -0
- package/dist/chunk-ABGKS4KE.mjs +297 -0
- package/dist/chunk-ABGKS4KE.mjs.map +1 -0
- package/dist/chunk-ADJAEGCT.mjs +21 -0
- package/dist/chunk-ADJAEGCT.mjs.map +1 -0
- package/dist/chunk-AGTB4HMP.mjs +11 -0
- package/dist/chunk-AGTB4HMP.mjs.map +1 -0
- package/dist/chunk-AINW2476.mjs +90 -0
- package/dist/chunk-AINW2476.mjs.map +1 -0
- package/dist/chunk-BDA5LB4S.mjs +29 -0
- package/dist/chunk-BDA5LB4S.mjs.map +1 -0
- package/dist/chunk-BIEWRRM7.mjs +26 -0
- package/dist/chunk-BIEWRRM7.mjs.map +1 -0
- package/dist/chunk-BIHKQLEE.mjs +40 -0
- package/dist/chunk-BIHKQLEE.mjs.map +1 -0
- package/dist/chunk-CO2AFYVD.mjs +43 -0
- package/dist/chunk-CO2AFYVD.mjs.map +1 -0
- package/dist/chunk-CSAPGLC7.mjs +94 -0
- package/dist/chunk-CSAPGLC7.mjs.map +1 -0
- package/dist/chunk-CSHFNF34.mjs +35 -0
- package/dist/chunk-CSHFNF34.mjs.map +1 -0
- package/dist/chunk-CWWAGBYB.mjs +46 -0
- package/dist/chunk-CWWAGBYB.mjs.map +1 -0
- package/dist/chunk-DEJ7A5PY.mjs +43 -0
- package/dist/chunk-DEJ7A5PY.mjs.map +1 -0
- package/dist/chunk-DRABNNX2.mjs +107 -0
- package/dist/chunk-DRABNNX2.mjs.map +1 -0
- package/dist/chunk-DXQSIBC7.mjs +13 -0
- package/dist/chunk-DXQSIBC7.mjs.map +1 -0
- package/dist/chunk-F34HSIZ5.mjs +68 -0
- package/dist/chunk-F34HSIZ5.mjs.map +1 -0
- package/dist/chunk-GADZDWP3.mjs +20 -0
- package/dist/chunk-GADZDWP3.mjs.map +1 -0
- package/dist/chunk-GB2P3UEO.mjs +82 -0
- package/dist/chunk-GB2P3UEO.mjs.map +1 -0
- package/dist/chunk-GCY5A63A.mjs +25 -0
- package/dist/chunk-GCY5A63A.mjs.map +1 -0
- package/dist/chunk-HL2BC7Z2.mjs +76 -0
- package/dist/chunk-HL2BC7Z2.mjs.map +1 -0
- package/dist/chunk-HULI73W2.mjs +37 -0
- package/dist/chunk-HULI73W2.mjs.map +1 -0
- package/dist/chunk-J3DYDXXF.mjs +175 -0
- package/dist/chunk-J3DYDXXF.mjs.map +1 -0
- package/dist/chunk-JMIXHXWM.mjs +23 -0
- package/dist/chunk-JMIXHXWM.mjs.map +1 -0
- package/dist/chunk-KJVTSC6I.mjs +24 -0
- package/dist/chunk-KJVTSC6I.mjs.map +1 -0
- package/dist/chunk-L63NPT4K.mjs +39 -0
- package/dist/chunk-L63NPT4K.mjs.map +1 -0
- package/dist/chunk-LYRXR6GZ.mjs +54 -0
- package/dist/chunk-LYRXR6GZ.mjs.map +1 -0
- package/dist/chunk-MBRLKMEQ.mjs +54 -0
- package/dist/chunk-MBRLKMEQ.mjs.map +1 -0
- package/dist/chunk-MDXL65W4.mjs +49 -0
- package/dist/chunk-MDXL65W4.mjs.map +1 -0
- package/dist/chunk-OFGI5FLG.mjs +11 -0
- package/dist/chunk-OFGI5FLG.mjs.map +1 -0
- package/dist/chunk-OKPGJD64.mjs +41 -0
- package/dist/chunk-OKPGJD64.mjs.map +1 -0
- package/dist/chunk-OQNZEKWO.mjs +24 -0
- package/dist/chunk-OQNZEKWO.mjs.map +1 -0
- package/dist/chunk-PIQ5Z4RB.mjs +18 -0
- package/dist/chunk-PIQ5Z4RB.mjs.map +1 -0
- package/dist/chunk-PIRWVOO2.mjs +7 -0
- package/dist/chunk-PIRWVOO2.mjs.map +1 -0
- package/dist/chunk-QBHHLIZY.mjs +51 -0
- package/dist/chunk-QBHHLIZY.mjs.map +1 -0
- package/dist/chunk-RNLFG4YX.mjs +20 -0
- package/dist/chunk-RNLFG4YX.mjs.map +1 -0
- package/dist/chunk-S6WR4MXU.mjs +324 -0
- package/dist/chunk-S6WR4MXU.mjs.map +1 -0
- package/dist/chunk-SDO3B3BQ.mjs +45 -0
- package/dist/chunk-SDO3B3BQ.mjs.map +1 -0
- package/dist/chunk-SJ4YFZKO.mjs +21 -0
- package/dist/chunk-SJ4YFZKO.mjs.map +1 -0
- package/dist/chunk-SJGQU3OG.mjs +15 -0
- package/dist/chunk-SJGQU3OG.mjs.map +1 -0
- package/dist/chunk-SPMDDHVK.mjs +40 -0
- package/dist/chunk-SPMDDHVK.mjs.map +1 -0
- package/dist/chunk-SSROJBD5.mjs +30 -0
- package/dist/chunk-SSROJBD5.mjs.map +1 -0
- package/dist/chunk-SW2OCUH3.mjs +10 -0
- package/dist/chunk-SW2OCUH3.mjs.map +1 -0
- package/dist/chunk-TCQRHKGS.mjs +20 -0
- package/dist/chunk-TCQRHKGS.mjs.map +1 -0
- package/dist/chunk-TNHYFGFF.mjs +60 -0
- package/dist/chunk-TNHYFGFF.mjs.map +1 -0
- package/dist/chunk-TYODLVCG.mjs +23 -0
- package/dist/chunk-TYODLVCG.mjs.map +1 -0
- package/dist/chunk-U5VBBUQ2.mjs +48 -0
- package/dist/chunk-U5VBBUQ2.mjs.map +1 -0
- package/dist/chunk-UYDZZAEK.mjs +11 -0
- package/dist/chunk-UYDZZAEK.mjs.map +1 -0
- package/dist/chunk-WJZFE5NE.mjs +17 -0
- package/dist/chunk-WJZFE5NE.mjs.map +1 -0
- package/dist/chunk-WSBULPUZ.mjs +30 -0
- package/dist/chunk-WSBULPUZ.mjs.map +1 -0
- package/dist/chunk-WSG55HKA.mjs +94 -0
- package/dist/chunk-WSG55HKA.mjs.map +1 -0
- package/dist/chunk-XL5IRJ2H.mjs +134 -0
- package/dist/chunk-XL5IRJ2H.mjs.map +1 -0
- package/dist/chunk-XUBQQUTS.mjs +50 -0
- package/dist/chunk-XUBQQUTS.mjs.map +1 -0
- package/dist/chunk-YPVIK4SP.mjs +57 -0
- package/dist/chunk-YPVIK4SP.mjs.map +1 -0
- package/dist/chunk-ZHXKBOK2.mjs +22 -0
- package/dist/chunk-ZHXKBOK2.mjs.map +1 -0
- package/dist/chunk-ZPNFXK7Y.mjs +36 -0
- package/dist/chunk-ZPNFXK7Y.mjs.map +1 -0
- package/dist/chunk-ZSLYORET.mjs +31 -0
- package/dist/chunk-ZSLYORET.mjs.map +1 -0
- package/dist/data/Condition.mjs +29 -0
- package/dist/data/Condition.mjs.map +1 -0
- package/dist/data/DataProvider.mjs +1 -0
- package/dist/data/DataProvider.mjs.map +1 -0
- package/dist/data/Database.mjs +23 -0
- package/dist/data/Database.mjs.map +1 -0
- package/dist/data/Field.mjs +47 -0
- package/dist/data/Field.mjs.map +1 -0
- package/dist/data/InMemoryGateway.mjs +70 -0
- package/dist/data/InMemoryGateway.mjs.map +1 -0
- package/dist/data/Query.mjs +1 -0
- package/dist/data/Query.mjs.map +1 -0
- package/dist/data/QueryProvider.mjs +1 -0
- package/dist/data/QueryProvider.mjs.map +1 -0
- package/dist/domain/Audit.mjs +36 -0
- package/dist/domain/Audit.mjs.map +1 -0
- package/dist/domain/Child.mjs +54 -0
- package/dist/domain/Child.mjs.map +1 -0
- package/dist/domain/DateTime.mjs +36 -0
- package/dist/domain/DateTime.mjs.map +1 -0
- package/dist/domain/Entity.mjs +71 -0
- package/dist/domain/Entity.mjs.map +1 -0
- package/dist/domain/Repo.mjs +96 -0
- package/dist/domain/Repo.mjs.map +1 -0
- package/dist/domain/Struct.mjs +33 -0
- package/dist/domain/Struct.mjs.map +1 -0
- package/dist/domain/Typo.mjs +114 -0
- package/dist/domain/Typo.mjs.map +1 -0
- package/dist/http/CacheControl.mjs +66 -0
- package/dist/http/CacheControl.mjs.map +1 -0
- package/dist/http/ContentType.mjs +21 -0
- package/dist/http/ContentType.mjs.map +1 -0
- package/dist/http/HttpHeader.mjs +8 -0
- package/dist/http/HttpHeader.mjs.map +1 -0
- package/dist/http/HttpStatus.mjs +25 -0
- package/dist/http/HttpStatus.mjs.map +1 -0
- package/dist/http/HttpVerb.mjs +21 -0
- package/dist/http/HttpVerb.mjs.map +1 -0
- package/dist/http/LocalRequestStore.mjs +29 -0
- package/dist/http/LocalRequestStore.mjs.map +1 -0
- package/dist/http/Request.mjs +1 -0
- package/dist/http/Request.mjs.map +1 -0
- package/dist/http/RequestOptions.mjs +30 -0
- package/dist/http/RequestOptions.mjs.map +1 -0
- package/dist/http/RequestProvider.mjs +1 -0
- package/dist/http/RequestProvider.mjs.map +1 -0
- package/dist/http/Response.mjs +13 -0
- package/dist/http/Response.mjs.map +1 -0
- package/dist/http/RestResult.mjs +34 -0
- package/dist/http/RestResult.mjs.map +1 -0
- package/dist/http/toResponse.mjs +33 -0
- package/dist/http/toResponse.mjs.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +115 -3476
- package/dist/index.mjs.map +1 -1
- package/dist/process/App.mjs +30 -0
- package/dist/process/App.mjs.map +1 -0
- package/dist/process/Manage.mjs +47 -0
- package/dist/process/Manage.mjs.map +1 -0
- package/dist/process/Scope.mjs +22 -0
- package/dist/process/Scope.mjs.map +1 -0
- package/dist/process/Search.mjs +31 -0
- package/dist/process/Search.mjs.map +1 -0
- package/dist/process/UseCase.mjs +53 -0
- package/dist/process/UseCase.mjs.map +1 -0
- package/dist/resources/Req.mjs +57 -0
- package/dist/resources/Req.mjs.map +1 -0
- package/dist/security/Jwt.mjs +77 -0
- package/dist/security/Jwt.mjs.map +1 -0
- package/dist/services/Api.mjs +44 -0
- package/dist/services/Api.mjs.map +1 -0
- package/dist/services/ApiGateway.mjs +45 -0
- package/dist/services/ApiGateway.mjs.map +1 -0
- package/dist/services/AxiosProvider.mjs +40 -0
- package/dist/services/AxiosProvider.mjs.map +1 -0
- package/dist/services/MappedRouteGateway.mjs +78 -0
- package/dist/services/MappedRouteGateway.mjs.map +1 -0
- package/dist/services/RouteGateway.mjs +46 -0
- package/dist/services/RouteGateway.mjs.map +1 -0
- package/dist/services/ViewRouteGateway.mjs +79 -0
- package/dist/services/ViewRouteGateway.mjs.map +1 -0
- package/dist/sql/Clause.mjs +24 -0
- package/dist/sql/Clause.mjs.map +1 -0
- package/dist/sql/Column.mjs +37 -0
- package/dist/sql/Column.mjs.map +1 -0
- package/dist/sql/Count.mjs +20 -0
- package/dist/sql/Count.mjs.map +1 -0
- package/dist/sql/Delete.mjs +19 -0
- package/dist/sql/Delete.mjs.map +1 -0
- package/dist/sql/Insert.mjs +21 -0
- package/dist/sql/Insert.mjs.map +1 -0
- package/dist/sql/Join.mjs +8 -0
- package/dist/sql/Join.mjs.map +1 -0
- package/dist/sql/Select.mjs +19 -0
- package/dist/sql/Select.mjs.map +1 -0
- package/dist/sql/SqlQuery.mjs +18 -0
- package/dist/sql/SqlQuery.mjs.map +1 -0
- package/dist/sql/Table.mjs +93 -0
- package/dist/sql/Table.mjs.map +1 -0
- package/dist/sql/TableGateway.mjs +72 -0
- package/dist/sql/TableGateway.mjs.map +1 -0
- package/dist/sql/Update.mjs +21 -0
- package/dist/sql/Update.mjs.map +1 -0
- package/dist/types/AnyKey.mjs +1 -0
- package/dist/types/AnyKey.mjs.map +1 -0
- package/dist/types/Array.mjs +16 -0
- package/dist/types/Array.mjs.map +1 -0
- package/dist/types/Builder.mjs +26 -0
- package/dist/types/Builder.mjs.map +1 -0
- package/dist/types/Cache.mjs +29 -0
- package/dist/types/Cache.mjs.map +1 -0
- package/dist/types/CacheAge.mjs +33 -0
- package/dist/types/CacheAge.mjs.map +1 -0
- package/dist/types/Case.mjs +29 -0
- package/dist/types/Case.mjs.map +1 -0
- package/dist/types/Constructor.mjs +23 -0
- package/dist/types/Constructor.mjs.map +1 -0
- package/dist/types/Context.mjs +28 -0
- package/dist/types/Context.mjs.map +1 -0
- package/dist/types/Currency.mjs +15 -0
- package/dist/types/Currency.mjs.map +1 -0
- package/dist/types/Enum.mjs +24 -0
- package/dist/types/Enum.mjs.map +1 -0
- package/dist/types/Environment.mjs +28 -0
- package/dist/types/Environment.mjs.map +1 -0
- package/dist/types/ErrorOrigin.mjs +1 -0
- package/dist/types/ErrorOrigin.mjs.map +1 -0
- package/dist/types/Exception.mjs +26 -0
- package/dist/types/Exception.mjs.map +1 -0
- package/dist/types/Falsy.mjs +10 -0
- package/dist/types/Falsy.mjs.map +1 -0
- package/dist/types/Func.mjs +8 -0
- package/dist/types/Func.mjs.map +1 -0
- package/dist/types/Gateway.mjs +24 -0
- package/dist/types/Gateway.mjs.map +1 -0
- package/dist/types/Get.mjs +13 -0
- package/dist/types/Get.mjs.map +1 -0
- package/dist/types/Id.mjs +13 -0
- package/dist/types/Id.mjs.map +1 -0
- package/dist/types/IdName.mjs +1 -0
- package/dist/types/IdName.mjs.map +1 -0
- package/dist/types/Identity.mjs +1 -0
- package/dist/types/Identity.mjs.map +1 -0
- package/dist/types/Indexed.mjs +15 -0
- package/dist/types/Indexed.mjs.map +1 -0
- package/dist/types/Is.mjs +42 -0
- package/dist/types/Is.mjs.map +1 -0
- package/dist/types/IsA.mjs +16 -0
- package/dist/types/IsA.mjs.map +1 -0
- package/dist/types/IsDate.mjs +14 -0
- package/dist/types/IsDate.mjs.map +1 -0
- package/dist/types/IsEqual.mjs +30 -0
- package/dist/types/IsEqual.mjs.map +1 -0
- package/dist/types/Json.d.ts +1 -0
- package/dist/types/Json.mjs +31 -0
- package/dist/types/Json.mjs.map +1 -0
- package/dist/types/List.mjs +27 -0
- package/dist/types/List.mjs.map +1 -0
- package/dist/types/Message.mjs +11 -0
- package/dist/types/Message.mjs.map +1 -0
- package/dist/types/Meta.mjs +19 -0
- package/dist/types/Meta.mjs.map +1 -0
- package/dist/types/Nullish.mjs +8 -0
- package/dist/types/Nullish.mjs.map +1 -0
- package/dist/types/Number.mjs +30 -0
- package/dist/types/Number.mjs.map +1 -0
- package/dist/types/Object.mjs +24 -0
- package/dist/types/Object.mjs.map +1 -0
- package/dist/types/PageList.mjs +40 -0
- package/dist/types/PageList.mjs.map +1 -0
- package/dist/types/Parser.mjs +80 -0
- package/dist/types/Parser.mjs.map +1 -0
- package/dist/types/Primitive.mjs +9 -0
- package/dist/types/Primitive.mjs.map +1 -0
- package/dist/types/Repository.mjs +24 -0
- package/dist/types/Repository.mjs.map +1 -0
- package/dist/types/Result.mjs +23 -0
- package/dist/types/Result.mjs.map +1 -0
- package/dist/types/Results.mjs +26 -0
- package/dist/types/Results.mjs.map +1 -0
- package/dist/types/Sort.mjs +10 -0
- package/dist/types/Sort.mjs.map +1 -0
- package/dist/types/Tag.mjs +26 -0
- package/dist/types/Tag.mjs.map +1 -0
- package/dist/types/Template.mjs +21 -0
- package/dist/types/Template.mjs.map +1 -0
- package/dist/types/Text.mjs +21 -0
- package/dist/types/Text.mjs.map +1 -0
- package/dist/types/ToText.mjs +23 -0
- package/dist/types/ToText.mjs.map +1 -0
- package/dist/types/Try.mjs +31 -0
- package/dist/types/Try.mjs.map +1 -0
- package/dist/types/TypeGuard.mjs +1 -0
- package/dist/types/TypeGuard.mjs.map +1 -0
- package/dist/types/Types.mjs +1 -0
- package/dist/types/Types.mjs.map +1 -0
- package/dist/types/Uri.mjs +119 -0
- package/dist/types/Uri.mjs.map +1 -0
- package/dist/types/Uuid.mjs +16 -0
- package/dist/types/Uuid.mjs.map +1 -0
- package/dist/types/Validatable.mjs +13 -0
- package/dist/types/Validatable.mjs.map +1 -0
- package/dist/types/Value.mjs +14 -0
- package/dist/types/Value.mjs.map +1 -0
- package/dist/utils/Base64.mjs +12 -0
- package/dist/utils/Base64.mjs.map +1 -0
- package/dist/utils/Convert.mjs +14 -0
- package/dist/utils/Convert.mjs.map +1 -0
- package/dist/utils/If.mjs +25 -0
- package/dist/utils/If.mjs.map +1 -0
- package/dist/utils/Loading.mjs +11 -0
- package/dist/utils/Loading.mjs.map +1 -0
- package/dist/utils/Log.mjs +21 -0
- package/dist/utils/Log.mjs.map +1 -0
- package/dist/utils/Mapper.mjs +28 -0
- package/dist/utils/Mapper.mjs.map +1 -0
- package/dist/utils/Promise.mjs +35 -0
- package/dist/utils/Promise.mjs.map +1 -0
- package/dist/utils/Property.mjs +13 -0
- package/dist/utils/Property.mjs.map +1 -0
- package/dist/utils/Seconds.mjs +18 -0
- package/dist/utils/Seconds.mjs.map +1 -0
- package/dist/utils/Sentence.mjs +71 -0
- package/dist/utils/Sentence.mjs.map +1 -0
- package/dist/utils/State.mjs +12 -0
- package/dist/utils/State.mjs.map +1 -0
- package/dist/utils/Traverse.mjs +12 -0
- package/dist/utils/Traverse.mjs.map +1 -0
- package/dist/utils/View.mjs +41 -0
- package/dist/utils/View.mjs.map +1 -0
- package/dist/utils/Wait.mjs +17 -0
- package/dist/utils/Wait.mjs.map +1 -0
- package/dist/validation/Contraints.mjs +65 -0
- package/dist/validation/Contraints.mjs.map +1 -0
- package/dist/validation/Validate.mjs +35 -0
- package/dist/validation/Validate.mjs.map +1 -0
- package/dist/validation/When.mjs +31 -0
- package/dist/validation/When.mjs.map +1 -0
- package/package.json +4 -13
- package/src/types/Json.ts +2 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AxiosProvider
|
|
3
|
+
} from "./chunk-4CRBLF44.mjs";
|
|
4
|
+
import {
|
|
5
|
+
HttpVerb
|
|
6
|
+
} from "./chunk-5AV36UKS.mjs";
|
|
7
|
+
import {
|
|
8
|
+
RequestOptions,
|
|
9
|
+
toPageOptions
|
|
10
|
+
} from "./chunk-AINW2476.mjs";
|
|
11
|
+
|
|
12
|
+
// src/services/Api.ts
|
|
13
|
+
var Api = class {
|
|
14
|
+
constructor(provider = new AxiosProvider(), store) {
|
|
15
|
+
this.provider = provider;
|
|
16
|
+
this.store = store;
|
|
17
|
+
}
|
|
18
|
+
get(uri, options, transform, transformError = (r) => r) {
|
|
19
|
+
return this.execute({
|
|
20
|
+
uri: uri.skip(toPageOptions(options)?.skip).take(toPageOptions(options)?.take),
|
|
21
|
+
verb: HttpVerb.Get,
|
|
22
|
+
transform,
|
|
23
|
+
transformError,
|
|
24
|
+
options: this.options(HttpVerb.Get, options)
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
post(uri, body, options = RequestOptions.Json, transform, transformError = (r) => r) {
|
|
28
|
+
return this.execute({
|
|
29
|
+
uri,
|
|
30
|
+
verb: HttpVerb.Post,
|
|
31
|
+
body,
|
|
32
|
+
transform,
|
|
33
|
+
transformError,
|
|
34
|
+
options: this.options(HttpVerb.Post, options)
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
put(uri, body, options = RequestOptions.Json, transform, transformError = (r) => r) {
|
|
38
|
+
return this.execute({
|
|
39
|
+
uri,
|
|
40
|
+
verb: HttpVerb.Put,
|
|
41
|
+
body,
|
|
42
|
+
transform,
|
|
43
|
+
transformError,
|
|
44
|
+
options: this.options(HttpVerb.Put, options)
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
patch(uri, body, options = RequestOptions.Json, transform, transformError = (r) => r) {
|
|
48
|
+
return this.execute({
|
|
49
|
+
uri,
|
|
50
|
+
verb: HttpVerb.Patch,
|
|
51
|
+
body,
|
|
52
|
+
transform,
|
|
53
|
+
transformError,
|
|
54
|
+
options: this.options(HttpVerb.Patch, options)
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
delete(uri, options = RequestOptions.Json, transform, transformError = (r) => r) {
|
|
58
|
+
return this.execute({
|
|
59
|
+
uri,
|
|
60
|
+
verb: HttpVerb.Delete,
|
|
61
|
+
transform,
|
|
62
|
+
transformError,
|
|
63
|
+
options: this.options(HttpVerb.Delete, options)
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
options(verb, options) {
|
|
67
|
+
return options instanceof RequestOptions ? options : RequestOptions.Json;
|
|
68
|
+
}
|
|
69
|
+
execute(req) {
|
|
70
|
+
return this.store ? this.store.execute(req, () => this.provider.execute(req)) : this.provider.execute(req);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
var api = new Api();
|
|
74
|
+
|
|
75
|
+
export {
|
|
76
|
+
Api,
|
|
77
|
+
api
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=chunk-5ZHEIMZ7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/services/Api.ts"],"sourcesContent":["import { AxiosProvider } from './AxiosProvider';\nimport { RequestOptions, toPageOptions } from '../http/RequestOptions';\nimport { FetchOptions } from '../types/Gateway';\nimport { RequestProvider } from '../http/RequestProvider';\nimport { Store } from '../types/Cache';\nimport { Uri } from '../types/Uri';\nimport { HttpVerb } from '../http/HttpVerb';\nimport { Request } from '../http/Request';\nimport { Response } from '../http/Response';\n\nexport type RouteOptions = RequestOptions | FetchOptions;\n\nexport class Api {\n constructor(\n readonly provider: RequestProvider = new AxiosProvider(),\n protected store?: Store<Response, Request>\n ) {}\n\n get(uri: Uri, options?: RouteOptions, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri: uri.skip(toPageOptions(options)?.skip).take(toPageOptions(options)?.take),\n verb: HttpVerb.Get,\n transform,\n transformError,\n options: this.options(HttpVerb.Get, options),\n });\n }\n\n post(uri: Uri, body?: unknown, options: RouteOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri,\n verb: HttpVerb.Post,\n body,\n transform,\n transformError,\n options: this.options(HttpVerb.Post, options),\n });\n }\n\n put(uri: Uri, body?: unknown, options: RouteOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri,\n verb: HttpVerb.Put,\n body,\n transform,\n transformError,\n options: this.options(HttpVerb.Put, options),\n });\n }\n\n patch(uri: Uri, body?: unknown, options: RouteOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri,\n verb: HttpVerb.Patch,\n body,\n transform,\n transformError,\n options: this.options(HttpVerb.Patch, options),\n });\n }\n\n delete(uri: Uri, options: RouteOptions = RequestOptions.Json, transform?: (b: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri,\n verb: HttpVerb.Delete,\n transform,\n transformError,\n options: this.options(HttpVerb.Delete, options),\n });\n }\n\n options(verb: HttpVerb, options?: RouteOptions): RequestOptions {\n return options instanceof RequestOptions ? options : RequestOptions.Json;\n }\n\n execute(req: Request): Promise<Response> {\n return this.store ? this.store.execute(req, () => this.provider.execute(req)) : this.provider.execute(req);\n }\n}\n\nexport const api: Api = new Api();\n"],"mappings":";;;;;;;;;;;;AAYO,IAAM,MAAN,MAAU;AAAA,EACf,YACW,WAA4B,IAAI,cAAc,GAC7C,OACV;AAFS;AACC;AAAA,EACT;AAAA,EAEH,IAAI,KAAU,SAAwB,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AACpH,WAAO,KAAK,QAAQ;AAAA,MAClB,KAAK,IAAI,KAAK,cAAc,OAAO,GAAG,IAAI,EAAE,KAAK,cAAc,OAAO,GAAG,IAAI;AAAA,MAC7E,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,KAAK,OAAO;AAAA,IAC7C,CAAC;AAAA,EACH;AAAA,EAEA,KAAK,KAAU,MAAgB,UAAwB,eAAe,MAAM,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AAC1J,WAAO,KAAK,QAAQ;AAAA,MAClB;AAAA,MACA,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,MAAM,OAAO;AAAA,IAC9C,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,KAAU,MAAgB,UAAwB,eAAe,MAAM,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AACzJ,WAAO,KAAK,QAAQ;AAAA,MAClB;AAAA,MACA,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,KAAK,OAAO;AAAA,IAC7C,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,KAAU,MAAgB,UAAwB,eAAe,MAAM,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AAC3J,WAAO,KAAK,QAAQ;AAAA,MAClB;AAAA,MACA,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,OAAO,OAAO;AAAA,IAC/C,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,KAAU,UAAwB,eAAe,MAAM,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AAC5I,WAAO,KAAK,QAAQ;AAAA,MAClB;AAAA,MACA,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,QAAQ,OAAO;AAAA,IAChD,CAAC;AAAA,EACH;AAAA,EAEA,QAAQ,MAAgB,SAAwC;AAC9D,WAAO,mBAAmB,iBAAiB,UAAU,eAAe;AAAA,EACtE;AAAA,EAEA,QAAQ,KAAiC;AACvC,WAAO,KAAK,QAAQ,KAAK,MAAM,QAAQ,KAAK,MAAM,KAAK,SAAS,QAAQ,GAAG,CAAC,IAAI,KAAK,SAAS,QAAQ,GAAG;AAAA,EAC3G;AACF;AAEO,IAAM,MAAW,IAAI,IAAI;","names":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {
|
|
2
|
+
HttpStatus,
|
|
3
|
+
isHttpStatus
|
|
4
|
+
} from "./chunk-WSG55HKA.mjs";
|
|
5
|
+
import {
|
|
6
|
+
isResponse
|
|
7
|
+
} from "./chunk-UYDZZAEK.mjs";
|
|
8
|
+
import {
|
|
9
|
+
choose
|
|
10
|
+
} from "./chunk-S6WR4MXU.mjs";
|
|
11
|
+
import {
|
|
12
|
+
isResults
|
|
13
|
+
} from "./chunk-CSHFNF34.mjs";
|
|
14
|
+
import {
|
|
15
|
+
isResult,
|
|
16
|
+
toResult
|
|
17
|
+
} from "./chunk-RNLFG4YX.mjs";
|
|
18
|
+
import {
|
|
19
|
+
toList
|
|
20
|
+
} from "./chunk-ABGKS4KE.mjs";
|
|
21
|
+
import {
|
|
22
|
+
isDefined,
|
|
23
|
+
isError
|
|
24
|
+
} from "./chunk-DEJ7A5PY.mjs";
|
|
25
|
+
|
|
26
|
+
// src/http/RestResult.ts
|
|
27
|
+
var hasErrors = (a) => isDefined(a?.error?.errors);
|
|
28
|
+
var hasItems = (a) => isDefined(a?.data.items);
|
|
29
|
+
var rest = {
|
|
30
|
+
toData: (status, items = [], totalItems, meta) => ({
|
|
31
|
+
data: {
|
|
32
|
+
code: status.status,
|
|
33
|
+
items: toList(items),
|
|
34
|
+
itemCount: items.length,
|
|
35
|
+
totalItems,
|
|
36
|
+
meta
|
|
37
|
+
}
|
|
38
|
+
}),
|
|
39
|
+
toError: (status, errors = [toResult(status.name)]) => ({
|
|
40
|
+
error: {
|
|
41
|
+
code: status.status,
|
|
42
|
+
message: status.name ?? errors[0].message ?? "Unknown",
|
|
43
|
+
errors: toList(errors),
|
|
44
|
+
errorCount: errors.length
|
|
45
|
+
}
|
|
46
|
+
}),
|
|
47
|
+
to: (payload, status) => choose(payload).is.not.defined((p) => p, void 0).type(isHttpStatus, (h) => rest.toError(h ?? status ?? HttpStatus.InternalServerError, [toResult(h.name)])).type(isResult, (r) => rest.toError(status ?? HttpStatus.BadRequest, [r])).type(isError, (e) => rest.toError(status ?? HttpStatus.BadRequest, [e])).type(isResults, (r) => rest.toError(status ?? HttpStatus.BadRequest, r.results)).type(isResponse, (r) => rest.toError(status ?? HttpStatus.byId(r.body.error?.code), r.body.error?.errors)).type(hasErrors, (e) => rest.toError(status ?? HttpStatus.byId(e.error.code, HttpStatus.BadRequest), e.error.errors)).type(hasItems, (d) => rest.toData(status ?? HttpStatus.byId(d.data.code, HttpStatus.Ok), d.data.items, d.data.totalItems, d.data.meta)).else((p) => rest.toData(status ?? HttpStatus.Ok, toList(p)))
|
|
48
|
+
};
|
|
49
|
+
var isRestResult = (r) => isDefined(r) && (isDefined(r.data) || isDefined(r.error));
|
|
50
|
+
|
|
51
|
+
export {
|
|
52
|
+
rest,
|
|
53
|
+
isRestResult
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=chunk-6QFV73AS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/http/RestResult.ts"],"sourcesContent":["import { HttpStatus, isHttpStatus } from './HttpStatus';\nimport { isResponse } from './Response';\nimport { List, toList } from '../types/List';\nimport { Json } from '../types/Json';\nimport { isResult, Result, toResult } from '../types/Result';\nimport { isDefined, isError } from '../types/Is';\nimport { choose } from '../types/Case';\nimport { isResults } from '../types/Results';\nimport { Id } from '../types/Id';\n\nexport type RestResult = {\n data?: { code: number; items: List<Json>; itemCount: number; totalItems?: number; meta?: Json };\n error?: { code: number; message: string; errorCount: number; errors: List<Result> };\n};\n\nconst hasErrors = (a: any): a is { error: { code: number; errors: List<Result> } } => isDefined(a?.error?.errors);\nconst hasItems = (a: any): a is { data: { code: number; items: List<Json>; totalItems?: number; meta?: Json } } => isDefined(a?.data.items);\n\nexport const rest = {\n toData: (status: HttpStatus, items: Json[] = [], totalItems?: number, meta?: Json): RestResult => ({\n data: {\n code: status.status,\n items: toList(items),\n itemCount: items.length,\n totalItems,\n meta,\n },\n }),\n toError: (status: HttpStatus, errors: Result[] = [toResult(status.name)]): RestResult => ({\n error: {\n code: status.status,\n message: status.name ?? errors[0].message ?? 'Unknown',\n errors: toList(errors),\n errorCount: errors.length,\n },\n }),\n to: (payload?: any | any[], status?: HttpStatus): RestResult =>\n choose(payload)\n .is.not.defined(p => p, undefined as unknown as RestResult)\n .type(isHttpStatus, h => rest.toError(h ?? status ?? HttpStatus.InternalServerError, [toResult(h.name)]))\n .type(isResult, r => rest.toError(status ?? HttpStatus.BadRequest, [r]))\n .type(isError, e => rest.toError(status ?? HttpStatus.BadRequest, [e]))\n .type(isResults, r => rest.toError(status ?? HttpStatus.BadRequest, r.results))\n .type(isResponse, r => rest.toError(status ?? HttpStatus.byId(r.body.error?.code as Id), r.body.error?.errors))\n .type(hasErrors, e => rest.toError(status ?? HttpStatus.byId(e.error.code, HttpStatus.BadRequest), e.error.errors))\n .type(hasItems, d => rest.toData(status ?? HttpStatus.byId(d.data.code, HttpStatus.Ok), d.data.items, d.data.totalItems, d.data.meta))\n .else(p => rest.toData(status ?? HttpStatus.Ok, toList(p))),\n};\n\nexport const isRestResult = (r: unknown): r is RestResult => isDefined(r) && (isDefined((r as RestResult).data) || isDefined((r as RestResult).error));\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAM,YAAY,CAAC,MAAmE,UAAU,GAAG,OAAO,MAAM;AAChH,IAAM,WAAW,CAAC,MAAiG,UAAU,GAAG,KAAK,KAAK;AAEnI,IAAM,OAAO;AAAA,EAClB,QAAQ,CAAC,QAAoB,QAAgB,CAAC,GAAG,YAAqB,UAA6B;AAAA,IACjG,MAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,OAAO,OAAO,KAAK;AAAA,MACnB,WAAW,MAAM;AAAA,MACjB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS,CAAC,QAAoB,SAAmB,CAAC,SAAS,OAAO,IAAI,CAAC,OAAmB;AAAA,IACxF,OAAO;AAAA,MACL,MAAM,OAAO;AAAA,MACb,SAAS,OAAO,QAAQ,OAAO,CAAC,EAAE,WAAW;AAAA,MAC7C,QAAQ,OAAO,MAAM;AAAA,MACrB,YAAY,OAAO;AAAA,IACrB;AAAA,EACF;AAAA,EACA,IAAI,CAAC,SAAuB,WAC1B,OAAO,OAAO,EACX,GAAG,IAAI,QAAQ,OAAK,GAAG,MAAkC,EACzD,KAAK,cAAc,OAAK,KAAK,QAAQ,KAAK,UAAU,WAAW,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EACvG,KAAK,UAAU,OAAK,KAAK,QAAQ,UAAU,WAAW,YAAY,CAAC,CAAC,CAAC,CAAC,EACtE,KAAK,SAAS,OAAK,KAAK,QAAQ,UAAU,WAAW,YAAY,CAAC,CAAC,CAAC,CAAC,EACrE,KAAK,WAAW,OAAK,KAAK,QAAQ,UAAU,WAAW,YAAY,EAAE,OAAO,CAAC,EAC7E,KAAK,YAAY,OAAK,KAAK,QAAQ,UAAU,WAAW,KAAK,EAAE,KAAK,OAAO,IAAU,GAAG,EAAE,KAAK,OAAO,MAAM,CAAC,EAC7G,KAAK,WAAW,OAAK,KAAK,QAAQ,UAAU,WAAW,KAAK,EAAE,MAAM,MAAM,WAAW,UAAU,GAAG,EAAE,MAAM,MAAM,CAAC,EACjH,KAAK,UAAU,OAAK,KAAK,OAAO,UAAU,WAAW,KAAK,EAAE,KAAK,MAAM,WAAW,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,CAAC,EACpI,KAAK,OAAK,KAAK,OAAO,UAAU,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC;AAChE;AAEO,IAAM,eAAe,CAAC,MAAgC,UAAU,CAAC,MAAM,UAAW,EAAiB,IAAI,KAAK,UAAW,EAAiB,KAAK;","names":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import {
|
|
2
|
+
convert
|
|
3
|
+
} from "./chunk-MDXL65W4.mjs";
|
|
4
|
+
import {
|
|
5
|
+
json
|
|
6
|
+
} from "./chunk-7HTKPMTI.mjs";
|
|
7
|
+
import {
|
|
8
|
+
isDefined
|
|
9
|
+
} from "./chunk-DEJ7A5PY.mjs";
|
|
10
|
+
|
|
11
|
+
// src/data/Condition.ts
|
|
12
|
+
var Condition = class {
|
|
13
|
+
constructor(key, operator, value) {
|
|
14
|
+
this.key = key;
|
|
15
|
+
this.operator = operator;
|
|
16
|
+
this.value = value;
|
|
17
|
+
}
|
|
18
|
+
and = (...others) => new LogicalCondition("and", [this, ...others]);
|
|
19
|
+
or = (...others) => new LogicalCondition("or", [this, ...others]);
|
|
20
|
+
toJSON() {
|
|
21
|
+
return { [this.key]: { [`$${this.operator}`]: json.parse(this.value) } };
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
var LogicalCondition = class {
|
|
25
|
+
constructor(operator, conditions) {
|
|
26
|
+
this.operator = operator;
|
|
27
|
+
this.conditions = conditions;
|
|
28
|
+
}
|
|
29
|
+
toJSON() {
|
|
30
|
+
return { [`$${this.operator}`]: this.conditions.map((c) => c.toJSON()) };
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var SortCondition = class extends Condition {
|
|
34
|
+
constructor(key, value) {
|
|
35
|
+
super(key, "", value);
|
|
36
|
+
this.key = key;
|
|
37
|
+
this.value = value;
|
|
38
|
+
}
|
|
39
|
+
toJSON() {
|
|
40
|
+
return { [this.key]: this.value };
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var toCondition = (field, operator, value, conv = convert.default) => new Condition(field, operator, conv.from(value));
|
|
44
|
+
var isSortCondition = (s) => isDefined(s) && s instanceof SortCondition;
|
|
45
|
+
|
|
46
|
+
export {
|
|
47
|
+
Condition,
|
|
48
|
+
LogicalCondition,
|
|
49
|
+
SortCondition,
|
|
50
|
+
toCondition,
|
|
51
|
+
isSortCondition
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=chunk-6UDAYZAZ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/data/Condition.ts"],"sourcesContent":["import { json, Json, JsonValue } from '../types/Json';\nimport { Sort } from '../types/Sort';\nimport { convert, Convert } from '../utils/Convert';\nimport { isDefined } from '../types/Is';\n\nexport class Condition {\n constructor(\n readonly key: string,\n readonly operator: string,\n readonly value: unknown\n ) {}\n\n and = (...others: Condition[]): LogicalCondition => new LogicalCondition('and', [this, ...others]);\n or = (...others: Condition[]): LogicalCondition => new LogicalCondition('or', [this, ...others]);\n\n toJSON(): Json {\n return { [this.key]: { [`$${this.operator}`]: json.parse(this.value) } };\n }\n}\n\nexport class LogicalCondition {\n constructor(\n readonly operator: string,\n readonly conditions: Condition[]\n ) {}\n\n toJSON(): Json {\n return { [`$${this.operator}`]: this.conditions.map(c => c.toJSON()) };\n }\n}\n\nexport class SortCondition extends Condition implements Sort {\n constructor(\n readonly key: string,\n readonly value: -1 | 1\n ) {\n super(key, '', value);\n }\n\n toJSON(): Json {\n return { [this.key]: this.value };\n }\n}\n\nexport const toCondition = (field: string, operator: string, value: unknown, conv: Convert = convert.default): Condition =>\n new Condition(field, operator, conv.from(value) as JsonValue);\n\nexport const isSortCondition = (s?: unknown): s is SortCondition => isDefined(s) && s instanceof SortCondition;\n"],"mappings":";;;;;;;;;;;AAKO,IAAM,YAAN,MAAgB;AAAA,EACrB,YACW,KACA,UACA,OACT;AAHS;AACA;AACA;AAAA,EACR;AAAA,EAEH,MAAM,IAAI,WAA0C,IAAI,iBAAiB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AAAA,EACjG,KAAK,IAAI,WAA0C,IAAI,iBAAiB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;AAAA,EAE/F,SAAe;AACb,WAAO,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,GAAG,KAAK,MAAM,KAAK,KAAK,EAAE,EAAE;AAAA,EACzE;AACF;AAEO,IAAM,mBAAN,MAAuB;AAAA,EAC5B,YACW,UACA,YACT;AAFS;AACA;AAAA,EACR;AAAA,EAEH,SAAe;AACb,WAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,GAAG,KAAK,WAAW,IAAI,OAAK,EAAE,OAAO,CAAC,EAAE;AAAA,EACvE;AACF;AAEO,IAAM,gBAAN,cAA4B,UAA0B;AAAA,EAC3D,YACW,KACA,OACT;AACA,UAAM,KAAK,IAAI,KAAK;AAHX;AACA;AAAA,EAGX;AAAA,EAEA,SAAe;AACb,WAAO,EAAE,CAAC,KAAK,GAAG,GAAG,KAAK,MAAM;AAAA,EAClC;AACF;AAEO,IAAM,cAAc,CAAC,OAAe,UAAkB,OAAgB,OAAgB,QAAQ,YACnG,IAAI,UAAU,OAAO,UAAU,KAAK,KAAK,KAAK,CAAc;AAEvD,IAAM,kBAAkB,CAAC,MAAoC,UAAU,CAAC,KAAK,aAAa;","names":[]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import {
|
|
2
|
+
entries
|
|
3
|
+
} from "./chunk-HULI73W2.mjs";
|
|
4
|
+
import {
|
|
5
|
+
ifDefined
|
|
6
|
+
} from "./chunk-ABGKS4KE.mjs";
|
|
7
|
+
import {
|
|
8
|
+
ofGet
|
|
9
|
+
} from "./chunk-SJGQU3OG.mjs";
|
|
10
|
+
import {
|
|
11
|
+
isA
|
|
12
|
+
} from "./chunk-ZHXKBOK2.mjs";
|
|
13
|
+
import {
|
|
14
|
+
isDefined,
|
|
15
|
+
isEmpty,
|
|
16
|
+
isObject
|
|
17
|
+
} from "./chunk-DEJ7A5PY.mjs";
|
|
18
|
+
|
|
19
|
+
// src/types/Json.ts
|
|
20
|
+
var isJson = (subject) => isA(subject, "toJSON");
|
|
21
|
+
var json = {
|
|
22
|
+
parse: (subject) => JSON.parse(JSON.stringify(subject ?? {})),
|
|
23
|
+
merge: (...subjects) => json.parse(subjects.map((s) => asJson(s, (s2) => json.parse(s2))).reduce((js, j) => ({ ...js, ...j }), {})),
|
|
24
|
+
delete: (subject, key) => {
|
|
25
|
+
ifDefined(subject, () => delete subject[key]);
|
|
26
|
+
return subject;
|
|
27
|
+
},
|
|
28
|
+
set: (subject, key = "", value) => isEmpty(key) ? subject : value !== void 0 ? { ...subject, ...{ [key]: value } } : json.delete(subject, key),
|
|
29
|
+
omit: (subject, ...keys) => keys.reduce((js, k) => json.delete(js, k), json.parse(subject)),
|
|
30
|
+
pick: (subject, ...keys) => keys.reduce((js, k) => json.set(js, k, subject[k]), {}),
|
|
31
|
+
defaults: (options = {}, defaults = {}) => json.merge(defaults, options),
|
|
32
|
+
isSubset: (subject, subset) => !entries(subset).some(([k, v]) => subject[k] !== v),
|
|
33
|
+
split: (t, keys, prop = "extracted") => {
|
|
34
|
+
const extracted = {};
|
|
35
|
+
const rest = { ...t };
|
|
36
|
+
keys.forEach((key) => {
|
|
37
|
+
if (key in t) {
|
|
38
|
+
ifDefined(t[key], (v) => extracted[key] = v);
|
|
39
|
+
delete rest[key];
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return { [prop]: extracted, ...rest };
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var toJson = json.merge;
|
|
46
|
+
var asJson = (j, alt = {}) => isJson(j) ? j.toJSON() : isObject(j) ? j : ofGet(alt, j);
|
|
47
|
+
var Any = class {
|
|
48
|
+
constructor(value) {
|
|
49
|
+
this.value = value;
|
|
50
|
+
}
|
|
51
|
+
merge = (...subjects) => any(json.merge(this.value, ...subjects));
|
|
52
|
+
delete = (key) => any(json.delete(this.value, key));
|
|
53
|
+
omit = (...keys) => any(json.omit(this.value, ...keys));
|
|
54
|
+
set = (key, value) => any(json.set(this.value, key, value));
|
|
55
|
+
toJSON() {
|
|
56
|
+
return this.value;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
var takeFirstKey = (j, alt = "") => entries(asJson(j)).first(([, v]) => isDefined(v))?.[0] ?? alt;
|
|
60
|
+
var takeFirst = (j) => entries(j).first(([, v]) => isDefined(v));
|
|
61
|
+
var any = (value) => new Any(value);
|
|
62
|
+
|
|
63
|
+
export {
|
|
64
|
+
isJson,
|
|
65
|
+
json,
|
|
66
|
+
toJson,
|
|
67
|
+
asJson,
|
|
68
|
+
takeFirstKey,
|
|
69
|
+
takeFirst,
|
|
70
|
+
any
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=chunk-7HTKPMTI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types/Json.ts"],"sourcesContent":["import { isA } from './IsA';\nimport { isDefined, isEmpty, isObject } from './Is';\nimport { Get, ofGet } from './Get';\nimport { ifDefined } from '../utils/If';\nimport { TypeGuard } from './TypeGuard';\nimport { entries } from './Object';\n\nexport type JsonValue = string | number | boolean | null | Json | JsonValue[];\nexport type Json = { [key: string]: JsonValue };\n\nexport const isJson: TypeGuard<{ toJSON: () => Json }> = (subject?: unknown): subject is { toJSON: () => Json } =>\n isA<{ toJSON: () => Json }>(subject, 'toJSON');\n\nexport const json = {\n parse: <T extends Json = Json>(subject: unknown): T => JSON.parse(JSON.stringify(subject ?? {})),\n merge: (...subjects: unknown[]): Json => json.parse(subjects.map(s => asJson(s, s => json.parse(s))).reduce((js, j) => ({ ...js, ...j }), {})),\n delete: <T extends Json = Json>(subject: T, key: string): T => {\n ifDefined(subject, () => delete (subject as any)[key]);\n return subject;\n },\n set: <T extends Json = Json>(subject: T, key = '', value?: unknown): T =>\n isEmpty(key) ? subject : value !== undefined ? { ...(subject as any), ...{ [key]: value as JsonValue } } : json.delete(subject, key),\n omit: <T extends Json = Json>(subject: T, ...keys: string[]): T => keys.reduce((js, k) => json.delete(js, k), json.parse<T>(subject)),\n pick: <T extends Json = Json>(subject: T, ...keys: string[]): T => keys.reduce((js, k) => json.set(js, k, (subject as any)[k]), {} as T),\n defaults: <T extends Json = Json>(options: Partial<T> = {}, defaults: Partial<T> = {}): T => json.merge(defaults, options) as T,\n isSubset: (subject: Json, subset: Json): boolean => !entries(subset).some(([k, v]) => subject[k] !== v),\n split: <T extends Record<string, unknown>, K extends string = 'extracted'>(\n t: T,\n keys: readonly (keyof T)[],\n prop: K = 'extracted' as K\n ): {\n [P in K]: Partial<T>;\n } => {\n const extracted = {} as Partial<T>;\n const rest = { ...t };\n keys.forEach(key => {\n if (key in t) {\n ifDefined(t[key], v => (extracted[key] = v));\n delete rest[key as string];\n }\n });\n return { [prop]: extracted, ...rest };\n },\n};\n\nexport const toJson = json.merge;\n\nexport const asJson = (j?: unknown, alt: Get<Json> = {}): Json => (isJson(j) ? j.toJSON() : isObject(j) ? (j as Json) : ofGet(alt, j));\n\nclass Any<T extends Json> {\n constructor(readonly value: T) {}\n\n merge = (...subjects: T[]): Any<T> => any<T>(json.merge(this.value, ...subjects) as T);\n delete = (key: keyof T): Any<T> => any<T>(json.delete<T>(this.value, key as string));\n omit = (...keys: (keyof T)[]): Any<T> => any<T>(json.omit<T>(this.value, ...(keys as string[])));\n set = (key: keyof T, value?: unknown): Any<T> => any<T>(json.set(this.value, key as string, value));\n\n toJSON(): Json {\n return this.value;\n }\n}\n\nexport const takeFirstKey = (j: unknown, alt: string = ''): string => entries(asJson(j)).first(([, v]) => isDefined(v))?.[0] ?? alt;\n\nexport const takeFirst = <K extends string = string, T = any>(j: Record<K, T>): [K, T] => entries(j).first(([, v]) => isDefined(v)) as [K, T];\n\nexport const any = <T extends Json = Json>(value: T): Any<T> => new Any<T>(value);\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAUO,IAAM,SAA4C,CAAC,YACxD,IAA4B,SAAS,QAAQ;AAExC,IAAM,OAAO;AAAA,EAClB,OAAO,CAAwB,YAAwB,KAAK,MAAM,KAAK,UAAU,WAAW,CAAC,CAAC,CAAC;AAAA,EAC/F,OAAO,IAAI,aAA8B,KAAK,MAAM,SAAS,IAAI,OAAK,OAAO,GAAG,CAAAA,OAAK,KAAK,MAAMA,EAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAAA,EAC7I,QAAQ,CAAwB,SAAY,QAAmB;AAC7D,cAAU,SAAS,MAAM,OAAQ,QAAgB,GAAG,CAAC;AACrD,WAAO;AAAA,EACT;AAAA,EACA,KAAK,CAAwB,SAAY,MAAM,IAAI,UACjD,QAAQ,GAAG,IAAI,UAAU,UAAU,SAAY,EAAE,GAAI,SAAiB,GAAG,EAAE,CAAC,GAAG,GAAG,MAAmB,EAAE,IAAI,KAAK,OAAO,SAAS,GAAG;AAAA,EACrI,MAAM,CAAwB,YAAe,SAAsB,KAAK,OAAO,CAAC,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,GAAG,KAAK,MAAS,OAAO,CAAC;AAAA,EACpI,MAAM,CAAwB,YAAe,SAAsB,KAAK,OAAO,CAAC,IAAI,MAAM,KAAK,IAAI,IAAI,GAAI,QAAgB,CAAC,CAAC,GAAG,CAAC,CAAM;AAAA,EACvI,UAAU,CAAwB,UAAsB,CAAC,GAAG,WAAuB,CAAC,MAAS,KAAK,MAAM,UAAU,OAAO;AAAA,EACzH,UAAU,CAAC,SAAe,WAA0B,CAAC,QAAQ,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC;AAAA,EACtG,OAAO,CACL,GACA,MACA,OAAU,gBAGP;AACH,UAAM,YAAY,CAAC;AACnB,UAAM,OAAO,EAAE,GAAG,EAAE;AACpB,SAAK,QAAQ,SAAO;AAClB,UAAI,OAAO,GAAG;AACZ,kBAAU,EAAE,GAAG,GAAG,OAAM,UAAU,GAAG,IAAI,CAAE;AAC3C,eAAO,KAAK,GAAa;AAAA,MAC3B;AAAA,IACF,CAAC;AACD,WAAO,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,KAAK;AAAA,EACtC;AACF;AAEO,IAAM,SAAS,KAAK;AAEpB,IAAM,SAAS,CAAC,GAAa,MAAiB,CAAC,MAAa,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,IAAK,IAAa,MAAM,KAAK,CAAC;AAEpI,IAAM,MAAN,MAA0B;AAAA,EACxB,YAAqB,OAAU;AAAV;AAAA,EAAW;AAAA,EAEhC,QAAQ,IAAI,aAA0B,IAAO,KAAK,MAAM,KAAK,OAAO,GAAG,QAAQ,CAAM;AAAA,EACrF,SAAS,CAAC,QAAyB,IAAO,KAAK,OAAU,KAAK,OAAO,GAAa,CAAC;AAAA,EACnF,OAAO,IAAI,SAA8B,IAAO,KAAK,KAAQ,KAAK,OAAO,GAAI,IAAiB,CAAC;AAAA,EAC/F,MAAM,CAAC,KAAc,UAA4B,IAAO,KAAK,IAAI,KAAK,OAAO,KAAe,KAAK,CAAC;AAAA,EAElG,SAAe;AACb,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,eAAe,CAAC,GAAY,MAAc,OAAe,QAAQ,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK;AAEzH,IAAM,YAAY,CAAqC,MAA4B,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,CAAC;AAE3H,IAAM,MAAM,CAAwB,UAAqB,IAAI,IAAO,KAAK;","names":["s"]}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import {
|
|
2
|
+
traverse
|
|
3
|
+
} from "./chunk-SSROJBD5.mjs";
|
|
4
|
+
import {
|
|
5
|
+
toArray
|
|
6
|
+
} from "./chunk-CO2AFYVD.mjs";
|
|
7
|
+
import {
|
|
8
|
+
asString
|
|
9
|
+
} from "./chunk-BDA5LB4S.mjs";
|
|
10
|
+
import {
|
|
11
|
+
ofGet,
|
|
12
|
+
ofProperty
|
|
13
|
+
} from "./chunk-SJGQU3OG.mjs";
|
|
14
|
+
import {
|
|
15
|
+
isA
|
|
16
|
+
} from "./chunk-ZHXKBOK2.mjs";
|
|
17
|
+
import {
|
|
18
|
+
ofConstruct,
|
|
19
|
+
on,
|
|
20
|
+
use
|
|
21
|
+
} from "./chunk-ZPNFXK7Y.mjs";
|
|
22
|
+
import {
|
|
23
|
+
isArray,
|
|
24
|
+
isDefined,
|
|
25
|
+
isEmpty,
|
|
26
|
+
isNotEmpty,
|
|
27
|
+
isPresent,
|
|
28
|
+
isTrue
|
|
29
|
+
} from "./chunk-DEJ7A5PY.mjs";
|
|
30
|
+
|
|
31
|
+
// src/types/List.ts
|
|
32
|
+
var List = class extends Array {
|
|
33
|
+
get ids() {
|
|
34
|
+
return this.mapDefined((i) => i.id);
|
|
35
|
+
}
|
|
36
|
+
get indexed() {
|
|
37
|
+
return this.map((v, index) => ({ ...v, index }));
|
|
38
|
+
}
|
|
39
|
+
isSubSetOf(...items) {
|
|
40
|
+
return this.diff(items).length === 0;
|
|
41
|
+
}
|
|
42
|
+
isSuperSetOf(...items) {
|
|
43
|
+
return this.length > items.length && toList(...items).isSubSetOf(...this);
|
|
44
|
+
}
|
|
45
|
+
isIntersectingWith(...items) {
|
|
46
|
+
return this.intersect(items).length > 0;
|
|
47
|
+
}
|
|
48
|
+
isDisjointWith(...items) {
|
|
49
|
+
return !this.isIntersectingWith(...items);
|
|
50
|
+
}
|
|
51
|
+
areEqual(...items) {
|
|
52
|
+
return this.isSubSetOf(...items) && toList(...items).isSubSetOf(...this);
|
|
53
|
+
}
|
|
54
|
+
asc(p) {
|
|
55
|
+
return this.sort((e1, e2) => ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1);
|
|
56
|
+
}
|
|
57
|
+
desc(p) {
|
|
58
|
+
return this.sort((e1, e2) => ofProperty(e1, p) < ofProperty(e2, p) ? 1 : -1);
|
|
59
|
+
}
|
|
60
|
+
first(p, params) {
|
|
61
|
+
return p ? this.find(p, params) : this[0];
|
|
62
|
+
}
|
|
63
|
+
firstValue(f, alt) {
|
|
64
|
+
return ifDefined(
|
|
65
|
+
this.first((t) => !!f(t)),
|
|
66
|
+
f,
|
|
67
|
+
(v) => ofGet(alt, v)
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
isFirst(value) {
|
|
71
|
+
return value === this.first();
|
|
72
|
+
}
|
|
73
|
+
next(p, params) {
|
|
74
|
+
return p ? this[this.findIndex(p, params) + 1] : this[0];
|
|
75
|
+
}
|
|
76
|
+
prev(p, params) {
|
|
77
|
+
return p ? this[this.findIndex(p, params) - 1] : this[0];
|
|
78
|
+
}
|
|
79
|
+
last(p, params) {
|
|
80
|
+
return p ? this.filter(p, params).last() : this[this.length - 1];
|
|
81
|
+
}
|
|
82
|
+
isLast(value) {
|
|
83
|
+
return value === this.last();
|
|
84
|
+
}
|
|
85
|
+
overlaps(...items) {
|
|
86
|
+
return toList(...items).some((i) => this.some((t) => i === t));
|
|
87
|
+
}
|
|
88
|
+
diff(others) {
|
|
89
|
+
return this.filter((i) => !others.includes(i));
|
|
90
|
+
}
|
|
91
|
+
diffByKey(others, key) {
|
|
92
|
+
return this.filter((i) => !others.some((o) => o[key] === i[key]));
|
|
93
|
+
}
|
|
94
|
+
symmetricDiff(others) {
|
|
95
|
+
return this.diff(others).concat(toList(...others).diff(this));
|
|
96
|
+
}
|
|
97
|
+
symmetricDiffByKey(others, key) {
|
|
98
|
+
return this.diffByKey(others, key).concat(toList(...others).diffByKey(this, key));
|
|
99
|
+
}
|
|
100
|
+
intersect(others) {
|
|
101
|
+
return this.filter((i) => others.includes(i));
|
|
102
|
+
}
|
|
103
|
+
intersectByKey(others, key) {
|
|
104
|
+
return this.filter((i) => others.some((o) => o[key] === i[key]));
|
|
105
|
+
}
|
|
106
|
+
intersectBy(others, f) {
|
|
107
|
+
return this.filter((i) => others.some((o) => f(i, o)));
|
|
108
|
+
}
|
|
109
|
+
accumulate(...keys) {
|
|
110
|
+
return this.map((d, i, arr) => {
|
|
111
|
+
const acc = keys.reduce((acc2, v) => {
|
|
112
|
+
acc2[v] = i === 0 ? d[v] : arr[i - 1][v] + d[v];
|
|
113
|
+
return acc2;
|
|
114
|
+
}, d);
|
|
115
|
+
arr[i] = acc;
|
|
116
|
+
return acc;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
toJSON() {
|
|
120
|
+
return this.reduce((a, i) => {
|
|
121
|
+
a.push(JSON.parse(JSON.stringify(i ?? {})));
|
|
122
|
+
return a;
|
|
123
|
+
}, new Array());
|
|
124
|
+
}
|
|
125
|
+
map(f, params) {
|
|
126
|
+
return toList(super.map(f, params));
|
|
127
|
+
}
|
|
128
|
+
flatMap(f, params) {
|
|
129
|
+
return toList(super.flatMap(f, params));
|
|
130
|
+
}
|
|
131
|
+
mapDefined(f, params) {
|
|
132
|
+
return this.map(f, params).defined();
|
|
133
|
+
}
|
|
134
|
+
mapAsync(f) {
|
|
135
|
+
return Promise.all(super.map((e) => f(e))).then((a) => toList(a));
|
|
136
|
+
}
|
|
137
|
+
mapSerial(f) {
|
|
138
|
+
return super.reduce((p, item) => p.then((results) => on(results, async (r) => r.push(await f(item)))), Promise.resolve(toList()));
|
|
139
|
+
}
|
|
140
|
+
distinct() {
|
|
141
|
+
return this.filter((i, index) => this.indexOf(i) === index);
|
|
142
|
+
}
|
|
143
|
+
distinctByKey(key) {
|
|
144
|
+
const seen = /* @__PURE__ */ new Set();
|
|
145
|
+
return this.filter((item) => !seen.has(item[key]) && seen.add(item[key]));
|
|
146
|
+
}
|
|
147
|
+
distinctByValue() {
|
|
148
|
+
const seen = /* @__PURE__ */ new Set();
|
|
149
|
+
return this.filter((item) => !seen.has(JSON.stringify(item)) && seen.add(JSON.stringify(item)));
|
|
150
|
+
}
|
|
151
|
+
filter(p, params) {
|
|
152
|
+
return toList(super.filter(p, params));
|
|
153
|
+
}
|
|
154
|
+
sum(p) {
|
|
155
|
+
return this.reduce((sum, i) => sum + p(i), 0);
|
|
156
|
+
}
|
|
157
|
+
max(p) {
|
|
158
|
+
return typeof p === "function" ? this.sort((e1, e2) => p(e1) < p(e2) ? 1 : -1).first() : this.desc(p).first();
|
|
159
|
+
}
|
|
160
|
+
min(p) {
|
|
161
|
+
return typeof p === "function" ? this.sort((e1, e2) => p(e1) > p(e2) ? 1 : -1).first() : this.asc(p).first();
|
|
162
|
+
}
|
|
163
|
+
byId(id) {
|
|
164
|
+
return this.first((i) => asString(i.id) === asString(id));
|
|
165
|
+
}
|
|
166
|
+
byKey(key, value) {
|
|
167
|
+
return this.first((i) => i[key] == value);
|
|
168
|
+
}
|
|
169
|
+
add(...items) {
|
|
170
|
+
super.push(...toArray(...items));
|
|
171
|
+
return this;
|
|
172
|
+
}
|
|
173
|
+
concat(...items) {
|
|
174
|
+
return toList(super.concat(...items));
|
|
175
|
+
}
|
|
176
|
+
reverse() {
|
|
177
|
+
return toList(super.reverse());
|
|
178
|
+
}
|
|
179
|
+
splice(start, deleteCount, ...items) {
|
|
180
|
+
return toList(super.splice(start, deleteCount, ...items));
|
|
181
|
+
}
|
|
182
|
+
remove(item) {
|
|
183
|
+
const index = this.indexOf(item);
|
|
184
|
+
if (index > -1) {
|
|
185
|
+
this.splice(index, 1);
|
|
186
|
+
}
|
|
187
|
+
return this;
|
|
188
|
+
}
|
|
189
|
+
replace(key, item) {
|
|
190
|
+
const index = this.findIndex((i) => i[key] === item?.[key]);
|
|
191
|
+
ifTrue(index != -1, () => this.splice(index, 1, item));
|
|
192
|
+
return this;
|
|
193
|
+
}
|
|
194
|
+
switch(item) {
|
|
195
|
+
return this.includes(item) ? this.remove(item) : this.add(item);
|
|
196
|
+
}
|
|
197
|
+
switchOn(item, on2) {
|
|
198
|
+
return use(
|
|
199
|
+
typeof on2 === "function" ? this.find(on2) : use(traverse(item, on2), (v) => this.find((i) => traverse(i, on2) === v)),
|
|
200
|
+
(i) => i ? this.remove(i) : this.add(item)
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
defined() {
|
|
204
|
+
return this.reduce((l, v) => isDefined(v) ? l.add(v) : l, toList());
|
|
205
|
+
}
|
|
206
|
+
toObject(key, options = {}) {
|
|
207
|
+
return this.reduce((o, i) => {
|
|
208
|
+
o[i[key]] = i;
|
|
209
|
+
if (options.deleteKey)
|
|
210
|
+
delete o[i[key]][key];
|
|
211
|
+
return o;
|
|
212
|
+
}, {});
|
|
213
|
+
}
|
|
214
|
+
toObjectList(key) {
|
|
215
|
+
return this.reduce(
|
|
216
|
+
(a, t) => {
|
|
217
|
+
const k = t[key];
|
|
218
|
+
a[k] = a[k] ?? toList();
|
|
219
|
+
a[k].push(t);
|
|
220
|
+
return a;
|
|
221
|
+
},
|
|
222
|
+
{}
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
orElse(...alt) {
|
|
226
|
+
return !isEmpty(this) ? this : !isEmpty(...alt) ? toList(...alt) : void 0;
|
|
227
|
+
}
|
|
228
|
+
weave(insertFrom, interval) {
|
|
229
|
+
for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {
|
|
230
|
+
this.splice(i, 0, insertFrom[n++]);
|
|
231
|
+
}
|
|
232
|
+
return this;
|
|
233
|
+
}
|
|
234
|
+
slice(start, end) {
|
|
235
|
+
return toList(super.slice(start, end));
|
|
236
|
+
}
|
|
237
|
+
none(p) {
|
|
238
|
+
return !this.some(p);
|
|
239
|
+
}
|
|
240
|
+
chunk(chunkSize) {
|
|
241
|
+
return this.reduce((acc, _, index) => index % chunkSize === 0 ? on(acc, (a) => a.push(this.slice(index, index + chunkSize))) : acc, toList());
|
|
242
|
+
}
|
|
243
|
+
//we needed to add U because of a Typescript issue with generics
|
|
244
|
+
update(p, val) {
|
|
245
|
+
return this.map((v, i, a) => p(v, i, a) ? ofGet(val, v, i, a) : v);
|
|
246
|
+
}
|
|
247
|
+
updateFirst(p, val) {
|
|
248
|
+
const index = this.findIndex(p);
|
|
249
|
+
return this.update((t, i) => p(t, i, this) && i == index, val);
|
|
250
|
+
}
|
|
251
|
+
updateFirstById(id, val) {
|
|
252
|
+
return this.updateFirst((i) => asString(i?.id) === asString(id), val);
|
|
253
|
+
}
|
|
254
|
+
updateById(id, val) {
|
|
255
|
+
return this.update((i) => asString(i?.id) === asString(id), val);
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
var toList = (...items) => new List().add(...items);
|
|
259
|
+
var isList = (l) => isDefined(l) && isArray(l) && isA(l, "first", "last", "asc", "desc");
|
|
260
|
+
var asList = (c, items = []) => toList(toArray(items).map((i) => new c(i)));
|
|
261
|
+
var maxValue = (l, key) => l.desc(key).first()?.[key];
|
|
262
|
+
var minValue = (l, key) => l.asc(key).first()?.[key];
|
|
263
|
+
|
|
264
|
+
// src/utils/If.ts
|
|
265
|
+
function ifTrue(o, f, alt) {
|
|
266
|
+
return isTrue(o) ? ofConstruct(f, o) : ofConstruct(alt, o);
|
|
267
|
+
}
|
|
268
|
+
function ifFalse(o, f, alt) {
|
|
269
|
+
return !isTrue(o) ? ofConstruct(f, o) : ofConstruct(alt, o);
|
|
270
|
+
}
|
|
271
|
+
function ifDefined(o, f, alt) {
|
|
272
|
+
return isDefined(o) ? ofConstruct(f, o) : ofConstruct(alt);
|
|
273
|
+
}
|
|
274
|
+
function ifNotEmpty(o, f = (o2) => o2, alt) {
|
|
275
|
+
return isNotEmpty(o) ? ofConstruct(f, o) : ofConstruct(alt, o);
|
|
276
|
+
}
|
|
277
|
+
function ifEither(os, f = (o) => o, alt) {
|
|
278
|
+
return use(
|
|
279
|
+
toList(os).first((o) => isPresent(o)),
|
|
280
|
+
(o) => isDefined(o) ? ofConstruct(f, o) : ofConstruct(alt, o)
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
export {
|
|
285
|
+
ifTrue,
|
|
286
|
+
ifFalse,
|
|
287
|
+
ifDefined,
|
|
288
|
+
ifNotEmpty,
|
|
289
|
+
ifEither,
|
|
290
|
+
List,
|
|
291
|
+
toList,
|
|
292
|
+
isList,
|
|
293
|
+
asList,
|
|
294
|
+
maxValue,
|
|
295
|
+
minValue
|
|
296
|
+
};
|
|
297
|
+
//# sourceMappingURL=chunk-ABGKS4KE.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types/List.ts","../src/utils/If.ts"],"sourcesContent":["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';\nimport { Indexed } from './Indexed';\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 get indexed(): List<Indexed<T>> {\n return this.map((v, index) => ({ ...v, index }));\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\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\n max(key: keyof T): T;\n\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\n min(p: (value: T) => any): T;\n\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\n concat(...items: (T | ConcatArray<T>)[]): List<T>;\n\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\n splice(start: number, deleteCount: number, ...items: T[]): List<T>;\n\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\n switchOn<T>(item: T, on: Pred<T>): List<T>;\n\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","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"],"mappings":"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","names":["acc","on","o"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// src/types/IsDate.ts
|
|
2
|
+
var isDate = (o) => o instanceof Date && !isNaN(o.getTime());
|
|
3
|
+
var days = {
|
|
4
|
+
add: (date, days2) => {
|
|
5
|
+
date.setDate(date.getDate() + days2);
|
|
6
|
+
return date;
|
|
7
|
+
},
|
|
8
|
+
today: () => /* @__PURE__ */ new Date(),
|
|
9
|
+
yesterday: () => days.add(days.today(), -1),
|
|
10
|
+
tomorrow: () => days.add(days.today(), 1)
|
|
11
|
+
};
|
|
12
|
+
var inPast = (o) => isDate(o) && o <= days.today();
|
|
13
|
+
var inFuture = (o) => isDate(o) && o > days.today();
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
isDate,
|
|
17
|
+
days,
|
|
18
|
+
inPast,
|
|
19
|
+
inFuture
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-ADJAEGCT.mjs.map
|