@thisisagile/easy 17.18.5 → 17.18.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.
Files changed (199) hide show
  1. package/dist/{chunk-S33RXRXR.mjs → chunk-2VL6B3UJ.mjs} +9 -9
  2. package/dist/{chunk-MLAU6FXE.mjs → chunk-3E3YJR6L.mjs} +5 -5
  3. package/dist/{chunk-SEWX25XP.mjs → chunk-3TI2Y4HN.mjs} +2 -2
  4. package/dist/{chunk-MCCIBDEH.mjs → chunk-3Y7X2UQ6.mjs} +3 -3
  5. package/dist/{chunk-ZZ65BSDI.mjs → chunk-4IH3OE4Y.mjs} +3 -3
  6. package/dist/{chunk-VAT2WY5Y.mjs → chunk-4REZO4ZW.mjs} +3 -3
  7. package/dist/{chunk-DF6AC3AA.mjs → chunk-55KHMBCA.mjs} +2 -2
  8. package/dist/{chunk-6ILWOSEE.mjs → chunk-56HLMAA4.mjs} +16 -13
  9. package/dist/chunk-56HLMAA4.mjs.map +1 -0
  10. package/dist/{chunk-H2762RTS.mjs → chunk-5FX7PFZG.mjs} +3 -5
  11. package/dist/{chunk-H2762RTS.mjs.map → chunk-5FX7PFZG.mjs.map} +1 -1
  12. package/dist/{chunk-D5KAY6YW.mjs → chunk-5HLBJ56K.mjs} +9 -9
  13. package/dist/{chunk-SSQRH66L.mjs → chunk-6VTDQIEE.mjs} +3 -3
  14. package/dist/{chunk-OEL3QKBX.mjs → chunk-744LD44R.mjs} +4 -4
  15. package/dist/{chunk-Q3WMGUO2.mjs → chunk-BGSOJQAU.mjs} +2 -2
  16. package/dist/{chunk-55SDDPJZ.mjs → chunk-BLB72GKW.mjs} +2 -2
  17. package/dist/{chunk-A7C3XND3.mjs → chunk-CCJAHP7Z.mjs} +34 -8
  18. package/dist/chunk-CCJAHP7Z.mjs.map +1 -0
  19. package/dist/{chunk-Q56PAJ4T.mjs → chunk-COJ6DGFZ.mjs} +2 -2
  20. package/dist/{chunk-T3CJ5MZK.mjs → chunk-DIJQ6NKV.mjs} +4 -4
  21. package/dist/{chunk-OYQIOBV7.mjs → chunk-DK6TQHF3.mjs} +3 -3
  22. package/dist/{chunk-6LGUOSH3.mjs → chunk-DKTEKZ4O.mjs} +4 -4
  23. package/dist/{chunk-TU7SVDUE.mjs → chunk-DLJOM2QT.mjs} +4 -4
  24. package/dist/{chunk-WIBQ7LKH.mjs → chunk-EL4LXAN7.mjs} +3 -3
  25. package/dist/{chunk-6TR4LD27.mjs → chunk-FT66ANA7.mjs} +6 -6
  26. package/dist/{chunk-KD36HS3N.mjs → chunk-H27UMLDT.mjs} +2 -2
  27. package/dist/{chunk-3AB2A6WF.mjs → chunk-HCIL5KUZ.mjs} +3 -3
  28. package/dist/{chunk-BU6LSSQP.mjs → chunk-HN6COYSV.mjs} +2 -2
  29. package/dist/{chunk-WTFW6DLP.mjs → chunk-HTKGQGMZ.mjs} +3 -3
  30. package/dist/{chunk-KTENM2OG.mjs → chunk-IANSP3JJ.mjs} +3 -3
  31. package/dist/{chunk-NKSCRMWF.mjs → chunk-IRUM7VWE.mjs} +2 -2
  32. package/dist/{chunk-7JFDA4UI.mjs → chunk-KFSHBLFI.mjs} +2 -2
  33. package/dist/{chunk-LJPESIYZ.mjs → chunk-KXOBVHGI.mjs} +3 -3
  34. package/dist/{chunk-NCEWAKOZ.mjs → chunk-KYQULNU4.mjs} +2 -2
  35. package/dist/{chunk-MMGVG4ZW.mjs → chunk-LXCI7XE5.mjs} +3 -3
  36. package/dist/{chunk-IABTCMHB.mjs → chunk-M6LRND3Z.mjs} +4 -4
  37. package/dist/{chunk-5HENJTR6.mjs → chunk-PKILDKWU.mjs} +2 -2
  38. package/dist/{chunk-FD7AIHNO.mjs → chunk-PWTOW5KS.mjs} +2 -2
  39. package/dist/{chunk-ROJDO7ZE.mjs → chunk-QZUUK6PI.mjs} +4 -4
  40. package/dist/{chunk-VORW47OU.mjs → chunk-R3LDH6ZW.mjs} +2 -2
  41. package/dist/{chunk-3Q26WV4F.mjs → chunk-SCNDLTL6.mjs} +9 -9
  42. package/dist/chunk-SCNDLTL6.mjs.map +1 -0
  43. package/dist/{chunk-K3FRMONT.mjs → chunk-SOXQOCCH.mjs} +6 -6
  44. package/dist/{chunk-W7D4GZRE.mjs → chunk-TZZJ3U5V.mjs} +5 -7
  45. package/dist/{chunk-W7D4GZRE.mjs.map → chunk-TZZJ3U5V.mjs.map} +1 -1
  46. package/dist/{chunk-LXENNRRB.mjs → chunk-VCSOI44U.mjs} +2 -2
  47. package/dist/{chunk-JQQGQCYH.mjs → chunk-YDC3NPU4.mjs} +3 -5
  48. package/dist/{chunk-JQQGQCYH.mjs.map → chunk-YDC3NPU4.mjs.map} +1 -1
  49. package/dist/{chunk-MBXA7ZCQ.mjs → chunk-YDEAOY7R.mjs} +2 -2
  50. package/dist/{chunk-NDCIZJXB.mjs → chunk-YGKMN5UC.mjs} +2 -2
  51. package/dist/{chunk-KDK2E7CA.mjs → chunk-YH4CTU3I.mjs} +3 -3
  52. package/dist/{chunk-P2GDPTZ3.mjs → chunk-YQZVVYMQ.mjs} +2 -2
  53. package/dist/data/Condition.mjs +4 -5
  54. package/dist/data/Database.mjs +5 -6
  55. package/dist/data/Field.mjs +4 -5
  56. package/dist/data/Field.mjs.map +1 -1
  57. package/dist/data/InMemoryGateway.mjs +13 -14
  58. package/dist/data/InMemoryGateway.mjs.map +1 -1
  59. package/dist/domain/Audit.mjs +17 -18
  60. package/dist/domain/Child.mjs +14 -15
  61. package/dist/domain/Child.mjs.map +1 -1
  62. package/dist/domain/DateTime.d.ts +4 -3
  63. package/dist/domain/DateTime.mjs +13 -14
  64. package/dist/domain/Entity.mjs +17 -18
  65. package/dist/domain/Entity.mjs.map +1 -1
  66. package/dist/domain/Repo.mjs +13 -14
  67. package/dist/domain/Repo.mjs.map +1 -1
  68. package/dist/domain/Struct.mjs +13 -14
  69. package/dist/domain/Typo.mjs +12 -13
  70. package/dist/domain/Typo.mjs.map +1 -1
  71. package/dist/http/CacheControl.mjs +13 -14
  72. package/dist/http/CacheControl.mjs.map +1 -1
  73. package/dist/http/ContentType.mjs +5 -6
  74. package/dist/http/HttpStatus.mjs +5 -6
  75. package/dist/http/HttpVerb.mjs +5 -6
  76. package/dist/http/LocalRequestStore.mjs +4 -5
  77. package/dist/http/LocalRequestStore.mjs.map +1 -1
  78. package/dist/http/RequestOptions.mjs +8 -9
  79. package/dist/http/RestResult.mjs +13 -14
  80. package/dist/http/toResponse.mjs +14 -15
  81. package/dist/index.js +35 -24
  82. package/dist/index.js.map +1 -1
  83. package/dist/process/App.mjs +6 -7
  84. package/dist/process/App.mjs.map +1 -1
  85. package/dist/process/Manage.mjs +13 -14
  86. package/dist/process/Manage.mjs.map +1 -1
  87. package/dist/process/Scope.mjs +6 -7
  88. package/dist/process/Search.mjs +13 -14
  89. package/dist/process/UseCase.mjs +5 -6
  90. package/dist/process/UseCase.mjs.map +1 -1
  91. package/dist/resources/Req.mjs +12 -13
  92. package/dist/resources/Req.mjs.map +1 -1
  93. package/dist/services/Api.mjs +21 -22
  94. package/dist/services/ApiGateway.mjs +24 -25
  95. package/dist/services/AxiosProvider.mjs +19 -20
  96. package/dist/services/MappedRouteGateway.mjs +27 -28
  97. package/dist/services/MappedRouteGateway.mjs.map +1 -1
  98. package/dist/services/RouteGateway.mjs +25 -26
  99. package/dist/services/ViewRouteGateway.mjs +28 -29
  100. package/dist/services/ViewRouteGateway.mjs.map +1 -1
  101. package/dist/sql/Column.mjs +12 -13
  102. package/dist/sql/Count.mjs +4 -5
  103. package/dist/sql/Delete.mjs +3 -4
  104. package/dist/sql/Insert.mjs +3 -4
  105. package/dist/sql/Select.mjs +3 -4
  106. package/dist/sql/SqlQuery.mjs +2 -3
  107. package/dist/sql/Table.mjs +21 -22
  108. package/dist/sql/Table.mjs.map +1 -1
  109. package/dist/sql/TableGateway.mjs +13 -14
  110. package/dist/sql/TableGateway.mjs.map +1 -1
  111. package/dist/sql/Update.mjs +3 -4
  112. package/dist/types/Cache.mjs +3 -4
  113. package/dist/types/Cache.mjs.map +1 -1
  114. package/dist/types/CacheAge.mjs +13 -14
  115. package/dist/types/Case.mjs +11 -12
  116. package/dist/types/Context.mjs +4 -5
  117. package/dist/types/Enum.mjs +4 -5
  118. package/dist/types/Environment.mjs +4 -5
  119. package/dist/types/Environment.mjs.map +1 -1
  120. package/dist/types/Exception.mjs +6 -7
  121. package/dist/types/Gateway.mjs +8 -9
  122. package/dist/types/IsEqual.mjs +12 -13
  123. package/dist/types/Json.mjs +3 -4
  124. package/dist/types/List.mjs +1 -2
  125. package/dist/types/Meta.mjs +3 -4
  126. package/dist/types/Number.mjs +12 -13
  127. package/dist/types/Object.mjs +2 -3
  128. package/dist/types/PageList.mjs +12 -13
  129. package/dist/types/Parser.mjs +11 -12
  130. package/dist/types/Parser.mjs.map +1 -1
  131. package/dist/types/Repository.mjs +8 -9
  132. package/dist/types/Result.mjs +5 -6
  133. package/dist/types/Results.mjs +6 -7
  134. package/dist/types/Tag.mjs +3 -4
  135. package/dist/types/Tag.mjs.map +1 -1
  136. package/dist/types/Template.mjs +3 -4
  137. package/dist/types/Try.mjs +11 -12
  138. package/dist/types/Uri.mjs +11 -12
  139. package/dist/types/Uri.mjs.map +1 -1
  140. package/dist/utils/If.d.ts +4 -0
  141. package/dist/utils/If.mjs +7 -1
  142. package/dist/utils/Mapper.mjs +5 -6
  143. package/dist/utils/Promise.mjs +2 -3
  144. package/dist/utils/Seconds.mjs +2 -3
  145. package/dist/utils/Sentence.mjs +3 -4
  146. package/dist/utils/Sentence.mjs.map +1 -1
  147. package/dist/utils/View.mjs +15 -16
  148. package/dist/validation/Contraints.mjs +12 -13
  149. package/dist/validation/Validate.mjs +11 -12
  150. package/dist/validation/When.mjs +11 -12
  151. package/package.json +1 -1
  152. package/src/domain/DateTime.ts +22 -12
  153. package/src/utils/If.ts +14 -2
  154. package/src/utils/View.ts +1 -1
  155. package/dist/chunk-3Q26WV4F.mjs.map +0 -1
  156. package/dist/chunk-6ILWOSEE.mjs.map +0 -1
  157. package/dist/chunk-A7C3XND3.mjs.map +0 -1
  158. package/dist/chunk-JSON7A4X.mjs +0 -30
  159. package/dist/chunk-JSON7A4X.mjs.map +0 -1
  160. /package/dist/{chunk-S33RXRXR.mjs.map → chunk-2VL6B3UJ.mjs.map} +0 -0
  161. /package/dist/{chunk-MLAU6FXE.mjs.map → chunk-3E3YJR6L.mjs.map} +0 -0
  162. /package/dist/{chunk-SEWX25XP.mjs.map → chunk-3TI2Y4HN.mjs.map} +0 -0
  163. /package/dist/{chunk-MCCIBDEH.mjs.map → chunk-3Y7X2UQ6.mjs.map} +0 -0
  164. /package/dist/{chunk-ZZ65BSDI.mjs.map → chunk-4IH3OE4Y.mjs.map} +0 -0
  165. /package/dist/{chunk-VAT2WY5Y.mjs.map → chunk-4REZO4ZW.mjs.map} +0 -0
  166. /package/dist/{chunk-DF6AC3AA.mjs.map → chunk-55KHMBCA.mjs.map} +0 -0
  167. /package/dist/{chunk-D5KAY6YW.mjs.map → chunk-5HLBJ56K.mjs.map} +0 -0
  168. /package/dist/{chunk-SSQRH66L.mjs.map → chunk-6VTDQIEE.mjs.map} +0 -0
  169. /package/dist/{chunk-OEL3QKBX.mjs.map → chunk-744LD44R.mjs.map} +0 -0
  170. /package/dist/{chunk-Q3WMGUO2.mjs.map → chunk-BGSOJQAU.mjs.map} +0 -0
  171. /package/dist/{chunk-55SDDPJZ.mjs.map → chunk-BLB72GKW.mjs.map} +0 -0
  172. /package/dist/{chunk-Q56PAJ4T.mjs.map → chunk-COJ6DGFZ.mjs.map} +0 -0
  173. /package/dist/{chunk-T3CJ5MZK.mjs.map → chunk-DIJQ6NKV.mjs.map} +0 -0
  174. /package/dist/{chunk-OYQIOBV7.mjs.map → chunk-DK6TQHF3.mjs.map} +0 -0
  175. /package/dist/{chunk-6LGUOSH3.mjs.map → chunk-DKTEKZ4O.mjs.map} +0 -0
  176. /package/dist/{chunk-TU7SVDUE.mjs.map → chunk-DLJOM2QT.mjs.map} +0 -0
  177. /package/dist/{chunk-WIBQ7LKH.mjs.map → chunk-EL4LXAN7.mjs.map} +0 -0
  178. /package/dist/{chunk-6TR4LD27.mjs.map → chunk-FT66ANA7.mjs.map} +0 -0
  179. /package/dist/{chunk-KD36HS3N.mjs.map → chunk-H27UMLDT.mjs.map} +0 -0
  180. /package/dist/{chunk-3AB2A6WF.mjs.map → chunk-HCIL5KUZ.mjs.map} +0 -0
  181. /package/dist/{chunk-BU6LSSQP.mjs.map → chunk-HN6COYSV.mjs.map} +0 -0
  182. /package/dist/{chunk-WTFW6DLP.mjs.map → chunk-HTKGQGMZ.mjs.map} +0 -0
  183. /package/dist/{chunk-KTENM2OG.mjs.map → chunk-IANSP3JJ.mjs.map} +0 -0
  184. /package/dist/{chunk-NKSCRMWF.mjs.map → chunk-IRUM7VWE.mjs.map} +0 -0
  185. /package/dist/{chunk-7JFDA4UI.mjs.map → chunk-KFSHBLFI.mjs.map} +0 -0
  186. /package/dist/{chunk-LJPESIYZ.mjs.map → chunk-KXOBVHGI.mjs.map} +0 -0
  187. /package/dist/{chunk-NCEWAKOZ.mjs.map → chunk-KYQULNU4.mjs.map} +0 -0
  188. /package/dist/{chunk-MMGVG4ZW.mjs.map → chunk-LXCI7XE5.mjs.map} +0 -0
  189. /package/dist/{chunk-IABTCMHB.mjs.map → chunk-M6LRND3Z.mjs.map} +0 -0
  190. /package/dist/{chunk-5HENJTR6.mjs.map → chunk-PKILDKWU.mjs.map} +0 -0
  191. /package/dist/{chunk-FD7AIHNO.mjs.map → chunk-PWTOW5KS.mjs.map} +0 -0
  192. /package/dist/{chunk-ROJDO7ZE.mjs.map → chunk-QZUUK6PI.mjs.map} +0 -0
  193. /package/dist/{chunk-VORW47OU.mjs.map → chunk-R3LDH6ZW.mjs.map} +0 -0
  194. /package/dist/{chunk-K3FRMONT.mjs.map → chunk-SOXQOCCH.mjs.map} +0 -0
  195. /package/dist/{chunk-LXENNRRB.mjs.map → chunk-VCSOI44U.mjs.map} +0 -0
  196. /package/dist/{chunk-MBXA7ZCQ.mjs.map → chunk-YDEAOY7R.mjs.map} +0 -0
  197. /package/dist/{chunk-NDCIZJXB.mjs.map → chunk-YGKMN5UC.mjs.map} +0 -0
  198. /package/dist/{chunk-KDK2E7CA.mjs.map → chunk-YH4CTU3I.mjs.map} +0 -0
  199. /package/dist/{chunk-P2GDPTZ3.mjs.map → chunk-YQZVVYMQ.mjs.map} +0 -0
