@thisisagile/easy 15.26.2 → 15.27.1

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 (678) hide show
  1. package/dist/chunk-2BXKHPA2.mjs +49 -0
  2. package/dist/chunk-2BXKHPA2.mjs.map +1 -0
  3. package/dist/chunk-35PSIDGU.mjs +17 -0
  4. package/dist/chunk-35PSIDGU.mjs.map +1 -0
  5. package/dist/chunk-3P7J7XPW.mjs +23 -0
  6. package/dist/chunk-3P7J7XPW.mjs.map +1 -0
  7. package/dist/chunk-44GVWK5Q.mjs +132 -0
  8. package/dist/chunk-44GVWK5Q.mjs.map +1 -0
  9. package/dist/chunk-4OQNWUOH.mjs +94 -0
  10. package/dist/chunk-4OQNWUOH.mjs.map +1 -0
  11. package/dist/chunk-4QX4EMLL.mjs +13 -0
  12. package/dist/chunk-4QX4EMLL.mjs.map +1 -0
  13. package/dist/chunk-5FFXP2S2.mjs +54 -0
  14. package/dist/chunk-5FFXP2S2.mjs.map +1 -0
  15. package/dist/chunk-ADJAEGCT.mjs +21 -0
  16. package/dist/chunk-ADJAEGCT.mjs.map +1 -0
  17. package/dist/chunk-AJMFM4WW.mjs +15 -0
  18. package/dist/chunk-AJMFM4WW.mjs.map +1 -0
  19. package/dist/chunk-AKYA7FHU.mjs +15 -0
  20. package/dist/chunk-AKYA7FHU.mjs.map +1 -0
  21. package/dist/chunk-AQ7VCOZV.mjs +21 -0
  22. package/dist/chunk-AQ7VCOZV.mjs.map +1 -0
  23. package/dist/chunk-CMRS457E.mjs +11 -0
  24. package/dist/chunk-CMRS457E.mjs.map +1 -0
  25. package/dist/chunk-CN756KJF.mjs +38 -0
  26. package/dist/chunk-CN756KJF.mjs.map +1 -0
  27. package/dist/chunk-CQFW65RV.mjs +25 -0
  28. package/dist/chunk-CQFW65RV.mjs.map +1 -0
  29. package/dist/chunk-DICMUQFL.mjs +11 -0
  30. package/dist/chunk-DICMUQFL.mjs.map +1 -0
  31. package/dist/chunk-DO2JKVJC.mjs +60 -0
  32. package/dist/chunk-DO2JKVJC.mjs.map +1 -0
  33. package/dist/chunk-EDT4SIWF.mjs +41 -0
  34. package/dist/chunk-EDT4SIWF.mjs.map +1 -0
  35. package/dist/chunk-FAAERRP2.mjs +37 -0
  36. package/dist/chunk-FAAERRP2.mjs.map +1 -0
  37. package/dist/chunk-FZ3RGBVB.mjs +53 -0
  38. package/dist/chunk-FZ3RGBVB.mjs.map +1 -0
  39. package/dist/chunk-GI5TZOAG.mjs +30 -0
  40. package/dist/chunk-GI5TZOAG.mjs.map +1 -0
  41. package/dist/chunk-GWPYA4FN.mjs +50 -0
  42. package/dist/chunk-GWPYA4FN.mjs.map +1 -0
  43. package/dist/chunk-GY5U2EMP.mjs +183 -0
  44. package/dist/chunk-GY5U2EMP.mjs.map +1 -0
  45. package/dist/chunk-GZ4W5NPB.mjs +902 -0
  46. package/dist/chunk-GZ4W5NPB.mjs.map +1 -0
  47. package/dist/chunk-HWJY57VM.mjs +18 -0
  48. package/dist/chunk-HWJY57VM.mjs.map +1 -0
  49. package/dist/chunk-IDVKM57Y.mjs +57 -0
  50. package/dist/chunk-IDVKM57Y.mjs.map +1 -0
  51. package/dist/chunk-IDYINFVS.mjs +23 -0
  52. package/dist/chunk-IDYINFVS.mjs.map +1 -0
  53. package/dist/chunk-IOLGWNHS.mjs +46 -0
  54. package/dist/chunk-IOLGWNHS.mjs.map +1 -0
  55. package/dist/chunk-IOSZQN37.mjs +40 -0
  56. package/dist/chunk-IOSZQN37.mjs.map +1 -0
  57. package/dist/chunk-JXJ5LRH3.mjs +30 -0
  58. package/dist/chunk-JXJ5LRH3.mjs.map +1 -0
  59. package/dist/chunk-LPPJKRX6.mjs +33 -0
  60. package/dist/chunk-LPPJKRX6.mjs.map +1 -0
  61. package/dist/chunk-MDBZV377.mjs +20 -0
  62. package/dist/chunk-MDBZV377.mjs.map +1 -0
  63. package/dist/chunk-MDLVDMKY.mjs +11 -0
  64. package/dist/chunk-MDLVDMKY.mjs.map +1 -0
  65. package/dist/chunk-MHEEKAJP.mjs +86 -0
  66. package/dist/chunk-MHEEKAJP.mjs.map +1 -0
  67. package/dist/chunk-MXVK2OXS.mjs +18 -0
  68. package/dist/chunk-MXVK2OXS.mjs.map +1 -0
  69. package/dist/chunk-OLZQGTHX.mjs +28 -0
  70. package/dist/chunk-OLZQGTHX.mjs.map +1 -0
  71. package/dist/chunk-OPRP2CJ4.mjs +19 -0
  72. package/dist/chunk-OPRP2CJ4.mjs.map +1 -0
  73. package/dist/chunk-OQNZEKWO.mjs +24 -0
  74. package/dist/chunk-OQNZEKWO.mjs.map +1 -0
  75. package/dist/chunk-OXBQSJDF.mjs +45 -0
  76. package/dist/chunk-OXBQSJDF.mjs.map +1 -0
  77. package/dist/chunk-P6WU6SWZ.mjs +42 -0
  78. package/dist/chunk-P6WU6SWZ.mjs.map +1 -0
  79. package/dist/{types/PageList.js → chunk-P76FDCQK.mjs} +31 -48
  80. package/dist/chunk-P76FDCQK.mjs.map +1 -0
  81. package/dist/chunk-PIRWVOO2.mjs +7 -0
  82. package/dist/chunk-PIRWVOO2.mjs.map +1 -0
  83. package/dist/chunk-PLDACKJ3.mjs +49 -0
  84. package/dist/chunk-PLDACKJ3.mjs.map +1 -0
  85. package/dist/chunk-PSIJUWZT.mjs +13 -0
  86. package/dist/chunk-PSIJUWZT.mjs.map +1 -0
  87. package/dist/chunk-QCRJIUXC.mjs +70 -0
  88. package/dist/chunk-QCRJIUXC.mjs.map +1 -0
  89. package/dist/chunk-QXQDFZ7B.mjs +26 -0
  90. package/dist/chunk-QXQDFZ7B.mjs.map +1 -0
  91. package/dist/chunk-S232OWAN.mjs +26 -0
  92. package/dist/chunk-S232OWAN.mjs.map +1 -0
  93. package/dist/chunk-S3VRHUDC.mjs +43 -0
  94. package/dist/chunk-S3VRHUDC.mjs.map +1 -0
  95. package/dist/chunk-SIEX4MPW.mjs +25 -0
  96. package/dist/chunk-SIEX4MPW.mjs.map +1 -0
  97. package/dist/chunk-SJGQU3OG.mjs +15 -0
  98. package/dist/chunk-SJGQU3OG.mjs.map +1 -0
  99. package/dist/chunk-SW2OCUH3.mjs +10 -0
  100. package/dist/chunk-SW2OCUH3.mjs.map +1 -0
  101. package/dist/chunk-TGX44YE7.mjs +43 -0
  102. package/dist/chunk-TGX44YE7.mjs.map +1 -0
  103. package/dist/chunk-TMH4PWZS.mjs +113 -0
  104. package/dist/chunk-TMH4PWZS.mjs.map +1 -0
  105. package/dist/chunk-U5XK45SM.mjs +18 -0
  106. package/dist/chunk-U5XK45SM.mjs.map +1 -0
  107. package/dist/chunk-U7RLT5MZ.mjs +94 -0
  108. package/dist/chunk-U7RLT5MZ.mjs.map +1 -0
  109. package/dist/chunk-W36ZTL43.mjs +49 -0
  110. package/dist/chunk-W36ZTL43.mjs.map +1 -0
  111. package/dist/chunk-W4LMCXTM.mjs +82 -0
  112. package/dist/chunk-W4LMCXTM.mjs.map +1 -0
  113. package/dist/chunk-XBACKQ4V.mjs +46 -0
  114. package/dist/chunk-XBACKQ4V.mjs.map +1 -0
  115. package/dist/chunk-XDCE35QQ.mjs +79 -0
  116. package/dist/chunk-XDCE35QQ.mjs.map +1 -0
  117. package/dist/chunk-XLB3EVKK.mjs +87 -0
  118. package/dist/chunk-XLB3EVKK.mjs.map +1 -0
  119. package/dist/chunk-YD2WQWXL.mjs +272 -0
  120. package/dist/chunk-YD2WQWXL.mjs.map +1 -0
  121. package/dist/chunk-YNQ6HDJA.mjs +46 -0
  122. package/dist/chunk-YNQ6HDJA.mjs.map +1 -0
  123. package/dist/chunk-ZBIJKCDP.mjs +48 -0
  124. package/dist/chunk-ZBIJKCDP.mjs.map +1 -0
  125. package/dist/chunk-ZVTPK2NJ.mjs +20 -0
  126. package/dist/chunk-ZVTPK2NJ.mjs.map +1 -0
  127. package/dist/data/Condition.mjs +18 -35
  128. package/dist/data/Condition.mjs.map +1 -1
  129. package/dist/data/Database.mjs +14 -12
  130. package/dist/data/Database.mjs.map +1 -1
  131. package/dist/data/Field.mjs +27 -6
  132. package/dist/data/Field.mjs.map +1 -1
  133. package/dist/data/InMemoryGateway.mjs +25 -4
  134. package/dist/data/InMemoryGateway.mjs.map +1 -1
  135. package/dist/domain/Audit.mjs +17 -24
  136. package/dist/domain/Audit.mjs.map +1 -1
  137. package/dist/domain/Child.mjs +27 -5
  138. package/dist/domain/Child.mjs.map +1 -1
  139. package/dist/domain/Entity.mjs +31 -6
  140. package/dist/domain/Entity.mjs.map +1 -1
  141. package/dist/domain/Repo.mjs +26 -5
  142. package/dist/domain/Repo.mjs.map +1 -1
  143. package/dist/domain/Struct.mjs +14 -25
  144. package/dist/domain/Struct.mjs.map +1 -1
  145. package/dist/domain/Typo.mjs +20 -4
  146. package/dist/domain/Typo.mjs.map +1 -1
  147. package/dist/domain/enums/Country.mjs +13 -262
  148. package/dist/domain/enums/Country.mjs.map +1 -1
  149. package/dist/domain/enums/Currency.mjs +16 -131
  150. package/dist/domain/enums/Currency.mjs.map +1 -1
  151. package/dist/domain/enums/Environment.mjs +20 -7
  152. package/dist/domain/enums/Environment.mjs.map +1 -1
  153. package/dist/domain/enums/Locale.mjs +580 -566
  154. package/dist/domain/enums/Locale.mjs.map +1 -1
  155. package/dist/domain/enums/UnitOfMeasurement.mjs +13 -12
  156. package/dist/domain/enums/UnitOfMeasurement.mjs.map +1 -1
  157. package/dist/domain/enums/UnitOfWeight.mjs +13 -10
  158. package/dist/domain/enums/UnitOfWeight.mjs.map +1 -1
  159. package/dist/domain/structs/Address.mjs +33 -8
  160. package/dist/domain/structs/Address.mjs.map +1 -1
  161. package/dist/domain/structs/Box.mjs +25 -5
  162. package/dist/domain/structs/Box.mjs.map +1 -1
  163. package/dist/domain/structs/Dimension.mjs +17 -26
  164. package/dist/domain/structs/Dimension.mjs.map +1 -1
  165. package/dist/domain/structs/Money.mjs +18 -32
  166. package/dist/domain/structs/Money.mjs.map +1 -1
  167. package/dist/domain/structs/Name.mjs +24 -6
  168. package/dist/domain/structs/Name.mjs.map +1 -1
  169. package/dist/domain/structs/Weight.mjs +25 -6
  170. package/dist/domain/structs/Weight.mjs.map +1 -1
  171. package/dist/domain/values/DateTime.mjs +16 -88
  172. package/dist/domain/values/DateTime.mjs.map +1 -1
  173. package/dist/domain/values/EAN.mjs +20 -4
  174. package/dist/domain/values/EAN.mjs.map +1 -1
  175. package/dist/domain/values/Email.mjs +22 -5
  176. package/dist/domain/values/Email.mjs.map +1 -1
  177. package/dist/domain/values/IBAN.mjs +20 -4
  178. package/dist/domain/values/IBAN.mjs.map +1 -1
  179. package/dist/domain/values/PostalCode.mjs +15 -13
  180. package/dist/domain/values/PostalCode.mjs.map +1 -1
  181. package/dist/domain/values/Slug.mjs +20 -4
  182. package/dist/domain/values/Slug.mjs.map +1 -1
  183. package/dist/domain/values/Url.mjs +21 -5
  184. package/dist/domain/values/Url.mjs.map +1 -1
  185. package/dist/health/HealthResource.mjs +31 -4
  186. package/dist/health/HealthResource.mjs.map +1 -1
  187. package/dist/health/HealthUri.mjs +14 -5
  188. package/dist/health/HealthUri.mjs.map +1 -1
  189. package/dist/http/CacheControl.mjs +15 -28
  190. package/dist/http/CacheControl.mjs.map +1 -1
  191. package/dist/http/ContentType.mjs +13 -15
  192. package/dist/http/ContentType.mjs.map +1 -1
  193. package/dist/http/HttpHeader.mjs +3 -4
  194. package/dist/http/HttpHeader.mjs.map +1 -1
  195. package/dist/http/HttpStatus.mjs +15 -80
  196. package/dist/http/HttpStatus.mjs.map +1 -1
  197. package/dist/http/HttpVerb.mjs +13 -11
  198. package/dist/http/HttpVerb.mjs.map +1 -1
  199. package/dist/http/LocalRequestStore.mjs +16 -3
  200. package/dist/http/LocalRequestStore.mjs.map +1 -1
  201. package/dist/http/OriginatedError.mjs +9 -5
  202. package/dist/http/OriginatedError.mjs.map +1 -1
  203. package/dist/http/RequestOptions.mjs +18 -59
  204. package/dist/http/RequestOptions.mjs.map +1 -1
  205. package/dist/http/Response.mjs +15 -9
  206. package/dist/http/Response.mjs.map +1 -1
  207. package/dist/http/RestResult.mjs +15 -26
  208. package/dist/http/RestResult.mjs.map +1 -1
  209. package/dist/http/Verb.mjs +26 -19
  210. package/dist/http/Verb.mjs.map +1 -1
  211. package/dist/index.js +4791 -27
  212. package/dist/index.js.map +1 -1
  213. package/dist/process/App.mjs +18 -4
  214. package/dist/process/App.mjs.map +1 -1
  215. package/dist/process/Manage.mjs +18 -3
  216. package/dist/process/Manage.mjs.map +1 -1
  217. package/dist/process/Scope.mjs +13 -18
  218. package/dist/process/Scope.mjs.map +1 -1
  219. package/dist/process/Search.mjs +14 -34
  220. package/dist/process/Search.mjs.map +1 -1
  221. package/dist/process/UseCase.mjs +23 -4
  222. package/dist/process/UseCase.mjs.map +1 -1
  223. package/dist/resources/Req.mjs +19 -4
  224. package/dist/resources/Req.mjs.map +1 -1
  225. package/dist/resources/Requires.mjs +17 -4
  226. package/dist/resources/Requires.mjs.map +1 -1
  227. package/dist/resources/Route.mjs +14 -32
  228. package/dist/resources/Route.mjs.map +1 -1
  229. package/dist/resources/Service.mjs +18 -3
  230. package/dist/resources/Service.mjs.map +1 -1
  231. package/dist/security/Jwt.mjs +20 -5
  232. package/dist/security/Jwt.mjs.map +1 -1
  233. package/dist/services/Api.mjs +24 -63
  234. package/dist/services/Api.mjs.map +1 -1
  235. package/dist/services/ApiGateway.mjs +26 -29
  236. package/dist/services/ApiGateway.mjs.map +1 -1
  237. package/dist/services/AxiosProvider.mjs +21 -23
  238. package/dist/services/AxiosProvider.mjs.map +1 -1
  239. package/dist/services/MappedRouteGateway.mjs +39 -5
  240. package/dist/services/MappedRouteGateway.mjs.map +1 -1
  241. package/dist/services/RouteGateway.mjs +27 -42
  242. package/dist/services/RouteGateway.mjs.map +1 -1
  243. package/dist/services/ViewRouteGateway.mjs +38 -5
  244. package/dist/services/ViewRouteGateway.mjs.map +1 -1
  245. package/dist/sql/Clause.mjs +18 -22
  246. package/dist/sql/Clause.mjs.map +1 -1
  247. package/dist/sql/Column.mjs +18 -64
  248. package/dist/sql/Column.mjs.map +1 -1
  249. package/dist/sql/Count.mjs +15 -7
  250. package/dist/sql/Count.mjs.map +1 -1
  251. package/dist/sql/Delete.mjs +14 -7
  252. package/dist/sql/Delete.mjs.map +1 -1
  253. package/dist/sql/Insert.mjs +16 -12
  254. package/dist/sql/Insert.mjs.map +1 -1
  255. package/dist/sql/Join.mjs +3 -18
  256. package/dist/sql/Join.mjs.map +1 -1
  257. package/dist/sql/Select.mjs +14 -40
  258. package/dist/sql/Select.mjs.map +1 -1
  259. package/dist/sql/SqlQuery.mjs +13 -11
  260. package/dist/sql/SqlQuery.mjs.map +1 -1
  261. package/dist/sql/Table.mjs +52 -12
  262. package/dist/sql/Table.mjs.map +1 -1
  263. package/dist/sql/TableGateway.mjs +26 -5
  264. package/dist/sql/TableGateway.mjs.map +1 -1
  265. package/dist/sql/Update.mjs +16 -13
  266. package/dist/sql/Update.mjs.map +1 -1
  267. package/dist/types/Array.mjs +9 -22
  268. package/dist/types/Array.mjs.map +1 -1
  269. package/dist/types/Builder.mjs +20 -7
  270. package/dist/types/Builder.mjs.map +1 -1
  271. package/dist/types/Cache.mjs +16 -3
  272. package/dist/types/Cache.mjs.map +1 -1
  273. package/dist/types/CacheAge.mjs +14 -36
  274. package/dist/types/CacheAge.mjs.map +1 -1
  275. package/dist/types/Case.mjs +12 -87
  276. package/dist/types/Case.mjs.map +1 -1
  277. package/dist/types/Constructor.mjs +11 -12
  278. package/dist/types/Constructor.mjs.map +1 -1
  279. package/dist/types/Context.mjs +16 -81
  280. package/dist/types/Context.mjs.map +1 -1
  281. package/dist/types/Enum.mjs +13 -46
  282. package/dist/types/Enum.mjs.map +1 -1
  283. package/dist/types/Exception.mjs +14 -22
  284. package/dist/types/Exception.mjs.map +1 -1
  285. package/dist/types/Falsy.mjs +4 -2
  286. package/dist/types/Falsy.mjs.map +1 -1
  287. package/dist/types/Func.mjs +3 -1
  288. package/dist/types/Func.mjs.map +1 -1
  289. package/dist/types/Gateway.mjs +13 -34
  290. package/dist/types/Gateway.mjs.map +1 -1
  291. package/dist/types/Get.mjs +6 -4
  292. package/dist/types/Get.mjs.map +1 -1
  293. package/dist/types/Id.mjs +5 -2
  294. package/dist/types/Id.mjs.map +1 -1
  295. package/dist/types/Is.mjs +21 -21
  296. package/dist/types/Is.mjs.map +1 -1
  297. package/dist/types/IsA.mjs +6 -3
  298. package/dist/types/IsA.mjs.map +1 -1
  299. package/dist/types/IsDate.mjs +6 -12
  300. package/dist/types/IsDate.mjs.map +1 -1
  301. package/dist/types/IsEqual.mjs +13 -11
  302. package/dist/types/IsEqual.mjs.map +1 -1
  303. package/dist/types/Json.d.ts +1 -0
  304. package/dist/types/Json.mjs +16 -31
  305. package/dist/types/Json.mjs.map +1 -1
  306. package/dist/types/List.mjs +17 -170
  307. package/dist/types/List.mjs.map +1 -1
  308. package/dist/types/Message.mjs +6 -2
  309. package/dist/types/Message.mjs.map +1 -1
  310. package/dist/types/Meta.mjs +13 -41
  311. package/dist/types/Meta.mjs.map +1 -1
  312. package/dist/types/Nullish.mjs +3 -1
  313. package/dist/types/Nullish.mjs.map +1 -1
  314. package/dist/types/Number.mjs +13 -5
  315. package/dist/types/Number.mjs.map +1 -1
  316. package/dist/types/PageList.mjs +18 -118
  317. package/dist/types/PageList.mjs.map +1 -1
  318. package/dist/types/Parser.mjs +29 -7
  319. package/dist/types/Parser.mjs.map +1 -1
  320. package/dist/types/Primitive.mjs +4 -4
  321. package/dist/types/Primitive.mjs.map +1 -1
  322. package/dist/types/Repository.mjs +13 -40
  323. package/dist/types/Repository.mjs.map +1 -1
  324. package/dist/types/Result.mjs +13 -8
  325. package/dist/types/Result.mjs.map +1 -1
  326. package/dist/types/Results.mjs +14 -19
  327. package/dist/types/Results.mjs.map +1 -1
  328. package/dist/types/Sort.mjs +4 -2
  329. package/dist/types/Sort.mjs.map +1 -1
  330. package/dist/types/Tag.mjs +16 -3
  331. package/dist/types/Tag.mjs.map +1 -1
  332. package/dist/types/Template.mjs +13 -35
  333. package/dist/types/Template.mjs.map +1 -1
  334. package/dist/types/Text.mjs +18 -97
  335. package/dist/types/Text.mjs.map +1 -1
  336. package/dist/types/Try.mjs +13 -107
  337. package/dist/types/Try.mjs.map +1 -1
  338. package/dist/types/Uri.mjs +15 -74
  339. package/dist/types/Uri.mjs.map +1 -1
  340. package/dist/types/Uuid.mjs +5 -5
  341. package/dist/types/Uuid.mjs.map +1 -1
  342. package/dist/types/Validatable.mjs +6 -2
  343. package/dist/types/Validatable.mjs.map +1 -1
  344. package/dist/types/Value.mjs +13 -17
  345. package/dist/types/Value.mjs.map +1 -1
  346. package/dist/utils/Base64.mjs +3 -1
  347. package/dist/utils/Base64.mjs.map +1 -1
  348. package/dist/utils/Convert.mjs +14 -39
  349. package/dist/utils/Convert.mjs.map +1 -1
  350. package/dist/utils/If.mjs +10 -13
  351. package/dist/utils/If.mjs.map +1 -1
  352. package/dist/utils/Loading.mjs +6 -2
  353. package/dist/utils/Loading.mjs.map +1 -1
  354. package/dist/utils/Log.mjs +2 -0
  355. package/dist/utils/Log.mjs.map +1 -1
  356. package/dist/utils/Mapper.mjs +18 -101
  357. package/dist/utils/Mapper.mjs.map +1 -1
  358. package/dist/utils/Promise.mjs +18 -16
  359. package/dist/utils/Promise.mjs.map +1 -1
  360. package/dist/utils/Property.mjs +14 -14
  361. package/dist/utils/Property.mjs.map +1 -1
  362. package/dist/utils/Sentence.mjs +27 -14
  363. package/dist/utils/Sentence.mjs.map +1 -1
  364. package/dist/utils/State.mjs +7 -8
  365. package/dist/utils/State.mjs.map +1 -1
  366. package/dist/utils/Traverse.mjs +3 -5
  367. package/dist/utils/Traverse.mjs.map +1 -1
  368. package/dist/utils/View.mjs +20 -64
  369. package/dist/utils/View.mjs.map +1 -1
  370. package/dist/utils/Wait.mjs +5 -3
  371. package/dist/utils/Wait.mjs.map +1 -1
  372. package/dist/validation/Contraints.mjs +31 -29
  373. package/dist/validation/Contraints.mjs.map +1 -1
  374. package/dist/validation/Validate.mjs +15 -28
  375. package/dist/validation/Validate.mjs.map +1 -1
  376. package/dist/validation/When.mjs +13 -38
  377. package/dist/validation/When.mjs.map +1 -1
  378. package/package.json +4 -3
  379. package/src/types/Json.ts +2 -0
  380. package/dist/data/Condition.js +0 -71
  381. package/dist/data/Condition.js.map +0 -1
  382. package/dist/data/DataProvider.js +0 -17
  383. package/dist/data/DataProvider.js.map +0 -1
  384. package/dist/data/Database.js +0 -42
  385. package/dist/data/Database.js.map +0 -1
  386. package/dist/data/Field.js +0 -48
  387. package/dist/data/Field.js.map +0 -1
  388. package/dist/data/InMemoryGateway.js +0 -59
  389. package/dist/data/InMemoryGateway.js.map +0 -1
  390. package/dist/data/Query.js +0 -17
  391. package/dist/data/Query.js.map +0 -1
  392. package/dist/data/QueryProvider.js +0 -17
  393. package/dist/data/QueryProvider.js.map +0 -1
  394. package/dist/data/index.js +0 -35
  395. package/dist/data/index.js.map +0 -1
  396. package/dist/domain/Audit.js +0 -59
  397. package/dist/domain/Audit.js.map +0 -1
  398. package/dist/domain/Child.js +0 -49
  399. package/dist/domain/Child.js.map +0 -1
  400. package/dist/domain/Entity.js +0 -62
  401. package/dist/domain/Entity.js.map +0 -1
  402. package/dist/domain/Repo.js +0 -81
  403. package/dist/domain/Repo.js.map +0 -1
  404. package/dist/domain/Struct.js +0 -55
  405. package/dist/domain/Struct.js.map +0 -1
  406. package/dist/domain/Typo.js +0 -62
  407. package/dist/domain/Typo.js.map +0 -1
  408. package/dist/domain/enums/Country.js +0 -290
  409. package/dist/domain/enums/Country.js.map +0 -1
  410. package/dist/domain/enums/Currency.js +0 -159
  411. package/dist/domain/enums/Currency.js.map +0 -1
  412. package/dist/domain/enums/Environment.js +0 -35
  413. package/dist/domain/enums/Environment.js.map +0 -1
  414. package/dist/domain/enums/Locale.js +0 -605
  415. package/dist/domain/enums/Locale.js.map +0 -1
  416. package/dist/domain/enums/UnitOfMeasurement.js +0 -40
  417. package/dist/domain/enums/UnitOfMeasurement.js.map +0 -1
  418. package/dist/domain/enums/UnitOfWeight.js +0 -38
  419. package/dist/domain/enums/UnitOfWeight.js.map +0 -1
  420. package/dist/domain/enums/index.js +0 -33
  421. package/dist/domain/enums/index.js.map +0 -1
  422. package/dist/domain/index.js +0 -39
  423. package/dist/domain/index.js.map +0 -1
  424. package/dist/domain/structs/Address.js +0 -73
  425. package/dist/domain/structs/Address.js.map +0 -1
  426. package/dist/domain/structs/Box.js +0 -70
  427. package/dist/domain/structs/Box.js.map +0 -1
  428. package/dist/domain/structs/Dimension.js +0 -61
  429. package/dist/domain/structs/Dimension.js.map +0 -1
  430. package/dist/domain/structs/Money.js +0 -71
  431. package/dist/domain/structs/Money.js.map +0 -1
  432. package/dist/domain/structs/Name.js +0 -57
  433. package/dist/domain/structs/Name.js.map +0 -1
  434. package/dist/domain/structs/Weight.js +0 -71
  435. package/dist/domain/structs/Weight.js.map +0 -1
  436. package/dist/domain/structs/index.js +0 -33
  437. package/dist/domain/structs/index.js.map +0 -1
  438. package/dist/domain/values/DateTime.js +0 -120
  439. package/dist/domain/values/DateTime.js.map +0 -1
  440. package/dist/domain/values/EAN.js +0 -50
  441. package/dist/domain/values/EAN.js.map +0 -1
  442. package/dist/domain/values/Email.js +0 -57
  443. package/dist/domain/values/Email.js.map +0 -1
  444. package/dist/domain/values/IBAN.js +0 -50
  445. package/dist/domain/values/IBAN.js.map +0 -1
  446. package/dist/domain/values/PostalCode.js +0 -53
  447. package/dist/domain/values/PostalCode.js.map +0 -1
  448. package/dist/domain/values/Slug.js +0 -41
  449. package/dist/domain/values/Slug.js.map +0 -1
  450. package/dist/domain/values/Url.js +0 -57
  451. package/dist/domain/values/Url.js.map +0 -1
  452. package/dist/domain/values/index.js +0 -35
  453. package/dist/domain/values/index.js.map +0 -1
  454. package/dist/health/HealthResource.js +0 -49
  455. package/dist/health/HealthResource.js.map +0 -1
  456. package/dist/health/HealthUri.js +0 -33
  457. package/dist/health/HealthUri.js.map +0 -1
  458. package/dist/health/index.js +0 -25
  459. package/dist/health/index.js.map +0 -1
  460. package/dist/http/CacheControl.js +0 -56
  461. package/dist/http/CacheControl.js.map +0 -1
  462. package/dist/http/ContentType.js +0 -53
  463. package/dist/http/ContentType.js.map +0 -1
  464. package/dist/http/HttpHeader.js +0 -32
  465. package/dist/http/HttpHeader.js.map +0 -1
  466. package/dist/http/HttpStatus.js +0 -112
  467. package/dist/http/HttpStatus.js.map +0 -1
  468. package/dist/http/HttpVerb.js +0 -39
  469. package/dist/http/HttpVerb.js.map +0 -1
  470. package/dist/http/LocalRequestStore.js +0 -36
  471. package/dist/http/LocalRequestStore.js.map +0 -1
  472. package/dist/http/OriginatedError.js +0 -44
  473. package/dist/http/OriginatedError.js.map +0 -1
  474. package/dist/http/Request.js +0 -17
  475. package/dist/http/Request.js.map +0 -1
  476. package/dist/http/RequestOptions.js +0 -91
  477. package/dist/http/RequestOptions.js.map +0 -1
  478. package/dist/http/RequestProvider.js +0 -17
  479. package/dist/http/RequestProvider.js.map +0 -1
  480. package/dist/http/Response.js +0 -39
  481. package/dist/http/Response.js.map +0 -1
  482. package/dist/http/RestResult.js +0 -56
  483. package/dist/http/RestResult.js.map +0 -1
  484. package/dist/http/Verb.js +0 -61
  485. package/dist/http/Verb.js.map +0 -1
  486. package/dist/http/index.js +0 -45
  487. package/dist/http/index.js.map +0 -1
  488. package/dist/process/App.js +0 -35
  489. package/dist/process/App.js.map +0 -1
  490. package/dist/process/Manage.js +0 -43
  491. package/dist/process/Manage.js.map +0 -1
  492. package/dist/process/Scope.js +0 -46
  493. package/dist/process/Scope.js.map +0 -1
  494. package/dist/process/Search.js +0 -62
  495. package/dist/process/Search.js.map +0 -1
  496. package/dist/process/UseCase.js +0 -50
  497. package/dist/process/UseCase.js.map +0 -1
  498. package/dist/process/index.js +0 -31
  499. package/dist/process/index.js.map +0 -1
  500. package/dist/resources/AppProvider.js +0 -17
  501. package/dist/resources/AppProvider.js.map +0 -1
  502. package/dist/resources/Req.js +0 -54
  503. package/dist/resources/Req.js.map +0 -1
  504. package/dist/resources/Requires.js +0 -48
  505. package/dist/resources/Requires.js.map +0 -1
  506. package/dist/resources/Resource.js +0 -17
  507. package/dist/resources/Resource.js.map +0 -1
  508. package/dist/resources/Route.js +0 -62
  509. package/dist/resources/Route.js.map +0 -1
  510. package/dist/resources/Service.js +0 -49
  511. package/dist/resources/Service.js.map +0 -1
  512. package/dist/resources/index.js +0 -35
  513. package/dist/resources/index.js.map +0 -1
  514. package/dist/security/Jwt.js +0 -48
  515. package/dist/security/Jwt.js.map +0 -1
  516. package/dist/security/index.js +0 -23
  517. package/dist/security/index.js.map +0 -1
  518. package/dist/services/Api.js +0 -93
  519. package/dist/services/Api.js.map +0 -1
  520. package/dist/services/ApiGateway.js +0 -57
  521. package/dist/services/ApiGateway.js.map +0 -1
  522. package/dist/services/AxiosProvider.js +0 -61
  523. package/dist/services/AxiosProvider.js.map +0 -1
  524. package/dist/services/MappedRouteGateway.js +0 -52
  525. package/dist/services/MappedRouteGateway.js.map +0 -1
  526. package/dist/services/RouteGateway.js +0 -70
  527. package/dist/services/RouteGateway.js.map +0 -1
  528. package/dist/services/ViewRouteGateway.js +0 -55
  529. package/dist/services/ViewRouteGateway.js.map +0 -1
  530. package/dist/services/index.js +0 -33
  531. package/dist/services/index.js.map +0 -1
  532. package/dist/sql/Clause.js +0 -58
  533. package/dist/sql/Clause.js.map +0 -1
  534. package/dist/sql/Column.js +0 -96
  535. package/dist/sql/Column.js.map +0 -1
  536. package/dist/sql/Count.js +0 -35
  537. package/dist/sql/Count.js.map +0 -1
  538. package/dist/sql/Delete.js +0 -35
  539. package/dist/sql/Delete.js.map +0 -1
  540. package/dist/sql/Insert.js +0 -40
  541. package/dist/sql/Insert.js.map +0 -1
  542. package/dist/sql/Join.js +0 -46
  543. package/dist/sql/Join.js.map +0 -1
  544. package/dist/sql/Select.js +0 -68
  545. package/dist/sql/Select.js.map +0 -1
  546. package/dist/sql/SqlQuery.js +0 -39
  547. package/dist/sql/SqlQuery.js.map +0 -1
  548. package/dist/sql/Table.js +0 -63
  549. package/dist/sql/Table.js.map +0 -1
  550. package/dist/sql/TableGateway.js +0 -62
  551. package/dist/sql/TableGateway.js.map +0 -1
  552. package/dist/sql/Update.js +0 -41
  553. package/dist/sql/Update.js.map +0 -1
  554. package/dist/sql/index.js +0 -41
  555. package/dist/sql/index.js.map +0 -1
  556. package/dist/types/Array.js +0 -54
  557. package/dist/types/Array.js.map +0 -1
  558. package/dist/types/Builder.js +0 -43
  559. package/dist/types/Builder.js.map +0 -1
  560. package/dist/types/Cache.js +0 -38
  561. package/dist/types/Cache.js.map +0 -1
  562. package/dist/types/CacheAge.js +0 -64
  563. package/dist/types/CacheAge.js.map +0 -1
  564. package/dist/types/Case.js +0 -115
  565. package/dist/types/Case.js.map +0 -1
  566. package/dist/types/Constructor.js +0 -50
  567. package/dist/types/Constructor.js.map +0 -1
  568. package/dist/types/Context.js +0 -117
  569. package/dist/types/Context.js.map +0 -1
  570. package/dist/types/Enum.js +0 -76
  571. package/dist/types/Enum.js.map +0 -1
  572. package/dist/types/ErrorOrigin.js +0 -17
  573. package/dist/types/ErrorOrigin.js.map +0 -1
  574. package/dist/types/Exception.js +0 -54
  575. package/dist/types/Exception.js.map +0 -1
  576. package/dist/types/Falsy.js +0 -32
  577. package/dist/types/Falsy.js.map +0 -1
  578. package/dist/types/Func.js +0 -29
  579. package/dist/types/Func.js.map +0 -1
  580. package/dist/types/Gateway.js +0 -62
  581. package/dist/types/Gateway.js.map +0 -1
  582. package/dist/types/Get.js +0 -36
  583. package/dist/types/Get.js.map +0 -1
  584. package/dist/types/Id.js +0 -30
  585. package/dist/types/Id.js.map +0 -1
  586. package/dist/types/Identity.js +0 -17
  587. package/dist/types/Identity.js.map +0 -1
  588. package/dist/types/Is.js +0 -85
  589. package/dist/types/Is.js.map +0 -1
  590. package/dist/types/IsA.js +0 -33
  591. package/dist/types/IsA.js.map +0 -1
  592. package/dist/types/IsDate.js +0 -46
  593. package/dist/types/IsDate.js.map +0 -1
  594. package/dist/types/IsEqual.js +0 -39
  595. package/dist/types/IsEqual.js.map +0 -1
  596. package/dist/types/Json.js +0 -67
  597. package/dist/types/Json.js.map +0 -1
  598. package/dist/types/List.js +0 -208
  599. package/dist/types/List.js.map +0 -1
  600. package/dist/types/Message.js +0 -30
  601. package/dist/types/Message.js.map +0 -1
  602. package/dist/types/Meta.js +0 -71
  603. package/dist/types/Meta.js.map +0 -1
  604. package/dist/types/Nullish.js +0 -29
  605. package/dist/types/Nullish.js.map +0 -1
  606. package/dist/types/Number.js +0 -33
  607. package/dist/types/Number.js.map +0 -1
  608. package/dist/types/PageList.js.map +0 -1
  609. package/dist/types/Parser.js +0 -69
  610. package/dist/types/Parser.js.map +0 -1
  611. package/dist/types/Primitive.js +0 -32
  612. package/dist/types/Primitive.js.map +0 -1
  613. package/dist/types/Repository.js +0 -68
  614. package/dist/types/Repository.js.map +0 -1
  615. package/dist/types/Result.js +0 -38
  616. package/dist/types/Result.js.map +0 -1
  617. package/dist/types/Results.js +0 -51
  618. package/dist/types/Results.js.map +0 -1
  619. package/dist/types/Sort.js +0 -32
  620. package/dist/types/Sort.js.map +0 -1
  621. package/dist/types/Tag.js +0 -35
  622. package/dist/types/Tag.js.map +0 -1
  623. package/dist/types/Template.js +0 -65
  624. package/dist/types/Template.js.map +0 -1
  625. package/dist/types/Text.js +0 -137
  626. package/dist/types/Text.js.map +0 -1
  627. package/dist/types/Try.js +0 -137
  628. package/dist/types/Try.js.map +0 -1
  629. package/dist/types/TypeGuard.js +0 -17
  630. package/dist/types/TypeGuard.js.map +0 -1
  631. package/dist/types/Types.js +0 -17
  632. package/dist/types/Types.js.map +0 -1
  633. package/dist/types/Uri.js +0 -106
  634. package/dist/types/Uri.js.map +0 -1
  635. package/dist/types/Uuid.js +0 -35
  636. package/dist/types/Uuid.js.map +0 -1
  637. package/dist/types/Validatable.js +0 -30
  638. package/dist/types/Validatable.js.map +0 -1
  639. package/dist/types/Value.js +0 -47
  640. package/dist/types/Value.js.map +0 -1
  641. package/dist/types/index.js +0 -107
  642. package/dist/types/index.js.map +0 -1
  643. package/dist/utils/Base64.js +0 -33
  644. package/dist/utils/Base64.js.map +0 -1
  645. package/dist/utils/Convert.js +0 -69
  646. package/dist/utils/Convert.js.map +0 -1
  647. package/dist/utils/If.js +0 -47
  648. package/dist/utils/If.js.map +0 -1
  649. package/dist/utils/Loading.js +0 -30
  650. package/dist/utils/Loading.js.map +0 -1
  651. package/dist/utils/Log.js +0 -43
  652. package/dist/utils/Log.js.map +0 -1
  653. package/dist/utils/Mapper.js +0 -133
  654. package/dist/utils/Mapper.js.map +0 -1
  655. package/dist/utils/Promise.js +0 -56
  656. package/dist/utils/Promise.js.map +0 -1
  657. package/dist/utils/Property.js +0 -42
  658. package/dist/utils/Property.js.map +0 -1
  659. package/dist/utils/Sentence.js +0 -80
  660. package/dist/utils/Sentence.js.map +0 -1
  661. package/dist/utils/State.js +0 -36
  662. package/dist/utils/State.js.map +0 -1
  663. package/dist/utils/Traverse.js +0 -33
  664. package/dist/utils/Traverse.js.map +0 -1
  665. package/dist/utils/View.js +0 -86
  666. package/dist/utils/View.js.map +0 -1
  667. package/dist/utils/Wait.js +0 -39
  668. package/dist/utils/Wait.js.map +0 -1
  669. package/dist/utils/index.js +0 -47
  670. package/dist/utils/index.js.map +0 -1
  671. package/dist/validation/Contraints.js +0 -91
  672. package/dist/validation/Contraints.js.map +0 -1
  673. package/dist/validation/Validate.js +0 -46
  674. package/dist/validation/Validate.js.map +0 -1
  675. package/dist/validation/When.js +0 -68
  676. package/dist/validation/When.js.map +0 -1
  677. package/dist/validation/index.js +0 -27
  678. package/dist/validation/index.js.map +0 -1
