@thisisagile/easy 15.26.2 → 15.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (678) hide show
  1. package/dist/chunk-35PSIDGU.mjs +17 -0
  2. package/dist/chunk-35PSIDGU.mjs.map +1 -0
  3. package/dist/chunk-3HTSHJPL.mjs +26 -0
  4. package/dist/chunk-3HTSHJPL.mjs.map +1 -0
  5. package/dist/chunk-3WOYFN2Q.mjs +18 -0
  6. package/dist/chunk-3WOYFN2Q.mjs.map +1 -0
  7. package/dist/chunk-4AP5H3OQ.mjs +46 -0
  8. package/dist/chunk-4AP5H3OQ.mjs.map +1 -0
  9. package/dist/chunk-4EVQZKMK.mjs +15 -0
  10. package/dist/chunk-4EVQZKMK.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-5AF55QCJ.mjs +51 -0
  14. package/dist/chunk-5AF55QCJ.mjs.map +1 -0
  15. package/dist/chunk-6NOTDYUE.mjs +272 -0
  16. package/dist/chunk-6NOTDYUE.mjs.map +1 -0
  17. package/dist/chunk-6OW7KEN5.mjs +94 -0
  18. package/dist/chunk-6OW7KEN5.mjs.map +1 -0
  19. package/dist/chunk-74AOBBOZ.mjs +113 -0
  20. package/dist/chunk-74AOBBOZ.mjs.map +1 -0
  21. package/dist/chunk-7EP6VCI3.mjs +60 -0
  22. package/dist/chunk-7EP6VCI3.mjs.map +1 -0
  23. package/dist/{types/PageList.js → chunk-7NYZAGM3.mjs} +31 -48
  24. package/dist/chunk-7NYZAGM3.mjs.map +1 -0
  25. package/dist/chunk-7RIXMU5L.mjs +50 -0
  26. package/dist/chunk-7RIXMU5L.mjs.map +1 -0
  27. package/dist/chunk-A7OYYR2S.mjs +48 -0
  28. package/dist/chunk-A7OYYR2S.mjs.map +1 -0
  29. package/dist/chunk-ADJAEGCT.mjs +21 -0
  30. package/dist/chunk-ADJAEGCT.mjs.map +1 -0
  31. package/dist/chunk-AKYA7FHU.mjs +15 -0
  32. package/dist/chunk-AKYA7FHU.mjs.map +1 -0
  33. package/dist/chunk-CLKUH5JA.mjs +42 -0
  34. package/dist/chunk-CLKUH5JA.mjs.map +1 -0
  35. package/dist/chunk-CMRS457E.mjs +11 -0
  36. package/dist/chunk-CMRS457E.mjs.map +1 -0
  37. package/dist/chunk-D54TPU6G.mjs +43 -0
  38. package/dist/chunk-D54TPU6G.mjs.map +1 -0
  39. package/dist/chunk-DICMUQFL.mjs +11 -0
  40. package/dist/chunk-DICMUQFL.mjs.map +1 -0
  41. package/dist/chunk-EZC3HAYN.mjs +70 -0
  42. package/dist/chunk-EZC3HAYN.mjs.map +1 -0
  43. package/dist/chunk-FAAERRP2.mjs +37 -0
  44. package/dist/chunk-FAAERRP2.mjs.map +1 -0
  45. package/dist/chunk-FSK4W6I2.mjs +33 -0
  46. package/dist/chunk-FSK4W6I2.mjs.map +1 -0
  47. package/dist/chunk-G7QSW2EB.mjs +23 -0
  48. package/dist/chunk-G7QSW2EB.mjs.map +1 -0
  49. package/dist/chunk-GDD652NR.mjs +94 -0
  50. package/dist/chunk-GDD652NR.mjs.map +1 -0
  51. package/dist/chunk-GGC4TWMF.mjs +40 -0
  52. package/dist/chunk-GGC4TWMF.mjs.map +1 -0
  53. package/dist/chunk-GI5TZOAG.mjs +30 -0
  54. package/dist/chunk-GI5TZOAG.mjs.map +1 -0
  55. package/dist/chunk-GVX6S54O.mjs +54 -0
  56. package/dist/chunk-GVX6S54O.mjs.map +1 -0
  57. package/dist/chunk-H22IHXDC.mjs +23 -0
  58. package/dist/chunk-H22IHXDC.mjs.map +1 -0
  59. package/dist/chunk-H6GKGVYF.mjs +18 -0
  60. package/dist/chunk-H6GKGVYF.mjs.map +1 -0
  61. package/dist/chunk-HNB4RM5S.mjs +89 -0
  62. package/dist/chunk-HNB4RM5S.mjs.map +1 -0
  63. package/dist/chunk-I3VZW3XF.mjs +46 -0
  64. package/dist/chunk-I3VZW3XF.mjs.map +1 -0
  65. package/dist/chunk-IJFQ7PRU.mjs +19 -0
  66. package/dist/chunk-IJFQ7PRU.mjs.map +1 -0
  67. package/dist/chunk-JER7KLEK.mjs +82 -0
  68. package/dist/chunk-JER7KLEK.mjs.map +1 -0
  69. package/dist/chunk-JXJ5LRH3.mjs +30 -0
  70. package/dist/chunk-JXJ5LRH3.mjs.map +1 -0
  71. package/dist/chunk-L2BMMXCX.mjs +79 -0
  72. package/dist/chunk-L2BMMXCX.mjs.map +1 -0
  73. package/dist/chunk-LB7OMB5S.mjs +57 -0
  74. package/dist/chunk-LB7OMB5S.mjs.map +1 -0
  75. package/dist/chunk-LCDQWW2Y.mjs +18 -0
  76. package/dist/chunk-LCDQWW2Y.mjs.map +1 -0
  77. package/dist/chunk-LD64IICE.mjs +28 -0
  78. package/dist/chunk-LD64IICE.mjs.map +1 -0
  79. package/dist/chunk-LV7HNQ3N.mjs +183 -0
  80. package/dist/chunk-LV7HNQ3N.mjs.map +1 -0
  81. package/dist/chunk-M4UUIOW6.mjs +86 -0
  82. package/dist/chunk-M4UUIOW6.mjs.map +1 -0
  83. package/dist/chunk-MDLVDMKY.mjs +11 -0
  84. package/dist/chunk-MDLVDMKY.mjs.map +1 -0
  85. package/dist/chunk-NF7FTEE7.mjs +26 -0
  86. package/dist/chunk-NF7FTEE7.mjs.map +1 -0
  87. package/dist/chunk-NYTGMBLK.mjs +49 -0
  88. package/dist/chunk-NYTGMBLK.mjs.map +1 -0
  89. package/dist/chunk-O62PGEQ7.mjs +20 -0
  90. package/dist/chunk-O62PGEQ7.mjs.map +1 -0
  91. package/dist/chunk-OQNZEKWO.mjs +24 -0
  92. package/dist/chunk-OQNZEKWO.mjs.map +1 -0
  93. package/dist/chunk-OXBQSJDF.mjs +45 -0
  94. package/dist/chunk-OXBQSJDF.mjs.map +1 -0
  95. package/dist/chunk-PIRWVOO2.mjs +7 -0
  96. package/dist/chunk-PIRWVOO2.mjs.map +1 -0
  97. package/dist/chunk-PLIJ2CRV.mjs +25 -0
  98. package/dist/chunk-PLIJ2CRV.mjs.map +1 -0
  99. package/dist/chunk-PSIJUWZT.mjs +13 -0
  100. package/dist/chunk-PSIJUWZT.mjs.map +1 -0
  101. package/dist/chunk-QOGUHAMC.mjs +40 -0
  102. package/dist/chunk-QOGUHAMC.mjs.map +1 -0
  103. package/dist/chunk-SGSU4KYT.mjs +49 -0
  104. package/dist/chunk-SGSU4KYT.mjs.map +1 -0
  105. package/dist/chunk-SJGDB24D.mjs +41 -0
  106. package/dist/chunk-SJGDB24D.mjs.map +1 -0
  107. package/dist/chunk-SJGQU3OG.mjs +15 -0
  108. package/dist/chunk-SJGQU3OG.mjs.map +1 -0
  109. package/dist/chunk-SP4KAT3N.mjs +25 -0
  110. package/dist/chunk-SP4KAT3N.mjs.map +1 -0
  111. package/dist/chunk-SS3C77DP.mjs +134 -0
  112. package/dist/chunk-SS3C77DP.mjs.map +1 -0
  113. package/dist/chunk-SW2OCUH3.mjs +10 -0
  114. package/dist/chunk-SW2OCUH3.mjs.map +1 -0
  115. package/dist/chunk-UDLMLGTS.mjs +43 -0
  116. package/dist/chunk-UDLMLGTS.mjs.map +1 -0
  117. package/dist/chunk-V62IOKST.mjs +21 -0
  118. package/dist/chunk-V62IOKST.mjs.map +1 -0
  119. package/dist/chunk-WEXSGVXZ.mjs +53 -0
  120. package/dist/chunk-WEXSGVXZ.mjs.map +1 -0
  121. package/dist/chunk-WUFQM7VZ.mjs +20 -0
  122. package/dist/chunk-WUFQM7VZ.mjs.map +1 -0
  123. package/dist/chunk-YTWFWQNB.mjs +866 -0
  124. package/dist/chunk-YTWFWQNB.mjs.map +1 -0
  125. package/dist/chunk-ZHAJLP7P.mjs +49 -0
  126. package/dist/chunk-ZHAJLP7P.mjs.map +1 -0
  127. package/dist/chunk-ZNWOAXMK.mjs +46 -0
  128. package/dist/chunk-ZNWOAXMK.mjs.map +1 -0
  129. package/dist/data/Condition.mjs +19 -35
  130. package/dist/data/Condition.mjs.map +1 -1
  131. package/dist/data/Database.mjs +15 -12
  132. package/dist/data/Database.mjs.map +1 -1
  133. package/dist/data/Field.mjs +28 -6
  134. package/dist/data/Field.mjs.map +1 -1
  135. package/dist/data/InMemoryGateway.mjs +26 -4
  136. package/dist/data/InMemoryGateway.mjs.map +1 -1
  137. package/dist/domain/Audit.mjs +18 -24
  138. package/dist/domain/Audit.mjs.map +1 -1
  139. package/dist/domain/Child.mjs +28 -5
  140. package/dist/domain/Child.mjs.map +1 -1
  141. package/dist/domain/Entity.mjs +32 -6
  142. package/dist/domain/Entity.mjs.map +1 -1
  143. package/dist/domain/Repo.mjs +28 -5
  144. package/dist/domain/Repo.mjs.map +1 -1
  145. package/dist/domain/Struct.mjs +15 -25
  146. package/dist/domain/Struct.mjs.map +1 -1
  147. package/dist/domain/Typo.mjs +21 -4
  148. package/dist/domain/Typo.mjs.map +1 -1
  149. package/dist/domain/enums/Country.mjs +14 -262
  150. package/dist/domain/enums/Country.mjs.map +1 -1
  151. package/dist/domain/enums/Currency.mjs +17 -131
  152. package/dist/domain/enums/Currency.mjs.map +1 -1
  153. package/dist/domain/enums/Environment.mjs +21 -7
  154. package/dist/domain/enums/Environment.mjs.map +1 -1
  155. package/dist/domain/enums/Locale.mjs +581 -566
  156. package/dist/domain/enums/Locale.mjs.map +1 -1
  157. package/dist/domain/enums/UnitOfMeasurement.mjs +14 -12
  158. package/dist/domain/enums/UnitOfMeasurement.mjs.map +1 -1
  159. package/dist/domain/enums/UnitOfWeight.mjs +14 -10
  160. package/dist/domain/enums/UnitOfWeight.mjs.map +1 -1
  161. package/dist/domain/structs/Address.mjs +34 -8
  162. package/dist/domain/structs/Address.mjs.map +1 -1
  163. package/dist/domain/structs/Box.mjs +26 -5
  164. package/dist/domain/structs/Box.mjs.map +1 -1
  165. package/dist/domain/structs/Dimension.mjs +18 -26
  166. package/dist/domain/structs/Dimension.mjs.map +1 -1
  167. package/dist/domain/structs/Money.mjs +19 -32
  168. package/dist/domain/structs/Money.mjs.map +1 -1
  169. package/dist/domain/structs/Name.mjs +25 -6
  170. package/dist/domain/structs/Name.mjs.map +1 -1
  171. package/dist/domain/structs/Weight.mjs +26 -6
  172. package/dist/domain/structs/Weight.mjs.map +1 -1
  173. package/dist/domain/values/DateTime.mjs +17 -88
  174. package/dist/domain/values/DateTime.mjs.map +1 -1
  175. package/dist/domain/values/EAN.mjs +21 -4
  176. package/dist/domain/values/EAN.mjs.map +1 -1
  177. package/dist/domain/values/Email.mjs +23 -5
  178. package/dist/domain/values/Email.mjs.map +1 -1
  179. package/dist/domain/values/IBAN.mjs +21 -4
  180. package/dist/domain/values/IBAN.mjs.map +1 -1
  181. package/dist/domain/values/PostalCode.mjs +16 -13
  182. package/dist/domain/values/PostalCode.mjs.map +1 -1
  183. package/dist/domain/values/Slug.mjs +21 -4
  184. package/dist/domain/values/Slug.mjs.map +1 -1
  185. package/dist/domain/values/Url.mjs +22 -5
  186. package/dist/domain/values/Url.mjs.map +1 -1
  187. package/dist/health/HealthResource.mjs +32 -4
  188. package/dist/health/HealthResource.mjs.map +1 -1
  189. package/dist/health/HealthUri.mjs +15 -5
  190. package/dist/health/HealthUri.mjs.map +1 -1
  191. package/dist/http/CacheControl.mjs +16 -28
  192. package/dist/http/CacheControl.mjs.map +1 -1
  193. package/dist/http/ContentType.mjs +14 -15
  194. package/dist/http/ContentType.mjs.map +1 -1
  195. package/dist/http/HttpHeader.mjs +3 -4
  196. package/dist/http/HttpHeader.mjs.map +1 -1
  197. package/dist/http/HttpStatus.mjs +16 -80
  198. package/dist/http/HttpStatus.mjs.map +1 -1
  199. package/dist/http/HttpVerb.mjs +14 -11
  200. package/dist/http/HttpVerb.mjs.map +1 -1
  201. package/dist/http/LocalRequestStore.mjs +17 -3
  202. package/dist/http/LocalRequestStore.mjs.map +1 -1
  203. package/dist/http/OriginatedError.mjs +9 -5
  204. package/dist/http/OriginatedError.mjs.map +1 -1
  205. package/dist/http/RequestOptions.mjs +19 -59
  206. package/dist/http/RequestOptions.mjs.map +1 -1
  207. package/dist/http/Response.mjs +16 -9
  208. package/dist/http/Response.mjs.map +1 -1
  209. package/dist/http/RestResult.mjs +16 -26
  210. package/dist/http/RestResult.mjs.map +1 -1
  211. package/dist/http/Verb.mjs +27 -19
  212. package/dist/http/Verb.mjs.map +1 -1
  213. package/dist/index.js +4790 -27
  214. package/dist/index.js.map +1 -1
  215. package/dist/process/App.mjs +19 -4
  216. package/dist/process/App.mjs.map +1 -1
  217. package/dist/process/Manage.mjs +19 -3
  218. package/dist/process/Manage.mjs.map +1 -1
  219. package/dist/process/Scope.mjs +14 -18
  220. package/dist/process/Scope.mjs.map +1 -1
  221. package/dist/process/Search.mjs +15 -34
  222. package/dist/process/Search.mjs.map +1 -1
  223. package/dist/process/UseCase.mjs +24 -4
  224. package/dist/process/UseCase.mjs.map +1 -1
  225. package/dist/resources/Req.mjs +20 -4
  226. package/dist/resources/Req.mjs.map +1 -1
  227. package/dist/resources/Requires.mjs +18 -4
  228. package/dist/resources/Requires.mjs.map +1 -1
  229. package/dist/resources/Route.mjs +15 -32
  230. package/dist/resources/Route.mjs.map +1 -1
  231. package/dist/resources/Service.mjs +19 -3
  232. package/dist/resources/Service.mjs.map +1 -1
  233. package/dist/security/Jwt.mjs +21 -5
  234. package/dist/security/Jwt.mjs.map +1 -1
  235. package/dist/services/Api.mjs +25 -63
  236. package/dist/services/Api.mjs.map +1 -1
  237. package/dist/services/ApiGateway.mjs +27 -29
  238. package/dist/services/ApiGateway.mjs.map +1 -1
  239. package/dist/services/AxiosProvider.mjs +22 -23
  240. package/dist/services/AxiosProvider.mjs.map +1 -1
  241. package/dist/services/MappedRouteGateway.mjs +40 -5
  242. package/dist/services/MappedRouteGateway.mjs.map +1 -1
  243. package/dist/services/RouteGateway.mjs +28 -42
  244. package/dist/services/RouteGateway.mjs.map +1 -1
  245. package/dist/services/ViewRouteGateway.mjs +39 -5
  246. package/dist/services/ViewRouteGateway.mjs.map +1 -1
  247. package/dist/sql/Clause.mjs +19 -22
  248. package/dist/sql/Clause.mjs.map +1 -1
  249. package/dist/sql/Column.mjs +19 -64
  250. package/dist/sql/Column.mjs.map +1 -1
  251. package/dist/sql/Count.mjs +16 -7
  252. package/dist/sql/Count.mjs.map +1 -1
  253. package/dist/sql/Delete.mjs +15 -7
  254. package/dist/sql/Delete.mjs.map +1 -1
  255. package/dist/sql/Insert.mjs +17 -12
  256. package/dist/sql/Insert.mjs.map +1 -1
  257. package/dist/sql/Join.mjs +3 -18
  258. package/dist/sql/Join.mjs.map +1 -1
  259. package/dist/sql/Select.mjs +15 -40
  260. package/dist/sql/Select.mjs.map +1 -1
  261. package/dist/sql/SqlQuery.mjs +14 -11
  262. package/dist/sql/SqlQuery.mjs.map +1 -1
  263. package/dist/sql/Table.mjs +53 -12
  264. package/dist/sql/Table.mjs.map +1 -1
  265. package/dist/sql/TableGateway.mjs +27 -5
  266. package/dist/sql/TableGateway.mjs.map +1 -1
  267. package/dist/sql/Update.mjs +17 -13
  268. package/dist/sql/Update.mjs.map +1 -1
  269. package/dist/types/Array.mjs +9 -22
  270. package/dist/types/Array.mjs.map +1 -1
  271. package/dist/types/Builder.mjs +21 -7
  272. package/dist/types/Builder.mjs.map +1 -1
  273. package/dist/types/Cache.mjs +17 -3
  274. package/dist/types/Cache.mjs.map +1 -1
  275. package/dist/types/CacheAge.mjs +15 -36
  276. package/dist/types/CacheAge.mjs.map +1 -1
  277. package/dist/types/Case.mjs +13 -87
  278. package/dist/types/Case.mjs.map +1 -1
  279. package/dist/types/Constructor.mjs +11 -12
  280. package/dist/types/Constructor.mjs.map +1 -1
  281. package/dist/types/Context.mjs +17 -81
  282. package/dist/types/Context.mjs.map +1 -1
  283. package/dist/types/Enum.mjs +14 -46
  284. package/dist/types/Enum.mjs.map +1 -1
  285. package/dist/types/Exception.mjs +15 -22
  286. package/dist/types/Exception.mjs.map +1 -1
  287. package/dist/types/Falsy.mjs +4 -2
  288. package/dist/types/Falsy.mjs.map +1 -1
  289. package/dist/types/Func.mjs +3 -1
  290. package/dist/types/Func.mjs.map +1 -1
  291. package/dist/types/Gateway.mjs +14 -34
  292. package/dist/types/Gateway.mjs.map +1 -1
  293. package/dist/types/Get.mjs +6 -4
  294. package/dist/types/Get.mjs.map +1 -1
  295. package/dist/types/Id.mjs +5 -2
  296. package/dist/types/Id.mjs.map +1 -1
  297. package/dist/types/Is.mjs +21 -21
  298. package/dist/types/Is.mjs.map +1 -1
  299. package/dist/types/IsA.mjs +6 -3
  300. package/dist/types/IsA.mjs.map +1 -1
  301. package/dist/types/IsDate.mjs +6 -12
  302. package/dist/types/IsDate.mjs.map +1 -1
  303. package/dist/types/IsEqual.mjs +14 -11
  304. package/dist/types/IsEqual.mjs.map +1 -1
  305. package/dist/types/Json.mjs +14 -31
  306. package/dist/types/Json.mjs.map +1 -1
  307. package/dist/types/List.mjs +18 -170
  308. package/dist/types/List.mjs.map +1 -1
  309. package/dist/types/Message.mjs +6 -2
  310. package/dist/types/Message.mjs.map +1 -1
  311. package/dist/types/Meta.mjs +14 -41
  312. package/dist/types/Meta.mjs.map +1 -1
  313. package/dist/types/Nullish.mjs +3 -1
  314. package/dist/types/Nullish.mjs.map +1 -1
  315. package/dist/types/Number.mjs +14 -5
  316. package/dist/types/Number.mjs.map +1 -1
  317. package/dist/types/PageList.mjs +19 -118
  318. package/dist/types/PageList.mjs.map +1 -1
  319. package/dist/types/Parser.mjs +30 -7
  320. package/dist/types/Parser.mjs.map +1 -1
  321. package/dist/types/Primitive.mjs +4 -4
  322. package/dist/types/Primitive.mjs.map +1 -1
  323. package/dist/types/Repository.mjs +14 -40
  324. package/dist/types/Repository.mjs.map +1 -1
  325. package/dist/types/Result.mjs +14 -8
  326. package/dist/types/Result.mjs.map +1 -1
  327. package/dist/types/Results.mjs +15 -19
  328. package/dist/types/Results.mjs.map +1 -1
  329. package/dist/types/Sort.mjs +4 -2
  330. package/dist/types/Sort.mjs.map +1 -1
  331. package/dist/types/Tag.mjs +17 -3
  332. package/dist/types/Tag.mjs.map +1 -1
  333. package/dist/types/Template.mjs +14 -35
  334. package/dist/types/Template.mjs.map +1 -1
  335. package/dist/types/Text.mjs +19 -97
  336. package/dist/types/Text.mjs.map +1 -1
  337. package/dist/types/Try.mjs +14 -107
  338. package/dist/types/Try.mjs.map +1 -1
  339. package/dist/types/Uri.mjs +16 -74
  340. package/dist/types/Uri.mjs.map +1 -1
  341. package/dist/types/Uuid.mjs +5 -5
  342. package/dist/types/Uuid.mjs.map +1 -1
  343. package/dist/types/Validatable.mjs +6 -2
  344. package/dist/types/Validatable.mjs.map +1 -1
  345. package/dist/types/Value.mjs +14 -17
  346. package/dist/types/Value.mjs.map +1 -1
  347. package/dist/utils/Base64.mjs +3 -1
  348. package/dist/utils/Base64.mjs.map +1 -1
  349. package/dist/utils/Convert.mjs +15 -39
  350. package/dist/utils/Convert.mjs.map +1 -1
  351. package/dist/utils/If.mjs +10 -13
  352. package/dist/utils/If.mjs.map +1 -1
  353. package/dist/utils/Loading.mjs +6 -2
  354. package/dist/utils/Loading.mjs.map +1 -1
  355. package/dist/utils/Log.mjs +2 -0
  356. package/dist/utils/Log.mjs.map +1 -1
  357. package/dist/utils/Mapper.mjs +19 -101
  358. package/dist/utils/Mapper.mjs.map +1 -1
  359. package/dist/utils/Promise.mjs +19 -16
  360. package/dist/utils/Promise.mjs.map +1 -1
  361. package/dist/utils/Property.mjs +15 -14
  362. package/dist/utils/Property.mjs.map +1 -1
  363. package/dist/utils/Sentence.mjs +28 -14
  364. package/dist/utils/Sentence.mjs.map +1 -1
  365. package/dist/utils/State.mjs +7 -8
  366. package/dist/utils/State.mjs.map +1 -1
  367. package/dist/utils/Traverse.mjs +3 -5
  368. package/dist/utils/Traverse.mjs.map +1 -1
  369. package/dist/utils/View.mjs +21 -64
  370. package/dist/utils/View.mjs.map +1 -1
  371. package/dist/utils/Wait.mjs +5 -3
  372. package/dist/utils/Wait.mjs.map +1 -1
  373. package/dist/validation/Contraints.mjs +32 -29
  374. package/dist/validation/Contraints.mjs.map +1 -1
  375. package/dist/validation/Validate.mjs +16 -28
  376. package/dist/validation/Validate.mjs.map +1 -1
  377. package/dist/validation/When.mjs +14 -38
  378. package/dist/validation/When.mjs.map +1 -1
  379. package/package.json +4 -3
  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 @@