@@ -1,19 +1,18 @@
1
1
  import {
2
2
  isValid
3
- } from "../chunk-D5KAY6YW.mjs";
3
+ } from "../chunk-5HLBJ56K.mjs";
4
4
  import "../chunk-OFGI5FLG.mjs";
5
- import "../chunk-NCEWAKOZ.mjs";
6
- import "../chunk-Q3WMGUO2.mjs";
7
- import "../chunk-5HENJTR6.mjs";
8
- import "../chunk-LJPESIYZ.mjs";
5
+ import "../chunk-KYQULNU4.mjs";
6
+ import "../chunk-BGSOJQAU.mjs";
7
+ import "../chunk-PKILDKWU.mjs";
8
+ import "../chunk-KXOBVHGI.mjs";
9
9
  import "../chunk-WSBULPUZ.mjs";
10
- import "../chunk-NDCIZJXB.mjs";
11
- import "../chunk-MCCIBDEH.mjs";
12
- import "../chunk-3AB2A6WF.mjs";
13
- import "../chunk-WTFW6DLP.mjs";
14
- import "../chunk-H2762RTS.mjs";
15
- import "../chunk-A7C3XND3.mjs";
16
- import "../chunk-JSON7A4X.mjs";
10
+ import "../chunk-YGKMN5UC.mjs";
11
+ import "../chunk-3Y7X2UQ6.mjs";
12
+ import "../chunk-HCIL5KUZ.mjs";
13
+ import "../chunk-HTKGQGMZ.mjs";
14
+ import "../chunk-5FX7PFZG.mjs";
15
+ import "../chunk-CCJAHP7Z.mjs";
17
16
  import {
18
17
  toArray
19
18
  } from "../chunk-CO2AFYVD.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/Parser.ts"],"sourcesContent":["import { Get, ofGet, Predicate } from './Get';\nimport { isDefined, isEmpty, isIn, isObject, isString, isTrue } from './Is';\nimport { isValid } from '../validation/Validate';\nimport { Constructor, on } from './Constructor';\nimport { toArray } from './Array';\n\nexport class Parser<T, V> {\n if = {\n equals: (pred?: Predicate<T>): this => this.evaluate(isTrue, pred),\n empty: <U>(pred?: Get<U, T>): this => this.evaluate(isEmpty, pred),\n defined: <U>(pred?: Get<U, T>): this => this.evaluate(isDefined, pred),\n valid: <U>(pred?: Get<U, T>): this => this.evaluate(isValid, pred),\n in: (...items: T[]): this => this.evaluate(() => isIn(this.value, toArray(...items))),\n is: {\n object: <U>(pred?: Get<U, T>): this => this.evaluate(isObject, pred),\n string: <U>(pred?: Get<U, T>): this => this.evaluate(isString, pred),\n instance: <U>(c: Constructor<U>, pred?: Get<U, T>): this => this.evaluate(() => this.value instanceof c, pred),\n },\n not: {\n empty: <U>(pred?: Get<U, T>): this => this.evaluateNot(isEmpty, pred),\n defined: <U>(pred?: Get<U, T>): this => this.evaluateNot(isDefined, pred),\n valid: <U>(pred?: Get<U, T>): this => this.evaluateNot(isValid, pred),\n isObject: <U>(pred?: Get<U, T>): this => this.evaluateNot(isObject, pred),\n in: (...items: T[]): this => this.evaluate(() => !isIn(this.value, toArray(...items))),\n is: {\n object: <U>(pred?: Get<U, T>): this => this.evaluateNot(isObject, pred),\n string: <U>(pred?: Get<U, T>): this => this.evaluateNot(isString, pred),\n instance: <U>(c: Constructor<U>, pred?: Get<U, T>): this => this.evaluate(() => !(this.value instanceof c), pred),\n },\n },\n };\n\n constructor(\n protected value: T,\n protected valid = true\n ) {}\n\n protected evaluate<U>(meta: Get<boolean>, pred?: Get<U, T>): this {\n return on(this, t => (t.valid = ofGet(meta, pred ? ofGet(pred, this.value) : this.value)));\n }\n\n protected evaluateNot<U>(meta: Get<boolean>, pred?: Get<U, T>): this {\n return on(this, t => (t.valid = !ofGet(meta, pred ? ofGet(pred, this.value) : this.value)));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,SAAN,MAAmB;AAAA,EA0BxB,YACY,OACA,QAAQ,MAClB;AAFU;AACA;AAAA,EACT;AAAA,EA5BH,KAAK;AAAA,IACH,QAAQ,CAAC,SAA8B,KAAK,SAAS,QAAQ,IAAI;AAAA,IACjE,OAAO,CAAI,SAA2B,KAAK,SAAS,SAAS,IAAI;AAAA,IACjE,SAAS,CAAI,SAA2B,KAAK,SAAS,WAAW,IAAI;AAAA,IACrE,OAAO,CAAI,SAA2B,KAAK,SAAS,SAAS,IAAI;AAAA,IACjE,IAAI,IAAI,UAAqB,KAAK,SAAS,MAAM,KAAK,KAAK,OAAO,QAAQ,GAAG,KAAK,CAAC,CAAC;AAAA,IACpF,IAAI;AAAA,MACF,QAAQ,CAAI,SAA2B,KAAK,SAAS,UAAU,IAAI;AAAA,MACnE,QAAQ,CAAI,SAA2B,KAAK,SAAS,UAAU,IAAI;AAAA,MACnE,UAAU,CAAI,GAAmB,SAA2B,KAAK,SAAS,MAAM,KAAK,iBAAiB,GAAG,IAAI;AAAA,IAC/G;AAAA,IACA,KAAK;AAAA,MACH,OAAO,CAAI,SAA2B,KAAK,YAAY,SAAS,IAAI;AAAA,MACpE,SAAS,CAAI,SAA2B,KAAK,YAAY,WAAW,IAAI;AAAA,MACxE,OAAO,CAAI,SAA2B,KAAK,YAAY,SAAS,IAAI;AAAA,MACpE,UAAU,CAAI,SAA2B,KAAK,YAAY,UAAU,IAAI;AAAA,MACxE,IAAI,IAAI,UAAqB,KAAK,SAAS,MAAM,CAAC,KAAK,KAAK,OAAO,QAAQ,GAAG,KAAK,CAAC,CAAC;AAAA,MACrF,IAAI;AAAA,QACF,QAAQ,CAAI,SAA2B,KAAK,YAAY,UAAU,IAAI;AAAA,QACtE,QAAQ,CAAI,SAA2B,KAAK,YAAY,UAAU,IAAI;AAAA,QACtE,UAAU,CAAI,GAAmB,SAA2B,KAAK,SAAS,MAAM,EAAE,KAAK,iBAAiB,IAAI,IAAI;AAAA,MAClH;AAAA,IACF;AAAA,EACF;AAAA,EAOU,SAAY,MAAoB,MAAwB;AAChE,WAAO,GAAG,MAAM,OAAM,EAAE,QAAQ,MAAM,MAAM,OAAO,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,CAAE;AAAA,EAC3F;AAAA,EAEU,YAAe,MAAoB,MAAwB;AACnE,WAAO,GAAG,MAAM,OAAM,EAAE,QAAQ,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,CAAE;AAAA,EAC5F;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/types/Parser.ts"],"sourcesContent":["import { Get, ofGet, Predicate } from './Get';\nimport { isDefined, isEmpty, isIn, isObject, isString, isTrue } from './Is';\nimport { isValid } from '../validation/Validate';\nimport { Constructor, on } from './Constructor';\nimport { toArray } from './Array';\n\nexport class Parser<T, V> {\n if = {\n equals: (pred?: Predicate<T>): this => this.evaluate(isTrue, pred),\n empty: <U>(pred?: Get<U, T>): this => this.evaluate(isEmpty, pred),\n defined: <U>(pred?: Get<U, T>): this => this.evaluate(isDefined, pred),\n valid: <U>(pred?: Get<U, T>): this => this.evaluate(isValid, pred),\n in: (...items: T[]): this => this.evaluate(() => isIn(this.value, toArray(...items))),\n is: {\n object: <U>(pred?: Get<U, T>): this => this.evaluate(isObject, pred),\n string: <U>(pred?: Get<U, T>): this => this.evaluate(isString, pred),\n instance: <U>(c: Constructor<U>, pred?: Get<U, T>): this => this.evaluate(() => this.value instanceof c, pred),\n },\n not: {\n empty: <U>(pred?: Get<U, T>): this => this.evaluateNot(isEmpty, pred),\n defined: <U>(pred?: Get<U, T>): this => this.evaluateNot(isDefined, pred),\n valid: <U>(pred?: Get<U, T>): this => this.evaluateNot(isValid, pred),\n isObject: <U>(pred?: Get<U, T>): this => this.evaluateNot(isObject, pred),\n in: (...items: T[]): this => this.evaluate(() => !isIn(this.value, toArray(...items))),\n is: {\n object: <U>(pred?: Get<U, T>): this => this.evaluateNot(isObject, pred),\n string: <U>(pred?: Get<U, T>): this => this.evaluateNot(isString, pred),\n instance: <U>(c: Constructor<U>, pred?: Get<U, T>): this => this.evaluate(() => !(this.value instanceof c), pred),\n },\n },\n };\n\n constructor(\n protected value: T,\n protected valid = true\n ) {}\n\n protected evaluate<U>(meta: Get<boolean>, pred?: Get<U, T>): this {\n return on(this, t => (t.valid = ofGet(meta, pred ? ofGet(pred, this.value) : this.value)));\n }\n\n protected evaluateNot<U>(meta: Get<boolean>, pred?: Get<U, T>): this {\n return on(this, t => (t.valid = !ofGet(meta, pred ? ofGet(pred, this.value) : this.value)));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAM,SAAN,MAAmB;AAAA,EA0BxB,YACY,OACA,QAAQ,MAClB;AAFU;AACA;AAAA,EACT;AAAA,EA5BH,KAAK;AAAA,IACH,QAAQ,CAAC,SAA8B,KAAK,SAAS,QAAQ,IAAI;AAAA,IACjE,OAAO,CAAI,SAA2B,KAAK,SAAS,SAAS,IAAI;AAAA,IACjE,SAAS,CAAI,SAA2B,KAAK,SAAS,WAAW,IAAI;AAAA,IACrE,OAAO,CAAI,SAA2B,KAAK,SAAS,SAAS,IAAI;AAAA,IACjE,IAAI,IAAI,UAAqB,KAAK,SAAS,MAAM,KAAK,KAAK,OAAO,QAAQ,GAAG,KAAK,CAAC,CAAC;AAAA,IACpF,IAAI;AAAA,MACF,QAAQ,CAAI,SAA2B,KAAK,SAAS,UAAU,IAAI;AAAA,MACnE,QAAQ,CAAI,SAA2B,KAAK,SAAS,UAAU,IAAI;AAAA,MACnE,UAAU,CAAI,GAAmB,SAA2B,KAAK,SAAS,MAAM,KAAK,iBAAiB,GAAG,IAAI;AAAA,IAC/G;AAAA,IACA,KAAK;AAAA,MACH,OAAO,CAAI,SAA2B,KAAK,YAAY,SAAS,IAAI;AAAA,MACpE,SAAS,CAAI,SAA2B,KAAK,YAAY,WAAW,IAAI;AAAA,MACxE,OAAO,CAAI,SAA2B,KAAK,YAAY,SAAS,IAAI;AAAA,MACpE,UAAU,CAAI,SAA2B,KAAK,YAAY,UAAU,IAAI;AAAA,MACxE,IAAI,IAAI,UAAqB,KAAK,SAAS,MAAM,CAAC,KAAK,KAAK,OAAO,QAAQ,GAAG,KAAK,CAAC,CAAC;AAAA,MACrF,IAAI;AAAA,QACF,QAAQ,CAAI,SAA2B,KAAK,YAAY,UAAU,IAAI;AAAA,QACtE,QAAQ,CAAI,SAA2B,KAAK,YAAY,UAAU,IAAI;AAAA,QACtE,UAAU,CAAI,GAAmB,SAA2B,KAAK,SAAS,MAAM,EAAE,KAAK,iBAAiB,IAAI,IAAI;AAAA,MAClH;AAAA,IACF;AAAA,EACF;AAAA,EAOU,SAAY,MAAoB,MAAwB;AAChE,WAAO,GAAG,MAAM,OAAM,EAAE,QAAQ,MAAM,MAAM,OAAO,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,CAAE;AAAA,EAC3F;AAAA,EAEU,YAAe,MAAoB,MAAwB;AACnE,WAAO,GAAG,MAAM,OAAM,EAAE,QAAQ,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,CAAE;AAAA,EAC5F;AACF;","names":[]}
