@thisisagile/easy 15.8.5 → 15.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-4N72FQFX.mjs +16 -0
- package/dist/chunk-4N72FQFX.mjs.map +1 -0
- package/dist/data/Condition.d.ts +25 -0
- package/dist/data/Condition.js +71 -0
- package/dist/data/Condition.js.map +1 -0
- package/dist/data/Condition.mjs +44 -0
- package/dist/data/Condition.mjs.map +1 -0
- package/dist/data/DataProvider.d.ts +1 -0
- package/dist/data/DataProvider.js +17 -0
- package/dist/data/DataProvider.js.map +1 -0
- package/dist/data/DataProvider.mjs +1 -0
- package/dist/data/DataProvider.mjs.map +1 -0
- package/dist/data/Database.d.ts +22 -0
- package/dist/data/Database.js +42 -0
- package/dist/data/Database.js.map +1 -0
- package/dist/data/Database.mjs +18 -0
- package/dist/data/Database.mjs.map +1 -0
- package/dist/data/Field.d.ts +17 -0
- package/dist/data/Field.js +48 -0
- package/dist/data/Field.js.map +1 -0
- package/dist/data/Field.mjs +24 -0
- package/dist/data/Field.mjs.map +1 -0
- package/dist/data/InMemoryGateway.d.ts +12 -0
- package/dist/data/InMemoryGateway.js +59 -0
- package/dist/data/InMemoryGateway.js.map +1 -0
- package/dist/data/InMemoryGateway.mjs +36 -0
- package/dist/data/InMemoryGateway.mjs.map +1 -0
- package/dist/data/Query.d.ts +2 -0
- package/dist/data/Query.js +17 -0
- package/dist/data/Query.js.map +1 -0
- package/dist/data/Query.mjs +1 -0
- package/dist/data/Query.mjs.map +1 -0
- package/dist/data/QueryProvider.d.ts +7 -0
- package/dist/data/QueryProvider.js +17 -0
- package/dist/data/QueryProvider.js.map +1 -0
- package/dist/data/QueryProvider.mjs +1 -0
- package/dist/data/QueryProvider.mjs.map +1 -0
- package/dist/data/index.d.ts +7 -0
- package/dist/data/index.js +35 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/index.mjs +8 -0
- package/dist/data/index.mjs.map +1 -0
- package/dist/domain/Audit.d.ts +11 -0
- package/dist/domain/Audit.js +59 -0
- package/dist/domain/Audit.js.map +1 -0
- package/dist/domain/Audit.mjs +29 -0
- package/dist/domain/Audit.mjs.map +1 -0
- package/dist/domain/Child.d.ts +6 -0
- package/dist/domain/Child.js +49 -0
- package/dist/domain/Child.js.map +1 -0
- package/dist/domain/Child.mjs +19 -0
- package/dist/domain/Child.mjs.map +1 -0
- package/dist/domain/Entity.d.ts +9 -0
- package/dist/domain/Entity.js +62 -0
- package/dist/domain/Entity.js.map +1 -0
- package/dist/domain/Entity.mjs +32 -0
- package/dist/domain/Entity.mjs.map +1 -0
- package/dist/domain/Repo.d.ts +23 -0
- package/dist/domain/Repo.js +81 -0
- package/dist/domain/Repo.js.map +1 -0
- package/dist/domain/Repo.mjs +58 -0
- package/dist/domain/Repo.mjs.map +1 -0
- package/dist/domain/Struct.d.ts +11 -0
- package/dist/domain/Struct.js +55 -0
- package/dist/domain/Struct.js.map +1 -0
- package/dist/domain/Struct.mjs +31 -0
- package/dist/domain/Struct.mjs.map +1 -0
- package/dist/domain/Typo.d.ts +16 -0
- package/dist/domain/Typo.js +62 -0
- package/dist/domain/Typo.js.map +1 -0
- package/dist/domain/Typo.mjs +39 -0
- package/dist/domain/Typo.mjs.map +1 -0
- package/dist/domain/enums/Country.d.ts +256 -0
- package/dist/domain/enums/Country.js +290 -0
- package/dist/domain/enums/Country.js.map +1 -0
- package/dist/domain/enums/Country.mjs +267 -0
- package/dist/domain/enums/Country.mjs.map +1 -0
- package/dist/domain/enums/Currency.d.ts +127 -0
- package/dist/domain/enums/Currency.js +159 -0
- package/dist/domain/enums/Currency.js.map +1 -0
- package/dist/domain/enums/Currency.mjs +136 -0
- package/dist/domain/enums/Currency.mjs.map +1 -0
- package/dist/domain/enums/Environment.d.ts +7 -0
- package/dist/domain/enums/Environment.js +35 -0
- package/dist/domain/enums/Environment.js.map +1 -0
- package/dist/domain/enums/Environment.mjs +12 -0
- package/dist/domain/enums/Environment.mjs.map +1 -0
- package/dist/domain/enums/Locale.d.ts +571 -0
- package/dist/domain/enums/Locale.js +605 -0
- package/dist/domain/enums/Locale.js.map +1 -0
- package/dist/domain/enums/Locale.mjs +582 -0
- package/dist/domain/enums/Locale.mjs.map +1 -0
- package/dist/domain/enums/UnitOfMeasurement.d.ts +10 -0
- package/dist/domain/enums/UnitOfMeasurement.js +40 -0
- package/dist/domain/enums/UnitOfMeasurement.js.map +1 -0
- package/dist/domain/enums/UnitOfMeasurement.mjs +17 -0
- package/dist/domain/enums/UnitOfMeasurement.mjs.map +1 -0
- package/dist/domain/enums/UnitOfWeight.d.ts +8 -0
- package/dist/domain/enums/UnitOfWeight.js +38 -0
- package/dist/domain/enums/UnitOfWeight.js.map +1 -0
- package/dist/domain/enums/UnitOfWeight.mjs +15 -0
- package/dist/domain/enums/UnitOfWeight.mjs.map +1 -0
- package/dist/domain/enums/index.d.ts +6 -0
- package/dist/domain/enums/index.js +33 -0
- package/dist/domain/enums/index.js.map +1 -0
- package/dist/domain/enums/index.mjs +7 -0
- package/dist/domain/enums/index.mjs.map +1 -0
- package/dist/domain/index.d.ts +9 -0
- package/dist/domain/index.js +39 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/index.mjs +10 -0
- package/dist/domain/index.mjs.map +1 -0
- package/dist/domain/structs/Address.d.ts +12 -0
- package/dist/domain/structs/Address.js +73 -0
- package/dist/domain/structs/Address.js.map +1 -0
- package/dist/domain/structs/Address.mjs +42 -0
- package/dist/domain/structs/Address.mjs.map +1 -0
- package/dist/domain/structs/Box.d.ts +15 -0
- package/dist/domain/structs/Box.js +70 -0
- package/dist/domain/structs/Box.js.map +1 -0
- package/dist/domain/structs/Box.mjs +40 -0
- package/dist/domain/structs/Box.mjs.map +1 -0
- package/dist/domain/structs/Dimension.d.ts +10 -0
- package/dist/domain/structs/Dimension.js +61 -0
- package/dist/domain/structs/Dimension.js.map +1 -0
- package/dist/domain/structs/Dimension.mjs +31 -0
- package/dist/domain/structs/Dimension.mjs.map +1 -0
- package/dist/domain/structs/Money.d.ts +12 -0
- package/dist/domain/structs/Money.js +71 -0
- package/dist/domain/structs/Money.js.map +1 -0
- package/dist/domain/structs/Money.mjs +39 -0
- package/dist/domain/structs/Money.mjs.map +1 -0
- package/dist/domain/structs/Name.d.ts +9 -0
- package/dist/domain/structs/Name.js +57 -0
- package/dist/domain/structs/Name.js.map +1 -0
- package/dist/domain/structs/Name.mjs +26 -0
- package/dist/domain/structs/Name.mjs.map +1 -0
- package/dist/domain/structs/Weight.d.ts +13 -0
- package/dist/domain/structs/Weight.js +71 -0
- package/dist/domain/structs/Weight.js.map +1 -0
- package/dist/domain/structs/Weight.mjs +40 -0
- package/dist/domain/structs/Weight.mjs.map +1 -0
- package/dist/domain/structs/index.d.ts +6 -0
- package/dist/domain/structs/index.js +33 -0
- package/dist/domain/structs/index.js.map +1 -0
- package/dist/domain/structs/index.mjs +7 -0
- package/dist/domain/structs/index.mjs.map +1 -0
- package/dist/domain/values/DateTime.d.ts +34 -0
- package/dist/domain/values/DateTime.js +117 -0
- package/dist/domain/values/DateTime.js.map +1 -0
- package/dist/domain/values/DateTime.mjs +92 -0
- package/dist/domain/values/DateTime.mjs.map +1 -0
- package/dist/domain/values/EAN.d.ts +5 -0
- package/dist/domain/values/EAN.js +50 -0
- package/dist/domain/values/EAN.js.map +1 -0
- package/dist/domain/values/EAN.mjs +16 -0
- package/dist/domain/values/EAN.mjs.map +1 -0
- package/dist/domain/values/Email.d.ts +8 -0
- package/dist/domain/values/Email.js +57 -0
- package/dist/domain/values/Email.js.map +1 -0
- package/dist/domain/values/Email.mjs +22 -0
- package/dist/domain/values/Email.mjs.map +1 -0
- package/dist/domain/values/IBAN.d.ts +5 -0
- package/dist/domain/values/IBAN.js +50 -0
- package/dist/domain/values/IBAN.js.map +1 -0
- package/dist/domain/values/IBAN.mjs +16 -0
- package/dist/domain/values/IBAN.mjs.map +1 -0
- package/dist/domain/values/PostalCode.d.ts +8 -0
- package/dist/domain/values/PostalCode.js +53 -0
- package/dist/domain/values/PostalCode.js.map +1 -0
- package/dist/domain/values/PostalCode.mjs +19 -0
- package/dist/domain/values/PostalCode.mjs.map +1 -0
- package/dist/domain/values/Url.d.ts +22 -0
- package/dist/domain/values/Url.js +57 -0
- package/dist/domain/values/Url.js.map +1 -0
- package/dist/domain/values/Url.mjs +22 -0
- package/dist/domain/values/Url.mjs.map +1 -0
- package/dist/domain/values/index.d.ts +6 -0
- package/dist/domain/values/index.js +33 -0
- package/dist/domain/values/index.js.map +1 -0
- package/dist/domain/values/index.mjs +7 -0
- package/dist/domain/values/index.mjs.map +1 -0
- package/dist/health/HealthResource.d.ts +5 -0
- package/dist/health/HealthResource.js +49 -0
- package/dist/health/HealthResource.js.map +1 -0
- package/dist/health/HealthResource.mjs +19 -0
- package/dist/health/HealthResource.mjs.map +1 -0
- package/dist/health/HealthUri.d.ts +5 -0
- package/dist/health/HealthUri.js +33 -0
- package/dist/health/HealthUri.js.map +1 -0
- package/dist/health/HealthUri.mjs +10 -0
- package/dist/health/HealthUri.mjs.map +1 -0
- package/dist/health/index.d.ts +2 -0
- package/dist/health/index.js +25 -0
- package/dist/health/index.js.map +1 -0
- package/dist/health/index.mjs +3 -0
- package/dist/health/index.mjs.map +1 -0
- package/dist/http/CacheControl.d.ts +24 -0
- package/dist/http/CacheControl.js +56 -0
- package/dist/http/CacheControl.js.map +1 -0
- package/dist/http/CacheControl.mjs +33 -0
- package/dist/http/CacheControl.mjs.map +1 -0
- package/dist/http/ContentType.d.ts +12 -0
- package/dist/http/ContentType.js +53 -0
- package/dist/http/ContentType.js.map +1 -0
- package/dist/http/ContentType.mjs +20 -0
- package/dist/http/ContentType.mjs.map +1 -0
- package/dist/http/HttpHeader.d.ts +4 -0
- package/dist/http/HttpHeader.js +32 -0
- package/dist/http/HttpHeader.js.map +1 -0
- package/dist/http/HttpHeader.mjs +9 -0
- package/dist/http/HttpHeader.mjs.map +1 -0
- package/dist/http/HttpStatus.d.ts +72 -0
- package/dist/http/HttpStatus.js +112 -0
- package/dist/http/HttpStatus.js.map +1 -0
- package/dist/http/HttpStatus.mjs +87 -0
- package/dist/http/HttpStatus.mjs.map +1 -0
- package/dist/http/HttpVerb.d.ts +9 -0
- package/dist/http/HttpVerb.js +39 -0
- package/dist/http/HttpVerb.js.map +1 -0
- package/dist/http/HttpVerb.mjs +16 -0
- package/dist/http/HttpVerb.mjs.map +1 -0
- package/dist/http/LocalRequestStore.d.ts +7 -0
- package/dist/http/LocalRequestStore.js +36 -0
- package/dist/http/LocalRequestStore.js.map +1 -0
- package/dist/http/LocalRequestStore.mjs +13 -0
- package/dist/http/LocalRequestStore.mjs.map +1 -0
- package/dist/http/OriginatedError.d.ts +9 -0
- package/dist/http/OriginatedError.js +42 -0
- package/dist/http/OriginatedError.js.map +1 -0
- package/dist/http/OriginatedError.mjs +17 -0
- package/dist/http/OriginatedError.mjs.map +1 -0
- package/dist/http/Request.d.ts +11 -0
- package/dist/http/Request.js +17 -0
- package/dist/http/Request.js.map +1 -0
- package/dist/http/Request.mjs +1 -0
- package/dist/http/Request.mjs.map +1 -0
- package/dist/http/RequestOptions.d.ts +35 -0
- package/dist/http/RequestOptions.js +91 -0
- package/dist/http/RequestOptions.js.map +1 -0
- package/dist/http/RequestOptions.mjs +66 -0
- package/dist/http/RequestOptions.mjs.map +1 -0
- package/dist/http/RequestProvider.d.ts +5 -0
- package/dist/http/RequestProvider.js +17 -0
- package/dist/http/RequestProvider.js.map +1 -0
- package/dist/http/RequestProvider.mjs +1 -0
- package/dist/http/RequestProvider.mjs.map +1 -0
- package/dist/http/Response.d.ts +14 -0
- package/dist/http/Response.js +39 -0
- package/dist/http/Response.js.map +1 -0
- package/dist/http/Response.mjs +15 -0
- package/dist/http/Response.mjs.map +1 -0
- package/dist/http/RestResult.d.ts +23 -0
- package/dist/http/RestResult.js +56 -0
- package/dist/http/RestResult.js.map +1 -0
- package/dist/http/RestResult.mjs +32 -0
- package/dist/http/RestResult.mjs.map +1 -0
- package/dist/http/Verb.d.ts +20 -0
- package/dist/http/Verb.js +61 -0
- package/dist/http/Verb.js.map +1 -0
- package/dist/http/Verb.mjs +31 -0
- package/dist/http/Verb.mjs.map +1 -0
- package/dist/http/index.d.ts +12 -0
- package/dist/http/index.js +45 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/index.mjs +13 -0
- package/dist/http/index.mjs.map +1 -0
- package/dist/index.d.ts +12 -2821
- package/dist/index.js +45 -1
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +13 -1
- package/dist/index.mjs.map +1 -0
- package/dist/process/App.d.ts +5 -0
- package/dist/process/App.js +35 -0
- package/dist/process/App.js.map +1 -0
- package/dist/process/App.mjs +12 -0
- package/dist/process/App.mjs.map +1 -0
- package/dist/process/Manage.d.ts +8 -0
- package/dist/process/Manage.js +43 -0
- package/dist/process/Manage.js.map +1 -0
- package/dist/process/Manage.mjs +20 -0
- package/dist/process/Manage.mjs.map +1 -0
- package/dist/process/Scope.d.ts +5 -0
- package/dist/process/Scope.js +38 -0
- package/dist/process/Scope.js.map +1 -0
- package/dist/process/Scope.mjs +15 -0
- package/dist/process/Scope.mjs.map +1 -0
- package/dist/process/Search.d.ts +14 -0
- package/dist/process/Search.js +62 -0
- package/dist/process/Search.js.map +1 -0
- package/dist/process/Search.mjs +39 -0
- package/dist/process/Search.mjs.map +1 -0
- package/dist/process/UseCase.d.ts +10 -0
- package/dist/process/UseCase.js +48 -0
- package/dist/process/UseCase.js.map +1 -0
- package/dist/process/UseCase.mjs +25 -0
- package/dist/process/UseCase.mjs.map +1 -0
- package/dist/process/index.d.ts +5 -0
- package/dist/process/index.js +31 -0
- package/dist/process/index.js.map +1 -0
- package/dist/process/index.mjs +6 -0
- package/dist/process/index.mjs.map +1 -0
- package/dist/resources/AppProvider.d.ts +9 -0
- package/dist/resources/AppProvider.js +17 -0
- package/dist/resources/AppProvider.js.map +1 -0
- package/dist/resources/AppProvider.mjs +1 -0
- package/dist/resources/AppProvider.mjs.map +1 -0
- package/dist/resources/Req.d.ts +23 -0
- package/dist/resources/Req.js +54 -0
- package/dist/resources/Req.js.map +1 -0
- package/dist/resources/Req.mjs +30 -0
- package/dist/resources/Req.mjs.map +1 -0
- package/dist/resources/Requires.d.ts +8 -0
- package/dist/resources/Requires.js +48 -0
- package/dist/resources/Requires.js.map +1 -0
- package/dist/resources/Requires.mjs +24 -0
- package/dist/resources/Requires.mjs.map +1 -0
- package/dist/resources/Resource.d.ts +1 -0
- package/dist/resources/Resource.js +17 -0
- package/dist/resources/Resource.js.map +1 -0
- package/dist/resources/Resource.mjs +1 -0
- package/dist/resources/Resource.mjs.map +1 -0
- package/dist/resources/Route.d.ts +26 -0
- package/dist/resources/Route.js +62 -0
- package/dist/resources/Route.js.map +1 -0
- package/dist/resources/Route.mjs +38 -0
- package/dist/resources/Route.mjs.map +1 -0
- package/dist/resources/Service.d.ts +15 -0
- package/dist/resources/Service.js +49 -0
- package/dist/resources/Service.js.map +1 -0
- package/dist/resources/Service.mjs +26 -0
- package/dist/resources/Service.mjs.map +1 -0
- package/dist/resources/index.d.ts +7 -0
- package/dist/resources/index.js +35 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/index.mjs +8 -0
- package/dist/resources/index.mjs.map +1 -0
- package/dist/security/Jwt.d.ts +15 -0
- package/dist/security/Jwt.js +48 -0
- package/dist/security/Jwt.js.map +1 -0
- package/dist/security/Jwt.mjs +25 -0
- package/dist/security/Jwt.mjs.map +1 -0
- package/dist/security/index.d.ts +1 -0
- package/dist/security/index.js +23 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/index.mjs +2 -0
- package/dist/security/index.mjs.map +1 -0
- package/dist/services/Api.d.ts +16 -0
- package/dist/services/Api.js +93 -0
- package/dist/services/Api.js.map +1 -0
- package/dist/services/Api.mjs +69 -0
- package/dist/services/Api.mjs.map +1 -0
- package/dist/services/ApiGateway.d.ts +14 -0
- package/dist/services/ApiGateway.js +57 -0
- package/dist/services/ApiGateway.js.map +1 -0
- package/dist/services/ApiGateway.mjs +34 -0
- package/dist/services/ApiGateway.mjs.map +1 -0
- package/dist/services/AxiosProvider.d.ts +7 -0
- package/dist/services/AxiosProvider.js +61 -0
- package/dist/services/AxiosProvider.js.map +1 -0
- package/dist/services/AxiosProvider.mjs +28 -0
- package/dist/services/AxiosProvider.mjs.map +1 -0
- package/dist/services/MappedRouteGateway.d.ts +16 -0
- package/dist/services/MappedRouteGateway.js +52 -0
- package/dist/services/MappedRouteGateway.js.map +1 -0
- package/dist/services/MappedRouteGateway.mjs +29 -0
- package/dist/services/MappedRouteGateway.mjs.map +1 -0
- package/dist/services/RouteGateway.d.ts +19 -0
- package/dist/services/RouteGateway.js +70 -0
- package/dist/services/RouteGateway.js.map +1 -0
- package/dist/services/RouteGateway.mjs +47 -0
- package/dist/services/RouteGateway.mjs.map +1 -0
- package/dist/services/ViewRouteGateway.d.ts +21 -0
- package/dist/services/ViewRouteGateway.js +55 -0
- package/dist/services/ViewRouteGateway.js.map +1 -0
- package/dist/services/ViewRouteGateway.mjs +32 -0
- package/dist/services/ViewRouteGateway.mjs.map +1 -0
- package/dist/services/index.d.ts +6 -0
- package/dist/services/index.js +33 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/index.mjs +7 -0
- package/dist/services/index.mjs.map +1 -0
- package/dist/sql/Clause.d.ts +17 -0
- package/dist/sql/Clause.js +58 -0
- package/dist/sql/Clause.js.map +1 -0
- package/dist/sql/Clause.mjs +31 -0
- package/dist/sql/Clause.mjs.map +1 -0
- package/dist/sql/Column.d.ts +41 -0
- package/dist/sql/Column.js +96 -0
- package/dist/sql/Column.js.map +1 -0
- package/dist/sql/Column.mjs +71 -0
- package/dist/sql/Column.mjs.map +1 -0
- package/dist/sql/Count.d.ts +7 -0
- package/dist/sql/Count.js +38 -0
- package/dist/sql/Count.js.map +1 -0
- package/dist/sql/Count.mjs +15 -0
- package/dist/sql/Count.mjs.map +1 -0
- package/dist/sql/Delete.d.ts +4 -0
- package/dist/sql/Delete.js +35 -0
- package/dist/sql/Delete.js.map +1 -0
- package/dist/sql/Delete.mjs +12 -0
- package/dist/sql/Delete.mjs.map +1 -0
- package/dist/sql/Insert.d.ts +9 -0
- package/dist/sql/Insert.js +40 -0
- package/dist/sql/Insert.js.map +1 -0
- package/dist/sql/Insert.mjs +17 -0
- package/dist/sql/Insert.mjs.map +1 -0
- package/dist/sql/Join.d.ts +12 -0
- package/dist/sql/Join.js +46 -0
- package/dist/sql/Join.js.map +1 -0
- package/dist/sql/Join.mjs +23 -0
- package/dist/sql/Join.mjs.map +1 -0
- package/dist/sql/Select.d.ts +21 -0
- package/dist/sql/Select.js +68 -0
- package/dist/sql/Select.js.map +1 -0
- package/dist/sql/Select.mjs +45 -0
- package/dist/sql/Select.mjs.map +1 -0
- package/dist/sql/SqlQuery.d.ts +8 -0
- package/dist/sql/SqlQuery.js +39 -0
- package/dist/sql/SqlQuery.js.map +1 -0
- package/dist/sql/SqlQuery.mjs +16 -0
- package/dist/sql/SqlQuery.mjs.map +1 -0
- package/dist/sql/Table.d.ts +34 -0
- package/dist/sql/Table.js +63 -0
- package/dist/sql/Table.js.map +1 -0
- package/dist/sql/Table.mjs +40 -0
- package/dist/sql/Table.mjs.map +1 -0
- package/dist/sql/TableGateway.d.ts +18 -0
- package/dist/sql/TableGateway.js +62 -0
- package/dist/sql/TableGateway.js.map +1 -0
- package/dist/sql/TableGateway.mjs +39 -0
- package/dist/sql/TableGateway.mjs.map +1 -0
- package/dist/sql/Update.d.ts +9 -0
- package/dist/sql/Update.js +41 -0
- package/dist/sql/Update.js.map +1 -0
- package/dist/sql/Update.mjs +18 -0
- package/dist/sql/Update.mjs.map +1 -0
- package/dist/sql/index.d.ts +10 -0
- package/dist/sql/index.js +41 -0
- package/dist/sql/index.js.map +1 -0
- package/dist/sql/index.mjs +11 -0
- package/dist/sql/index.mjs.map +1 -0
- package/dist/types/Array.d.ts +9 -0
- package/dist/types/Array.js +54 -0
- package/dist/types/Array.js.map +1 -0
- package/dist/types/Array.mjs +29 -0
- package/dist/types/Array.mjs.map +1 -0
- package/dist/types/Builder.d.ts +6 -0
- package/dist/types/Builder.js +43 -0
- package/dist/types/Builder.js.map +1 -0
- package/dist/types/Builder.mjs +19 -0
- package/dist/types/Builder.mjs.map +1 -0
- package/dist/types/Cache.d.ts +12 -0
- package/dist/types/Cache.js +38 -0
- package/dist/types/Cache.js.map +1 -0
- package/dist/types/Cache.mjs +14 -0
- package/dist/types/Cache.mjs.map +1 -0
- package/dist/types/CacheAge.d.ts +5 -0
- package/dist/types/CacheAge.js +64 -0
- package/dist/types/CacheAge.js.map +1 -0
- package/dist/types/CacheAge.mjs +41 -0
- package/dist/types/CacheAge.mjs.map +1 -0
- package/dist/types/Case.d.ts +59 -0
- package/dist/types/Case.js +115 -0
- package/dist/types/Case.js.map +1 -0
- package/dist/types/Case.mjs +92 -0
- package/dist/types/Case.mjs.map +1 -0
- package/dist/types/Constructor.d.ts +15 -0
- package/dist/types/Constructor.js +50 -0
- package/dist/types/Constructor.js.map +1 -0
- package/dist/types/Constructor.mjs +22 -0
- package/dist/types/Constructor.mjs.map +1 -0
- package/dist/types/Context.d.ts +63 -0
- package/dist/types/Context.js +117 -0
- package/dist/types/Context.js.map +1 -0
- package/dist/types/Context.mjs +90 -0
- package/dist/types/Context.mjs.map +1 -0
- package/dist/types/Enum.d.ts +24 -0
- package/dist/types/Enum.js +76 -0
- package/dist/types/Enum.js.map +1 -0
- package/dist/types/Enum.mjs +52 -0
- package/dist/types/Enum.mjs.map +1 -0
- package/dist/types/ErrorOrigin.d.ts +6 -0
- package/dist/types/ErrorOrigin.js +17 -0
- package/dist/types/ErrorOrigin.js.map +1 -0
- package/dist/types/ErrorOrigin.mjs +1 -0
- package/dist/types/ErrorOrigin.mjs.map +1 -0
- package/dist/types/Exception.d.ts +20 -0
- package/dist/types/Exception.js +54 -0
- package/dist/types/Exception.js.map +1 -0
- package/dist/types/Exception.mjs +29 -0
- package/dist/types/Exception.mjs.map +1 -0
- package/dist/types/Falsy.d.ts +4 -0
- package/dist/types/Falsy.js +32 -0
- package/dist/types/Falsy.js.map +1 -0
- package/dist/types/Falsy.mjs +8 -0
- package/dist/types/Falsy.mjs.map +1 -0
- package/dist/types/Func.d.ts +2 -0
- package/dist/types/Func.js +29 -0
- package/dist/types/Func.js.map +1 -0
- package/dist/types/Func.mjs +6 -0
- package/dist/types/Func.mjs.map +1 -0
- package/dist/types/Gateway.d.ts +18 -0
- package/dist/types/Gateway.js +62 -0
- package/dist/types/Gateway.js.map +1 -0
- package/dist/types/Gateway.mjs +39 -0
- package/dist/types/Gateway.mjs.map +1 -0
- package/dist/types/Get.d.ts +7 -0
- package/dist/types/Get.js +36 -0
- package/dist/types/Get.js.map +1 -0
- package/dist/types/Get.mjs +11 -0
- package/dist/types/Get.mjs.map +1 -0
- package/dist/types/Id.d.ts +7 -0
- package/dist/types/Id.js +30 -0
- package/dist/types/Id.js.map +1 -0
- package/dist/types/Id.mjs +7 -0
- package/dist/types/Id.mjs.map +1 -0
- package/dist/types/Identity.d.ts +5 -0
- package/dist/types/Identity.js +17 -0
- package/dist/types/Identity.js.map +1 -0
- package/dist/types/Identity.mjs +1 -0
- package/dist/types/Identity.mjs.map +1 -0
- package/dist/types/Is.d.ts +20 -0
- package/dist/types/Is.js +85 -0
- package/dist/types/Is.js.map +1 -0
- package/dist/types/Is.mjs +44 -0
- package/dist/types/Is.mjs.map +1 -0
- package/dist/types/IsA.d.ts +2 -0
- package/dist/types/IsA.js +33 -0
- package/dist/types/IsA.js.map +1 -0
- package/dist/types/IsA.mjs +9 -0
- package/dist/types/IsA.mjs.map +1 -0
- package/dist/types/IsDate.d.ts +9 -0
- package/dist/types/IsDate.js +46 -0
- package/dist/types/IsDate.js.map +1 -0
- package/dist/types/IsDate.mjs +20 -0
- package/dist/types/IsDate.mjs.map +1 -0
- package/dist/types/IsEqual.d.ts +1 -0
- package/dist/types/IsEqual.js +39 -0
- package/dist/types/IsEqual.js.map +1 -0
- package/dist/types/IsEqual.mjs +16 -0
- package/dist/types/IsEqual.mjs.map +1 -0
- package/dist/types/Json.d.ts +30 -0
- package/dist/types/Json.js +67 -0
- package/dist/types/Json.js.map +1 -0
- package/dist/types/Json.mjs +40 -0
- package/dist/types/Json.mjs.map +1 -0
- package/dist/types/List.d.ts +52 -0
- package/dist/types/List.js +180 -0
- package/dist/types/List.js.map +1 -0
- package/dist/types/List.mjs +154 -0
- package/dist/types/List.mjs.map +1 -0
- package/dist/types/Message.d.ts +3 -0
- package/dist/types/Message.js +30 -0
- package/dist/types/Message.js.map +1 -0
- package/dist/types/Message.mjs +7 -0
- package/dist/types/Message.mjs.map +1 -0
- package/dist/types/Meta.d.ts +33 -0
- package/dist/types/Meta.js +71 -0
- package/dist/types/Meta.js.map +1 -0
- package/dist/types/Meta.mjs +47 -0
- package/dist/types/Meta.mjs.map +1 -0
- package/dist/types/Nullish.d.ts +2 -0
- package/dist/types/Nullish.js +29 -0
- package/dist/types/Nullish.js.map +1 -0
- package/dist/types/Nullish.mjs +6 -0
- package/dist/types/Nullish.mjs.map +1 -0
- package/dist/types/Number.d.ts +2 -0
- package/dist/types/Number.js +33 -0
- package/dist/types/Number.js.map +1 -0
- package/dist/types/Number.mjs +10 -0
- package/dist/types/Number.mjs.map +1 -0
- package/dist/types/PageList.d.ts +68 -0
- package/dist/types/PageList.js +156 -0
- package/dist/types/PageList.js.map +1 -0
- package/dist/types/PageList.mjs +128 -0
- package/dist/types/PageList.mjs.map +1 -0
- package/dist/types/Primitive.d.ts +2 -0
- package/dist/types/Primitive.js +32 -0
- package/dist/types/Primitive.js.map +1 -0
- package/dist/types/Primitive.mjs +9 -0
- package/dist/types/Primitive.mjs.map +1 -0
- package/dist/types/Repository.d.ts +15 -0
- package/dist/types/Repository.js +68 -0
- package/dist/types/Repository.js.map +1 -0
- package/dist/types/Repository.mjs +45 -0
- package/dist/types/Repository.mjs.map +1 -0
- package/dist/types/Result.d.ts +9 -0
- package/dist/types/Result.js +38 -0
- package/dist/types/Result.js.map +1 -0
- package/dist/types/Result.mjs +14 -0
- package/dist/types/Result.mjs.map +1 -0
- package/dist/types/Results.d.ts +12 -0
- package/dist/types/Results.js +51 -0
- package/dist/types/Results.js.map +1 -0
- package/dist/types/Results.mjs +26 -0
- package/dist/types/Results.mjs.map +1 -0
- package/dist/types/Sort.d.ts +8 -0
- package/dist/types/Sort.js +32 -0
- package/dist/types/Sort.js.map +1 -0
- package/dist/types/Sort.mjs +8 -0
- package/dist/types/Sort.mjs.map +1 -0
- package/dist/types/Tag.d.ts +2 -0
- package/dist/types/Tag.js +35 -0
- package/dist/types/Tag.js.map +1 -0
- package/dist/types/Tag.mjs +11 -0
- package/dist/types/Tag.mjs.map +1 -0
- package/dist/types/Template.d.ts +7 -0
- package/dist/types/Template.js +62 -0
- package/dist/types/Template.js.map +1 -0
- package/dist/types/Template.mjs +39 -0
- package/dist/types/Template.mjs.map +1 -0
- package/dist/types/Text.d.ts +45 -0
- package/dist/types/Text.js +127 -0
- package/dist/types/Text.js.map +1 -0
- package/dist/types/Text.mjs +99 -0
- package/dist/types/Text.mjs.map +1 -0
- package/dist/types/Try.d.ts +44 -0
- package/dist/types/Try.js +137 -0
- package/dist/types/Try.js.map +1 -0
- package/dist/types/Try.mjs +113 -0
- package/dist/types/Try.mjs.map +1 -0
- package/dist/types/TypeGuard.d.ts +1 -0
- package/dist/types/TypeGuard.js +17 -0
- package/dist/types/TypeGuard.js.map +1 -0
- package/dist/types/TypeGuard.mjs +1 -0
- package/dist/types/TypeGuard.mjs.map +1 -0
- package/dist/types/Types.d.ts +5 -0
- package/dist/types/Types.js +17 -0
- package/dist/types/Types.js.map +1 -0
- package/dist/types/Types.mjs +1 -0
- package/dist/types/Types.mjs.map +1 -0
- package/dist/types/Uri.d.ts +69 -0
- package/dist/types/Uri.js +104 -0
- package/dist/types/Uri.js.map +1 -0
- package/dist/types/Uri.mjs +79 -0
- package/dist/types/Uri.mjs.map +1 -0
- package/dist/types/Uuid.d.ts +3 -0
- package/dist/types/Uuid.js +35 -0
- package/dist/types/Uuid.js.map +1 -0
- package/dist/types/Uuid.mjs +11 -0
- package/dist/types/Uuid.mjs.map +1 -0
- package/dist/types/Validatable.d.ts +5 -0
- package/dist/types/Validatable.js +30 -0
- package/dist/types/Validatable.js.map +1 -0
- package/dist/types/Validatable.mjs +7 -0
- package/dist/types/Validatable.mjs.map +1 -0
- package/dist/types/Value.d.ts +9 -0
- package/dist/types/Value.js +47 -0
- package/dist/types/Value.js.map +1 -0
- package/dist/types/Value.mjs +23 -0
- package/dist/types/Value.mjs.map +1 -0
- package/dist/types/index.d.ts +42 -0
- package/dist/types/index.js +105 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +43 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/utils/Convert.d.ts +19 -0
- package/dist/utils/Convert.js +69 -0
- package/dist/utils/Convert.js.map +1 -0
- package/dist/utils/Convert.mjs +45 -0
- package/dist/utils/Convert.mjs.map +1 -0
- package/dist/utils/If.d.ts +10 -0
- package/dist/utils/If.js +47 -0
- package/dist/utils/If.js.map +1 -0
- package/dist/utils/If.mjs +21 -0
- package/dist/utils/If.mjs.map +1 -0
- package/dist/utils/Loading.d.ts +1 -0
- package/dist/utils/Loading.js +30 -0
- package/dist/utils/Loading.js.map +1 -0
- package/dist/utils/Loading.mjs +7 -0
- package/dist/utils/Loading.mjs.map +1 -0
- package/dist/utils/Log.d.ts +2 -0
- package/dist/utils/Log.js +37 -0
- package/dist/utils/Log.js.map +1 -0
- package/dist/utils/Log.mjs +14 -0
- package/dist/utils/Log.mjs.map +1 -0
- package/dist/utils/Mapper.d.ts +48 -0
- package/dist/utils/Mapper.js +133 -0
- package/dist/utils/Mapper.js.map +1 -0
- package/dist/utils/Mapper.mjs +108 -0
- package/dist/utils/Mapper.mjs.map +1 -0
- package/dist/utils/Promise.d.ts +18 -0
- package/dist/utils/Promise.js +55 -0
- package/dist/utils/Promise.js.map +1 -0
- package/dist/utils/Promise.mjs +26 -0
- package/dist/utils/Promise.mjs.map +1 -0
- package/dist/utils/Property.d.ts +16 -0
- package/dist/utils/Property.js +42 -0
- package/dist/utils/Property.js.map +1 -0
- package/dist/utils/Property.mjs +19 -0
- package/dist/utils/Property.mjs.map +1 -0
- package/dist/utils/Sentence.d.ts +48 -0
- package/dist/utils/Sentence.js +80 -0
- package/dist/utils/Sentence.js.map +1 -0
- package/dist/utils/Sentence.mjs +56 -0
- package/dist/utils/Sentence.mjs.map +1 -0
- package/dist/utils/State.d.ts +7 -0
- package/dist/utils/State.js +36 -0
- package/dist/utils/State.js.map +1 -0
- package/dist/utils/State.mjs +13 -0
- package/dist/utils/State.mjs.map +1 -0
- package/dist/utils/Traverse.d.ts +1 -0
- package/dist/utils/Traverse.js +33 -0
- package/dist/utils/Traverse.js.map +1 -0
- package/dist/utils/Traverse.mjs +10 -0
- package/dist/utils/Traverse.mjs.map +1 -0
- package/dist/utils/View.d.ts +36 -0
- package/dist/utils/View.js +86 -0
- package/dist/utils/View.js.map +1 -0
- package/dist/utils/View.mjs +73 -0
- package/dist/utils/View.mjs.map +1 -0
- package/dist/utils/Wait.d.ts +5 -0
- package/dist/utils/Wait.js +39 -0
- package/dist/utils/Wait.js.map +1 -0
- package/dist/utils/Wait.mjs +15 -0
- package/dist/utils/Wait.mjs.map +1 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.js +45 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +13 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/validation/Contraints.d.ts +19 -0
- package/dist/validation/Contraints.js +88 -0
- package/dist/validation/Contraints.js.map +1 -0
- package/dist/validation/Contraints.mjs +49 -0
- package/dist/validation/Contraints.mjs.map +1 -0
- package/dist/validation/Validate.d.ts +11 -0
- package/dist/validation/Validate.js +43 -0
- package/dist/validation/Validate.js.map +1 -0
- package/dist/validation/Validate.mjs +34 -0
- package/dist/validation/Validate.mjs.map +1 -0
- package/dist/validation/When.d.ts +22 -0
- package/dist/validation/When.js +68 -0
- package/dist/validation/When.js.map +1 -0
- package/dist/validation/When.mjs +44 -0
- package/dist/validation/When.mjs.map +1 -0
- package/dist/validation/index.d.ts +3 -0
- package/dist/validation/index.js +27 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/index.mjs +4 -0
- package/dist/validation/index.mjs.map +1 -0
- package/package.json +4 -4
- package/src/process/Manage.ts +15 -4
- package/src/process/Search.ts +24 -9
- package/src/utils/If.ts +1 -0
- package/dist/index.d.mts +0 -2821
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import "../chunk-4N72FQFX.mjs";
|
|
2
|
+
import { isA } from "./IsA";
|
|
3
|
+
import { isEmpty, isObject } from "./Is";
|
|
4
|
+
import { ofGet } from "./Get";
|
|
5
|
+
import { ifDefined } from "../utils";
|
|
6
|
+
const isJson = (subject) => isA(subject, "toJSON");
|
|
7
|
+
const json = {
|
|
8
|
+
parse: (subject) => JSON.parse(JSON.stringify(subject ?? {})),
|
|
9
|
+
merge: (...subjects) => json.parse(subjects.map((s) => asJson(s, (s2) => json.parse(s2))).reduce((js, j) => ({ ...js, ...j }), {})),
|
|
10
|
+
delete: (subject, key) => {
|
|
11
|
+
ifDefined(subject, () => delete subject[key]);
|
|
12
|
+
return subject;
|
|
13
|
+
},
|
|
14
|
+
set: (subject, key = "", value) => isEmpty(key) ? subject : value !== void 0 ? { ...subject, ...{ [key]: value } } : json.delete(subject, key),
|
|
15
|
+
omit: (subject, ...keys) => keys.reduce((js, k) => json.delete(js, k), json.parse(subject)),
|
|
16
|
+
defaults: (options = {}, defaults = {}) => json.merge(defaults, options)
|
|
17
|
+
};
|
|
18
|
+
const toJson = json.merge;
|
|
19
|
+
const asJson = (j, alt = {}) => isJson(j) ? j.toJSON() : isObject(j) ? j : ofGet(alt, j);
|
|
20
|
+
class Any {
|
|
21
|
+
constructor(value) {
|
|
22
|
+
this.value = value;
|
|
23
|
+
}
|
|
24
|
+
merge = (...subjects) => any(json.merge(this.value, ...subjects));
|
|
25
|
+
delete = (key) => any(json.delete(this.value, key));
|
|
26
|
+
omit = (...keys) => any(json.omit(this.value, ...keys));
|
|
27
|
+
set = (key, value) => any(json.set(this.value, key, value));
|
|
28
|
+
toJSON() {
|
|
29
|
+
return this.value;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const any = (value) => new Any(value);
|
|
33
|
+
export {
|
|
34
|
+
any,
|
|
35
|
+
asJson,
|
|
36
|
+
isJson,
|
|
37
|
+
json,
|
|
38
|
+
toJson
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=Json.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/Json.ts"],"sourcesContent":["import { isA } from './IsA';\nimport { isEmpty, isObject } from './Is';\nimport { Get, ofGet } from './Get';\nimport { ifDefined } from '../utils';\nimport { TypeGuard } from './TypeGuard';\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 defaults: <T extends Json = Json>(options: Partial<T> = {}, defaults: Partial<T> = {}): T => json.merge(defaults, options) as T,\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 any = <T extends Json = Json>(value: T): Any<T> => new Any<T>(value);\n"],"mappings":";AAAA,SAAS,WAAW;AACpB,SAAS,SAAS,gBAAgB;AAClC,SAAc,aAAa;AAC3B,SAAS,iBAAiB;AAMnB,MAAM,SAA4C,CAAC,YACxD,IAA4B,SAAS,QAAQ;AAExC,MAAM,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,UAAU,CAAwB,UAAsB,CAAC,GAAG,WAAuB,CAAC,MAAS,KAAK,MAAM,UAAU,OAAO;AAC3H;AAEO,MAAM,SAAS,KAAK;AAEpB,MAAM,SAAS,CAAC,GAAa,MAAiB,CAAC,MAAa,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,IAAK,IAAa,MAAM,KAAK,CAAC;AAEpI,MAAM,IAAoB;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,MAAM,MAAM,CAAwB,UAAqB,IAAI,IAAO,KAAK;","names":["s"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ArrayLike } from './Array';
|
|
2
|
+
import { Constructor } from './Constructor';
|
|
3
|
+
import { Json } from './Json';
|
|
4
|
+
import { Get, GetProperty } from './Get';
|
|
5
|
+
import { Id } from './Id';
|
|
6
|
+
import { Optional } from './Types';
|
|
7
|
+
export declare class List<T = unknown> extends Array<T> {
|
|
8
|
+
asc(p: GetProperty<T, any>): List<T>;
|
|
9
|
+
desc(p: GetProperty<T, any>): List<T>;
|
|
10
|
+
first(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T;
|
|
11
|
+
firstValue<V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V>;
|
|
12
|
+
isFirst(value: T): boolean;
|
|
13
|
+
next(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T;
|
|
14
|
+
prev(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T;
|
|
15
|
+
last(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T;
|
|
16
|
+
isLast(value: T): boolean;
|
|
17
|
+
overlaps(...items: ArrayLike<T>): boolean;
|
|
18
|
+
diff(others: ArrayLike<T>): List<T>;
|
|
19
|
+
diffByKey(others: ArrayLike<T>, key: keyof T): List<T>;
|
|
20
|
+
intersect(others: ArrayLike<T>): List<T>;
|
|
21
|
+
intersectByKey(others: ArrayLike<T>, key: keyof T): List<T>;
|
|
22
|
+
toJSON(): Json[];
|
|
23
|
+
map<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<U>;
|
|
24
|
+
flatMap<U, This = unknown>(f: (this: This, value: T, index: number, array: T[]) => ReadonlyArray<U> | U, params?: This): List<U>;
|
|
25
|
+
mapDefined<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<NonNullable<U>>;
|
|
26
|
+
mapAsync(f: (i: T) => Promise<T>): Promise<List<T>>;
|
|
27
|
+
distinct(): List<T>;
|
|
28
|
+
distinctByKey(key: keyof T): List<T>;
|
|
29
|
+
filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): List<T>;
|
|
30
|
+
sum(p: (t: T) => number): number;
|
|
31
|
+
byId(id: Id): T;
|
|
32
|
+
add(...items: ArrayLike<T>): this;
|
|
33
|
+
concat(...items: ConcatArray<T>[]): List<T>;
|
|
34
|
+
concat(...items: (T | ConcatArray<T>)[]): List<T>;
|
|
35
|
+
reverse(): List<T>;
|
|
36
|
+
splice(start: number, deleteCount?: number): List<T>;
|
|
37
|
+
splice(start: number, deleteCount: number, ...items: T[]): List<T>;
|
|
38
|
+
remove(item: T): List<T>;
|
|
39
|
+
replace(key: keyof T, item: T): List<T>;
|
|
40
|
+
switch(item: T): List<T>;
|
|
41
|
+
defined(): List<NonNullable<T>>;
|
|
42
|
+
toObject(key: keyof T, options?: {
|
|
43
|
+
deleteKey?: boolean;
|
|
44
|
+
}): Record<string | number | symbol, T>;
|
|
45
|
+
toObjectList(key: keyof T): Record<string | number | symbol, List<T>>;
|
|
46
|
+
orElse(...alt: ArrayLike<T>): Optional<List<T>>;
|
|
47
|
+
weave(insertFrom: T[], interval: number): this;
|
|
48
|
+
slice(start?: number, end?: number): List<T>;
|
|
49
|
+
}
|
|
50
|
+
export declare const toList: <T = unknown>(...items: ArrayLike<T>) => List<T>;
|
|
51
|
+
export declare const isList: <T>(l?: unknown) => l is List<T>;
|
|
52
|
+
export declare const asList: <T>(c: Constructor<T>, items?: unknown | unknown[]) => List<T>;
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var List_exports = {};
|
|
20
|
+
__export(List_exports, {
|
|
21
|
+
List: () => List,
|
|
22
|
+
asList: () => asList,
|
|
23
|
+
isList: () => isList,
|
|
24
|
+
toList: () => toList
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(List_exports);
|
|
27
|
+
var import_Array = require("./Array");
|
|
28
|
+
var import_Json = require("./Json");
|
|
29
|
+
var import_Is = require("./Is");
|
|
30
|
+
var import_IsA = require("./IsA");
|
|
31
|
+
var import_Get = require("./Get");
|
|
32
|
+
var import_Text = require("./Text");
|
|
33
|
+
var import_Try = require("./Try");
|
|
34
|
+
var import_Meta = require("./Meta");
|
|
35
|
+
class List extends Array {
|
|
36
|
+
asc(p) {
|
|
37
|
+
return this.sort((e1, e2) => (0, import_Get.ofProperty)(e1, p) > (0, import_Get.ofProperty)(e2, p) ? 1 : -1);
|
|
38
|
+
}
|
|
39
|
+
desc(p) {
|
|
40
|
+
return this.sort((e1, e2) => (0, import_Get.ofProperty)(e1, p) < (0, import_Get.ofProperty)(e2, p) ? 1 : -1);
|
|
41
|
+
}
|
|
42
|
+
first(p, params) {
|
|
43
|
+
return p ? this.find(p, params) : this[0];
|
|
44
|
+
}
|
|
45
|
+
firstValue(f, alt) {
|
|
46
|
+
return (0, import_Try.tryTo)(() => this.first((t) => !!f(t))).map((i) => i ? f(i) : (0, import_Get.ofGet)(alt, i)).value;
|
|
47
|
+
}
|
|
48
|
+
isFirst(value) {
|
|
49
|
+
return value === this.first();
|
|
50
|
+
}
|
|
51
|
+
next(p, params) {
|
|
52
|
+
return p ? this[this.findIndex(p, params) + 1] : this[0];
|
|
53
|
+
}
|
|
54
|
+
prev(p, params) {
|
|
55
|
+
return p ? this[this.findIndex(p, params) - 1] : this[0];
|
|
56
|
+
}
|
|
57
|
+
last(p, params) {
|
|
58
|
+
return p ? this.filter(p, params).last() : this[this.length - 1];
|
|
59
|
+
}
|
|
60
|
+
isLast(value) {
|
|
61
|
+
return value === this.last();
|
|
62
|
+
}
|
|
63
|
+
overlaps(...items) {
|
|
64
|
+
return toList(...items).some((i) => this.some((t) => i === t));
|
|
65
|
+
}
|
|
66
|
+
diff(others) {
|
|
67
|
+
return this.filter((i) => !others.includes(i));
|
|
68
|
+
}
|
|
69
|
+
diffByKey(others, key) {
|
|
70
|
+
return this.filter((i) => !others.some((o) => o[key] === i[key]));
|
|
71
|
+
}
|
|
72
|
+
intersect(others) {
|
|
73
|
+
return this.filter((i) => others.includes(i));
|
|
74
|
+
}
|
|
75
|
+
intersectByKey(others, key) {
|
|
76
|
+
return this.filter((i) => others.some((o) => o[key] === i[key]));
|
|
77
|
+
}
|
|
78
|
+
toJSON() {
|
|
79
|
+
return this.reduce((a, i) => {
|
|
80
|
+
a.push(import_Json.json.parse(i));
|
|
81
|
+
return a;
|
|
82
|
+
}, new Array());
|
|
83
|
+
}
|
|
84
|
+
map(f, params) {
|
|
85
|
+
return toList(super.map(f, params));
|
|
86
|
+
}
|
|
87
|
+
flatMap(f, params) {
|
|
88
|
+
return toList(super.flatMap(f, params));
|
|
89
|
+
}
|
|
90
|
+
mapDefined(f, params) {
|
|
91
|
+
return this.map(f, params).defined();
|
|
92
|
+
}
|
|
93
|
+
mapAsync(f) {
|
|
94
|
+
return Promise.all(super.map((e) => f(e))).then((a) => toList(a));
|
|
95
|
+
}
|
|
96
|
+
distinct() {
|
|
97
|
+
return this.filter((i, index) => this.indexOf(i) === index);
|
|
98
|
+
}
|
|
99
|
+
distinctByKey(key) {
|
|
100
|
+
return (0, import_Meta.meta)(this.toObject(key)).values();
|
|
101
|
+
}
|
|
102
|
+
filter(p, params) {
|
|
103
|
+
return toList(super.filter(p, params));
|
|
104
|
+
}
|
|
105
|
+
sum(p) {
|
|
106
|
+
return this.reduce((sum, i) => sum + p(i), 0);
|
|
107
|
+
}
|
|
108
|
+
byId(id) {
|
|
109
|
+
return this.first((i) => (0, import_Text.asString)(i.id) === (0, import_Text.asString)(id));
|
|
110
|
+
}
|
|
111
|
+
add(...items) {
|
|
112
|
+
super.push(...(0, import_Array.toArray)(...items));
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
concat(...items) {
|
|
116
|
+
return toList(super.concat(...items));
|
|
117
|
+
}
|
|
118
|
+
reverse() {
|
|
119
|
+
return toList(super.reverse());
|
|
120
|
+
}
|
|
121
|
+
splice(start, deleteCount, ...items) {
|
|
122
|
+
return toList(super.splice(start, deleteCount, ...items));
|
|
123
|
+
}
|
|
124
|
+
remove(item) {
|
|
125
|
+
const index = this.indexOf(item);
|
|
126
|
+
if (index > -1) {
|
|
127
|
+
this.splice(index, 1);
|
|
128
|
+
}
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
replace(key, item) {
|
|
132
|
+
(0, import_Try.tryTo)(() => item[key]).map((k) => this.findIndex((i) => i[key] === k)).filter((i) => i > -1).map((i) => this[i] = item);
|
|
133
|
+
return this;
|
|
134
|
+
}
|
|
135
|
+
switch(item) {
|
|
136
|
+
return this.includes(item) ? this.remove(item) : this.add(item);
|
|
137
|
+
}
|
|
138
|
+
defined() {
|
|
139
|
+
return this.reduce((l, v) => (0, import_Is.isDefined)(v) ? l.add(v) : l, toList());
|
|
140
|
+
}
|
|
141
|
+
toObject(key, options = {}) {
|
|
142
|
+
return this.reduce((o, i) => {
|
|
143
|
+
o[i[key]] = i;
|
|
144
|
+
if (options.deleteKey)
|
|
145
|
+
delete o[i[key]][key];
|
|
146
|
+
return o;
|
|
147
|
+
}, {});
|
|
148
|
+
}
|
|
149
|
+
toObjectList(key) {
|
|
150
|
+
return this.reduce((a, t) => {
|
|
151
|
+
const k = t[key];
|
|
152
|
+
a[k] = a[k] ?? toList();
|
|
153
|
+
a[k].push(t);
|
|
154
|
+
return a;
|
|
155
|
+
}, {});
|
|
156
|
+
}
|
|
157
|
+
orElse(...alt) {
|
|
158
|
+
return !(0, import_Is.isEmpty)(this) ? this : !(0, import_Is.isEmpty)(...alt) ? toList(...alt) : void 0;
|
|
159
|
+
}
|
|
160
|
+
weave(insertFrom, interval) {
|
|
161
|
+
for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {
|
|
162
|
+
this.splice(i, 0, insertFrom[n++]);
|
|
163
|
+
}
|
|
164
|
+
return this;
|
|
165
|
+
}
|
|
166
|
+
slice(start, end) {
|
|
167
|
+
return toList(super.slice(start, end));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const toList = (...items) => new List().add(...items);
|
|
171
|
+
const isList = (l) => (0, import_Is.isDefined)(l) && (0, import_Is.isArray)(l) && (0, import_IsA.isA)(l, "first", "last", "asc", "desc");
|
|
172
|
+
const asList = (c, items = []) => toList((0, import_Array.toArray)(items).map((i) => new c(i)));
|
|
173
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
174
|
+
0 && (module.exports = {
|
|
175
|
+
List,
|
|
176
|
+
asList,
|
|
177
|
+
isList,
|
|
178
|
+
toList
|
|
179
|
+
});
|
|
180
|
+
//# sourceMappingURL=List.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/List.ts"],"sourcesContent":["import { ArrayLike, toArray } from './Array';\nimport { Constructor } from './Constructor';\nimport { json, Json } from './Json';\nimport { isArray, isDefined, isEmpty } from './Is';\nimport { isA } from './IsA';\nimport { Get, GetProperty, ofGet, ofProperty } from './Get';\nimport { Id } from './Id';\nimport { asString } from './Text';\nimport { tryTo } from './Try';\nimport { meta } from './Meta';\nimport { Optional } from './Types';\n\nexport class List<T = unknown> extends Array<T> {\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?: (value: T, index: number, array: T[]) => unknown, 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 tryTo(() => this.first(t => !!f(t))).map(i => (i ? f(i) : ofGet(alt, i))).value;\n }\n\n isFirst(value: T): boolean {\n return value === this.first();\n }\n\n next(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this[this.findIndex(p, params) + 1] : this[0];\n }\n\n prev(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this[this.findIndex(p, params) - 1] : this[0];\n }\n\n last(p?: (value: T, index: number, array: T[]) => unknown, 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(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.filter((i: any) => !others.some((o: any) => o[key] === i[key]));\n }\n\n intersect(others: ArrayLike<T>): List<T> {\n return this.filter(i => others.includes(i));\n }\n\n intersectByKey(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.filter((i: any) => others.some((o: any) => o[key] === i[key]));\n }\n\n toJSON(): Json[] {\n return this.reduce((a, i) => {\n a.push(json.parse(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 distinct(): List<T> {\n return this.filter((i, index) => this.indexOf(i) === index);\n }\n\n distinctByKey(key: keyof T): List<T> {\n return meta(this.toObject(key)).values();\n }\n\n filter(p: (value: T, index: number, array: T[]) => unknown, 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 byId(id: Id): T {\n return this.first(i => asString((i as any).id) === asString(id));\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 tryTo(() => item[key])\n .map(k => this.findIndex(i => i[key] === k))\n .filter(i => i > -1)\n .map(i => (this[i] = 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 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((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 }, {} as Record<string | number | symbol, List<T>>);\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\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 | unknown[] = []): List<T> => toList<T>(toArray(items).map(i => new c(i)));\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import "../chunk-4N72FQFX.mjs";
|
|
2
|
+
import { toArray } from "./Array";
|
|
3
|
+
import { json } from "./Json";
|
|
4
|
+
import { isArray, isDefined, isEmpty } from "./Is";
|
|
5
|
+
import { isA } from "./IsA";
|
|
6
|
+
import { ofGet, ofProperty } from "./Get";
|
|
7
|
+
import { asString } from "./Text";
|
|
8
|
+
import { tryTo } from "./Try";
|
|
9
|
+
import { meta } from "./Meta";
|
|
10
|
+
class List extends Array {
|
|
11
|
+
asc(p) {
|
|
12
|
+
return this.sort((e1, e2) => ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1);
|
|
13
|
+
}
|
|
14
|
+
desc(p) {
|
|
15
|
+
return this.sort((e1, e2) => ofProperty(e1, p) < ofProperty(e2, p) ? 1 : -1);
|
|
16
|
+
}
|
|
17
|
+
first(p, params) {
|
|
18
|
+
return p ? this.find(p, params) : this[0];
|
|
19
|
+
}
|
|
20
|
+
firstValue(f, alt) {
|
|
21
|
+
return tryTo(() => this.first((t) => !!f(t))).map((i) => i ? f(i) : ofGet(alt, i)).value;
|
|
22
|
+
}
|
|
23
|
+
isFirst(value) {
|
|
24
|
+
return value === this.first();
|
|
25
|
+
}
|
|
26
|
+
next(p, params) {
|
|
27
|
+
return p ? this[this.findIndex(p, params) + 1] : this[0];
|
|
28
|
+
}
|
|
29
|
+
prev(p, params) {
|
|
30
|
+
return p ? this[this.findIndex(p, params) - 1] : this[0];
|
|
31
|
+
}
|
|
32
|
+
last(p, params) {
|
|
33
|
+
return p ? this.filter(p, params).last() : this[this.length - 1];
|
|
34
|
+
}
|
|
35
|
+
isLast(value) {
|
|
36
|
+
return value === this.last();
|
|
37
|
+
}
|
|
38
|
+
overlaps(...items) {
|
|
39
|
+
return toList(...items).some((i) => this.some((t) => i === t));
|
|
40
|
+
}
|
|
41
|
+
diff(others) {
|
|
42
|
+
return this.filter((i) => !others.includes(i));
|
|
43
|
+
}
|
|
44
|
+
diffByKey(others, key) {
|
|
45
|
+
return this.filter((i) => !others.some((o) => o[key] === i[key]));
|
|
46
|
+
}
|
|
47
|
+
intersect(others) {
|
|
48
|
+
return this.filter((i) => others.includes(i));
|
|
49
|
+
}
|
|
50
|
+
intersectByKey(others, key) {
|
|
51
|
+
return this.filter((i) => others.some((o) => o[key] === i[key]));
|
|
52
|
+
}
|
|
53
|
+
toJSON() {
|
|
54
|
+
return this.reduce((a, i) => {
|
|
55
|
+
a.push(json.parse(i));
|
|
56
|
+
return a;
|
|
57
|
+
}, new Array());
|
|
58
|
+
}
|
|
59
|
+
map(f, params) {
|
|
60
|
+
return toList(super.map(f, params));
|
|
61
|
+
}
|
|
62
|
+
flatMap(f, params) {
|
|
63
|
+
return toList(super.flatMap(f, params));
|
|
64
|
+
}
|
|
65
|
+
mapDefined(f, params) {
|
|
66
|
+
return this.map(f, params).defined();
|
|
67
|
+
}
|
|
68
|
+
mapAsync(f) {
|
|
69
|
+
return Promise.all(super.map((e) => f(e))).then((a) => toList(a));
|
|
70
|
+
}
|
|
71
|
+
distinct() {
|
|
72
|
+
return this.filter((i, index) => this.indexOf(i) === index);
|
|
73
|
+
}
|
|
74
|
+
distinctByKey(key) {
|
|
75
|
+
return meta(this.toObject(key)).values();
|
|
76
|
+
}
|
|
77
|
+
filter(p, params) {
|
|
78
|
+
return toList(super.filter(p, params));
|
|
79
|
+
}
|
|
80
|
+
sum(p) {
|
|
81
|
+
return this.reduce((sum, i) => sum + p(i), 0);
|
|
82
|
+
}
|
|
83
|
+
byId(id) {
|
|
84
|
+
return this.first((i) => asString(i.id) === asString(id));
|
|
85
|
+
}
|
|
86
|
+
add(...items) {
|
|
87
|
+
super.push(...toArray(...items));
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
concat(...items) {
|
|
91
|
+
return toList(super.concat(...items));
|
|
92
|
+
}
|
|
93
|
+
reverse() {
|
|
94
|
+
return toList(super.reverse());
|
|
95
|
+
}
|
|
96
|
+
splice(start, deleteCount, ...items) {
|
|
97
|
+
return toList(super.splice(start, deleteCount, ...items));
|
|
98
|
+
}
|
|
99
|
+
remove(item) {
|
|
100
|
+
const index = this.indexOf(item);
|
|
101
|
+
if (index > -1) {
|
|
102
|
+
this.splice(index, 1);
|
|
103
|
+
}
|
|
104
|
+
return this;
|
|
105
|
+
}
|
|
106
|
+
replace(key, item) {
|
|
107
|
+
tryTo(() => item[key]).map((k) => this.findIndex((i) => i[key] === k)).filter((i) => i > -1).map((i) => this[i] = item);
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
switch(item) {
|
|
111
|
+
return this.includes(item) ? this.remove(item) : this.add(item);
|
|
112
|
+
}
|
|
113
|
+
defined() {
|
|
114
|
+
return this.reduce((l, v) => isDefined(v) ? l.add(v) : l, toList());
|
|
115
|
+
}
|
|
116
|
+
toObject(key, options = {}) {
|
|
117
|
+
return this.reduce((o, i) => {
|
|
118
|
+
o[i[key]] = i;
|
|
119
|
+
if (options.deleteKey)
|
|
120
|
+
delete o[i[key]][key];
|
|
121
|
+
return o;
|
|
122
|
+
}, {});
|
|
123
|
+
}
|
|
124
|
+
toObjectList(key) {
|
|
125
|
+
return this.reduce((a, t) => {
|
|
126
|
+
const k = t[key];
|
|
127
|
+
a[k] = a[k] ?? toList();
|
|
128
|
+
a[k].push(t);
|
|
129
|
+
return a;
|
|
130
|
+
}, {});
|
|
131
|
+
}
|
|
132
|
+
orElse(...alt) {
|
|
133
|
+
return !isEmpty(this) ? this : !isEmpty(...alt) ? toList(...alt) : void 0;
|
|
134
|
+
}
|
|
135
|
+
weave(insertFrom, interval) {
|
|
136
|
+
for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {
|
|
137
|
+
this.splice(i, 0, insertFrom[n++]);
|
|
138
|
+
}
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
slice(start, end) {
|
|
142
|
+
return toList(super.slice(start, end));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const toList = (...items) => new List().add(...items);
|
|
146
|
+
const isList = (l) => isDefined(l) && isArray(l) && isA(l, "first", "last", "asc", "desc");
|
|
147
|
+
const asList = (c, items = []) => toList(toArray(items).map((i) => new c(i)));
|
|
148
|
+
export {
|
|
149
|
+
List,
|
|
150
|
+
asList,
|
|
151
|
+
isList,
|
|
152
|
+
toList
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=List.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/List.ts"],"sourcesContent":["import { ArrayLike, toArray } from './Array';\nimport { Constructor } from './Constructor';\nimport { json, Json } from './Json';\nimport { isArray, isDefined, isEmpty } from './Is';\nimport { isA } from './IsA';\nimport { Get, GetProperty, ofGet, ofProperty } from './Get';\nimport { Id } from './Id';\nimport { asString } from './Text';\nimport { tryTo } from './Try';\nimport { meta } from './Meta';\nimport { Optional } from './Types';\n\nexport class List<T = unknown> extends Array<T> {\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?: (value: T, index: number, array: T[]) => unknown, 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 tryTo(() => this.first(t => !!f(t))).map(i => (i ? f(i) : ofGet(alt, i))).value;\n }\n\n isFirst(value: T): boolean {\n return value === this.first();\n }\n\n next(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this[this.findIndex(p, params) + 1] : this[0];\n }\n\n prev(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this[this.findIndex(p, params) - 1] : this[0];\n }\n\n last(p?: (value: T, index: number, array: T[]) => unknown, 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(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.filter((i: any) => !others.some((o: any) => o[key] === i[key]));\n }\n\n intersect(others: ArrayLike<T>): List<T> {\n return this.filter(i => others.includes(i));\n }\n\n intersectByKey(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.filter((i: any) => others.some((o: any) => o[key] === i[key]));\n }\n\n toJSON(): Json[] {\n return this.reduce((a, i) => {\n a.push(json.parse(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 distinct(): List<T> {\n return this.filter((i, index) => this.indexOf(i) === index);\n }\n\n distinctByKey(key: keyof T): List<T> {\n return meta(this.toObject(key)).values();\n }\n\n filter(p: (value: T, index: number, array: T[]) => unknown, 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 byId(id: Id): T {\n return this.first(i => asString((i as any).id) === asString(id));\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 tryTo(() => item[key])\n .map(k => this.findIndex(i => i[key] === k))\n .filter(i => i > -1)\n .map(i => (this[i] = 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 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((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 }, {} as Record<string | number | symbol, List<T>>);\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\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 | unknown[] = []): List<T> => toList<T>(toArray(items).map(i => new c(i)));\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var Message_exports = {};
|
|
20
|
+
__export(Message_exports, {
|
|
21
|
+
ofMessage: () => ofMessage
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(Message_exports);
|
|
24
|
+
var import_Func = require("./Func");
|
|
25
|
+
const ofMessage = (g, ...params) => (0, import_Func.isFunc)(g) ? g(...params) : g;
|
|
26
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
27
|
+
0 && (module.exports = {
|
|
28
|
+
ofMessage
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=Message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/Message.ts"],"sourcesContent":["import { Func, isFunc } from './Func';\n\nexport type Message<Args> = string | Func<string, Args>;\n\nexport const ofMessage = <Args>(g: Message<Args>, ...params: Args[]): string => (isFunc<string, Args>(g) ? g(...params) : g);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B;AAItB,MAAM,YAAY,CAAO,MAAqB,eAA4B,oBAAqB,CAAC,IAAI,EAAE,GAAG,MAAM,IAAI;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/Message.ts"],"sourcesContent":["import { Func, isFunc } from './Func';\n\nexport type Message<Args> = string | Func<string, Args>;\n\nexport const ofMessage = <Args>(g: Message<Args>, ...params: Args[]): string => (isFunc<string, Args>(g) ? g(...params) : g);\n"],"mappings":";AAAA,SAAe,cAAc;AAItB,MAAM,YAAY,CAAO,MAAqB,WAA4B,OAAqB,CAAC,IAAI,EAAE,GAAG,MAAM,IAAI;","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { List } from './List';
|
|
3
|
+
import { Optional } from './Types';
|
|
4
|
+
type MetaParseOptions = {
|
|
5
|
+
initial?: any;
|
|
6
|
+
skipUndefined?: boolean;
|
|
7
|
+
};
|
|
8
|
+
type Entry<T = unknown> = [key: string, value: T];
|
|
9
|
+
declare class ClassMeta {
|
|
10
|
+
readonly subject: any;
|
|
11
|
+
private readonly data;
|
|
12
|
+
constructor(subject: any, data?: any);
|
|
13
|
+
get: <T>(key: string) => T;
|
|
14
|
+
set: <T>(key: string, value: T) => T;
|
|
15
|
+
entries: <T = unknown>() => List<Entry<T>>;
|
|
16
|
+
parse: <Out, Value>(f: (v: Value) => Out, options?: MetaParseOptions) => Record<string, Out>;
|
|
17
|
+
properties: (key?: string) => List<PropertyMeta>;
|
|
18
|
+
keys: <T = any>(key: string) => List<T>;
|
|
19
|
+
values: <T = unknown>() => List<T>;
|
|
20
|
+
property: (property: string | symbol) => PropertyMeta;
|
|
21
|
+
}
|
|
22
|
+
declare class PropertyMeta {
|
|
23
|
+
readonly subject: any;
|
|
24
|
+
readonly property: string | symbol;
|
|
25
|
+
private readonly data;
|
|
26
|
+
constructor(subject: any, property: string | symbol, data?: any);
|
|
27
|
+
get value(): any;
|
|
28
|
+
get: <T>(key: string) => Optional<T>;
|
|
29
|
+
set: <T>(key: string, value: T) => T;
|
|
30
|
+
}
|
|
31
|
+
export declare const meta: (subject: unknown) => ClassMeta;
|
|
32
|
+
export declare const entries: <T = unknown>(subject: Record<string, T>) => List<Entry<T>>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var Meta_exports = {};
|
|
20
|
+
__export(Meta_exports, {
|
|
21
|
+
entries: () => entries,
|
|
22
|
+
meta: () => meta
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(Meta_exports);
|
|
25
|
+
var import_reflect_metadata = require("reflect-metadata");
|
|
26
|
+
var import_List = require("./List");
|
|
27
|
+
var import_Is = require("./Is");
|
|
28
|
+
var import_Constructor = require("./Constructor");
|
|
29
|
+
class ClassMeta {
|
|
30
|
+
constructor(subject, data = (subject.prototype ?? subject).constructor) {
|
|
31
|
+
this.subject = subject;
|
|
32
|
+
this.data = data;
|
|
33
|
+
}
|
|
34
|
+
get = (key) => Reflect.getMetadata(key, this.data);
|
|
35
|
+
set = (key, value) => {
|
|
36
|
+
Reflect.defineMetadata(key, value, this.data);
|
|
37
|
+
return value;
|
|
38
|
+
};
|
|
39
|
+
entries = () => (0, import_List.toList)([...Object.entries(this.subject), ...Object.entries(Object.getPrototypeOf(this.subject))]);
|
|
40
|
+
parse = (f, options = {}) => {
|
|
41
|
+
const { initial = {}, skipUndefined = false } = options;
|
|
42
|
+
return this.entries().reduce((a, [k, val]) => (0, import_Constructor.use)(f(val), (v) => (0, import_Is.isDefined)(v) || !skipUndefined ? (0, import_Constructor.on)(a, (a2) => a2[k] = v) : a), initial);
|
|
43
|
+
};
|
|
44
|
+
properties = (key) => (0, import_List.toList)([...Object.getOwnPropertyNames(this.subject), ...Object.getOwnPropertyNames(Object.getPrototypeOf(this.subject))]).map((p) => this.property(p)).filter((p) => key ? p.get(key) : p);
|
|
45
|
+
keys = (key) => this.properties().map((p) => p.get(key)).reduce((list, u) => u ? list.add(u) : list, (0, import_List.toList)());
|
|
46
|
+
values = () => (0, import_List.toList)([...Object.values(this.subject), ...Object.values(Object.getPrototypeOf(this.subject))]);
|
|
47
|
+
property = (property) => new PropertyMeta(this.subject, property);
|
|
48
|
+
}
|
|
49
|
+
class PropertyMeta {
|
|
50
|
+
constructor(subject, property, data = Reflect.getMetadata(property, subject)) {
|
|
51
|
+
this.subject = subject;
|
|
52
|
+
this.property = property;
|
|
53
|
+
this.data = data;
|
|
54
|
+
}
|
|
55
|
+
get value() {
|
|
56
|
+
return this.subject[this.property];
|
|
57
|
+
}
|
|
58
|
+
get = (key) => (0, import_Is.isDefined)(this.data) && (0, import_Is.isDefined)(this.data[key]) ? this.data[key] : void 0;
|
|
59
|
+
set = (key, value) => {
|
|
60
|
+
Reflect.defineMetadata(this.property, { ...this.data, [key]: value }, this.subject);
|
|
61
|
+
return value;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const meta = (subject) => new ClassMeta(subject ?? {});
|
|
65
|
+
const entries = (subject) => meta(subject).entries();
|
|
66
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
+
0 && (module.exports = {
|
|
68
|
+
entries,
|
|
69
|
+
meta
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=Meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/Meta.ts"],"sourcesContent":["import 'reflect-metadata';\nimport { List, toList } from './List';\nimport { isDefined } from './Is';\nimport { on, use } from './Constructor';\nimport { Optional } from './Types';\n\ntype MetaParseOptions = { initial?: any; skipUndefined?: boolean };\n\ntype Entry<T = unknown> = [key: string, value: T];\n\nclass ClassMeta {\n constructor(readonly subject: any, private readonly data: any = (subject.prototype ?? subject).constructor) {}\n\n get = <T>(key: string): T => Reflect.getMetadata(key, this.data) as T;\n\n set = <T>(key: string, value: T): T => {\n Reflect.defineMetadata(key, value, this.data);\n return value;\n };\n\n entries = <T = unknown>(): List<Entry<T>> =>\n toList([...Object.entries(this.subject), ...Object.entries(Object.getPrototypeOf(this.subject))]) as List<Entry<T>>;\n\n parse = <Out, Value>(f: (v: Value) => Out, options: MetaParseOptions = {}): Record<string, Out> => {\n const { initial = {}, skipUndefined = false } = options;\n return this.entries<Value>().reduce((a, [k, val]) => use(f(val), v => (isDefined(v) || !skipUndefined ? on(a, a => (a[k] = v)) : a)), initial);\n };\n\n properties = (key?: string): List<PropertyMeta> =>\n toList([...Object.getOwnPropertyNames(this.subject), ...Object.getOwnPropertyNames(Object.getPrototypeOf(this.subject))])\n .map(p => this.property(p))\n .filter(p => (key ? p.get(key) : p));\n\n keys = <T = any>(key: string): List<T> =>\n this.properties()\n .map(p => p.get<T>(key))\n .reduce((list, u) => (u ? list.add(u) : list), toList<T>());\n\n values = <T = unknown>(): List<T> => toList([...Object.values<T>(this.subject), ...Object.values<T>(Object.getPrototypeOf(this.subject))]);\n\n property = (property: string | symbol): PropertyMeta => new PropertyMeta(this.subject, property);\n}\n\nclass PropertyMeta {\n constructor(readonly subject: any, readonly property: string | symbol, private readonly data = Reflect.getMetadata(property, subject)) {}\n\n get value(): any {\n return this.subject[this.property];\n }\n\n get = <T>(key: string): Optional<T> => (isDefined(this.data) && isDefined(this.data[key]) ? (this.data[key] as T) : undefined);\n\n set = <T>(key: string, value: T): T => {\n Reflect.defineMetadata(this.property, { ...this.data, [key]: value }, this.subject);\n return value;\n };\n}\n\nexport const meta = (subject: unknown): ClassMeta => new ClassMeta(subject ?? {});\n\nexport const entries = <T = unknown>(subject: Record<string, T>): List<Entry<T>> => meta(subject).entries<T>();\n\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAO;AACP,kBAA6B;AAC7B,gBAA0B;AAC1B,yBAAwB;AAOxB,MAAM,UAAU;AAAA,EACd,YAAqB,SAA+B,QAAa,QAAQ,aAAa,SAAS,aAAa;AAAvF;AAA+B;AAAA,EAAyD;AAAA,EAE7G,MAAM,CAAI,QAAmB,QAAQ,YAAY,KAAK,KAAK,IAAI;AAAA,EAE/D,MAAM,CAAI,KAAa,UAAgB;AACrC,YAAQ,eAAe,KAAK,OAAO,KAAK,IAAI;AAC5C,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,UACR,oBAAO,CAAC,GAAG,OAAO,QAAQ,KAAK,OAAO,GAAG,GAAG,OAAO,QAAQ,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC;AAAA,EAElG,QAAQ,CAAa,GAAsB,UAA4B,CAAC,MAA2B;AACjG,UAAM,EAAE,UAAU,CAAC,GAAG,gBAAgB,MAAM,IAAI;AAChD,WAAO,KAAK,QAAe,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,UAAM,wBAAI,EAAE,GAAG,GAAG,WAAM,qBAAU,CAAC,KAAK,CAAC,oBAAgB,uBAAG,GAAG,CAAAA,OAAMA,GAAE,CAAC,IAAI,CAAE,IAAI,CAAE,GAAG,OAAO;AAAA,EAC/I;AAAA,EAEA,aAAa,CAAC,YACZ,oBAAO,CAAC,GAAG,OAAO,oBAAoB,KAAK,OAAO,GAAG,GAAG,OAAO,oBAAoB,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EACrH,IAAI,OAAK,KAAK,SAAS,CAAC,CAAC,EACzB,OAAO,OAAM,MAAM,EAAE,IAAI,GAAG,IAAI,CAAE;AAAA,EAEvC,OAAO,CAAU,QACf,KAAK,WAAW,EACb,IAAI,OAAK,EAAE,IAAO,GAAG,CAAC,EACtB,OAAO,CAAC,MAAM,MAAO,IAAI,KAAK,IAAI,CAAC,IAAI,UAAO,oBAAU,CAAC;AAAA,EAE9D,SAAS,UAA4B,oBAAO,CAAC,GAAG,OAAO,OAAU,KAAK,OAAO,GAAG,GAAG,OAAO,OAAU,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC;AAAA,EAEzI,WAAW,CAAC,aAA4C,IAAI,aAAa,KAAK,SAAS,QAAQ;AACjG;AAEA,MAAM,aAAa;AAAA,EACjB,YAAqB,SAAuB,UAA4C,OAAO,QAAQ,YAAY,UAAU,OAAO,GAAG;AAAlH;AAAuB;AAA4C;AAAA,EAAgD;AAAA,EAExI,IAAI,QAAa;AACf,WAAO,KAAK,QAAQ,KAAK,QAAQ;AAAA,EACnC;AAAA,EAEA,MAAM,CAAI,YAA8B,qBAAU,KAAK,IAAI,SAAK,qBAAU,KAAK,KAAK,GAAG,CAAC,IAAK,KAAK,KAAK,GAAG,IAAU;AAAA,EAEpH,MAAM,CAAI,KAAa,UAAgB;AACrC,YAAQ,eAAe,KAAK,UAAU,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,OAAO;AAClF,WAAO;AAAA,EACT;AACF;AAEO,MAAM,OAAO,CAAC,YAAgC,IAAI,UAAU,WAAW,CAAC,CAAC;AAEzE,MAAM,UAAU,CAAc,YAA+C,KAAK,OAAO,EAAE,QAAW;","names":["a"]}
|