@@ -0,0 +1,49 @@
1
+ import {
2
+ asNumber
3
+ } from "./chunk-HWJY57VM.mjs";
4
+ import {
5
+ asString,
6
+ choose
7
+ } from "./chunk-GZ4W5NPB.mjs";
8
+
9
+ // src/types/CacheAge.ts
10
+ var ageNumber = (s) => asNumber(s.replace(/[a-z]/g, ""));
11
+ var cacheAge = {
12
+ toMilliseconds: (ca) => choose(asString(ca)).case(
13
+ (c) => c.endsWith("ms"),
14
+ (c) => ageNumber(c)
15
+ ).case(
16
+ (c) => c.endsWith("s"),
17
+ (c) => ageNumber(c) * 1e3
18
+ ).case(
19
+ (c) => c.endsWith("m"),
20
+ (c) => ageNumber(c) * 60 * 1e3
21
+ ).case(
22
+ (c) => c.endsWith("h"),
23
+ (c) => ageNumber(c) * 3600 * 1e3
24
+ ).case(
25
+ (c) => c.endsWith("d"),
26
+ (c) => ageNumber(c) * 24 * 3600 * 1e3
27
+ ).else(ca),
28
+ toSeconds: (ca) => choose(asString(ca)).case(
29
+ (c) => c.endsWith("ms"),
30
+ (c) => ageNumber(c) / 1e3
31
+ ).case(
32
+ (c) => c.endsWith("s"),
33
+ (c) => ageNumber(c)
34
+ ).case(
35
+ (c) => c.endsWith("m"),
36
+ (c) => ageNumber(c) * 60
37
+ ).case(
38
+ (c) => c.endsWith("h"),
39
+ (c) => ageNumber(c) * 3600
40
+ ).case(
41
+ (c) => c.endsWith("d"),
42
+ (c) => ageNumber(c) * 24 * 3600
43
+ ).else(ca)
44
+ };
45
+
46
+ export {
47
+ cacheAge
48
+ };
49
+ //# sourceMappingURL=chunk-2BXKHPA2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/CacheAge.ts"],"sourcesContent":["import { asNumber, asString, choose } from './index';\n\nexport type CacheAge = `${number}${'ms' | 's' | 'm' | 'h' | 'd'}` | number;\n\nconst ageNumber = (s: string): number => asNumber(s.replace(/[a-z]/g, ''));\n\nexport const cacheAge = {\n toMilliseconds: (ca: CacheAge): number =>\n choose(asString(ca))\n .case(\n c => c.endsWith('ms'),\n c => ageNumber(c)\n )\n .case(\n c => c.endsWith('s'),\n c => ageNumber(c) * 1000\n )\n .case(\n c => c.endsWith('m'),\n c => ageNumber(c) * 60 * 1000\n )\n .case(\n c => c.endsWith('h'),\n c => ageNumber(c) * 3600 * 1000\n )\n .case(\n c => c.endsWith('d'),\n c => ageNumber(c) * 24 * 3600 * 1000\n )\n .else(ca as number),\n\n toSeconds: (ca: CacheAge): number =>\n choose(asString(ca))\n .case(\n c => c.endsWith('ms'),\n c => ageNumber(c) / 1000\n )\n .case(\n c => c.endsWith('s'),\n c => ageNumber(c)\n )\n .case(\n c => c.endsWith('m'),\n c => ageNumber(c) * 60\n )\n .case(\n c => c.endsWith('h'),\n c => ageNumber(c) * 3600\n )\n .case(\n c => c.endsWith('d'),\n c => ageNumber(c) * 24 * 3600\n )\n .else(ca as number),\n};\n"],"mappings":";;;;;;;;;AAIA,IAAM,YAAY,CAAC,MAAsB,SAAS,EAAE,QAAQ,UAAU,EAAE,CAAC;AAElE,IAAM,WAAW;AAAA,EACtB,gBAAgB,CAAC,OACf,OAAO,SAAS,EAAE,CAAC,EAChB;AAAA,IACC,OAAK,EAAE,SAAS,IAAI;AAAA,IACpB,OAAK,UAAU,CAAC;AAAA,EAClB,EACC;AAAA,IACC,OAAK,EAAE,SAAS,GAAG;AAAA,IACnB,OAAK,UAAU,CAAC,IAAI;AAAA,EACtB,EACC;AAAA,IACC,OAAK,EAAE,SAAS,GAAG;AAAA,IACnB,OAAK,UAAU,CAAC,IAAI,KAAK;AAAA,EAC3B,EACC;AAAA,IACC,OAAK,EAAE,SAAS,GAAG;AAAA,IACnB,OAAK,UAAU,CAAC,IAAI,OAAO;AAAA,EAC7B,EACC;AAAA,IACC,OAAK,EAAE,SAAS,GAAG;AAAA,IACnB,OAAK,UAAU,CAAC,IAAI,KAAK,OAAO;AAAA,EAClC,EACC,KAAK,EAAY;AAAA,EAEtB,WAAW,CAAC,OACV,OAAO,SAAS,EAAE,CAAC,EAChB;AAAA,IACC,OAAK,EAAE,SAAS,IAAI;AAAA,IACpB,OAAK,UAAU,CAAC,IAAI;AAAA,EACtB,EACC;AAAA,IACC,OAAK,EAAE,SAAS,GAAG;AAAA,IACnB,OAAK,UAAU,CAAC;AAAA,EAClB,EACC;AAAA,IACC,OAAK,EAAE,SAAS,GAAG;AAAA,IACnB,OAAK,UAAU,CAAC,IAAI;AAAA,EACtB,EACC;AAAA,IACC,OAAK,EAAE,SAAS,GAAG;AAAA,IACnB,OAAK,UAAU,CAAC,IAAI;AAAA,EACtB,EACC;AAAA,IACC,OAAK,EAAE,SAAS,GAAG;AAAA,IACnB,OAAK,UAAU,CAAC,IAAI,KAAK;AAAA,EAC3B,EACC,KAAK,EAAY;AACxB;","names":[]}
@@ -0,0 +1,17 @@
1
+ import {
2
+ ofConstruct
3
+ } from "./chunk-GI5TZOAG.mjs";
4
+
5
+ // src/utils/State.ts
6
+ var State = class {
7
+ constructor(state = {}) {
8
+ this.state = state;
9
+ }
10
+ get = (key, alt) => this.state[key] ?? (this.state[key] = ofConstruct(alt));
11
+ set = (key, value) => this.get(key, value);
12
+ };
13
+
14
+ export {
15
+ State
16
+ };
17
+ //# sourceMappingURL=chunk-35PSIDGU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/State.ts"],"sourcesContent":["import { Construct, ofConstruct } from '../types';\n\nexport class State {\n constructor(protected readonly state: any = {}) {}\n\n protected get = <T>(key: string, alt?: Construct<T>): T => this.state[key] ?? (this.state[key] = ofConstruct(alt));\n protected set = <T>(key: string, value: Construct<T>): T => this.get(key, value);\n}\n"],"mappings":";;;;;AAEO,IAAM,QAAN,MAAY;AAAA,EACjB,YAA+B,QAAa,CAAC,GAAG;AAAjB;AAAA,EAAkB;AAAA,EAEvC,MAAM,CAAI,KAAa,QAA0B,KAAK,MAAM,GAAG,MAAM,KAAK,MAAM,GAAG,IAAI,YAAY,GAAG;AAAA,EACtG,MAAM,CAAI,KAAa,UAA2B,KAAK,IAAI,KAAK,KAAK;AACjF;","names":[]}
@@ -0,0 +1,23 @@
1
+ import {
2
+ SqlQuery
3
+ } from "./chunk-MDBZV377.mjs";
4
+ import {
5
+ quote
6
+ } from "./chunk-EDT4SIWF.mjs";
7
+
8
+ // src/sql/Insert.ts
9
+ var Insert = class extends SqlQuery {
10
+ constructor(table, fields) {
11
+ super(table);
12
+ this.table = table;
13
+ this.fields = fields;
14
+ }
15
+ toString() {
16
+ return `INSERT INTO ${this.table} (${Object.keys(this.fields).join(", ")}) OUTPUT INSERTED.* VALUES (${Object.values(this.fields).map((v) => quote(v)).join(", ")});`;
17
+ }
18
+ };
19
+
20
+ export {
21
+ Insert
22
+ };
23
+ //# sourceMappingURL=chunk-3P7J7XPW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sql/Insert.ts"],"sourcesContent":["import { SqlQuery } from './SqlQuery';\nimport { Json } from '../types';\nimport { quote } from './Clause';\nimport { Table } from './Table';\n\nexport class Insert extends SqlQuery {\n constructor(protected table: Table, protected fields: Json) {\n super(table);\n }\n\n toString(): string {\n return (\n `INSERT INTO ${this.table} ` +\n `(${Object.keys(this.fields).join(', ')}) OUTPUT INSERTED.* ` +\n `VALUES (${Object.values(this.fields)\n .map(v => quote(v))\n .join(', ')});`\n );\n }\n}\n"],"mappings":";;;;;;;;AAKO,IAAM,SAAN,cAAqB,SAAS;AAAA,EACnC,YAAsB,OAAwB,QAAc;AAC1D,UAAM,KAAK;AADS;AAAwB;AAAA,EAE9C;AAAA,EAEA,WAAmB;AACjB,WACE,eAAe,KAAK,KAAK,KACrB,OAAO,KAAK,KAAK,MAAM,EAAE,KAAK,IAAI,CAAC,+BAC5B,OAAO,OAAO,KAAK,MAAM,EACjC,IAAI,OAAK,MAAM,CAAC,CAAC,EACjB,KAAK,IAAI,CAAC;AAAA,EAEjB;AACF;","names":[]}
@@ -0,0 +1,132 @@
1
+ import {
2
+ State
3
+ } from "./chunk-35PSIDGU.mjs";
4
+ import {
5
+ Property
6
+ } from "./chunk-CQFW65RV.mjs";
7
+ import {
8
+ json,
9
+ meta,
10
+ toList
11
+ } from "./chunk-GZ4W5NPB.mjs";
12
+ import {
13
+ ifNotEmpty
14
+ } from "./chunk-JXJ5LRH3.mjs";
15
+ import {
16
+ isA
17
+ } from "./chunk-4QX4EMLL.mjs";
18
+ import {
19
+ ofGet
20
+ } from "./chunk-SJGQU3OG.mjs";
21
+ import {
22
+ ofConstruct
23
+ } from "./chunk-GI5TZOAG.mjs";
24
+ import {
25
+ isEmpty
26
+ } from "./chunk-OXBQSJDF.mjs";
27
+
28
+ // src/utils/Mapper.ts
29
+ var isMapping = (m) => isA(m, "in", "out");
30
+ var Mapper = class extends State {
31
+ constructor(options = { startFrom: "scratch" }, property = "") {
32
+ super();
33
+ this.options = options;
34
+ this.property = property;
35
+ }
36
+ map = mappings;
37
+ // All properties that are a mapping
38
+ get properties() {
39
+ return this.get(
40
+ "props",
41
+ () => meta(this).entries().filter(([, v]) => isMapping(v))
42
+ );
43
+ }
44
+ // All names of properties (in target) that have a Mapping
45
+ get keys() {
46
+ return this.get("keys", () => this.properties.map(([k]) => k));
47
+ }
48
+ // All names of properties (in source) that are named in a Mapping
49
+ get columns() {
50
+ return this.get("columns", () => this.properties.mapDefined(([, p]) => ifNotEmpty(p.property, p.property))).distinct();
51
+ }
52
+ // All names of properties (in source) that are NOT properties in target
53
+ get droppedIn() {
54
+ return this.get("droppedIn", () => this.columns.filter((c) => !this.keys.some((k) => k === c)));
55
+ }
56
+ // All names op properties (in target) that are NOT properties in source
57
+ get droppedOut() {
58
+ return this.get("droppedOut", () => this.properties.filter(([, p]) => !this.keys.some((k) => k === p.property)).map(([k]) => k));
59
+ }
60
+ in(from = {}) {
61
+ return json.omit(
62
+ this.properties.reduce((a, [k, p]) => json.merge(a, { [k]: p.in({ ...a, ...from }) }), this.options.startFrom === "source" ? from : {}),
63
+ ...this.droppedIn
64
+ );
65
+ }
66
+ out(to = {}) {
67
+ return json.omit(
68
+ this.properties.reduce(
69
+ (a, [k, p]) => json.merge(a, isEmpty(p.property) ? p.out(to, k) : { [p.property ?? ""]: p.out({ ...a, ...to }, k) }),
70
+ this.options.startFrom === "source" ? to : {}
71
+ ),
72
+ ...this.droppedOut
73
+ );
74
+ }
75
+ toString() {
76
+ return this.constructor.name;
77
+ }
78
+ };
79
+ var mappings = {
80
+ item: (property, options) => new Property(property, options),
81
+ ignore: (property = "") => ({
82
+ property,
83
+ in: () => void 0,
84
+ out: () => void 0
85
+ }),
86
+ skipIn: (property) => ({
87
+ property,
88
+ in: () => void 0,
89
+ out: (source = {}) => source[property]
90
+ }),
91
+ skipOut: (property) => ({
92
+ property,
93
+ in: (source = {}) => source[property],
94
+ out: () => void 0
95
+ }),
96
+ func: (property, funcIn, funcOut) => ({
97
+ property,
98
+ in: (source = {}) => ofGet(funcIn, source),
99
+ out: (source = {}) => ofGet(funcOut, source)
100
+ }),
101
+ add: (funcIn) => ({
102
+ property: "",
103
+ in: (source = {}) => ofGet(funcIn, source),
104
+ out: () => void 0
105
+ }),
106
+ map: (mapper, property = "") => ({
107
+ property,
108
+ in: (source = {}) => ofConstruct(mapper).in(isEmpty(property) ? source : source[property]),
109
+ out: (source = {}, key = "") => ofConstruct(mapper).out(isEmpty(key) ? source : source[key])
110
+ }),
111
+ propsToList: (...maps) => ({
112
+ property: "",
113
+ in: (source = {}) => toList(maps.map((m) => ofConstruct(m).in(source))).toJSON(),
114
+ out: (source = {}, key = "") => maps.reduce((a, m, i) => {
115
+ const res = toList(source[key])[i];
116
+ const out = m.out(res);
117
+ return { ...a, [m.property]: out ?? {} };
118
+ }, {})
119
+ }),
120
+ list: (mapper, property) => ({
121
+ property,
122
+ in: (source = {}) => toList(source[property]).map((v) => mapper.in(v)).toJSON(),
123
+ out: (source = {}, key = "") => toList(isEmpty(key) ? source : source[key]).map((v) => mapper.out(v)).toJSON()
124
+ })
125
+ };
126
+
127
+ export {
128
+ isMapping,
129
+ Mapper,
130
+ mappings
131
+ };
132
+ //# sourceMappingURL=chunk-44GVWK5Q.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/Mapper.ts"],"sourcesContent":["import { Construct, Get, isA, isEmpty, json, Json, JsonValue, List, meta, ofConstruct, ofGet, Optional, toList, TypeGuard } from '../types';\nimport { Property, PropertyOptions } from './Property';\nimport { State } from './State';\nimport { ifNotEmpty } from './If';\n\nexport type Mapping = {\n property: string;\n in: (source?: Json, key?: string) => Optional<JsonValue>;\n out: (source?: Json, key?: string) => Optional<JsonValue>;\n};\nexport const isMapping: TypeGuard<Mapping> = (m?: unknown): m is Mapping => isA<Mapping>(m, 'in', 'out');\n\nexport type MapStartFrom = 'scratch' | 'source';\nexport type MapOptions = { startFrom: MapStartFrom };\n\nexport class Mapper extends State implements Mapping {\n protected readonly map = mappings;\n\n constructor(readonly options: MapOptions = { startFrom: 'scratch' }, readonly property = '') {\n super();\n }\n\n // All properties that are a mapping\n get properties(): List<[string, Mapping]> {\n return this.get('props', () =>\n meta(this)\n .entries<Mapping>()\n .filter(([, v]) => isMapping(v))\n );\n }\n\n // All names of properties (in target) that have a Mapping\n get keys(): List<string> {\n return this.get('keys', () => this.properties.map(([k]) => k));\n }\n\n // All names of properties (in source) that are named in a Mapping\n get columns(): List<string> {\n return this.get('columns', () => this.properties.mapDefined(([, p]) => ifNotEmpty(p.property, p.property))).distinct();\n }\n\n // All names of properties (in source) that are NOT properties in target\n private get droppedIn(): List<string> {\n return this.get('droppedIn', () => this.columns.filter(c => !this.keys.some(k => k === c)));\n }\n\n // All names op properties (in target) that are NOT properties in source\n private get droppedOut(): List<string> {\n return this.get('droppedOut', () => this.properties.filter(([, p]) => !this.keys.some(k => k === p.property ?? '')).map(([k]) => k));\n }\n\n public in(from: Json = {}): Json {\n return json.omit(\n this.properties.reduce((a, [k, p]) => json.merge(a, { [k]: p.in({ ...a, ...from }) }), this.options.startFrom === 'source' ? from : {}),\n ...this.droppedIn\n );\n }\n\n public out(to: Json = {}): Json {\n return json.omit(\n this.properties.reduce(\n (a, [k, p]) => json.merge(a, isEmpty(p.property) ? p.out(to, k) : { [p.property ?? '']: p.out({ ...a, ...to }, k) }),\n this.options.startFrom === 'source' ? to : {}\n ),\n ...this.droppedOut\n );\n }\n\n toString(): string {\n return this.constructor.name;\n }\n}\n\nexport const mappings = {\n item: (property: string, options?: PropertyOptions): Property => new Property(property, options),\n ignore: (property = ''): Mapping => ({\n property,\n in: (): Optional<JsonValue> => undefined,\n out: (): Optional<JsonValue> => undefined,\n }),\n skipIn: (property: string): Mapping => ({\n property,\n in: (): Optional<JsonValue> => undefined,\n out: (source: Json = {}): JsonValue => source[property],\n }),\n skipOut: (property: string): Mapping => ({\n property,\n in: (source: Json = {}): JsonValue => source[property],\n out: (): Optional<JsonValue> => undefined,\n }),\n func: (property: string, funcIn: Get<Optional<JsonValue>, Json>, funcOut: Get<Optional<JsonValue>, Json>): Mapping => ({\n property,\n in: (source: Json = {}): Optional<JsonValue> => ofGet(funcIn, source),\n out: (source: Json = {}): Optional<JsonValue> => ofGet(funcOut, source),\n }),\n add: (funcIn: Get<JsonValue, Json>): Mapping => ({\n property: '',\n in: (source: Json = {}): JsonValue => ofGet(funcIn, source),\n out: (): Optional<JsonValue> => undefined,\n }),\n map: (mapper: Construct<Mapper>, property = ''): Mapping => ({\n property,\n in: (source: Json = {}): JsonValue => ofConstruct(mapper).in(isEmpty(property) ? source : (source[property] as Json)),\n out: (source: Json = {}, key = ''): JsonValue => ofConstruct(mapper).out(isEmpty(key) ? source : (source[key] as Json)),\n }),\n propsToList: (...maps: Mapping[]): Mapping => ({\n property: '',\n in: (source: Json = {}): JsonValue => toList(maps.map(m => ofConstruct(m).in(source))).toJSON(),\n out: (source: Json = {}, key = ''): JsonValue =>\n maps.reduce((a: Json, m, i) => {\n const res = toList(source[key])[i];\n const out = m.out(res as Json);\n return { ...a, [m.property]: out ?? {} };\n }, {}),\n }),\n list: (mapper: Mapping, property: string): Mapping => ({\n property: property,\n in: (source: Json = {}): JsonValue =>\n toList(source[property])\n .map((v: any) => mapper.in(v))\n .toJSON(),\n out: (source: Json = {}, key = ''): JsonValue =>\n toList(isEmpty(key) ? source : (source[key] as Json))\n .map((v: any) => mapper.out(v))\n .toJSON(),\n }),\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,94 @@
1
+ import {
2
+ asString,
3
+ ctx,
4
+ entries,
5
+ meta,
6
+ toList,
7
+ tryTo
8
+ } from "./chunk-GZ4W5NPB.mjs";
9
+ import {
10
+ toArray
11
+ } from "./chunk-FAAERRP2.mjs";
12
+ import {
13
+ toName
14
+ } from "./chunk-GI5TZOAG.mjs";
15
+ import {
16
+ isBoolean,
17
+ isNotEmpty,
18
+ isTrue
19
+ } from "./chunk-OXBQSJDF.mjs";
20
+
21
+ // src/types/Uri.ts
22
+ var toSegment = (key, {
23
+ segment,
24
+ query
25
+ } = {}) => ({
26
+ key,
27
+ segment,
28
+ query,
29
+ toString: () => asString(key)
30
+ });
31
+ var uri = {
32
+ host: (key) => toSegment(key, { segment: key ?? ctx.env.host ?? "$host" }),
33
+ resource: (resource) => toSegment(toName(resource, "Uri"), { segment: toName(resource, "Uri") }),
34
+ segment: (key) => toSegment(key, { segment: key }),
35
+ path: (key) => toSegment(key, { segment: `:${key}` }),
36
+ query: (key) => toSegment(key, {
37
+ query: (value) => tryTo(value).is.defined().map((v) => encodeURIComponent(asString(v))).map((v) => `${key}=${v}`).orElse("") ?? ""
38
+ }),
39
+ boolean: (key) => toSegment(key, { query: (value) => isTrue(value) ? `${key}` : "" })
40
+ };
41
+ var toRoute = (...segments) => toList(segments).mapDefined((s) => s.segment).join("/");
42
+ var EasyUri = class _EasyUri {
43
+ constructor(segments = []) {
44
+ this.segments = segments;
45
+ }
46
+ static id = uri.path("id");
47
+ static ids = uri.query("ids");
48
+ static query = uri.query("q");
49
+ static sort = uri.query("s");
50
+ static skip = uri.query("skip");
51
+ static take = uri.query("take");
52
+ host = uri.host();
53
+ resource = uri.resource(this);
54
+ state = {};
55
+ get path() {
56
+ return toRoute(uri.segment(""), this.resource, ...this.segments);
57
+ }
58
+ get complete() {
59
+ return toRoute(this.host, this.resource, ...this.segments);
60
+ }
61
+ get isInternal() {
62
+ return toRoute(this.host) === (ctx.env.host ?? "$host");
63
+ }
64
+ get props() {
65
+ return meta(this.state).values();
66
+ }
67
+ route = (resource = this.resource.key) => toRoute(uri.segment(""), uri.segment(resource?.toLowerCase()), ...this.segments);
68
+ set = (segment, value) => {
69
+ tryTo(value).is.defined().accept((value2) => this.state[segment.key ?? ""] = { segment, value: value2 });
70
+ return this;
71
+ };
72
+ toString() {
73
+ return tryTo(() => this.props).map((ps) => ps.filter((p) => p.segment?.segment)).map((ps) => ps.reduce((r, p) => r.replace(asString(p.segment.segment), asString(p.value)), this.complete)).map((route) => ({
74
+ route,
75
+ query: this.props.mapDefined((p) => p.segment?.query ? p.segment?.query(p.value) : void 0)?.join("&")
76
+ })).map(({ route, query }) => isNotEmpty(query) ? `${route}?${query}` : route).value;
77
+ }
78
+ id = (id) => this.set(_EasyUri.id, id);
79
+ ids = (ids) => this.set(_EasyUri.ids, toArray(ids).join(","));
80
+ query = (q) => this.set(_EasyUri.query, q);
81
+ sort = (s) => this.set(_EasyUri.sort, asString(s));
82
+ skip = (index) => this.set(_EasyUri.skip, index);
83
+ take = (items) => this.set(_EasyUri.take, items);
84
+ expand(props) {
85
+ return entries(props).filter(([_, v]) => isNotEmpty(v)).reduce((u, [k, v]) => isBoolean(v) ? u.set(uri.boolean(k), v) : u.set(uri.query(k), toArray(v).join(",")), this);
86
+ }
87
+ };
88
+
89
+ export {
90
+ toSegment,
91
+ uri,
92
+ EasyUri
93
+ };
94
+ //# sourceMappingURL=chunk-4OQNWUOH.mjs.map
@@ -0,0 +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 { entries, meta } from './Meta';\nimport { tryTo } from './Try';\nimport { Optional } from './Types';\nimport { OneOrMore, toArray } from './Array';\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"],"mappings":"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","names":["value"]}
@@ -0,0 +1,13 @@
1
+ import {
2
+ isPrimitive
3
+ } from "./chunk-PSIJUWZT.mjs";
4
+
5
+ // src/types/IsA.ts
6
+ var isA = (t, ...properties) => !isPrimitive(t) && properties.every((p) => p.toString() in t);
7
+ var isAn = isA;
8
+
9
+ export {
10
+ isA,
11
+ isAn
12
+ };
13
+ //# sourceMappingURL=chunk-4QX4EMLL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/IsA.ts"],"sourcesContent":["import { isPrimitive } from './Primitive';\n\nexport const isA = <T>(t?: unknown, ...properties: (keyof T)[]): t is T => !isPrimitive(t) && properties.every(p => p.toString() in (t as any));\nexport const isAn = isA;\n"],"mappings":";;;;;AAEO,IAAM,MAAM,CAAI,MAAgB,eAAoC,CAAC,YAAY,CAAC,KAAK,WAAW,MAAM,OAAK,EAAE,SAAS,KAAM,CAAS;AACvI,IAAM,OAAO;","names":[]}
@@ -0,0 +1,54 @@
1
+ import {
2
+ SqlQuery
3
+ } from "./chunk-MDBZV377.mjs";
4
+ import {
5
+ toList
6
+ } from "./chunk-GZ4W5NPB.mjs";
7
+ import {
8
+ ifGet
9
+ } from "./chunk-SJGQU3OG.mjs";
10
+
11
+ // src/sql/Select.ts
12
+ var Select = class extends SqlQuery {
13
+ constructor(table, columns = toList()) {
14
+ super(table);
15
+ this.columns = columns;
16
+ }
17
+ ordered = toList();
18
+ grouped = toList();
19
+ _top = 0;
20
+ _limit = 0;
21
+ _offset = 0;
22
+ from(t) {
23
+ this.table = t ?? this.table;
24
+ return this;
25
+ }
26
+ orderBy = (...ordered) => {
27
+ this.ordered.add(ordered);
28
+ return this;
29
+ };
30
+ groupBy(...grouped) {
31
+ this.grouped.add(grouped);
32
+ return this;
33
+ }
34
+ top(t) {
35
+ this._top = t;
36
+ return this;
37
+ }
38
+ limit(l) {
39
+ this._limit = l;
40
+ return this;
41
+ }
42
+ offset(o) {
43
+ this._offset = o;
44
+ return this;
45
+ }
46
+ toString() {
47
+ return `SELECT ` + ifGet(this._top, `TOP ${this._top} `, "") + ifGet(this.columns.length, this.columns.join(", "), "*") + ` FROM ${this.table}` + ifGet(this.clauses.length, ` WHERE ${this.clauses.join(" AND ")}`, "") + ifGet(this.grouped.length, ` GROUP BY ${this.grouped.join(", ")}`, "") + ifGet(this.ordered.length, ` ORDERED BY ${this.ordered.join(", ")}`, "") + ifGet(this._limit, ` LIMIT ${this._limit}`, "") + ifGet(this._offset, ` OFFSET ${this._offset};`, ";");
48
+ }
49
+ };
50
+
51
+ export {
52
+ Select
53
+ };
54
+ //# sourceMappingURL=chunk-5FFXP2S2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sql/Select.ts"],"sourcesContent":["import { ifGet, List, toList } from '../types';\nimport { Column, OrderColumn } from './Column';\nimport { Join } from './Join';\nimport { SqlQuery } from './SqlQuery';\nimport { Table } from './Table';\n\nexport class Select extends SqlQuery {\n protected ordered: List<OrderColumn> = toList();\n protected grouped: List<Column> = toList();\n protected _top = 0;\n protected _limit = 0;\n protected _offset = 0;\n\n constructor(table: Table | Join, readonly columns: List<Column> = toList()) {\n super(table);\n }\n\n from(t?: Table | Join): this {\n this.table = t ?? this.table;\n return this;\n }\n\n orderBy = (...ordered: OrderColumn[]): this => {\n this.ordered.add(ordered);\n return this;\n };\n\n groupBy(...grouped: Column[]): this {\n this.grouped.add(grouped);\n return this;\n }\n\n top(t: number): this {\n this._top = t;\n return this;\n }\n\n limit(l: number): this {\n this._limit = l;\n return this;\n }\n\n offset(o: number): this {\n this._offset = o;\n return this;\n }\n\n toString(): string {\n return (\n `SELECT ` +\n ifGet(this._top, `TOP ${this._top} `, '') +\n ifGet(this.columns.length, this.columns.join(', '), '*') +\n ` FROM ${this.table}` +\n ifGet(this.clauses.length, ` WHERE ${this.clauses.join(' AND ')}`, '') +\n ifGet(this.grouped.length, ` GROUP BY ${this.grouped.join(', ')}`, '') +\n ifGet(this.ordered.length, ` ORDERED BY ${this.ordered.join(', ')}`, '') +\n ifGet(this._limit, ` LIMIT ${this._limit}`, '') +\n ifGet(this._offset, ` OFFSET ${this._offset};`, ';')\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAMO,IAAM,SAAN,cAAqB,SAAS;AAAA,EAOnC,YAAY,OAA8B,UAAwB,OAAO,GAAG;AAC1E,UAAM,KAAK;AAD6B;AAAA,EAE1C;AAAA,EARU,UAA6B,OAAO;AAAA,EACpC,UAAwB,OAAO;AAAA,EAC/B,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AAAA,EAMpB,KAAK,GAAwB;AAC3B,SAAK,QAAQ,KAAK,KAAK;AACvB,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,IAAI,YAAiC;AAC7C,SAAK,QAAQ,IAAI,OAAO;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,WAAW,SAAyB;AAClC,SAAK,QAAQ,IAAI,OAAO;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,GAAiB;AACnB,SAAK,OAAO;AACZ,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,GAAiB;AACrB,SAAK,SAAS;AACd,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,GAAiB;AACtB,SAAK,UAAU;AACf,WAAO;AAAA,EACT;AAAA,EAEA,WAAmB;AACjB,WACE,YACA,MAAM,KAAK,MAAM,OAAO,KAAK,IAAI,KAAK,EAAE,IACxC,MAAM,KAAK,QAAQ,QAAQ,KAAK,QAAQ,KAAK,IAAI,GAAG,GAAG,IACvD,SAAS,KAAK,KAAK,KACnB,MAAM,KAAK,QAAQ,QAAQ,UAAU,KAAK,QAAQ,KAAK,OAAO,CAAC,IAAI,EAAE,IACrE,MAAM,KAAK,QAAQ,QAAQ,aAAa,KAAK,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,IACrE,MAAM,KAAK,QAAQ,QAAQ,eAAe,KAAK,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,IACvE,MAAM,KAAK,QAAQ,UAAU,KAAK,MAAM,IAAI,EAAE,IAC9C,MAAM,KAAK,SAAS,WAAW,KAAK,OAAO,KAAK,GAAG;AAAA,EAEvD;AACF;","names":[]}
@@ -0,0 +1,21 @@
1
+ // src/types/IsDate.ts
2
+ var isDate = (o) => o instanceof Date && !isNaN(o.getTime());
3
+ var days = {
4
+ add: (date, days2) => {
5
+ date.setDate(date.getDate() + days2);
6
+ return date;
7
+ },
8
+ today: () => /* @__PURE__ */ new Date(),
9
+ yesterday: () => days.add(days.today(), -1),
10
+ tomorrow: () => days.add(days.today(), 1)
11
+ };
12
+ var inPast = (o) => isDate(o) && o <= days.today();
13
+ var inFuture = (o) => isDate(o) && o > days.today();
14
+
15
+ export {
16
+ isDate,
17
+ days,
18
+ inPast,
19
+ inFuture
20
+ };
21
+ //# sourceMappingURL=chunk-ADJAEGCT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/IsDate.ts"],"sourcesContent":["export const isDate = (o?: unknown): o is Date => o instanceof Date && !isNaN(o.getTime());\n\nexport const days = {\n add: (date: Date, days: number): Date => {\n date.setDate(date.getDate() + days);\n return date;\n },\n today: (): Date => new Date(),\n yesterday: (): Date => days.add(days.today(), -1),\n tomorrow: (): Date => days.add(days.today(), 1),\n};\n\nexport const inPast = (o?: unknown): boolean => isDate(o) && o <= days.today();\n\nexport const inFuture = (o?: unknown): boolean => isDate(o) && o > days.today();\n"],"mappings":";AAAO,IAAM,SAAS,CAAC,MAA2B,aAAa,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;AAElF,IAAM,OAAO;AAAA,EAClB,KAAK,CAAC,MAAYA,UAAuB;AACvC,SAAK,QAAQ,KAAK,QAAQ,IAAIA,KAAI;AAClC,WAAO;AAAA,EACT;AAAA,EACA,OAAO,MAAY,oBAAI,KAAK;AAAA,EAC5B,WAAW,MAAY,KAAK,IAAI,KAAK,MAAM,GAAG,EAAE;AAAA,EAChD,UAAU,MAAY,KAAK,IAAI,KAAK,MAAM,GAAG,CAAC;AAChD;AAEO,IAAM,SAAS,CAAC,MAAyB,OAAO,CAAC,KAAK,KAAK,KAAK,MAAM;AAEtE,IAAM,WAAW,CAAC,MAAyB,OAAO,CAAC,KAAK,IAAI,KAAK,MAAM;","names":["days"]}
@@ -0,0 +1,15 @@
1
+ import {
2
+ EasyUri,
3
+ uri
4
+ } from "./chunk-4OQNWUOH.mjs";
5
+
6
+ // src/health/HealthUri.ts
7
+ var HealthUri = class _HealthUri extends EasyUri {
8
+ static health = uri.segment("health");
9
+ static Health = new _HealthUri([_HealthUri.health]);
10
+ };
11
+
12
+ export {
13
+ HealthUri
14
+ };
15
+ //# sourceMappingURL=chunk-AJMFM4WW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/health/HealthUri.ts"],"sourcesContent":["import { EasyUri, uri } from '../types';\n\nexport class HealthUri extends EasyUri {\n static readonly health = uri.segment('health');\n static readonly Health = new HealthUri([HealthUri.health]);\n}\n"],"mappings":";;;;;;AAEO,IAAM,YAAN,MAAM,mBAAkB,QAAQ;AAAA,EACrC,OAAgB,SAAS,IAAI,QAAQ,QAAQ;AAAA,EAC7C,OAAgB,SAAS,IAAI,WAAU,CAAC,WAAU,MAAM,CAAC;AAC3D;","names":[]}
@@ -0,0 +1,15 @@
1
+ import {
2
+ isString
3
+ } from "./chunk-OXBQSJDF.mjs";
4
+
5
+ // src/types/Uuid.ts
6
+ import { v4 as uuid } from "uuid";
7
+ var isValidUuid = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i);
8
+ var isUuid = (id) => isString(id) && isValidUuid.test(id);
9
+ var toUuid = () => uuid();
10
+
11
+ export {
12
+ isUuid,
13
+ toUuid
14
+ };
15
+ //# sourceMappingURL=chunk-AKYA7FHU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Uuid.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid';\nimport { isString } from './Is';\n\nconst isValidUuid = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i);\n\nexport type Uuid = string;\n\nexport const isUuid = (id?: unknown): id is Uuid => isString(id) && isValidUuid.test(id);\n\nexport const toUuid = (): Uuid => uuid();\n"],"mappings":";;;;;AAAA,SAAS,MAAM,YAAY;AAG3B,IAAM,cAAc,IAAI,OAAO,iEAAiE;AAIzF,IAAM,SAAS,CAAC,OAA6B,SAAS,EAAE,KAAK,YAAY,KAAK,EAAE;AAEhF,IAAM,SAAS,MAAY,KAAK;","names":[]}
@@ -0,0 +1,21 @@
1
+ import {
2
+ Enum
3
+ } from "./chunk-GZ4W5NPB.mjs";
4
+
5
+ // src/domain/enums/UnitOfMeasurement.ts
6
+ var UnitOfMeasurement = class _UnitOfMeasurement extends Enum {
7
+ constructor(name, id, mmMultiplier) {
8
+ super(name, id);
9
+ this.mmMultiplier = mmMultiplier;
10
+ }
11
+ static MM = new _UnitOfMeasurement("Millimeter", "mm", 1);
12
+ static CM = new _UnitOfMeasurement("Centimeter", "cm", 10);
13
+ static DM = new _UnitOfMeasurement("Decimeter", "dm", 100);
14
+ static M = new _UnitOfMeasurement("Meter", "m", 1e3);
15
+ static KM = new _UnitOfMeasurement("Kilometer", "km", 1e6);
16
+ };
17
+
18
+ export {
19
+ UnitOfMeasurement
20
+ };
21
+ //# sourceMappingURL=chunk-AQ7VCOZV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domain/enums/UnitOfMeasurement.ts"],"sourcesContent":["import { Enum } from '../../types';\n\nexport class UnitOfMeasurement extends Enum {\n static readonly MM = new UnitOfMeasurement('Millimeter', 'mm', 1);\n static readonly CM = new UnitOfMeasurement('Centimeter', 'cm', 10);\n static readonly DM = new UnitOfMeasurement('Decimeter', 'dm', 100);\n static readonly M = new UnitOfMeasurement('Meter', 'm', 1000);\n static readonly KM = new UnitOfMeasurement('Kilometer', 'km', 1000000);\n\n constructor(name: string, id: string, readonly mmMultiplier: number) {\n super(name, id);\n }\n}\n"],"mappings":";;;;;AAEO,IAAM,oBAAN,MAAM,2BAA0B,KAAK;AAAA,EAO1C,YAAY,MAAc,IAAqB,cAAsB;AACnE,UAAM,MAAM,EAAE;AAD+B;AAAA,EAE/C;AAAA,EARA,OAAgB,KAAK,IAAI,mBAAkB,cAAc,MAAM,CAAC;AAAA,EAChE,OAAgB,KAAK,IAAI,mBAAkB,cAAc,MAAM,EAAE;AAAA,EACjE,OAAgB,KAAK,IAAI,mBAAkB,aAAa,MAAM,GAAG;AAAA,EACjE,OAAgB,IAAI,IAAI,mBAAkB,SAAS,KAAK,GAAI;AAAA,EAC5D,OAAgB,KAAK,IAAI,mBAAkB,aAAa,MAAM,GAAO;AAKvE;","names":[]}
@@ -0,0 +1,11 @@
1
+ import {
2
+ isA
3
+ } from "./chunk-4QX4EMLL.mjs";
4
+
5
+ // src/types/Validatable.ts
6
+ var isValidatable = (v) => isA(v, "isValid");
7
+
8
+ export {
9
+ isValidatable
10
+ };
11
+ //# sourceMappingURL=chunk-CMRS457E.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Validatable.ts"],"sourcesContent":["import { isA } from './IsA';\nimport { TypeGuard } from './TypeGuard';\n\nexport interface Validatable {\n isValid: boolean;\n}\n\nexport const isValidatable: TypeGuard<Validatable> = (v?: unknown): v is Validatable => isA<Validatable>(v, 'isValid');\n"],"mappings":";;;;;AAOO,IAAM,gBAAwC,CAAC,MAAkC,IAAiB,GAAG,SAAS;","names":[]}
@@ -0,0 +1,38 @@
1
+ import {
2
+ json,
3
+ validate
4
+ } from "./chunk-GZ4W5NPB.mjs";
5
+ import {
6
+ isDefined
7
+ } from "./chunk-OXBQSJDF.mjs";
8
+
9
+ // src/domain/Struct.ts
10
+ var Struct = class {
11
+ constructor(state = {}) {
12
+ this.state = state;
13
+ }
14
+ get isValid() {
15
+ return validate(this).isValid;
16
+ }
17
+ toJSON() {
18
+ return json.delete(json.parse({ ...this }), "state");
19
+ }
20
+ toString() {
21
+ return this.constructor.name;
22
+ }
23
+ update(_add) {
24
+ return this;
25
+ }
26
+ merge(a) {
27
+ return json.merge(this, a);
28
+ }
29
+ };
30
+ function isStruct(s) {
31
+ return isDefined(s) && s instanceof Struct;
32
+ }
33
+
34
+ export {
35
+ Struct,
36
+ isStruct
37
+ };
38
+ //# sourceMappingURL=chunk-CN756KJF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domain/Struct.ts"],"sourcesContent":["import { isDefined, json, Json, Validatable } from '../types';\nimport { validate } from '../validation';\n\nexport abstract class Struct implements Validatable {\n constructor(protected readonly state: any = {}) {}\n\n get isValid(): boolean {\n return validate(this).isValid;\n }\n\n toJSON(): Json {\n return json.delete(json.parse({ ...this }), 'state');\n }\n\n toString(): string {\n return this.constructor.name;\n }\n\n update(_add: Json): Struct {\n return this;\n }\n\n protected merge(a: unknown): Json {\n return json.merge(this, a);\n }\n}\n\nexport function isStruct(s?: unknown): s is Struct {\n return isDefined(s) && s instanceof Struct;\n}\n"],"mappings":";;;;;;;;;AAGO,IAAe,SAAf,MAA6C;AAAA,EAClD,YAA+B,QAAa,CAAC,GAAG;AAAjB;AAAA,EAAkB;AAAA,EAEjD,IAAI,UAAmB;AACrB,WAAO,SAAS,IAAI,EAAE;AAAA,EACxB;AAAA,EAEA,SAAe;AACb,WAAO,KAAK,OAAO,KAAK,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO;AAAA,EACrD;AAAA,EAEA,WAAmB;AACjB,WAAO,KAAK,YAAY;AAAA,EAC1B;AAAA,EAEA,OAAO,MAAoB;AACzB,WAAO;AAAA,EACT;AAAA,EAEU,MAAM,GAAkB;AAChC,WAAO,KAAK,MAAM,MAAM,CAAC;AAAA,EAC3B;AACF;AAEO,SAAS,SAAS,GAA0B;AACjD,SAAO,UAAU,CAAC,KAAK,aAAa;AACtC;","names":[]}
@@ -0,0 +1,25 @@
1
+ import {
2
+ convert
3
+ } from "./chunk-W36ZTL43.mjs";
4
+ import {
5
+ ofGet
6
+ } from "./chunk-SJGQU3OG.mjs";
7
+
8
+ // src/utils/Property.ts
9
+ var Property = class {
10
+ constructor(property, options) {
11
+ this.property = property;
12
+ this.options = options;
13
+ this.options = { ...options, convert: options?.convert ?? convert.default };
14
+ }
15
+ in = (source = {}) => this.options?.convert?.to(source[this.property] ?? ofGet(this.options?.dflt));
16
+ out = (source = {}, key = "") => this.options?.convert?.from(source[key]);
17
+ toString() {
18
+ return this.property;
19
+ }
20
+ };
21
+
22
+ export {
23
+ Property
24
+ };
25
+ //# sourceMappingURL=chunk-CQFW65RV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/Property.ts"],"sourcesContent":["import { convert, Convert } from './Convert';\nimport { Get, Json, JsonValue, ofGet } from '../types';\nimport { Mapping } from './Mapper';\n\nexport type PropertyOptions<T = unknown> = {\n convert?: Convert<any, any>;\n dflt?: Get<T>;\n format?: string;\n};\n\nexport class Property<T = unknown> implements Mapping {\n constructor(readonly property: string, readonly options?: PropertyOptions) {\n this.options = { ...options, convert: options?.convert ?? convert.default };\n }\n\n in = (source: Json = {}): JsonValue => this.options?.convert?.to(source[this.property] ?? ofGet(this.options?.dflt));\n out = (source: Json = {}, key = ''): JsonValue => this.options?.convert?.from(source[key]);\n\n toString() {\n return this.property;\n }\n}\n"],"mappings":";;;;;;;;AAUO,IAAM,WAAN,MAA+C;AAAA,EACpD,YAAqB,UAA2B,SAA2B;AAAtD;AAA2B;AAC9C,SAAK,UAAU,EAAE,GAAG,SAAS,SAAS,SAAS,WAAW,QAAQ,QAAQ;AAAA,EAC5E;AAAA,EAEA,KAAK,CAAC,SAAe,CAAC,MAAiB,KAAK,SAAS,SAAS,GAAG,OAAO,KAAK,QAAQ,KAAK,MAAM,KAAK,SAAS,IAAI,CAAC;AAAA,EACnH,MAAM,CAAC,SAAe,CAAC,GAAG,MAAM,OAAkB,KAAK,SAAS,SAAS,KAAK,OAAO,GAAG,CAAC;AAAA,EAEzF,WAAW;AACT,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}