@@ -1,14 +1,13 @@
1
1
  import {
2
2
  Repository
3
- } from "../chunk-ZZ65BSDI.mjs";
4
- import "../chunk-5HENJTR6.mjs";
5
- import "../chunk-LJPESIYZ.mjs";
6
- import "../chunk-MCCIBDEH.mjs";
7
- import "../chunk-3AB2A6WF.mjs";
8
- import "../chunk-WTFW6DLP.mjs";
9
- import "../chunk-H2762RTS.mjs";
10
- import "../chunk-A7C3XND3.mjs";
11
- import "../chunk-JSON7A4X.mjs";
3
+ } from "../chunk-4IH3OE4Y.mjs";
4
+ import "../chunk-PKILDKWU.mjs";
5
+ import "../chunk-KXOBVHGI.mjs";
6
+ import "../chunk-3Y7X2UQ6.mjs";
7
+ import "../chunk-HCIL5KUZ.mjs";
8
+ import "../chunk-HTKGQGMZ.mjs";
9
+ import "../chunk-5FX7PFZG.mjs";
10
+ import "../chunk-CCJAHP7Z.mjs";
12
11
  import "../chunk-CO2AFYVD.mjs";
13
12
  import "../chunk-BDA5LB4S.mjs";
14
13
  import "../chunk-SJGQU3OG.mjs";