1
+ {"version":3,"sources":["../src/domain/Audit.ts"],"sourcesContent":["import { Struct } from './Struct';\nimport { choose, ctx, Id, Json } from '../types';\nimport { required, valid } from '../validation';\nimport { DateTime } from './values';\n\nexport class Audit extends Struct {\n @required() readonly by: { id: Id; user: string } = { id: this.state.by.id, user: this.state.by.user };\n @valid() readonly when: DateTime = new DateTime(this.state.when);\n\n constructor(json?: Json) {\n super(\n choose(json)\n .is.defined(\n j => j,\n j => j\n )\n .else({ by: ctx.request?.identity ?? { id: 0, user: 'easy' }, when: DateTime.now.toJSON() })\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAKO,IAAM,QAAN,cAAoB,OAAO;AAAA,EACX,KAA+B,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI,MAAM,KAAK,MAAM,GAAG,KAAK;AAAA,EACnF,OAAiB,IAAI,SAAS,KAAK,MAAM,IAAI;AAAA,EAE/D,YAAY,MAAa;AACvB;AAAA,MACE,OAAO,IAAI,EACR,GAAG;AAAA,QACF,OAAK;AAAA,QACL,OAAK;AAAA,MACP,EACC,KAAK,EAAE,IAAI,IAAI,SAAS,YAAY,EAAE,IAAI,GAAG,MAAM,OAAO,GAAG,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;AAAA,IAC/F;AAAA,EACF;AACF;AAbuB;AAAA,EAApB,SAAS;AAAA,GADC,MACU;AACH;AAAA,EAAjB,MAAM;AAAA,GAFI,MAEO;","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,43 @@
1
+ import {
2
+ meta,
3
+ tryTo
4
+ } from "./chunk-YTWFWQNB.mjs";
5
+
6
+ // src/resources/Route.ts
7
+ var route = (uri) => (subject) => {
8
+ meta(subject).set("route", uri);
9
+ };
10
+ var toRoute = (endpoint, requires, verb, middleware) => tryTo(verb).is.defined().map((verb2) => ({ verb: verb2, endpoint, requires, middleware: middleware ?? [] })).orElse();
11
+ var Router = class {
12
+ constructor(resource) {
13
+ this.resource = resource;
14
+ }
15
+ get route() {
16
+ return meta(this.resource).get("route");
17
+ }
18
+ get middleware() {
19
+ return meta(this.resource).get("middleware") ?? [];
20
+ }
21
+ get endpoints() {
22
+ return meta(this.resource).properties("verb").mapDefined(
23
+ (v) => toRoute(
24
+ this.resource[v.property],
25
+ {
26
+ labCoat: v.get("labCoat") ?? false,
27
+ token: v.get("token") ?? false,
28
+ scope: v.get("scope"),
29
+ uc: v.get("uc")
30
+ },
31
+ v.get("verb"),
32
+ v.get("middleware")
33
+ )
34
+ );
35
+ }
36
+ };
37
+ var routes = (resource) => new Router(resource);
38
+
39
+ export {
40
+ route,
41
+ routes
42
+ };
43
+ //# sourceMappingURL=chunk-D54TPU6G.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/resources/Route.ts"],"sourcesContent":["import { List, meta, Optional, tryTo, Uri } from '../types';\nimport { Verb } from '../http';\nimport { Req } from './Req';\nimport { Resource } from './Resource';\nimport { Scope, UseCase } from '../process';\nimport { RequestHandler } from 'express';\n\nexport const route =\n (uri: Uri): ClassDecorator =>\n (subject: unknown): void => {\n meta(subject).set('route', uri);\n };\n\nexport type Endpoint<T = unknown> = (re: Req) => Promise<T | List<T>>;\nexport type RouteRequires = { token: boolean; labCoat: boolean; scope?: Scope; uc?: UseCase };\nexport type Route = { verb: Verb; endpoint: Endpoint; requires: RouteRequires; middleware: RequestHandler[] };\nexport type Routes = { route: Uri; middleware: RequestHandler[]; endpoints: List<Route> };\n\nconst toRoute = (endpoint: Endpoint, requires: RouteRequires, verb?: Verb, middleware?: RequestHandler[]): Optional<Route> =>\n tryTo(verb)\n .is.defined()\n .map(verb => ({ verb, endpoint, requires, middleware: middleware ?? [] }) as Route)\n .orElse();\n\nclass Router implements Routes {\n constructor(readonly resource: Resource) {}\n\n get route(): Uri {\n return meta(this.resource).get('route');\n }\n\n get middleware(): RequestHandler[] {\n return meta(this.resource).get<RequestHandler[]>('middleware') ?? [];\n }\n\n get endpoints(): List<Route> {\n return meta(this.resource)\n .properties('verb')\n .mapDefined(v =>\n toRoute(\n this.resource[v.property],\n {\n labCoat: v.get<boolean>('labCoat') ?? false,\n token: v.get<boolean>('token') ?? false,\n scope: v.get<Scope>('scope'),\n uc: v.get<UseCase>('uc'),\n },\n v.get<Verb>('verb'),\n v.get<RequestHandler[]>('middleware')\n )\n );\n }\n}\n\nexport const routes = (resource: Resource): Routes => new Router(resource);\n"],"mappings":";;;;;;AAOO,IAAM,QACX,CAAC,QACD,CAAC,YAA2B;AAC1B,OAAK,OAAO,EAAE,IAAI,SAAS,GAAG;AAChC;AAOF,IAAM,UAAU,CAAC,UAAoB,UAAyB,MAAa,eACzE,MAAM,IAAI,EACP,GAAG,QAAQ,EACX,IAAI,CAAAA,WAAS,EAAE,MAAAA,OAAM,UAAU,UAAU,YAAY,cAAc,CAAC,EAAE,EAAW,EACjF,OAAO;AAEZ,IAAM,SAAN,MAA+B;AAAA,EAC7B,YAAqB,UAAoB;AAApB;AAAA,EAAqB;AAAA,EAE1C,IAAI,QAAa;AACf,WAAO,KAAK,KAAK,QAAQ,EAAE,IAAI,OAAO;AAAA,EACxC;AAAA,EAEA,IAAI,aAA+B;AACjC,WAAO,KAAK,KAAK,QAAQ,EAAE,IAAsB,YAAY,KAAK,CAAC;AAAA,EACrE;AAAA,EAEA,IAAI,YAAyB;AAC3B,WAAO,KAAK,KAAK,QAAQ,EACtB,WAAW,MAAM,EACjB;AAAA,MAAW,OACV;AAAA,QACE,KAAK,SAAS,EAAE,QAAQ;AAAA,QACxB;AAAA,UACE,SAAS,EAAE,IAAa,SAAS,KAAK;AAAA,UACtC,OAAO,EAAE,IAAa,OAAO,KAAK;AAAA,UAClC,OAAO,EAAE,IAAW,OAAO;AAAA,UAC3B,IAAI,EAAE,IAAa,IAAI;AAAA,QACzB;AAAA,QACA,EAAE,IAAU,MAAM;AAAA,QAClB,EAAE,IAAsB,YAAY;AAAA,MACtC;AAAA,IACF;AAAA,EACJ;AACF;AAEO,IAAM,SAAS,CAAC,aAA+B,IAAI,OAAO,QAAQ;","names":["verb"]}
@@ -0,0 +1,11 @@
1
+ // src/utils/Traverse.ts
2
+ var traverse = (subject = {}, property = "") => {
3
+ const props = property.split(".");
4
+ const p = props.shift();
5
+ return props.length === 0 ? subject[p] : traverse(subject[p], props.join("."));
6
+ };
7
+
8
+ export {
9
+ traverse
10
+ };
11
+ //# sourceMappingURL=chunk-DICMUQFL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/Traverse.ts"],"sourcesContent":["export const traverse = (subject: unknown = {}, property = ''): unknown => {\n const props = property.split('.');\n const p = props.shift() as string;\n return props.length === 0 ? (subject as any)[p] : traverse((subject as any)[p], props.join('.'));\n};\n"],"mappings":";AAAO,IAAM,WAAW,CAAC,UAAmB,CAAC,GAAG,WAAW,OAAgB;AACzE,QAAM,QAAQ,SAAS,MAAM,GAAG;AAChC,QAAM,IAAI,MAAM,MAAM;AACtB,SAAO,MAAM,WAAW,IAAK,QAAgB,CAAC,IAAI,SAAU,QAAgB,CAAC,GAAG,MAAM,KAAK,GAAG,CAAC;AACjG;","names":[]}
@@ -0,0 +1,70 @@
1
+ import {
2
+ inFuture,
3
+ inPast
4
+ } from "./chunk-ADJAEGCT.mjs";
5
+ import {
6
+ meta,
7
+ text,
8
+ toList,
9
+ tryTo,
10
+ validate
11
+ } from "./chunk-YTWFWQNB.mjs";
12
+ import {
13
+ isBoolean,
14
+ isDefined,
15
+ isFunction,
16
+ isIn,
17
+ isNotEmpty,
18
+ isString
19
+ } from "./chunk-OXBQSJDF.mjs";
20
+
21
+ // src/validation/Contraints.ts
22
+ var constraint = (c, message) => (subject, property) => {
23
+ const cs = meta(subject).property(property).get("constraint") ?? toList();
24
+ meta(subject).property(property).set("constraint", cs.add({ property, constraint: c, text: message }));
25
+ };
26
+ var defined = (message) => constraint((v) => isDefined(v), message ?? "Property {property} must be defined.");
27
+ var required = (message) => constraint((v) => isNotEmpty(v), message ?? "Property {property} is required, and may not be empty.");
28
+ var notEmpty = (message) => constraint((v) => isNotEmpty(v), message ?? "Property {property} may not be empty.");
29
+ var valid = () => constraint((v) => validate(v), "");
30
+ var optional = () => constraint((v) => !isDefined(v) || validate(v), "");
31
+ var includes = (sub, message) => constraint((s) => isDefined(s) && isString(s) && s.includes(sub), message ?? `Value {actual} must include '${sub}'.`);
32
+ var inList = (values, message) => constraint((v) => isDefined(v) && isIn(v, values), message ?? "Value {actual} must appear in list.");
33
+ var inOptionalList = (values, message) => constraint((v) => !isDefined(v) || isIn(v, values), message ?? "Value {actual} must appear in list.");
34
+ var gt = (limit, message) => constraint((v) => v > limit, message ?? `Value {actual} must be larger than '${limit}'.`);
35
+ var gte = (limit, message) => constraint((v) => v >= limit, message ?? `Value {actual} must be larger than or equal to ${limit}.`);
36
+ var lt = (limit, message) => constraint((v) => v < limit, message ?? `Value {actual} must be smaller than ${limit}.`);
37
+ var lte = (limit, message) => constraint((v) => v <= limit, message ?? `Value {actual} must be smaller than or equal to ${limit}.`);
38
+ var past = (message) => constraint((v) => inPast(v), message ?? "Value {actual} must lay in the past.");
39
+ var future = (message) => constraint((v) => inFuture(v), message ?? "Value {actual} must lay in the future.");
40
+ var minLength = (length, message) => constraint(
41
+ (v) => tryTo(() => v).is.defined().map((v2) => text(v2).toString().length >= length).orElse(true),
42
+ message ?? `Value {actual} must be at least '${length}' characters long.`
43
+ );
44
+ var maxLength = (length, message) => constraint(
45
+ (v) => tryTo(() => v).is.defined().map((v2) => text(v2).toString().length <= length).orElse(true),
46
+ message ?? `Value {actual} cannot be longer than '${length}' characters.`
47
+ );
48
+ var rule = (message) => constraint((v) => isFunction(v) ? v() : isBoolean(v) ? v : false, message ?? `Value {actual} must be true`);
49
+
50
+ export {
51
+ constraint,
52
+ defined,
53
+ required,
54
+ notEmpty,
55
+ valid,
56
+ optional,
57
+ includes,
58
+ inList,
59
+ inOptionalList,
60
+ gt,
61
+ gte,
62
+ lt,
63
+ lte,
64
+ past,
65
+ future,
66
+ minLength,
67
+ maxLength,
68
+ rule
69
+ };
70
+ //# sourceMappingURL=chunk-EZC3HAYN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/validation/Contraints.ts"],"sourcesContent":["import { Func, inFuture, inPast, isBoolean, isDefined, isFunction, isIn, isNotEmpty, isString, List, meta, Results, text, Text, toList, tryTo } from '../types';\nimport { validate, Validator } from './Validate';\n\nexport type Constraint = Func<boolean | Results, any>;\n\nexport const constraint =\n <T>(c: Constraint, message: Text): PropertyDecorator =>\n (subject: unknown, property: string | symbol): void => {\n const cs = meta(subject).property(property).get<List<Validator>>('constraint') ?? toList<Validator>();\n meta(subject)\n .property(property)\n .set('constraint', cs.add({ property, constraint: c, text: message }));\n };\n\nexport const defined = (message?: Text): PropertyDecorator => constraint(v => isDefined(v), message ?? 'Property {property} must be defined.');\n\nexport const required = (message?: Text): PropertyDecorator =>\n constraint(v => isNotEmpty(v), message ?? 'Property {property} is required, and may not be empty.');\n\nexport const notEmpty = (message?: Text): PropertyDecorator => constraint(v => isNotEmpty(v), message ?? 'Property {property} may not be empty.');\n\nexport const valid = (): PropertyDecorator => constraint(v => validate(v), '');\n\nexport const optional = (): PropertyDecorator => constraint(v => !isDefined(v) || validate(v), '');\n\nexport const includes = (sub: string, message?: string): PropertyDecorator =>\n constraint(s => isDefined(s) && isString(s) && s.includes(sub), message ?? `Value {actual} must include '${sub}'.`);\n\nexport const inList = (values: unknown[], message?: Text): PropertyDecorator =>\n constraint(v => isDefined(v) && isIn(v, values), message ?? 'Value {actual} must appear in list.');\n\nexport const inOptionalList = (values: unknown[], message?: Text): PropertyDecorator =>\n constraint(v => !isDefined(v) || isIn(v, values), message ?? 'Value {actual} must appear in list.');\n\nexport const gt = (limit: number, message?: Text): PropertyDecorator => constraint(v => v > limit, message ?? `Value {actual} must be larger than '${limit}'.`);\n\nexport const gte = (limit: number, message?: Text): PropertyDecorator =>\n constraint(v => v >= limit, message ?? `Value {actual} must be larger than or equal to ${limit}.`);\n\nexport const lt = (limit: number, message?: Text): PropertyDecorator => constraint(v => v < limit, message ?? `Value {actual} must be smaller than ${limit}.`);\n\nexport const lte = (limit: number, message?: Text): PropertyDecorator =>\n constraint(v => v <= limit, message ?? `Value {actual} must be smaller than or equal to ${limit}.`);\n\nexport const past = (message?: Text): PropertyDecorator => constraint(v => inPast(v), message ?? 'Value {actual} must lay in the past.');\n\nexport const future = (message?: Text): PropertyDecorator => constraint(v => inFuture(v), message ?? 'Value {actual} must lay in the future.');\n\nexport const minLength = (length: number, message?: Text): PropertyDecorator =>\n constraint(\n v =>\n tryTo(() => v)\n .is.defined()\n .map(v => text(v).toString().length >= length)\n .orElse(true) as boolean,\n message ?? `Value {actual} must be at least '${length}' characters long.`\n );\n\nexport const maxLength = (length: number, message?: Text): PropertyDecorator =>\n constraint(\n v =>\n tryTo(() => v)\n .is.defined()\n .map(v => text(v).toString().length <= length)\n .orElse(true) as boolean,\n message ?? `Value {actual} cannot be longer than '${length}' characters.`\n );\n\nexport const rule = (message?: Text): PropertyDecorator =>\n constraint(v => (isFunction(v) ? (v() as boolean | Results) : isBoolean(v) ? v : false), message ?? `Value {actual} must be true`);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKO,IAAM,aACX,CAAI,GAAe,YACnB,CAAC,SAAkB,aAAoC;AACrD,QAAM,KAAK,KAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAqB,YAAY,KAAK,OAAkB;AACpG,OAAK,OAAO,EACT,SAAS,QAAQ,EACjB,IAAI,cAAc,GAAG,IAAI,EAAE,UAAU,YAAY,GAAG,MAAM,QAAQ,CAAC,CAAC;AACzE;AAEK,IAAM,UAAU,CAAC,YAAsC,WAAW,OAAK,UAAU,CAAC,GAAG,WAAW,sCAAsC;AAEtI,IAAM,WAAW,CAAC,YACvB,WAAW,OAAK,WAAW,CAAC,GAAG,WAAW,wDAAwD;AAE7F,IAAM,WAAW,CAAC,YAAsC,WAAW,OAAK,WAAW,CAAC,GAAG,WAAW,uCAAuC;AAEzI,IAAM,QAAQ,MAAyB,WAAW,OAAK,SAAS,CAAC,GAAG,EAAE;AAEtE,IAAM,WAAW,MAAyB,WAAW,OAAK,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,GAAG,EAAE;AAE1F,IAAM,WAAW,CAAC,KAAa,YACpC,WAAW,OAAK,UAAU,CAAC,KAAK,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,WAAW,gCAAgC,GAAG,IAAI;AAE7G,IAAM,SAAS,CAAC,QAAmB,YACxC,WAAW,OAAK,UAAU,CAAC,KAAK,KAAK,GAAG,MAAM,GAAG,WAAW,qCAAqC;AAE5F,IAAM,iBAAiB,CAAC,QAAmB,YAChD,WAAW,OAAK,CAAC,UAAU,CAAC,KAAK,KAAK,GAAG,MAAM,GAAG,WAAW,qCAAqC;AAE7F,IAAM,KAAK,CAAC,OAAe,YAAsC,WAAW,OAAK,IAAI,OAAO,WAAW,uCAAuC,KAAK,IAAI;AAEvJ,IAAM,MAAM,CAAC,OAAe,YACjC,WAAW,OAAK,KAAK,OAAO,WAAW,kDAAkD,KAAK,GAAG;AAE5F,IAAM,KAAK,CAAC,OAAe,YAAsC,WAAW,OAAK,IAAI,OAAO,WAAW,uCAAuC,KAAK,GAAG;AAEtJ,IAAM,MAAM,CAAC,OAAe,YACjC,WAAW,OAAK,KAAK,OAAO,WAAW,mDAAmD,KAAK,GAAG;AAE7F,IAAM,OAAO,CAAC,YAAsC,WAAW,OAAK,OAAO,CAAC,GAAG,WAAW,sCAAsC;AAEhI,IAAM,SAAS,CAAC,YAAsC,WAAW,OAAK,SAAS,CAAC,GAAG,WAAW,wCAAwC;AAEtI,IAAM,YAAY,CAAC,QAAgB,YACxC;AAAA,EACE,OACE,MAAM,MAAM,CAAC,EACV,GAAG,QAAQ,EACX,IAAI,CAAAA,OAAK,KAAKA,EAAC,EAAE,SAAS,EAAE,UAAU,MAAM,EAC5C,OAAO,IAAI;AAAA,EAChB,WAAW,oCAAoC,MAAM;AACvD;AAEK,IAAM,YAAY,CAAC,QAAgB,YACxC;AAAA,EACE,OACE,MAAM,MAAM,CAAC,EACV,GAAG,QAAQ,EACX,IAAI,CAAAA,OAAK,KAAKA,EAAC,EAAE,SAAS,EAAE,UAAU,MAAM,EAC5C,OAAO,IAAI;AAAA,EAChB,WAAW,yCAAyC,MAAM;AAC5D;AAEK,IAAM,OAAO,CAAC,YACnB,WAAW,OAAM,WAAW,CAAC,IAAK,EAAE,IAA0B,UAAU,CAAC,IAAI,IAAI,OAAQ,WAAW,6BAA6B;","names":["v"]}
@@ -0,0 +1,37 @@
1
+ import {
2
+ on,
3
+ use
4
+ } from "./chunk-GI5TZOAG.mjs";
5
+ import {
6
+ isArray,
7
+ isDefined
8
+ } from "./chunk-OXBQSJDF.mjs";
9
+
10
+ // src/types/Array.ts
11
+ var toArray = (...items) => items.length > 1 ? items : isArray(items[0]) ? items[0] : isDefined(items[0]) ? [items[0]] : [];
12
+ var toObject = (key, ...items) => toArray(...items).reduce((o, i) => {
13
+ o[i[key]] = i;
14
+ return o;
15
+ }, {});
16
+ var array = {
17
+ merge: (first = [], second = [], firstKey = "id", secondKey = "id") => first.map((f) => ({
18
+ ...f,
19
+ ...second.find((s) => isDefined(s[secondKey]) && isDefined(f[firstKey]) && s[secondKey] === f[firstKey])
20
+ })),
21
+ switch: (items = [], item) => use([...items], (res) => {
22
+ on(res.indexOf(item), (i) => i !== -1 ? res.splice(i, 1) : res.push(item));
23
+ return res;
24
+ }),
25
+ splitIn: (items = [], length = 2) => {
26
+ const res = Array.from({ length }, () => []);
27
+ items.forEach((i, index) => res[index % length].push(i));
28
+ return res;
29
+ }
30
+ };
31
+
32
+ export {
33
+ toArray,
34
+ toObject,
35
+ array
36
+ };
37
+ //# sourceMappingURL=chunk-FAAERRP2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Array.ts"],"sourcesContent":["import { isArray, isDefined } from './Is';\nimport { on, use } from './Constructor';\n\nexport type OneOrMore<T> = T | Array<T>;\nexport type ArrayLike<T> = OneOrMore<T>[];\n\nexport const toArray = <T>(...items: ArrayLike<T>): T[] =>\n items.length > 1 ? (items as T[]) : isArray(items[0]) ? items[0] : isDefined(items[0]) ? [items[0]] : [];\n\nexport const toObject = <T>(key: keyof T, ...items: ArrayLike<T>): Record<string | number | symbol, T> =>\n toArray(...items).reduce((o: any, i) => {\n o[i[key]] = i;\n return o;\n }, {});\n\nexport const array = {\n merge: (first: any[] = [], second: any[] = [], firstKey = 'id', secondKey = 'id'): any[] =>\n first.map(f => ({\n ...f,\n ...second.find(s => isDefined(s[secondKey]) && isDefined(f[firstKey]) && s[secondKey] === f[firstKey]),\n })),\n switch: <T>(items: T[] = [], item: T): T[] =>\n use([...items], res => {\n on(res.indexOf(item), i => (i !== -1 ? res.splice(i, 1) : res.push(item)));\n return res;\n }),\n splitIn: <T>(items: T[] = [], length = 2): T[][] => {\n const res: T[][] = Array.from({ length }, () => []);\n items.forEach((i, index) => res[index % length].push(i));\n return res;\n },\n};\n"],"mappings":";;;;;;;;;;AAMO,IAAM,UAAU,IAAO,UAC5B,MAAM,SAAS,IAAK,QAAgB,QAAQ,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AAElG,IAAM,WAAW,CAAI,QAAiB,UAC3C,QAAQ,GAAG,KAAK,EAAE,OAAO,CAAC,GAAQ,MAAM;AACtC,IAAE,EAAE,GAAG,CAAC,IAAI;AACZ,SAAO;AACT,GAAG,CAAC,CAAC;AAEA,IAAM,QAAQ;AAAA,EACnB,OAAO,CAAC,QAAe,CAAC,GAAG,SAAgB,CAAC,GAAG,WAAW,MAAM,YAAY,SAC1E,MAAM,IAAI,QAAM;AAAA,IACd,GAAG;AAAA,IACH,GAAG,OAAO,KAAK,OAAK,UAAU,EAAE,SAAS,CAAC,KAAK,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,QAAQ,CAAC;AAAA,EACvG,EAAE;AAAA,EACJ,QAAQ,CAAI,QAAa,CAAC,GAAG,SAC3B,IAAI,CAAC,GAAG,KAAK,GAAG,SAAO;AACrB,OAAG,IAAI,QAAQ,IAAI,GAAG,OAAM,MAAM,KAAK,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,CAAE;AACzE,WAAO;AAAA,EACT,CAAC;AAAA,EACH,SAAS,CAAI,QAAa,CAAC,GAAG,SAAS,MAAa;AAClD,UAAM,MAAa,MAAM,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;AAClD,UAAM,QAAQ,CAAC,GAAG,UAAU,IAAI,QAAQ,MAAM,EAAE,KAAK,CAAC,CAAC;AACvD,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,33 @@
1
+ import {
2
+ Enum,
3
+ kebab,
4
+ text,
5
+ toList
6
+ } from "./chunk-YTWFWQNB.mjs";
7
+ import {
8
+ isString
9
+ } from "./chunk-OXBQSJDF.mjs";
10
+
11
+ // src/process/Scope.ts
12
+ var Scope = class _Scope extends Enum {
13
+ constructor(name, id = text(name).kebab, subs = toList()) {
14
+ super(name, id.toString());
15
+ this.name = name;
16
+ this.subs = subs;
17
+ }
18
+ for(item) {
19
+ return new _Scope(`${this.name} ${isString(item) ? text(item).title : item.name}`, kebab(`${this.id} ${isString(item) ? item : item.id}`));
20
+ }
21
+ combines(...scopes) {
22
+ this.subs.add(scopes);
23
+ return this;
24
+ }
25
+ expand() {
26
+ return this.subs.flatMap((s) => s.expand()).add(this).distinct();
27
+ }
28
+ };
29
+
30
+ export {
31
+ Scope
32
+ };
33
+ //# sourceMappingURL=chunk-FSK4W6I2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/process/Scope.ts"],"sourcesContent":["import { Enum, IdName, isString, kebab, List, Text, text, toList } from '../types';\n\nexport class Scope extends Enum {\n protected constructor(readonly name: string, id: Text = text(name).kebab, readonly subs: List<Scope> = toList()) {\n super(name, id.toString());\n }\n\n for(item: string | IdName): Scope {\n return new Scope(`${this.name} ${isString(item) ? text(item).title : item.name}`, kebab(`${this.id} ${isString(item) ? item : item.id}`));\n }\n\n combines(...scopes: Scope[]): this {\n this.subs.add(scopes);\n return this;\n }\n\n expand(): List<Scope> {\n return this.subs\n .flatMap(s => s.expand())\n .add(this)\n .distinct();\n }\n}\n"],"mappings":";;;;;;;;;;;AAEO,IAAM,QAAN,MAAM,eAAc,KAAK;AAAA,EACpB,YAAqB,MAAc,KAAW,KAAK,IAAI,EAAE,OAAgB,OAAoB,OAAO,GAAG;AAC/G,UAAM,MAAM,GAAG,SAAS,CAAC;AADI;AAAoD;AAAA,EAEnF;AAAA,EAEA,IAAI,MAA8B;AAChC,WAAO,IAAI,OAAM,GAAG,KAAK,IAAI,IAAI,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI,IAAI,MAAM,GAAG,KAAK,EAAE,IAAI,SAAS,IAAI,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;AAAA,EAC1I;AAAA,EAEA,YAAY,QAAuB;AACjC,SAAK,KAAK,IAAI,MAAM;AACpB,WAAO;AAAA,EACT;AAAA,EAEA,SAAsB;AACpB,WAAO,KAAK,KACT,QAAQ,OAAK,EAAE,OAAO,CAAC,EACvB,IAAI,IAAI,EACR,SAAS;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1,23 @@
1
+ import {
2
+ SqlQuery
3
+ } from "./chunk-O62PGEQ7.mjs";
4
+ import {
5
+ quote
6
+ } from "./chunk-SJGDB24D.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-G7QSW2EB.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,94 @@
1
+ import {
2
+ asString,
3
+ ctx,
4
+ entries,
5
+ meta,
6
+ toList,
7
+ tryTo
8
+ } from "./chunk-YTWFWQNB.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-GDD652NR.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":";;;;;;;;;;;;;;;;;;;;;AAYO,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;","names":["value"]}
@@ -0,0 +1,40 @@
1
+ import {
2
+ UnitOfMeasurement
3
+ } from "./chunk-V62IOKST.mjs";
4
+ import {
5
+ required
6
+ } from "./chunk-EZC3HAYN.mjs";
7
+ import {
8
+ Struct
9
+ } from "./chunk-QOGUHAMC.mjs";
10
+ import {
11
+ __decorateClass
12
+ } from "./chunk-4N72FQFX.mjs";
13
+
14
+ // src/domain/structs/Dimension.ts
15
+ var _Dimension = class _Dimension extends Struct {
16
+ value = this.state.value;
17
+ uom = UnitOfMeasurement.byId(this.state.uom, UnitOfMeasurement.MM);
18
+ static with = (value, uom = UnitOfMeasurement.MM) => new _Dimension({ value, uom });
19
+ /**
20
+ @deprecated use inMilliMeters getter instead
21
+ */
22
+ sizeInMM() {
23
+ return this.inMilliMeters;
24
+ }
25
+ get inMilliMeters() {
26
+ return this.value * this.uom.mmMultiplier;
27
+ }
28
+ gte(dim) {
29
+ return this.inMilliMeters >= dim.inMilliMeters;
30
+ }
31
+ };
32
+ __decorateClass([
33
+ required()
34
+ ], _Dimension.prototype, "value", 2);
35
+ var Dimension = _Dimension;
36
+
37
+ export {
38
+ Dimension
39
+ };
40
+ //# sourceMappingURL=chunk-GGC4TWMF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domain/structs/Dimension.ts"],"sourcesContent":["import { Struct } from '../Struct';\nimport { required } from '../../validation';\nimport { UnitOfMeasurement } from '../enums';\n\nexport class Dimension extends Struct {\n @required() readonly value = this.state.value as number;\n readonly uom = UnitOfMeasurement.byId<UnitOfMeasurement>(this.state.uom, UnitOfMeasurement.MM);\n\n static with = (value: number, uom: UnitOfMeasurement = UnitOfMeasurement.MM) => new Dimension({ value, uom });\n\n /**\n @deprecated use inMilliMeters getter instead\n */\n sizeInMM(): number {\n return this.inMilliMeters;\n }\n\n get inMilliMeters(): number {\n return this.value * this.uom.mmMultiplier;\n }\n\n gte(dim: Dimension): boolean {\n return this.inMilliMeters >= dim.inMilliMeters;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAIO,IAAM,aAAN,MAAM,mBAAkB,OAAO;AAAA,EACf,QAAQ,KAAK,MAAM;AAAA,EAC/B,MAAM,kBAAkB,KAAwB,KAAK,MAAM,KAAK,kBAAkB,EAAE;AAAA,EAE7F,OAAO,OAAO,CAAC,OAAe,MAAyB,kBAAkB,OAAO,IAAI,WAAU,EAAE,OAAO,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,EAK5G,WAAmB;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,gBAAwB;AAC1B,WAAO,KAAK,QAAQ,KAAK,IAAI;AAAA,EAC/B;AAAA,EAEA,IAAI,KAAyB;AAC3B,WAAO,KAAK,iBAAiB,IAAI;AAAA,EACnC;AACF;AAnBuB;AAAA,EAApB,SAAS;AAAA,GADC,WACU;AADhB,IAAM,YAAN;","names":[]}
@@ -0,0 +1,30 @@
1
+ import {
2
+ isPrimitive
3
+ } from "./chunk-PSIJUWZT.mjs";
4
+ import {
5
+ isFunc
6
+ } from "./chunk-PIRWVOO2.mjs";
7
+ import {
8
+ isDefined
9
+ } from "./chunk-OXBQSJDF.mjs";
10
+
11
+ // src/types/Constructor.ts
12
+ var isConstructor = (c) => (isDefined(c) && isFunc(c) && c.prototype && c.prototype.constructor) === c;
13
+ var ofConstruct = (c, ...args) => isConstructor(c) ? new c(...args) : isFunc(c) ? c(...args) : c;
14
+ var toName = (subject, postfix = "") => subject?.constructor?.name?.replace(postfix, "").toLowerCase() ?? "";
15
+ var on = (t, f) => {
16
+ f(t);
17
+ return t;
18
+ };
19
+ var use = (t, f) => f(t);
20
+ var ifA = (c, t, alt) => !isPrimitive(t) && t instanceof c ? t : alt ? ifA(c, alt) : void 0;
21
+
22
+ export {
23
+ isConstructor,
24
+ ofConstruct,
25
+ toName,
26
+ on,
27
+ use,
28
+ ifA
29
+ };
30
+ //# sourceMappingURL=chunk-GI5TZOAG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Constructor.ts"],"sourcesContent":["import { Get } from './Get';\nimport { isFunc } from './Func';\nimport { isDefined } from './Is';\nimport { isPrimitive } from './Primitive';\nimport { Optional } from './Types';\n\nexport type Constructor<T = unknown> = { new (...args: any[]): T };\n\n// export type Construct<T> = Get<T> | Constructor<T>;\nexport type Construct<Out, In = any> = Get<Out, In> | Constructor<Out>;\n\nexport const isConstructor = <T>(c?: unknown): c is Constructor<T> => (isDefined(c) && isFunc<T, unknown>(c) && c.prototype && c.prototype.constructor) === c;\n\nexport const ofConstruct = <T>(c: Construct<T>, ...args: unknown[]): T => (isConstructor<T>(c) ? new c(...args) : isFunc<T, unknown>(c) ? c(...args) : c);\n\nexport const toName = (subject?: unknown, postfix = ''): string => (subject as any)?.constructor?.name?.replace(postfix, '').toLowerCase() ?? '';\n\nexport const on = <T>(t: T, f: (t: T) => unknown): T => {\n f(t);\n return t;\n};\n\nexport const use = <T, Out>(t: T, f: (t: T) => Out): Out => f(t);\n\nexport const ifA = <T>(c: Constructor<T>, t?: unknown, alt?: unknown): Optional<T> => (!isPrimitive(t) && t instanceof c ? t : alt ? ifA(c, alt) : undefined);\n\nexport type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> &\n {\n [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;\n }[Keys];\n"],"mappings":";;;;;;;;;;;AAWO,IAAM,gBAAgB,CAAI,OAAsC,UAAU,CAAC,KAAK,OAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,iBAAiB;AAErJ,IAAM,cAAc,CAAI,MAAoB,SAAwB,cAAiB,CAAC,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,OAAmB,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI;AAEhJ,IAAM,SAAS,CAAC,SAAmB,UAAU,OAAgB,SAAiB,aAAa,MAAM,QAAQ,SAAS,EAAE,EAAE,YAAY,KAAK;AAEvI,IAAM,KAAK,CAAI,GAAM,MAA4B;AACtD,IAAE,CAAC;AACH,SAAO;AACT;AAEO,IAAM,MAAM,CAAS,GAAM,MAA0B,EAAE,CAAC;AAExD,IAAM,MAAM,CAAI,GAAmB,GAAa,QAAgC,CAAC,YAAY,CAAC,KAAK,aAAa,IAAI,IAAI,MAAM,IAAI,GAAG,GAAG,IAAI;","names":[]}
@@ -0,0 +1,54 @@
1
+ import {
2
+ SqlQuery
3
+ } from "./chunk-O62PGEQ7.mjs";
4
+ import {
5
+ toList
6
+ } from "./chunk-YTWFWQNB.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-GVX6S54O.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,23 @@
1
+ import {
2
+ choose
3
+ } from "./chunk-YTWFWQNB.mjs";
4
+ import {
5
+ isArray,
6
+ isObject
7
+ } from "./chunk-OXBQSJDF.mjs";
8
+
9
+ // src/types/IsEqual.ts
10
+ var isEqualArray = (one, another) => choose([one, another]).case(([o, a]) => !isArray(o) || !isArray(a), false).case(([o, a]) => o?.length !== a?.length, false).else(([o, a]) => !o.some((v, i) => !isEqual(v, a[i])));
11
+ var isEqualObject = (one, another) => choose([Object.keys(one), Object.keys(another)]).case(([keysO, keysA]) => keysO.length !== keysA.length, false).case(([keysO, keysA]) => keysO.some((k) => !keysA.includes(k)), false).case(([keysO]) => keysO.some((k) => !isEqual(one[k], another[k])), false).else(true);
12
+ var isEqual = (one, another) => choose([one, another]).case(([o, a]) => o === a, true).case(
13
+ ([o, a]) => isArray(o) || isArray(a),
14
+ ([o, a]) => isEqualArray(o, a)
15
+ ).case(
16
+ ([o, a]) => o == null || a == null || !isObject(o) && !isObject(a),
17
+ ([o, a]) => o !== o && a !== a
18
+ ).else(([o, a]) => isEqualObject(o, a));
19
+
20
+ export {
21
+ isEqual
22
+ };
23
+ //# sourceMappingURL=chunk-H22IHXDC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/IsEqual.ts"],"sourcesContent":["import { isArray, isObject } from './Is';\nimport { choose } from './Case';\n\nconst isEqualArray = (one: unknown[], another: unknown[]): boolean =>\n choose([one, another])\n .case(([o, a]) => !isArray(o) || !isArray(a), false)\n .case(([o, a]) => o?.length !== a?.length, false)\n .else(([o, a]) => !o.some((v, i) => !isEqual(v, a[i])));\n\nconst isEqualObject = (one: any, another: any): boolean =>\n choose([Object.keys(one), Object.keys(another)])\n .case(([keysO, keysA]) => keysO.length !== keysA.length, false)\n .case(([keysO, keysA]) => keysO.some(k => !keysA.includes(k)), false)\n .case(([keysO]) => keysO.some(k => !isEqual(one[k], another[k])), false)\n .else(true);\n\nexport const isEqual = (one?: unknown, another?: unknown): boolean =>\n choose([one, another])\n .case(([o, a]) => o === a, true)\n .case(\n ([o, a]) => isArray(o) || isArray(a),\n ([o, a]) => isEqualArray(o as [], a as [])\n )\n .case(\n ([o, a]) => o == null || a == null || (!isObject(o) && !isObject(a)),\n ([o, a]) => o !== o && a !== a\n )\n .else(([o, a]) => isEqualObject(o, a));\n"],"mappings":";;;;;;;;;AAGA,IAAM,eAAe,CAAC,KAAgB,YACpC,OAAO,CAAC,KAAK,OAAO,CAAC,EAClB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,EAClD,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,GAAG,QAAQ,KAAK,EAC/C,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1D,IAAM,gBAAgB,CAAC,KAAU,YAC/B,OAAO,CAAC,OAAO,KAAK,GAAG,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,EAC5C,KAAK,CAAC,CAAC,OAAO,KAAK,MAAM,MAAM,WAAW,MAAM,QAAQ,KAAK,EAC7D,KAAK,CAAC,CAAC,OAAO,KAAK,MAAM,MAAM,KAAK,OAAK,CAAC,MAAM,SAAS,CAAC,CAAC,GAAG,KAAK,EACnE,KAAK,CAAC,CAAC,KAAK,MAAM,MAAM,KAAK,OAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,EACtE,KAAK,IAAI;AAEP,IAAM,UAAU,CAAC,KAAe,YACrC,OAAO,CAAC,KAAK,OAAO,CAAC,EAClB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,EAC9B;AAAA,EACC,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,QAAQ,CAAC;AAAA,EACnC,CAAC,CAAC,GAAG,CAAC,MAAM,aAAa,GAAS,CAAO;AAC3C,EACC;AAAA,EACC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,KAAK,QAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;AAAA,EAClE,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,KAAK,MAAM;AAC/B,EACC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;","names":[]}
@@ -0,0 +1,18 @@
1
+ import {
2
+ asString,
3
+ tryTo
4
+ } from "./chunk-YTWFWQNB.mjs";
5
+ import {
6
+ ofGet
7
+ } from "./chunk-SJGQU3OG.mjs";
8
+ import {
9
+ isNumber
10
+ } from "./chunk-OXBQSJDF.mjs";
11
+
12
+ // src/types/Number.ts
13
+ var asNumber = (n, alt) => tryTo(() => asString(n)).map((s) => parseInt(s)).filter((n2) => isNumber(n2)).or(ofGet(alt) ?? NaN);
14
+
15
+ export {
16
+ asNumber
17
+ };
18
+ //# sourceMappingURL=chunk-H6GKGVYF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Number.ts"],"sourcesContent":["import { Get, ofGet } from './Get';\nimport { tryTo } from './Try';\nimport { isNumber } from './Is';\nimport { asString } from './Text';\n\nexport const asNumber = (n: unknown, alt?: Get<number>): number =>\n tryTo(() => asString(n))\n .map(s => parseInt(s))\n .filter(n => isNumber(n))\n .or(ofGet(alt) ?? NaN);\n"],"mappings":";;;;;;;;;;;;AAKO,IAAM,WAAW,CAAC,GAAY,QACnC,MAAM,MAAM,SAAS,CAAC,CAAC,EACpB,IAAI,OAAK,SAAS,CAAC,CAAC,EACpB,OAAO,CAAAA,OAAK,SAASA,EAAC,CAAC,EACvB,GAAG,MAAM,GAAG,KAAK,GAAG;","names":["n"]}