@@ -1,12 +1,11 @@
1
1
  import {
2
2
  isResult,
3
3
  toResult
4
- } from "../chunk-Q3WMGUO2.mjs";
5
- import "../chunk-NDCIZJXB.mjs";
6
- import "../chunk-MCCIBDEH.mjs";
7
- import "../chunk-H2762RTS.mjs";
8
- import "../chunk-A7C3XND3.mjs";
9
- import "../chunk-JSON7A4X.mjs";
4
+ } from "../chunk-BGSOJQAU.mjs";
5
+ import "../chunk-YGKMN5UC.mjs";
6
+ import "../chunk-3Y7X2UQ6.mjs";
7
+ import "../chunk-5FX7PFZG.mjs";
8
+ import "../chunk-CCJAHP7Z.mjs";
10
9
  import "../chunk-CO2AFYVD.mjs";
11
10
  import "../chunk-BDA5LB4S.mjs";
12
11
  import "../chunk-SJGQU3OG.mjs";
@@ -2,13 +2,12 @@ import {
2
2
  Results,
3
3
  isResults,
4
4
  toResults
5
- } from "../chunk-NCEWAKOZ.mjs";
6
- import "../chunk-Q3WMGUO2.mjs";
7
- import "../chunk-NDCIZJXB.mjs";
8
- import "../chunk-MCCIBDEH.mjs";
9
- import "../chunk-H2762RTS.mjs";
10
- import "../chunk-A7C3XND3.mjs";
11
- import "../chunk-JSON7A4X.mjs";
5
+ } from "../chunk-KYQULNU4.mjs";
6
+ import "../chunk-BGSOJQAU.mjs";
7
+ import "../chunk-YGKMN5UC.mjs";
8
+ import "../chunk-3Y7X2UQ6.mjs";
9
+ import "../chunk-5FX7PFZG.mjs";
10
+ import "../chunk-CCJAHP7Z.mjs";
12
11
  import "../chunk-CO2AFYVD.mjs";
13
12
  import "../chunk-BDA5LB4S.mjs";
14
13
  import "../chunk-SJGQU3OG.mjs";
@@ -1,9 +1,8 @@
1
1
  import {
2
2
  meta
3
- } from "../chunk-WTFW6DLP.mjs";
4
- import "../chunk-H2762RTS.mjs";
5
- import "../chunk-A7C3XND3.mjs";
6
- import "../chunk-JSON7A4X.mjs";
3
+ } from "../chunk-HTKGQGMZ.mjs";
4
+ import "../chunk-5FX7PFZG.mjs";
5
+ import "../chunk-CCJAHP7Z.mjs";
7
6
  import "../chunk-CO2AFYVD.mjs";
8
7
  import "../chunk-BDA5LB4S.mjs";
9
8
  import "../chunk-SJGQU3OG.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/Tag.ts"],"sourcesContent":["import { meta } from './Meta';\n\nexport const tag =\n (name: string): PropertyDecorator =>\n (subject: unknown, property: string | symbol): void => {\n meta(subject).property(property).set(name, property);\n };\n\nexport const searchable = (): PropertyDecorator => tag(searchable.name);\n"],"mappings":";;;;;;;;;;;;;;;;;AAEO,IAAM,MACX,CAAC,SACD,CAAC,SAAkB,aAAoC;AACrD,OAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAI,MAAM,QAAQ;AACrD;AAEK,IAAM,aAAa,MAAyB,IAAI,WAAW,IAAI;","names":[]}
1
+ {"version":3,"sources":["../../src/types/Tag.ts"],"sourcesContent":["import { meta } from './Meta';\n\nexport const tag =\n (name: string): PropertyDecorator =>\n (subject: unknown, property: string | symbol): void => {\n meta(subject).property(property).set(name, property);\n };\n\nexport const searchable = (): PropertyDecorator => tag(searchable.name);\n"],"mappings":";;;;;;;;;;;;;;;;AAEO,IAAM,MACX,CAAC,SACD,CAAC,SAAkB,aAAoC;AACrD,OAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAI,MAAM,QAAQ;AACrD;AAEK,IAAM,aAAa,MAAyB,IAAI,WAAW,IAAI;","names":[]}
@@ -4,10 +4,9 @@ import {
4
4
  template,
5
5
  text,
6
6
  textValue
7
- } from "../chunk-MCCIBDEH.mjs";
8
- import "../chunk-H2762RTS.mjs";
9
- import "../chunk-A7C3XND3.mjs";
10
- import "../chunk-JSON7A4X.mjs";
7
+ } from "../chunk-3Y7X2UQ6.mjs";
8
+ import "../chunk-5FX7PFZG.mjs";
9
+ import "../chunk-CCJAHP7Z.mjs";
11
10
  import "../chunk-CO2AFYVD.mjs";
12
11
  import "../chunk-BDA5LB4S.mjs";
13
12
  import "../chunk-SJGQU3OG.mjs";
@@ -1,20 +1,19 @@
1
1
  import {
2
2
  Try,
3
3
  tryTo
4
- } from "../chunk-D5KAY6YW.mjs";
4
+ } from "../chunk-5HLBJ56K.mjs";
5
5
  import "../chunk-OFGI5FLG.mjs";
6
- import "../chunk-NCEWAKOZ.mjs";
7
- import "../chunk-Q3WMGUO2.mjs";
8
- import "../chunk-5HENJTR6.mjs";
9
- import "../chunk-LJPESIYZ.mjs";
6
+ import "../chunk-KYQULNU4.mjs";
7
+ import "../chunk-BGSOJQAU.mjs";
8
+ import "../chunk-PKILDKWU.mjs";
9
+ import "../chunk-KXOBVHGI.mjs";
10
10
  import "../chunk-WSBULPUZ.mjs";
11
- import "../chunk-NDCIZJXB.mjs";
12
- import "../chunk-MCCIBDEH.mjs";
13
- import "../chunk-3AB2A6WF.mjs";
14
- import "../chunk-WTFW6DLP.mjs";
15
- import "../chunk-H2762RTS.mjs";
16
- import "../chunk-A7C3XND3.mjs";
17
- import "../chunk-JSON7A4X.mjs";
11
+ import "../chunk-YGKMN5UC.mjs";
12
+ import "../chunk-3Y7X2UQ6.mjs";
13
+ import "../chunk-HCIL5KUZ.mjs";
14
+ import "../chunk-HTKGQGMZ.mjs";
15
+ import "../chunk-5FX7PFZG.mjs";
16
+ import "../chunk-CCJAHP7Z.mjs";
18
17
  import "../chunk-CO2AFYVD.mjs";
19
18
  import "../chunk-BDA5LB4S.mjs";
20
19
  import "../chunk-SJGQU3OG.mjs";
@@ -1,27 +1,26 @@
1
1
  import {
2
2
  tryTo
3
- } from "../chunk-D5KAY6YW.mjs";
3
+ } from "../chunk-5HLBJ56K.mjs";
4
4
  import "../chunk-OFGI5FLG.mjs";
5
- import "../chunk-NCEWAKOZ.mjs";
6
- import "../chunk-Q3WMGUO2.mjs";
7
- import "../chunk-5HENJTR6.mjs";
8
- import "../chunk-LJPESIYZ.mjs";
5
+ import "../chunk-KYQULNU4.mjs";
6
+ import "../chunk-BGSOJQAU.mjs";
7
+ import "../chunk-PKILDKWU.mjs";
8
+ import "../chunk-KXOBVHGI.mjs";
9
9
  import "../chunk-WSBULPUZ.mjs";
10
10
  import {
11
11
  ctx
12
- } from "../chunk-NDCIZJXB.mjs";
13
- import "../chunk-MCCIBDEH.mjs";
14
- import "../chunk-3AB2A6WF.mjs";
12
+ } from "../chunk-YGKMN5UC.mjs";
13
+ import "../chunk-3Y7X2UQ6.mjs";
14
+ import "../chunk-HCIL5KUZ.mjs";
15
15
  import {
16
16
  meta
17
- } from "../chunk-WTFW6DLP.mjs";
17
+ } from "../chunk-HTKGQGMZ.mjs";
18
18
  import {
19
19
  entries
20
- } from "../chunk-H2762RTS.mjs";
20
+ } from "../chunk-5FX7PFZG.mjs";
21
21
  import {
22
22
  toList
23
- } from "../chunk-A7C3XND3.mjs";
24
- import "../chunk-JSON7A4X.mjs";
23
+ } from "../chunk-CCJAHP7Z.mjs";
25
24
  import {
26
25
  toArray
27
26
  } from "../chunk-CO2AFYVD.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/Uri.ts"],"sourcesContent":["import { isBoolean, isNotEmpty, isTrue } from './Is';\nimport { asString, Text } from './Text';\nimport { toName } from './Constructor';\nimport { ctx } from './Context';\nimport { List, toList } from './List';\nimport { meta } from './Meta';\nimport { tryTo } from './Try';\nimport { Optional } from './Types';\nimport { OneOrMore, toArray } from './Array';\nimport { entries } from './Object';\n\nexport type Segment = Text & { key?: string; segment?: string; query?: (value: unknown) => string };\n\nexport const toSegment = (\n key?: Text,\n {\n segment,\n query,\n }: {\n segment?: string;\n query?: (value: unknown) => string;\n } = {}\n): Segment => ({\n key: key as string,\n segment,\n query,\n toString: () => asString(key),\n});\n\nexport const uri = {\n host: (key?: string): Segment => toSegment(key, { segment: key ?? ctx.env.host ?? '$host' }),\n resource: (resource: Uri): Segment => toSegment(toName(resource, 'Uri'), { segment: toName(resource, 'Uri') }),\n segment: (key?: Text): Segment => toSegment(key, { segment: key as string }),\n path: (key: Text): Segment => toSegment(key, { segment: `:${key}` }),\n query: (key: Text): Segment =>\n toSegment(key, {\n query: (value: unknown): string =>\n tryTo(value)\n .is.defined()\n .map(v => encodeURIComponent(asString(v)))\n .map(v => `${key}=${v}`)\n .orElse('') ?? '',\n }),\n boolean: (key: Text): Segment => toSegment(key, { query: (value: unknown): string => (isTrue(value) ? `${key}` : '') }),\n};\n\ntype Prop = { segment: Segment; value: any };\n\nconst toRoute = (...segments: Segment[]): string =>\n toList(segments)\n .mapDefined(s => s.segment)\n .join('/');\n\nexport type Uri = {\n id: (id?: unknown) => Uri;\n ids: (ids: OneOrMore<unknown>) => Uri;\n query: (q?: unknown) => Uri;\n sort: (q?: any) => Uri;\n skip: (n?: number) => Uri;\n take: (n?: number) => Uri;\n path: string;\n route: (resource: string) => string;\n isInternal: boolean;\n toString: () => string;\n};\n\nexport type UriExpandProps = { q: string; s: string };\n\nexport class EasyUri<Props = UriExpandProps> implements Uri {\n static readonly id = uri.path('id');\n static readonly ids = uri.query('ids');\n static readonly query = uri.query('q');\n static readonly sort = uri.query('s');\n static readonly skip = uri.query('skip');\n static readonly take = uri.query('take');\n\n readonly host = uri.host();\n protected resource = uri.resource(this);\n\n protected state: any = {};\n\n constructor(readonly segments: Segment[] = []) {}\n\n get path(): string {\n return toRoute(uri.segment(''), this.resource, ...this.segments);\n }\n\n get complete(): string {\n return toRoute(this.host, this.resource, ...this.segments);\n }\n\n get isInternal(): boolean {\n return toRoute(this.host) === (ctx.env.host ?? '$host');\n }\n\n protected get props(): List<Prop> {\n return meta(this.state).values<Prop>();\n }\n\n route = (resource: Optional<string> = this.resource.key): string => toRoute(uri.segment(''), uri.segment(resource?.toLowerCase()), ...this.segments);\n\n set = (segment: Segment, value?: unknown): this => {\n tryTo(value)\n .is.defined()\n .accept(value => (this.state[segment.key ?? ''] = { segment, value }));\n return this;\n };\n\n toString(): string {\n return tryTo(() => this.props)\n .map(ps => ps.filter(p => p.segment?.segment))\n .map(ps => ps.reduce((r: string, p: Prop) => r.replace(asString(p.segment.segment), asString(p.value)), this.complete))\n .map(route => ({\n route,\n query: this.props.mapDefined(p => (p.segment?.query ? p.segment?.query(p.value) : undefined))?.join('&'),\n }))\n .map(({ route, query }) => (isNotEmpty(query) ? `${route}?${query}` : route)).value;\n }\n\n id = (id?: unknown): this => this.set(EasyUri.id, id);\n ids = (ids: OneOrMore<unknown>): this => this.set(EasyUri.ids, toArray(ids).join(','));\n query = (q?: unknown): this => this.set(EasyUri.query, q);\n sort = (s?: any): this => this.set(EasyUri.sort, asString(s));\n\n skip = (index?: number): this => this.set(EasyUri.skip, index);\n take = (items?: number): this => this.set(EasyUri.take, items);\n\n expand(props: Partial<Props>): this {\n return entries(props)\n .filter(([_, v]) => isNotEmpty(v))\n .reduce((u, [k, v]) => (isBoolean(v) ? u.set(uri.boolean(k), v) : u.set(uri.query(k), toArray(v).join(','))), this);\n }\n}\n\nexport const clipUri = (uri?: EasyUri | string | null): string =>\n tryTo(() => asString(uri))\n .map(uri => uri.replace(/^(https?:\\/\\/)?(www\\.)?/, ''))\n .map(uri => uri.replace(/\\/$/, '')).value;\n"],"mappings":"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","names":["value","uri"]}
1
+ {"version":3,"sources":["../../src/types/Uri.ts"],"sourcesContent":["import { isBoolean, isNotEmpty, isTrue } from './Is';\nimport { asString, Text } from './Text';\nimport { toName } from './Constructor';\nimport { ctx } from './Context';\nimport { List, toList } from './List';\nimport { meta } from './Meta';\nimport { tryTo } from './Try';\nimport { Optional } from './Types';\nimport { OneOrMore, toArray } from './Array';\nimport { entries } from './Object';\n\nexport type Segment = Text & { key?: string; segment?: string; query?: (value: unknown) => string };\n\nexport const toSegment = (\n key?: Text,\n {\n segment,\n query,\n }: {\n segment?: string;\n query?: (value: unknown) => string;\n } = {}\n): Segment => ({\n key: key as string,\n segment,\n query,\n toString: () => asString(key),\n});\n\nexport const uri = {\n host: (key?: string): Segment => toSegment(key, { segment: key ?? ctx.env.host ?? '$host' }),\n resource: (resource: Uri): Segment => toSegment(toName(resource, 'Uri'), { segment: toName(resource, 'Uri') }),\n segment: (key?: Text): Segment => toSegment(key, { segment: key as string }),\n path: (key: Text): Segment => toSegment(key, { segment: `:${key}` }),\n query: (key: Text): Segment =>\n toSegment(key, {\n query: (value: unknown): string =>\n tryTo(value)\n .is.defined()\n .map(v => encodeURIComponent(asString(v)))\n .map(v => `${key}=${v}`)\n .orElse('') ?? '',\n }),\n boolean: (key: Text): Segment => toSegment(key, { query: (value: unknown): string => (isTrue(value) ? `${key}` : '') }),\n};\n\ntype Prop = { segment: Segment; value: any };\n\nconst toRoute = (...segments: Segment[]): string =>\n toList(segments)\n .mapDefined(s => s.segment)\n .join('/');\n\nexport type Uri = {\n id: (id?: unknown) => Uri;\n ids: (ids: OneOrMore<unknown>) => Uri;\n query: (q?: unknown) => Uri;\n sort: (q?: any) => Uri;\n skip: (n?: number) => Uri;\n take: (n?: number) => Uri;\n path: string;\n route: (resource: string) => string;\n isInternal: boolean;\n toString: () => string;\n};\n\nexport type UriExpandProps = { q: string; s: string };\n\nexport class EasyUri<Props = UriExpandProps> implements Uri {\n static readonly id = uri.path('id');\n static readonly ids = uri.query('ids');\n static readonly query = uri.query('q');\n static readonly sort = uri.query('s');\n static readonly skip = uri.query('skip');\n static readonly take = uri.query('take');\n\n readonly host = uri.host();\n protected resource = uri.resource(this);\n\n protected state: any = {};\n\n constructor(readonly segments: Segment[] = []) {}\n\n get path(): string {\n return toRoute(uri.segment(''), this.resource, ...this.segments);\n }\n\n get complete(): string {\n return toRoute(this.host, this.resource, ...this.segments);\n }\n\n get isInternal(): boolean {\n return toRoute(this.host) === (ctx.env.host ?? '$host');\n }\n\n protected get props(): List<Prop> {\n return meta(this.state).values<Prop>();\n }\n\n route = (resource: Optional<string> = this.resource.key): string => toRoute(uri.segment(''), uri.segment(resource?.toLowerCase()), ...this.segments);\n\n set = (segment: Segment, value?: unknown): this => {\n tryTo(value)\n .is.defined()\n .accept(value => (this.state[segment.key ?? ''] = { segment, value }));\n return this;\n };\n\n toString(): string {\n return tryTo(() => this.props)\n .map(ps => ps.filter(p => p.segment?.segment))\n .map(ps => ps.reduce((r: string, p: Prop) => r.replace(asString(p.segment.segment), asString(p.value)), this.complete))\n .map(route => ({\n route,\n query: this.props.mapDefined(p => (p.segment?.query ? p.segment?.query(p.value) : undefined))?.join('&'),\n }))\n .map(({ route, query }) => (isNotEmpty(query) ? `${route}?${query}` : route)).value;\n }\n\n id = (id?: unknown): this => this.set(EasyUri.id, id);\n ids = (ids: OneOrMore<unknown>): this => this.set(EasyUri.ids, toArray(ids).join(','));\n query = (q?: unknown): this => this.set(EasyUri.query, q);\n sort = (s?: any): this => this.set(EasyUri.sort, asString(s));\n\n skip = (index?: number): this => this.set(EasyUri.skip, index);\n take = (items?: number): this => this.set(EasyUri.take, items);\n\n expand(props: Partial<Props>): this {\n return entries(props)\n .filter(([_, v]) => isNotEmpty(v))\n .reduce((u, [k, v]) => (isBoolean(v) ? u.set(uri.boolean(k), v) : u.set(uri.query(k), toArray(v).join(','))), this);\n }\n}\n\nexport const clipUri = (uri?: EasyUri | string | null): string =>\n tryTo(() => asString(uri))\n .map(uri => uri.replace(/^(https?:\\/\\/)?(www\\.)?/, ''))\n .map(uri => uri.replace(/\\/$/, '')).value;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,IAAM,YAAY,CACvB,KACA;AAAA,EACE;AAAA,EACA;AACF,IAGI,CAAC,OACQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU,MAAM,SAAS,GAAG;AAC9B;AAEO,IAAM,MAAM;AAAA,EACjB,MAAM,CAAC,QAA0B,UAAU,KAAK,EAAE,SAAS,OAAO,IAAI,IAAI,QAAQ,QAAQ,CAAC;AAAA,EAC3F,UAAU,CAAC,aAA2B,UAAU,OAAO,UAAU,KAAK,GAAG,EAAE,SAAS,OAAO,UAAU,KAAK,EAAE,CAAC;AAAA,EAC7G,SAAS,CAAC,QAAwB,UAAU,KAAK,EAAE,SAAS,IAAc,CAAC;AAAA,EAC3E,MAAM,CAAC,QAAuB,UAAU,KAAK,EAAE,SAAS,IAAI,GAAG,GAAG,CAAC;AAAA,EACnE,OAAO,CAAC,QACN,UAAU,KAAK;AAAA,IACb,OAAO,CAAC,UACN,MAAM,KAAK,EACR,GAAG,QAAQ,EACX,IAAI,OAAK,mBAAmB,SAAS,CAAC,CAAC,CAAC,EACxC,IAAI,OAAK,GAAG,GAAG,IAAI,CAAC,EAAE,EACtB,OAAO,EAAE,KAAK;AAAA,EACrB,CAAC;AAAA,EACH,SAAS,CAAC,QAAuB,UAAU,KAAK,EAAE,OAAO,CAAC,UAA4B,OAAO,KAAK,IAAI,GAAG,GAAG,KAAK,GAAI,CAAC;AACxH;AAIA,IAAM,UAAU,IAAI,aAClB,OAAO,QAAQ,EACZ,WAAW,OAAK,EAAE,OAAO,EACzB,KAAK,GAAG;AAiBN,IAAM,UAAN,MAAM,SAA+C;AAAA,EAa1D,YAAqB,WAAsB,CAAC,GAAG;AAA1B;AAAA,EAA2B;AAAA,EAZhD,OAAgB,KAAK,IAAI,KAAK,IAAI;AAAA,EAClC,OAAgB,MAAM,IAAI,MAAM,KAAK;AAAA,EACrC,OAAgB,QAAQ,IAAI,MAAM,GAAG;AAAA,EACrC,OAAgB,OAAO,IAAI,MAAM,GAAG;AAAA,EACpC,OAAgB,OAAO,IAAI,MAAM,MAAM;AAAA,EACvC,OAAgB,OAAO,IAAI,MAAM,MAAM;AAAA,EAE9B,OAAO,IAAI,KAAK;AAAA,EACf,WAAW,IAAI,SAAS,IAAI;AAAA,EAE5B,QAAa,CAAC;AAAA,EAIxB,IAAI,OAAe;AACjB,WAAO,QAAQ,IAAI,QAAQ,EAAE,GAAG,KAAK,UAAU,GAAG,KAAK,QAAQ;AAAA,EACjE;AAAA,EAEA,IAAI,WAAmB;AACrB,WAAO,QAAQ,KAAK,MAAM,KAAK,UAAU,GAAG,KAAK,QAAQ;AAAA,EAC3D;AAAA,EAEA,IAAI,aAAsB;AACxB,WAAO,QAAQ,KAAK,IAAI,OAAO,IAAI,IAAI,QAAQ;AAAA,EACjD;AAAA,EAEA,IAAc,QAAoB;AAChC,WAAO,KAAK,KAAK,KAAK,EAAE,OAAa;AAAA,EACvC;AAAA,EAEA,QAAQ,CAAC,WAA6B,KAAK,SAAS,QAAgB,QAAQ,IAAI,QAAQ,EAAE,GAAG,IAAI,QAAQ,UAAU,YAAY,CAAC,GAAG,GAAG,KAAK,QAAQ;AAAA,EAEnJ,MAAM,CAAC,SAAkB,UAA0B;AACjD,UAAM,KAAK,EACR,GAAG,QAAQ,EACX,OAAO,CAAAA,WAAU,KAAK,MAAM,QAAQ,OAAO,EAAE,IAAI,EAAE,SAAS,OAAAA,OAAM,CAAE;AACvE,WAAO;AAAA,EACT;AAAA,EAEA,WAAmB;AACjB,WAAO,MAAM,MAAM,KAAK,KAAK,EAC1B,IAAI,QAAM,GAAG,OAAO,OAAK,EAAE,SAAS,OAAO,CAAC,EAC5C,IAAI,QAAM,GAAG,OAAO,CAAC,GAAW,MAAY,EAAE,QAAQ,SAAS,EAAE,QAAQ,OAAO,GAAG,SAAS,EAAE,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,EACrH,IAAI,YAAU;AAAA,MACb;AAAA,MACA,OAAO,KAAK,MAAM,WAAW,OAAM,EAAE,SAAS,QAAQ,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,MAAU,GAAG,KAAK,GAAG;AAAA,IACzG,EAAE,EACD,IAAI,CAAC,EAAE,OAAO,MAAM,MAAO,WAAW,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,KAAM,EAAE;AAAA,EAClF;AAAA,EAEA,KAAK,CAAC,OAAuB,KAAK,IAAI,SAAQ,IAAI,EAAE;AAAA,EACpD,MAAM,CAAC,QAAkC,KAAK,IAAI,SAAQ,KAAK,QAAQ,GAAG,EAAE,KAAK,GAAG,CAAC;AAAA,EACrF,QAAQ,CAAC,MAAsB,KAAK,IAAI,SAAQ,OAAO,CAAC;AAAA,EACxD,OAAO,CAAC,MAAkB,KAAK,IAAI,SAAQ,MAAM,SAAS,CAAC,CAAC;AAAA,EAE5D,OAAO,CAAC,UAAyB,KAAK,IAAI,SAAQ,MAAM,KAAK;AAAA,EAC7D,OAAO,CAAC,UAAyB,KAAK,IAAI,SAAQ,MAAM,KAAK;AAAA,EAE7D,OAAO,OAA6B;AAClC,WAAO,QAAQ,KAAK,EACjB,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC,EAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAO,UAAU,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG,CAAC,GAAI,IAAI;AAAA,EACtH;AACF;AAEO,IAAM,UAAU,CAACC,SACtB,MAAM,MAAM,SAASA,IAAG,CAAC,EACtB,IAAI,CAAAA,SAAOA,KAAI,QAAQ,2BAA2B,EAAE,CAAC,EACrD,IAAI,CAAAA,SAAOA,KAAI,QAAQ,OAAO,EAAE,CAAC,EAAE;","names":["value","uri"]}
@@ -1,5 +1,6 @@
1
1
  import { Optional } from '../types/Types';
2
2
  import { Construct } from '../types/Constructor';
3
+ import { OneOrMore } from '../types/Array';
3
4
  export declare function ifTrue<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;
4
5
  export declare function ifTrue<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;
5
6
  export declare function ifFalse<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;
@@ -9,3 +10,6 @@ export declare function ifDefined<Out, In = unknown>(o: Optional<In>, f: Constru
9
10
  export declare function ifNotEmpty<Out, In = unknown>(o: In, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;
10
11
  export declare function ifNotEmpty<Out, In = unknown>(o: In, f?: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;
11
12
  export declare function ifNotEmpty<Out, In = unknown>(o: In, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;
13
+ export declare function ifEither<Out, In = unknown>(os: OneOrMore<In>, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;
14
+ export declare function ifEither<Out, In = unknown>(os: OneOrMore<In>, f?: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;
15
+ export declare function ifEither<Out, In = unknown>(os: OneOrMore<In>, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;
package/dist/utils/If.mjs CHANGED
@@ -1,9 +1,14 @@
1
1
  import {
2
2
  ifDefined,
3
+ ifEither,
3
4
  ifFalse,
4
5
  ifNotEmpty,
5
6
  ifTrue
6
- } from "../chunk-JSON7A4X.mjs";
7
+ } from "../chunk-CCJAHP7Z.mjs";
8
+ import "../chunk-CO2AFYVD.mjs";
9
+ import "../chunk-BDA5LB4S.mjs";
10
+ import "../chunk-SJGQU3OG.mjs";
11
+ import "../chunk-ZHXKBOK2.mjs";
7
12
  import "../chunk-ZPNFXK7Y.mjs";
8
13
  import "../chunk-DXQSIBC7.mjs";
9
14
  import "../chunk-PIRWVOO2.mjs";
@@ -11,6 +16,7 @@ import "../chunk-DEJ7A5PY.mjs";
11
16
  import "../chunk-4N72FQFX.mjs";
12
17
  export {
13
18
  ifDefined,
19
+ ifEither,
14
20
  ifFalse,
15
21
  ifNotEmpty,
16
22
  ifTrue
@@ -2,15 +2,14 @@ import {
2
2
  Mapper,
3
3
  isMapping,
4
4
  mappings
5
- } from "../chunk-W7D4GZRE.mjs";
5
+ } from "../chunk-TZZJ3U5V.mjs";
6
6
  import "../chunk-WJZFE5NE.mjs";
7
7
  import "../chunk-GCY5A63A.mjs";
8
8
  import "../chunk-MDXL65W4.mjs";
9
- import "../chunk-KTENM2OG.mjs";
10
- import "../chunk-WTFW6DLP.mjs";
11
- import "../chunk-H2762RTS.mjs";
12
- import "../chunk-A7C3XND3.mjs";
13
- import "../chunk-JSON7A4X.mjs";
9
+ import "../chunk-IANSP3JJ.mjs";
10
+ import "../chunk-HTKGQGMZ.mjs";
11
+ import "../chunk-5FX7PFZG.mjs";
12
+ import "../chunk-CCJAHP7Z.mjs";
14
13
  import "../chunk-CO2AFYVD.mjs";
15
14
  import "../chunk-BDA5LB4S.mjs";
16
15
  import "../chunk-SJGQU3OG.mjs";
@@ -7,9 +7,8 @@ import {
7
7
  tuple3,
8
8
  tuple4,
9
9
  tuple5
10
- } from "../chunk-5HENJTR6.mjs";
11
- import "../chunk-A7C3XND3.mjs";
12
- import "../chunk-JSON7A4X.mjs";
10
+ } from "../chunk-PKILDKWU.mjs";
11
+ import "../chunk-CCJAHP7Z.mjs";
13
12
  import "../chunk-CO2AFYVD.mjs";
14
13
  import "../chunk-BDA5LB4S.mjs";
15
14
  import "../chunk-SJGQU3OG.mjs";
@@ -1,8 +1,7 @@
1
1
  import {
2
2
  seconds
3
- } from "../chunk-JQQGQCYH.mjs";
4
- import "../chunk-A7C3XND3.mjs";
5
- import "../chunk-JSON7A4X.mjs";
3
+ } from "../chunk-YDC3NPU4.mjs";
4
+ import "../chunk-CCJAHP7Z.mjs";
6
5
  import "../chunk-CO2AFYVD.mjs";
7
6
  import "../chunk-BDA5LB4S.mjs";
8
7
  import "../chunk-SJGQU3OG.mjs";
@@ -1,9 +1,8 @@
1
1
  import {
2
2
  text
3
- } from "../chunk-MCCIBDEH.mjs";
4
- import "../chunk-H2762RTS.mjs";
5
- import "../chunk-A7C3XND3.mjs";
6
- import "../chunk-JSON7A4X.mjs";
3
+ } from "../chunk-3Y7X2UQ6.mjs";
4
+ import "../chunk-5FX7PFZG.mjs";
5
+ import "../chunk-CCJAHP7Z.mjs";
7
6
  import "../chunk-CO2AFYVD.mjs";
8
7
  import "../chunk-BDA5LB4S.mjs";
9
8
  import "../chunk-SJGQU3OG.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/Sentence.ts"],"sourcesContent":["import type { Text } from '../types/Text';\nimport { text } from '../types/Template';\nimport { Id } from '../types/Id';\n\nexport class Sentence implements Text {\n constructor(\n word: Text,\n pre?: Sentence,\n private sentence: Text[] = (pre?.sentence ?? []).concat(word)\n ) {}\n\n toString(): string {\n return text(this.sentence.join(' ')).sentence.toString();\n }\n}\n\nclass Topic extends Sentence {\n it = new Sentence('it', this);\n anything = new Sentence('anything', this);\n id = (id: Id) => new Sentence(`id '${id}'`, this);\n your = (subject?: Text) => new Sentence(`your ${subject ?? 'item'}`, this);\n a = (subject?: Text) => new Sentence(subject ? `a ${subject}` : 'an item', this);\n an = (subject?: Text) => new Sentence(`an ${subject ?? 'item'}`, this);\n any = (subjects?: Text) => new Sentence(`any ${subjects ?? 'items'}`, this);\n}\n\nclass Verb extends Sentence {\n add = new Topic('add', this);\n check = new Topic('check', this);\n fetch = new Topic('fetch', this);\n find = new Topic('find', this);\n like = new Topic('like', this);\n process = new Topic('process', this);\n remove = new Topic('remove', this);\n translate = new Topic('translate', this);\n update = new Topic('update', this);\n validate = new Topic('validate', this);\n}\n\nclass Not extends Verb {}\n\nclass SupportVerb extends Verb {\n not = new Not('not', this);\n}\n\nclass We extends Sentence {\n could = new SupportVerb('could', this);\n did = new SupportVerb('did', this);\n\n added = new Topic('added', this);\n checked = new Topic('checked', this);\n fetched = new Topic('fetched', this);\n found = new Topic('found', this);\n liked = new Topic('liked', this);\n processed = new Topic('processed', this);\n removed = new Topic('removed', this);\n translated = new Topic('translated', this);\n updated = new Topic('updated', this);\n validated = new Topic('validated', this);\n}\n\nexport const we = new We('we');\n"],"mappings":";;;;;;;;;;;;;;;;;AAIO,IAAM,WAAN,MAA+B;AAAA,EACpC,YACE,MACA,KACQ,YAAoB,KAAK,YAAY,CAAC,GAAG,OAAO,IAAI,GAC5D;AADQ;AAAA,EACP;AAAA,EAEH,WAAmB;AACjB,WAAO,KAAK,KAAK,SAAS,KAAK,GAAG,CAAC,EAAE,SAAS,SAAS;AAAA,EACzD;AACF;AAEA,IAAM,QAAN,cAAoB,SAAS;AAAA,EAC3B,KAAK,IAAI,SAAS,MAAM,IAAI;AAAA,EAC5B,WAAW,IAAI,SAAS,YAAY,IAAI;AAAA,EACxC,KAAK,CAAC,OAAW,IAAI,SAAS,OAAO,EAAE,KAAK,IAAI;AAAA,EAChD,OAAO,CAAC,YAAmB,IAAI,SAAS,QAAQ,WAAW,MAAM,IAAI,IAAI;AAAA,EACzE,IAAI,CAAC,YAAmB,IAAI,SAAS,UAAU,KAAK,OAAO,KAAK,WAAW,IAAI;AAAA,EAC/E,KAAK,CAAC,YAAmB,IAAI,SAAS,MAAM,WAAW,MAAM,IAAI,IAAI;AAAA,EACrE,MAAM,CAAC,aAAoB,IAAI,SAAS,OAAO,YAAY,OAAO,IAAI,IAAI;AAC5E;AAEA,IAAM,OAAN,cAAmB,SAAS;AAAA,EAC1B,MAAM,IAAI,MAAM,OAAO,IAAI;AAAA,EAC3B,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,OAAO,IAAI,MAAM,QAAQ,IAAI;AAAA,EAC7B,OAAO,IAAI,MAAM,QAAQ,IAAI;AAAA,EAC7B,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,SAAS,IAAI,MAAM,UAAU,IAAI;AAAA,EACjC,YAAY,IAAI,MAAM,aAAa,IAAI;AAAA,EACvC,SAAS,IAAI,MAAM,UAAU,IAAI;AAAA,EACjC,WAAW,IAAI,MAAM,YAAY,IAAI;AACvC;AAEA,IAAM,MAAN,cAAkB,KAAK;AAAC;AAExB,IAAM,cAAN,cAA0B,KAAK;AAAA,EAC7B,MAAM,IAAI,IAAI,OAAO,IAAI;AAC3B;AAEA,IAAM,KAAN,cAAiB,SAAS;AAAA,EACxB,QAAQ,IAAI,YAAY,SAAS,IAAI;AAAA,EACrC,MAAM,IAAI,YAAY,OAAO,IAAI;AAAA,EAEjC,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,YAAY,IAAI,MAAM,aAAa,IAAI;AAAA,EACvC,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,aAAa,IAAI,MAAM,cAAc,IAAI;AAAA,EACzC,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,YAAY,IAAI,MAAM,aAAa,IAAI;AACzC;AAEO,IAAM,KAAK,IAAI,GAAG,IAAI;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/Sentence.ts"],"sourcesContent":["import type { Text } from '../types/Text';\nimport { text } from '../types/Template';\nimport { Id } from '../types/Id';\n\nexport class Sentence implements Text {\n constructor(\n word: Text,\n pre?: Sentence,\n private sentence: Text[] = (pre?.sentence ?? []).concat(word)\n ) {}\n\n toString(): string {\n return text(this.sentence.join(' ')).sentence.toString();\n }\n}\n\nclass Topic extends Sentence {\n it = new Sentence('it', this);\n anything = new Sentence('anything', this);\n id = (id: Id) => new Sentence(`id '${id}'`, this);\n your = (subject?: Text) => new Sentence(`your ${subject ?? 'item'}`, this);\n a = (subject?: Text) => new Sentence(subject ? `a ${subject}` : 'an item', this);\n an = (subject?: Text) => new Sentence(`an ${subject ?? 'item'}`, this);\n any = (subjects?: Text) => new Sentence(`any ${subjects ?? 'items'}`, this);\n}\n\nclass Verb extends Sentence {\n add = new Topic('add', this);\n check = new Topic('check', this);\n fetch = new Topic('fetch', this);\n find = new Topic('find', this);\n like = new Topic('like', this);\n process = new Topic('process', this);\n remove = new Topic('remove', this);\n translate = new Topic('translate', this);\n update = new Topic('update', this);\n validate = new Topic('validate', this);\n}\n\nclass Not extends Verb {}\n\nclass SupportVerb extends Verb {\n not = new Not('not', this);\n}\n\nclass We extends Sentence {\n could = new SupportVerb('could', this);\n did = new SupportVerb('did', this);\n\n added = new Topic('added', this);\n checked = new Topic('checked', this);\n fetched = new Topic('fetched', this);\n found = new Topic('found', this);\n liked = new Topic('liked', this);\n processed = new Topic('processed', this);\n removed = new Topic('removed', this);\n translated = new Topic('translated', this);\n updated = new Topic('updated', this);\n validated = new Topic('validated', this);\n}\n\nexport const we = new We('we');\n"],"mappings":";;;;;;;;;;;;;;;;AAIO,IAAM,WAAN,MAA+B;AAAA,EACpC,YACE,MACA,KACQ,YAAoB,KAAK,YAAY,CAAC,GAAG,OAAO,IAAI,GAC5D;AADQ;AAAA,EACP;AAAA,EAEH,WAAmB;AACjB,WAAO,KAAK,KAAK,SAAS,KAAK,GAAG,CAAC,EAAE,SAAS,SAAS;AAAA,EACzD;AACF;AAEA,IAAM,QAAN,cAAoB,SAAS;AAAA,EAC3B,KAAK,IAAI,SAAS,MAAM,IAAI;AAAA,EAC5B,WAAW,IAAI,SAAS,YAAY,IAAI;AAAA,EACxC,KAAK,CAAC,OAAW,IAAI,SAAS,OAAO,EAAE,KAAK,IAAI;AAAA,EAChD,OAAO,CAAC,YAAmB,IAAI,SAAS,QAAQ,WAAW,MAAM,IAAI,IAAI;AAAA,EACzE,IAAI,CAAC,YAAmB,IAAI,SAAS,UAAU,KAAK,OAAO,KAAK,WAAW,IAAI;AAAA,EAC/E,KAAK,CAAC,YAAmB,IAAI,SAAS,MAAM,WAAW,MAAM,IAAI,IAAI;AAAA,EACrE,MAAM,CAAC,aAAoB,IAAI,SAAS,OAAO,YAAY,OAAO,IAAI,IAAI;AAC5E;AAEA,IAAM,OAAN,cAAmB,SAAS;AAAA,EAC1B,MAAM,IAAI,MAAM,OAAO,IAAI;AAAA,EAC3B,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,OAAO,IAAI,MAAM,QAAQ,IAAI;AAAA,EAC7B,OAAO,IAAI,MAAM,QAAQ,IAAI;AAAA,EAC7B,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,SAAS,IAAI,MAAM,UAAU,IAAI;AAAA,EACjC,YAAY,IAAI,MAAM,aAAa,IAAI;AAAA,EACvC,SAAS,IAAI,MAAM,UAAU,IAAI;AAAA,EACjC,WAAW,IAAI,MAAM,YAAY,IAAI;AACvC;AAEA,IAAM,MAAN,cAAkB,KAAK;AAAC;AAExB,IAAM,cAAN,cAA0B,KAAK;AAAA,EAC7B,MAAM,IAAI,IAAI,OAAO,IAAI;AAC3B;AAEA,IAAM,KAAN,cAAiB,SAAS;AAAA,EACxB,QAAQ,IAAI,YAAY,SAAS,IAAI;AAAA,EACrC,MAAM,IAAI,YAAY,OAAO,IAAI;AAAA,EAEjC,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,QAAQ,IAAI,MAAM,SAAS,IAAI;AAAA,EAC/B,YAAY,IAAI,MAAM,aAAa,IAAI;AAAA,EACvC,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,aAAa,IAAI,MAAM,cAAc,IAAI;AAAA,EACzC,UAAU,IAAI,MAAM,WAAW,IAAI;AAAA,EACnC,YAAY,IAAI,MAAM,aAAa,IAAI;AACzC;AAEO,IAAM,KAAK,IAAI,GAAG,IAAI;","names":[]}
@@ -4,25 +4,24 @@ import {
4
4
  toViewer,
5
5
  view,
6
6
  views
7
- } from "../chunk-3Q26WV4F.mjs";
7
+ } from "../chunk-SCNDLTL6.mjs";
8
8
  import "../chunk-SSROJBD5.mjs";
9
- import "../chunk-Q56PAJ4T.mjs";
10
- import "../chunk-KDK2E7CA.mjs";
11
- import "../chunk-KTENM2OG.mjs";
12
- import "../chunk-D5KAY6YW.mjs";
9
+ import "../chunk-COJ6DGFZ.mjs";
10
+ import "../chunk-YH4CTU3I.mjs";
11
+ import "../chunk-IANSP3JJ.mjs";
12
+ import "../chunk-5HLBJ56K.mjs";
13
13
  import "../chunk-OFGI5FLG.mjs";
14
- import "../chunk-NCEWAKOZ.mjs";
15
- import "../chunk-Q3WMGUO2.mjs";
16
- import "../chunk-5HENJTR6.mjs";
17
- import "../chunk-LJPESIYZ.mjs";
14
+ import "../chunk-KYQULNU4.mjs";
15
+ import "../chunk-BGSOJQAU.mjs";
16
+ import "../chunk-PKILDKWU.mjs";
17
+ import "../chunk-KXOBVHGI.mjs";
18
18
  import "../chunk-WSBULPUZ.mjs";
19
- import "../chunk-NDCIZJXB.mjs";
20
- import "../chunk-MCCIBDEH.mjs";
21
- import "../chunk-3AB2A6WF.mjs";
22
- import "../chunk-WTFW6DLP.mjs";
23
- import "../chunk-H2762RTS.mjs";
24
- import "../chunk-A7C3XND3.mjs";
25
- import "../chunk-JSON7A4X.mjs";
19
+ import "../chunk-YGKMN5UC.mjs";
20
+ import "../chunk-3Y7X2UQ6.mjs";
21
+ import "../chunk-HCIL5KUZ.mjs";
22
+ import "../chunk-HTKGQGMZ.mjs";
23
+ import "../chunk-5FX7PFZG.mjs";
24
+ import "../chunk-CCJAHP7Z.mjs";
26
25
  import "../chunk-CO2AFYVD.mjs";
27
26
  import "../chunk-BDA5LB4S.mjs";
28
27
  import "../chunk-SJGQU3OG.mjs";
@@ -17,22 +17,21 @@ import {
17
17
  required,
18
18
  rule,
19
19
  valid
20
- } from "../chunk-MLAU6FXE.mjs";
20
+ } from "../chunk-3E3YJR6L.mjs";
21
21
  import "../chunk-ADJAEGCT.mjs";
22
- import "../chunk-D5KAY6YW.mjs";
22
+ import "../chunk-5HLBJ56K.mjs";
23
23
  import "../chunk-OFGI5FLG.mjs";
24
- import "../chunk-NCEWAKOZ.mjs";
25
- import "../chunk-Q3WMGUO2.mjs";
26
- import "../chunk-5HENJTR6.mjs";
27
- import "../chunk-LJPESIYZ.mjs";
24
+ import "../chunk-KYQULNU4.mjs";
25
+ import "../chunk-BGSOJQAU.mjs";
26
+ import "../chunk-PKILDKWU.mjs";
27
+ import "../chunk-KXOBVHGI.mjs";
28
28
  import "../chunk-WSBULPUZ.mjs";
29
- import "../chunk-NDCIZJXB.mjs";
30
- import "../chunk-MCCIBDEH.mjs";
31
- import "../chunk-3AB2A6WF.mjs";
32
- import "../chunk-WTFW6DLP.mjs";
33
- import "../chunk-H2762RTS.mjs";
34
- import "../chunk-A7C3XND3.mjs";
35
- import "../chunk-JSON7A4X.mjs";
29
+ import "../chunk-YGKMN5UC.mjs";
30
+ import "../chunk-3Y7X2UQ6.mjs";
31
+ import "../chunk-HCIL5KUZ.mjs";
32
+ import "../chunk-HTKGQGMZ.mjs";
33
+ import "../chunk-5FX7PFZG.mjs";
34
+ import "../chunk-CCJAHP7Z.mjs";
36
35
  import "../chunk-CO2AFYVD.mjs";
37
36
  import "../chunk-BDA5LB4S.mjs";
38
37
  import "../chunk-SJGQU3OG.mjs";
@@ -3,20 +3,19 @@ import {
3
3
  isValid,
4
4
  validate,
5
5
  validateReject
6
- } from "../chunk-D5KAY6YW.mjs";
6
+ } from "../chunk-5HLBJ56K.mjs";
7
7
  import "../chunk-OFGI5FLG.mjs";
8
- import "../chunk-NCEWAKOZ.mjs";
9
- import "../chunk-Q3WMGUO2.mjs";
10
- import "../chunk-5HENJTR6.mjs";
11
- import "../chunk-LJPESIYZ.mjs";
8
+ import "../chunk-KYQULNU4.mjs";
9
+ import "../chunk-BGSOJQAU.mjs";
10
+ import "../chunk-PKILDKWU.mjs";
11
+ import "../chunk-KXOBVHGI.mjs";
12
12
  import "../chunk-WSBULPUZ.mjs";
13
- import "../chunk-NDCIZJXB.mjs";
14
- import "../chunk-MCCIBDEH.mjs";
15
- import "../chunk-3AB2A6WF.mjs";
16
- import "../chunk-WTFW6DLP.mjs";
17
- import "../chunk-H2762RTS.mjs";
18
- import "../chunk-A7C3XND3.mjs";
19
- import "../chunk-JSON7A4X.mjs";
13
+ import "../chunk-YGKMN5UC.mjs";
14
+ import "../chunk-3Y7X2UQ6.mjs";
15
+ import "../chunk-HCIL5KUZ.mjs";
16
+ import "../chunk-HTKGQGMZ.mjs";
17
+ import "../chunk-5FX7PFZG.mjs";
18
+ import "../chunk-CCJAHP7Z.mjs";
20
19
  import "../chunk-CO2AFYVD.mjs";
21
20
  import "../chunk-BDA5LB4S.mjs";
22
21
  import "../chunk-SJGQU3OG.mjs";
@@ -1,20 +1,19 @@
1
1
  import {
2
2
  When,
3
3
  when
4
- } from "../chunk-D5KAY6YW.mjs";
4
+ } from "../chunk-5HLBJ56K.mjs";
5
5
  import "../chunk-OFGI5FLG.mjs";
6
- import "../chunk-NCEWAKOZ.mjs";
7
- import "../chunk-Q3WMGUO2.mjs";
8
- import "../chunk-5HENJTR6.mjs";
9
- import "../chunk-LJPESIYZ.mjs";
6
+ import "../chunk-KYQULNU4.mjs";
7
+ import "../chunk-BGSOJQAU.mjs";
8
+ import "../chunk-PKILDKWU.mjs";
9
+ import "../chunk-KXOBVHGI.mjs";
10
10
  import "../chunk-WSBULPUZ.mjs";
11
- import "../chunk-NDCIZJXB.mjs";
12
- import "../chunk-MCCIBDEH.mjs";
13
- import "../chunk-3AB2A6WF.mjs";
14
- import "../chunk-WTFW6DLP.mjs";
15
- import "../chunk-H2762RTS.mjs";
16
- import "../chunk-A7C3XND3.mjs";
17
- import "../chunk-JSON7A4X.mjs";
11
+ import "../chunk-YGKMN5UC.mjs";
12
+ import "../chunk-3Y7X2UQ6.mjs";
13
+ import "../chunk-HCIL5KUZ.mjs";
14
+ import "../chunk-HTKGQGMZ.mjs";
15
+ import "../chunk-5FX7PFZG.mjs";
16
+ import "../chunk-CCJAHP7Z.mjs";
18
17
  import "../chunk-CO2AFYVD.mjs";
19
18
  import "../chunk-BDA5LB4S.mjs";
20
19
  import "../chunk-SJGQU3OG.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "17.18.5",
3
+ "version": "17.18.7",
4
4
  "description": "Straightforward library for building domain-driven microservice architectures",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
@@ -56,12 +56,30 @@ export class DateTime extends Value<Optional<string>> {
56
56
  return this.from();
57
57
  }
58
58
 
59
+ get inAmsterdam(): DateTime {
60
+ return this.withZone('Europe/Amsterdam');
61
+ }
62
+
63
+ get inNewYork(): DateTime {
64
+ return this.withZone('America/New_York');
65
+ }
66
+
67
+ get inLondon(): DateTime {
68
+ return this.withZone('Europe/London');
69
+ }
70
+
71
+ get inWarsaw(): DateTime {
72
+ return this.withZone('Europe/Warsaw');
73
+ }
74
+
59
75
  protected get utc(): LuxonDateTime {
60
76
  return this.luxon.setZone('utc');
61
77
  }
62
78
 
63
79
  from(locale?: string): string;
80
+
64
81
  from(date?: DateTime, locale?: string): string;
82
+
65
83
  from(dateOrLocale?: string | DateTime, maybeLocale?: string): string {
66
84
  return (
67
85
  use((isString(dateOrLocale) ? dateOrLocale : maybeLocale) ?? 'en', locale =>
@@ -87,13 +105,17 @@ export class DateTime extends Value<Optional<string>> {
87
105
  }
88
106
 
89
107
  add(n: number, unit?: DurationUnit): DateTime;
108
+
90
109
  add(duration: Duration): DateTime;
110
+
91
111
  add(n: number | Duration, unit: DurationUnit = 'day'): DateTime {
92
112
  return new DateTime(this.luxon.plus(isNumber(n) ? { [unit]: n } : n) as any);
93
113
  }
94
114
 
95
115
  subtract(n: number, unit?: DurationUnit): DateTime;
116
+
96
117
  subtract(duration: Duration): DateTime;
118
+
97
119
  subtract(n: number | Duration, unit: DurationUnit = 'day'): DateTime {
98
120
  return new DateTime(this.luxon.minus(isNumber(n) ? { [unit]: n } : n) as any);
99
121
  }
@@ -118,18 +140,6 @@ export class DateTime extends Value<Optional<string>> {
118
140
  return new DateTime(this.luxon.setZone(zone) as any);
119
141
  }
120
142
 
121
- inAmsterdam(): DateTime {
122
- return this.withZone('Europe/Amsterdam');
123
- }
124
-
125
- inNewYork(): DateTime {
126
- return this.withZone('America/New_York');
127
- }
128
-
129
- inLondon(): DateTime {
130
- return this.withZone('Europe/London');
131
- }
132
-
133
143
  toString(): string {
134
144
  return this.value ?? '';
135
145
  }