@thisisagile/easy 17.26.1 → 17.26.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/dist/chunk-27MBNT3X.mjs +25 -0
  2. package/dist/chunk-27MBNT3X.mjs.map +1 -0
  3. package/dist/chunk-35SXXNQO.mjs +20 -0
  4. package/dist/chunk-35SXXNQO.mjs.map +1 -0
  5. package/dist/chunk-3M6NLHSO.mjs +18 -0
  6. package/dist/chunk-3M6NLHSO.mjs.map +1 -0
  7. package/dist/chunk-4CRBLF44.mjs +56 -0
  8. package/dist/chunk-4CRBLF44.mjs.map +1 -0
  9. package/dist/chunk-4K4X43SV.mjs +164 -0
  10. package/dist/chunk-4K4X43SV.mjs.map +1 -0
  11. package/dist/chunk-4LVZOQ6O.mjs +58 -0
  12. package/dist/chunk-4LVZOQ6O.mjs.map +1 -0
  13. package/dist/chunk-4N72FQFX.mjs +16 -0
  14. package/dist/chunk-4N72FQFX.mjs.map +1 -0
  15. package/dist/chunk-5AV36UKS.mjs +20 -0
  16. package/dist/chunk-5AV36UKS.mjs.map +1 -0
  17. package/dist/chunk-5DJPREIN.mjs +142 -0
  18. package/dist/chunk-5DJPREIN.mjs.map +1 -0
  19. package/dist/chunk-5ZHEIMZ7.mjs +79 -0
  20. package/dist/chunk-5ZHEIMZ7.mjs.map +1 -0
  21. package/dist/chunk-6QFV73AS.mjs +55 -0
  22. package/dist/chunk-6QFV73AS.mjs.map +1 -0
  23. package/dist/chunk-6UDAYZAZ.mjs +53 -0
  24. package/dist/chunk-6UDAYZAZ.mjs.map +1 -0
  25. package/dist/chunk-7HTKPMTI.mjs +72 -0
  26. package/dist/chunk-7HTKPMTI.mjs.map +1 -0
  27. package/dist/chunk-ABGKS4KE.mjs +297 -0
  28. package/dist/chunk-ABGKS4KE.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-AGTB4HMP.mjs +11 -0
  32. package/dist/chunk-AGTB4HMP.mjs.map +1 -0
  33. package/dist/chunk-AINW2476.mjs +90 -0
  34. package/dist/chunk-AINW2476.mjs.map +1 -0
  35. package/dist/chunk-BDA5LB4S.mjs +29 -0
  36. package/dist/chunk-BDA5LB4S.mjs.map +1 -0
  37. package/dist/chunk-BIEWRRM7.mjs +26 -0
  38. package/dist/chunk-BIEWRRM7.mjs.map +1 -0
  39. package/dist/chunk-BIHKQLEE.mjs +40 -0
  40. package/dist/chunk-BIHKQLEE.mjs.map +1 -0
  41. package/dist/chunk-CO2AFYVD.mjs +43 -0
  42. package/dist/chunk-CO2AFYVD.mjs.map +1 -0
  43. package/dist/chunk-CSAPGLC7.mjs +94 -0
  44. package/dist/chunk-CSAPGLC7.mjs.map +1 -0
  45. package/dist/chunk-CSHFNF34.mjs +35 -0
  46. package/dist/chunk-CSHFNF34.mjs.map +1 -0
  47. package/dist/chunk-CWWAGBYB.mjs +46 -0
  48. package/dist/chunk-CWWAGBYB.mjs.map +1 -0
  49. package/dist/chunk-DEJ7A5PY.mjs +43 -0
  50. package/dist/chunk-DEJ7A5PY.mjs.map +1 -0
  51. package/dist/chunk-DRABNNX2.mjs +107 -0
  52. package/dist/chunk-DRABNNX2.mjs.map +1 -0
  53. package/dist/chunk-DXQSIBC7.mjs +13 -0
  54. package/dist/chunk-DXQSIBC7.mjs.map +1 -0
  55. package/dist/chunk-F34HSIZ5.mjs +68 -0
  56. package/dist/chunk-F34HSIZ5.mjs.map +1 -0
  57. package/dist/chunk-GADZDWP3.mjs +20 -0
  58. package/dist/chunk-GADZDWP3.mjs.map +1 -0
  59. package/dist/chunk-GB2P3UEO.mjs +82 -0
  60. package/dist/chunk-GB2P3UEO.mjs.map +1 -0
  61. package/dist/chunk-GCY5A63A.mjs +25 -0
  62. package/dist/chunk-GCY5A63A.mjs.map +1 -0
  63. package/dist/chunk-HL2BC7Z2.mjs +76 -0
  64. package/dist/chunk-HL2BC7Z2.mjs.map +1 -0
  65. package/dist/chunk-HULI73W2.mjs +37 -0
  66. package/dist/chunk-HULI73W2.mjs.map +1 -0
  67. package/dist/chunk-J3DYDXXF.mjs +175 -0
  68. package/dist/chunk-J3DYDXXF.mjs.map +1 -0
  69. package/dist/chunk-JMIXHXWM.mjs +23 -0
  70. package/dist/chunk-JMIXHXWM.mjs.map +1 -0
  71. package/dist/chunk-KJVTSC6I.mjs +24 -0
  72. package/dist/chunk-KJVTSC6I.mjs.map +1 -0
  73. package/dist/chunk-L63NPT4K.mjs +39 -0
  74. package/dist/chunk-L63NPT4K.mjs.map +1 -0
  75. package/dist/chunk-LYRXR6GZ.mjs +54 -0
  76. package/dist/chunk-LYRXR6GZ.mjs.map +1 -0
  77. package/dist/chunk-MBRLKMEQ.mjs +54 -0
  78. package/dist/chunk-MBRLKMEQ.mjs.map +1 -0
  79. package/dist/chunk-MDXL65W4.mjs +49 -0
  80. package/dist/chunk-MDXL65W4.mjs.map +1 -0
  81. package/dist/chunk-OFGI5FLG.mjs +11 -0
  82. package/dist/chunk-OFGI5FLG.mjs.map +1 -0
  83. package/dist/chunk-OKPGJD64.mjs +41 -0
  84. package/dist/chunk-OKPGJD64.mjs.map +1 -0
  85. package/dist/chunk-OQNZEKWO.mjs +24 -0
  86. package/dist/chunk-OQNZEKWO.mjs.map +1 -0
  87. package/dist/chunk-PIQ5Z4RB.mjs +18 -0
  88. package/dist/chunk-PIQ5Z4RB.mjs.map +1 -0
  89. package/dist/chunk-PIRWVOO2.mjs +7 -0
  90. package/dist/chunk-PIRWVOO2.mjs.map +1 -0
  91. package/dist/chunk-QBHHLIZY.mjs +51 -0
  92. package/dist/chunk-QBHHLIZY.mjs.map +1 -0
  93. package/dist/chunk-RNLFG4YX.mjs +20 -0
  94. package/dist/chunk-RNLFG4YX.mjs.map +1 -0
  95. package/dist/chunk-S6WR4MXU.mjs +324 -0
  96. package/dist/chunk-S6WR4MXU.mjs.map +1 -0
  97. package/dist/chunk-SDO3B3BQ.mjs +45 -0
  98. package/dist/chunk-SDO3B3BQ.mjs.map +1 -0
  99. package/dist/chunk-SJ4YFZKO.mjs +21 -0
  100. package/dist/chunk-SJ4YFZKO.mjs.map +1 -0
  101. package/dist/chunk-SJGQU3OG.mjs +15 -0
  102. package/dist/chunk-SJGQU3OG.mjs.map +1 -0
  103. package/dist/chunk-SPMDDHVK.mjs +40 -0
  104. package/dist/chunk-SPMDDHVK.mjs.map +1 -0
  105. package/dist/chunk-SSROJBD5.mjs +30 -0
  106. package/dist/chunk-SSROJBD5.mjs.map +1 -0
  107. package/dist/chunk-SW2OCUH3.mjs +10 -0
  108. package/dist/chunk-SW2OCUH3.mjs.map +1 -0
  109. package/dist/chunk-TCQRHKGS.mjs +20 -0
  110. package/dist/chunk-TCQRHKGS.mjs.map +1 -0
  111. package/dist/chunk-TNHYFGFF.mjs +60 -0
  112. package/dist/chunk-TNHYFGFF.mjs.map +1 -0
  113. package/dist/chunk-TYODLVCG.mjs +23 -0
  114. package/dist/chunk-TYODLVCG.mjs.map +1 -0
  115. package/dist/chunk-U5VBBUQ2.mjs +48 -0
  116. package/dist/chunk-U5VBBUQ2.mjs.map +1 -0
  117. package/dist/chunk-UYDZZAEK.mjs +11 -0
  118. package/dist/chunk-UYDZZAEK.mjs.map +1 -0
  119. package/dist/chunk-WJZFE5NE.mjs +17 -0
  120. package/dist/chunk-WJZFE5NE.mjs.map +1 -0
  121. package/dist/chunk-WSBULPUZ.mjs +30 -0
  122. package/dist/chunk-WSBULPUZ.mjs.map +1 -0
  123. package/dist/chunk-WSG55HKA.mjs +94 -0
  124. package/dist/chunk-WSG55HKA.mjs.map +1 -0
  125. package/dist/chunk-XL5IRJ2H.mjs +134 -0
  126. package/dist/chunk-XL5IRJ2H.mjs.map +1 -0
  127. package/dist/chunk-XUBQQUTS.mjs +50 -0
  128. package/dist/chunk-XUBQQUTS.mjs.map +1 -0
  129. package/dist/chunk-YPVIK4SP.mjs +57 -0
  130. package/dist/chunk-YPVIK4SP.mjs.map +1 -0
  131. package/dist/chunk-ZHXKBOK2.mjs +22 -0
  132. package/dist/chunk-ZHXKBOK2.mjs.map +1 -0
  133. package/dist/chunk-ZPNFXK7Y.mjs +36 -0
  134. package/dist/chunk-ZPNFXK7Y.mjs.map +1 -0
  135. package/dist/chunk-ZSLYORET.mjs +31 -0
  136. package/dist/chunk-ZSLYORET.mjs.map +1 -0
  137. package/dist/data/Condition.mjs +29 -0
  138. package/dist/data/Condition.mjs.map +1 -0
  139. package/dist/data/DataProvider.mjs +1 -0
  140. package/dist/data/DataProvider.mjs.map +1 -0
  141. package/dist/data/Database.mjs +23 -0
  142. package/dist/data/Database.mjs.map +1 -0
  143. package/dist/data/Field.mjs +47 -0
  144. package/dist/data/Field.mjs.map +1 -0
  145. package/dist/data/InMemoryGateway.mjs +70 -0
  146. package/dist/data/InMemoryGateway.mjs.map +1 -0
  147. package/dist/data/Query.mjs +1 -0
  148. package/dist/data/Query.mjs.map +1 -0
  149. package/dist/data/QueryProvider.mjs +1 -0
  150. package/dist/data/QueryProvider.mjs.map +1 -0
  151. package/dist/domain/Audit.mjs +36 -0
  152. package/dist/domain/Audit.mjs.map +1 -0
  153. package/dist/domain/Child.mjs +54 -0
  154. package/dist/domain/Child.mjs.map +1 -0
  155. package/dist/domain/DateTime.mjs +36 -0
  156. package/dist/domain/DateTime.mjs.map +1 -0
  157. package/dist/domain/Entity.mjs +71 -0
  158. package/dist/domain/Entity.mjs.map +1 -0
  159. package/dist/domain/Repo.mjs +96 -0
  160. package/dist/domain/Repo.mjs.map +1 -0
  161. package/dist/domain/Struct.mjs +33 -0
  162. package/dist/domain/Struct.mjs.map +1 -0
  163. package/dist/domain/Typo.mjs +114 -0
  164. package/dist/domain/Typo.mjs.map +1 -0
  165. package/dist/http/CacheControl.mjs +66 -0
  166. package/dist/http/CacheControl.mjs.map +1 -0
  167. package/dist/http/ContentType.mjs +21 -0
  168. package/dist/http/ContentType.mjs.map +1 -0
  169. package/dist/http/HttpHeader.mjs +8 -0
  170. package/dist/http/HttpHeader.mjs.map +1 -0
  171. package/dist/http/HttpStatus.mjs +25 -0
  172. package/dist/http/HttpStatus.mjs.map +1 -0
  173. package/dist/http/HttpVerb.mjs +21 -0
  174. package/dist/http/HttpVerb.mjs.map +1 -0
  175. package/dist/http/LocalRequestStore.mjs +29 -0
  176. package/dist/http/LocalRequestStore.mjs.map +1 -0
  177. package/dist/http/Request.mjs +1 -0
  178. package/dist/http/Request.mjs.map +1 -0
  179. package/dist/http/RequestOptions.mjs +30 -0
  180. package/dist/http/RequestOptions.mjs.map +1 -0
  181. package/dist/http/RequestProvider.mjs +1 -0
  182. package/dist/http/RequestProvider.mjs.map +1 -0
  183. package/dist/http/Response.mjs +13 -0
  184. package/dist/http/Response.mjs.map +1 -0
  185. package/dist/http/RestResult.mjs +34 -0
  186. package/dist/http/RestResult.mjs.map +1 -0
  187. package/dist/http/toResponse.mjs +33 -0
  188. package/dist/http/toResponse.mjs.map +1 -0
  189. package/dist/index.js +3 -0
  190. package/dist/index.js.map +1 -1
  191. package/dist/index.mjs +115 -3476
  192. package/dist/index.mjs.map +1 -1
  193. package/dist/process/App.mjs +30 -0
  194. package/dist/process/App.mjs.map +1 -0
  195. package/dist/process/Manage.mjs +47 -0
  196. package/dist/process/Manage.mjs.map +1 -0
  197. package/dist/process/Scope.mjs +22 -0
  198. package/dist/process/Scope.mjs.map +1 -0
  199. package/dist/process/Search.mjs +31 -0
  200. package/dist/process/Search.mjs.map +1 -0
  201. package/dist/process/UseCase.mjs +53 -0
  202. package/dist/process/UseCase.mjs.map +1 -0
  203. package/dist/resources/Req.mjs +57 -0
  204. package/dist/resources/Req.mjs.map +1 -0
  205. package/dist/security/Jwt.mjs +77 -0
  206. package/dist/security/Jwt.mjs.map +1 -0
  207. package/dist/services/Api.mjs +44 -0
  208. package/dist/services/Api.mjs.map +1 -0
  209. package/dist/services/ApiGateway.mjs +45 -0
  210. package/dist/services/ApiGateway.mjs.map +1 -0
  211. package/dist/services/AxiosProvider.mjs +40 -0
  212. package/dist/services/AxiosProvider.mjs.map +1 -0
  213. package/dist/services/MappedRouteGateway.mjs +78 -0
  214. package/dist/services/MappedRouteGateway.mjs.map +1 -0
  215. package/dist/services/RouteGateway.mjs +46 -0
  216. package/dist/services/RouteGateway.mjs.map +1 -0
  217. package/dist/services/ViewRouteGateway.mjs +79 -0
  218. package/dist/services/ViewRouteGateway.mjs.map +1 -0
  219. package/dist/sql/Clause.mjs +24 -0
  220. package/dist/sql/Clause.mjs.map +1 -0
  221. package/dist/sql/Column.mjs +37 -0
  222. package/dist/sql/Column.mjs.map +1 -0
  223. package/dist/sql/Count.mjs +20 -0
  224. package/dist/sql/Count.mjs.map +1 -0
  225. package/dist/sql/Delete.mjs +19 -0
  226. package/dist/sql/Delete.mjs.map +1 -0
  227. package/dist/sql/Insert.mjs +21 -0
  228. package/dist/sql/Insert.mjs.map +1 -0
  229. package/dist/sql/Join.mjs +8 -0
  230. package/dist/sql/Join.mjs.map +1 -0
  231. package/dist/sql/Select.mjs +19 -0
  232. package/dist/sql/Select.mjs.map +1 -0
  233. package/dist/sql/SqlQuery.mjs +18 -0
  234. package/dist/sql/SqlQuery.mjs.map +1 -0
  235. package/dist/sql/Table.mjs +93 -0
  236. package/dist/sql/Table.mjs.map +1 -0
  237. package/dist/sql/TableGateway.mjs +72 -0
  238. package/dist/sql/TableGateway.mjs.map +1 -0
  239. package/dist/sql/Update.mjs +21 -0
  240. package/dist/sql/Update.mjs.map +1 -0
  241. package/dist/types/AnyKey.mjs +1 -0
  242. package/dist/types/AnyKey.mjs.map +1 -0
  243. package/dist/types/Array.mjs +16 -0
  244. package/dist/types/Array.mjs.map +1 -0
  245. package/dist/types/Builder.mjs +26 -0
  246. package/dist/types/Builder.mjs.map +1 -0
  247. package/dist/types/Cache.mjs +29 -0
  248. package/dist/types/Cache.mjs.map +1 -0
  249. package/dist/types/CacheAge.mjs +33 -0
  250. package/dist/types/CacheAge.mjs.map +1 -0
  251. package/dist/types/Case.mjs +29 -0
  252. package/dist/types/Case.mjs.map +1 -0
  253. package/dist/types/Constructor.mjs +23 -0
  254. package/dist/types/Constructor.mjs.map +1 -0
  255. package/dist/types/Context.mjs +28 -0
  256. package/dist/types/Context.mjs.map +1 -0
  257. package/dist/types/Currency.mjs +15 -0
  258. package/dist/types/Currency.mjs.map +1 -0
  259. package/dist/types/Enum.mjs +24 -0
  260. package/dist/types/Enum.mjs.map +1 -0
  261. package/dist/types/Environment.mjs +28 -0
  262. package/dist/types/Environment.mjs.map +1 -0
  263. package/dist/types/ErrorOrigin.mjs +1 -0
  264. package/dist/types/ErrorOrigin.mjs.map +1 -0
  265. package/dist/types/Exception.mjs +26 -0
  266. package/dist/types/Exception.mjs.map +1 -0
  267. package/dist/types/Falsy.mjs +10 -0
  268. package/dist/types/Falsy.mjs.map +1 -0
  269. package/dist/types/Func.mjs +8 -0
  270. package/dist/types/Func.mjs.map +1 -0
  271. package/dist/types/Gateway.mjs +24 -0
  272. package/dist/types/Gateway.mjs.map +1 -0
  273. package/dist/types/Get.mjs +13 -0
  274. package/dist/types/Get.mjs.map +1 -0
  275. package/dist/types/Id.mjs +13 -0
  276. package/dist/types/Id.mjs.map +1 -0
  277. package/dist/types/IdName.mjs +1 -0
  278. package/dist/types/IdName.mjs.map +1 -0
  279. package/dist/types/Identity.mjs +1 -0
  280. package/dist/types/Identity.mjs.map +1 -0
  281. package/dist/types/Indexed.mjs +15 -0
  282. package/dist/types/Indexed.mjs.map +1 -0
  283. package/dist/types/Is.mjs +42 -0
  284. package/dist/types/Is.mjs.map +1 -0
  285. package/dist/types/IsA.mjs +16 -0
  286. package/dist/types/IsA.mjs.map +1 -0
  287. package/dist/types/IsDate.mjs +14 -0
  288. package/dist/types/IsDate.mjs.map +1 -0
  289. package/dist/types/IsEqual.mjs +30 -0
  290. package/dist/types/IsEqual.mjs.map +1 -0
  291. package/dist/types/Json.d.ts +1 -0
  292. package/dist/types/Json.mjs +31 -0
  293. package/dist/types/Json.mjs.map +1 -0
  294. package/dist/types/List.mjs +27 -0
  295. package/dist/types/List.mjs.map +1 -0
  296. package/dist/types/Message.mjs +11 -0
  297. package/dist/types/Message.mjs.map +1 -0
  298. package/dist/types/Meta.mjs +19 -0
  299. package/dist/types/Meta.mjs.map +1 -0
  300. package/dist/types/Nullish.mjs +8 -0
  301. package/dist/types/Nullish.mjs.map +1 -0
  302. package/dist/types/Number.mjs +30 -0
  303. package/dist/types/Number.mjs.map +1 -0
  304. package/dist/types/Object.mjs +24 -0
  305. package/dist/types/Object.mjs.map +1 -0
  306. package/dist/types/PageList.mjs +40 -0
  307. package/dist/types/PageList.mjs.map +1 -0
  308. package/dist/types/Parser.mjs +80 -0
  309. package/dist/types/Parser.mjs.map +1 -0
  310. package/dist/types/Primitive.mjs +9 -0
  311. package/dist/types/Primitive.mjs.map +1 -0
  312. package/dist/types/Repository.mjs +24 -0
  313. package/dist/types/Repository.mjs.map +1 -0
  314. package/dist/types/Result.mjs +23 -0
  315. package/dist/types/Result.mjs.map +1 -0
  316. package/dist/types/Results.mjs +26 -0
  317. package/dist/types/Results.mjs.map +1 -0
  318. package/dist/types/Sort.mjs +10 -0
  319. package/dist/types/Sort.mjs.map +1 -0
  320. package/dist/types/Tag.mjs +26 -0
  321. package/dist/types/Tag.mjs.map +1 -0
  322. package/dist/types/Template.mjs +21 -0
  323. package/dist/types/Template.mjs.map +1 -0
  324. package/dist/types/Text.mjs +21 -0
  325. package/dist/types/Text.mjs.map +1 -0
  326. package/dist/types/ToText.mjs +23 -0
  327. package/dist/types/ToText.mjs.map +1 -0
  328. package/dist/types/Try.mjs +31 -0
  329. package/dist/types/Try.mjs.map +1 -0
  330. package/dist/types/TypeGuard.mjs +1 -0
  331. package/dist/types/TypeGuard.mjs.map +1 -0
  332. package/dist/types/Types.mjs +1 -0
  333. package/dist/types/Types.mjs.map +1 -0
  334. package/dist/types/Uri.mjs +119 -0
  335. package/dist/types/Uri.mjs.map +1 -0
  336. package/dist/types/Uuid.mjs +16 -0
  337. package/dist/types/Uuid.mjs.map +1 -0
  338. package/dist/types/Validatable.mjs +13 -0
  339. package/dist/types/Validatable.mjs.map +1 -0
  340. package/dist/types/Value.mjs +14 -0
  341. package/dist/types/Value.mjs.map +1 -0
  342. package/dist/utils/Base64.mjs +12 -0
  343. package/dist/utils/Base64.mjs.map +1 -0
  344. package/dist/utils/Convert.mjs +14 -0
  345. package/dist/utils/Convert.mjs.map +1 -0
  346. package/dist/utils/If.mjs +25 -0
  347. package/dist/utils/If.mjs.map +1 -0
  348. package/dist/utils/Loading.mjs +11 -0
  349. package/dist/utils/Loading.mjs.map +1 -0
  350. package/dist/utils/Log.mjs +21 -0
  351. package/dist/utils/Log.mjs.map +1 -0
  352. package/dist/utils/Mapper.mjs +28 -0
  353. package/dist/utils/Mapper.mjs.map +1 -0
  354. package/dist/utils/Promise.mjs +35 -0
  355. package/dist/utils/Promise.mjs.map +1 -0
  356. package/dist/utils/Property.mjs +13 -0
  357. package/dist/utils/Property.mjs.map +1 -0
  358. package/dist/utils/Seconds.mjs +18 -0
  359. package/dist/utils/Seconds.mjs.map +1 -0
  360. package/dist/utils/Sentence.mjs +71 -0
  361. package/dist/utils/Sentence.mjs.map +1 -0
  362. package/dist/utils/State.mjs +12 -0
  363. package/dist/utils/State.mjs.map +1 -0
  364. package/dist/utils/Traverse.mjs +12 -0
  365. package/dist/utils/Traverse.mjs.map +1 -0
  366. package/dist/utils/View.mjs +41 -0
  367. package/dist/utils/View.mjs.map +1 -0
  368. package/dist/utils/Wait.mjs +17 -0
  369. package/dist/utils/Wait.mjs.map +1 -0
  370. package/dist/validation/Contraints.mjs +65 -0
  371. package/dist/validation/Contraints.mjs.map +1 -0
  372. package/dist/validation/Validate.mjs +35 -0
  373. package/dist/validation/Validate.mjs.map +1 -0
  374. package/dist/validation/When.mjs +31 -0
  375. package/dist/validation/When.mjs.map +1 -0
  376. package/package.json +4 -13
  377. package/src/types/Json.ts +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/View.ts"],"sourcesContent":["import { traverse } from './Traverse';\nimport { ifDefined } from './If';\nimport { Primitive } from '../types/Primitive';\nimport { Constructor, isConstructor, use } from '../types/Constructor';\nimport { asJson, json as typesJson } from '../types/Json';\nimport { choose } from '../types/Case';\nimport { isArray, isBoolean, isFunction, isString } from '../types/Is';\nimport { meta } from '../types/Meta';\nimport { isPageList, PageList, toPageList } from '../types/PageList';\nimport { List } from '../types/List';\nimport { isEqual } from '../types/IsEqual';\nimport { DontInfer } from '../types/Types';\nimport { EnumConstructor, isEnumConstructor } from '../types/Enum';\nimport { Id } from '../types/Id';\n\ntype Func<T = unknown> = (a: any, key?: string) => T;\ntype Viewer = { key: string; f: Func };\n\ntype ViewType<V = any> = Primitive | EnumConstructor | Constructor | Func | View<V> | undefined;\ntype ViewRecord<V = any> = Partial<Record<keyof V, ViewType>>;\n\nconst ignore = Symbol('view.ignore');\nconst keep = Symbol('view.keep');\nconst json = Symbol('view.json');\nconst spread = 'view.spread';\n\nexport const toViewer = (key: string, value: ViewType): Viewer =>\n choose(value)\n .is.not.defined(v => v, { key, f: () => undefined } as Viewer)\n .type(isBoolean, b => ({ key, f: () => b }))\n .equals(ignore, { key, f: () => undefined })\n .equals(keep, { key, f: (a: any) => traverse(a, key) })\n .equals(json, { key, f: (a: any) => asJson(traverse(a, key)) })\n .type(isString, s => ({ key, f: (a: any) => traverse(a, s) }))\n .type(isEnumConstructor, c => ({\n key,\n f: (a, key) => use(traverse(a, key), v => (isArray(v) ? c.byIds(v) : c.byId(v as Id))),\n }))\n .type(isConstructor, c => ({\n key,\n f: (a, key) => use(traverse(a, key), v => (isArray(v) ? v.map(i => optional(c, i)) : optional(c, v))),\n }))\n .type(isSimpleView, f => ({ key, f: (a: any) => ifDefined(traverse(a, key), v => f.from(v)) }))\n .type(isFunction, f => ({ key, f }))\n .else(v => ({ key, f: () => v }));\n\nconst optional = (c: Constructor, v: any) =>\n ifDefined(\n v,\n i => new c(i),\n () => v\n );\n\nconst toViewers = (views: ViewRecord): Viewer[] =>\n meta(views)\n .entries<ViewType>()\n .map(([k, v]) => toViewer(k, v));\n\nexport class View<V = any> {\n constructor(\n private views = {} as ViewRecord<V>,\n readonly startsFrom: 'scratch' | 'source' = 'scratch',\n readonly viewers: Viewer[] = toViewers(views)\n ) {}\n\n get fromSource(): View<V> {\n return new View(this.views, 'source', this.viewers);\n }\n\n from<T = unknown>(source: PageList<T>): PageList<V>;\n from<T = unknown>(source: List<T>): List<V>;\n from<T = unknown>(source: T[]): V[];\n from<T = unknown>(source: T): V;\n from<T = unknown>(source: PageList<T> | List<T> | T[] | T): PageList<V> | List<V> | V[] | V {\n if (isPageList(source))\n return toPageList(\n source.map(s => this.reduce(s)),\n source.options\n );\n if (isArray(source)) return source.map(s => this.reduce(s));\n return this.reduce(source);\n }\n\n same = (one?: unknown, another?: unknown): boolean => isEqual(this.from(one), this.from(another));\n\n private reduce = (source: any): any =>\n use(asJson(source), src =>\n this.viewers.reduce(\n (acc, v) => (v.key === spread ? { ...acc, ...asJson(v.f(src, v.key)) } : typesJson.set(acc, v.key, v.f(src, v.key))),\n this.startsFrom === 'scratch' ? {} : src\n )\n );\n}\n\nexport const isSimpleView = (a: unknown): a is View => a instanceof View;\n\nexport const view = <V = any>(views: ViewRecord<DontInfer<V>>): View<V> => new View<V>(views);\n\nexport const views = {\n ignore,\n keep,\n json,\n spread,\n skip: ignore,\n value: (value: unknown) => () => value,\n or: {\n key: (altKey: string) => (a: unknown, key?: string) => traverse(a, key) ?? traverse(a, altKey),\n value: (altValue: unknown) => (a: unknown, key?: string) => traverse(a, key) ?? altValue,\n func: (altFunc: Func) => (a: unknown, key?: string) => traverse(a, key) ?? altFunc(a, key),\n },\n};\n\n// spread: (a: any, key: string) => ({...a, ...(use(traverse(a, key), v => isObject(v) ? v : ({[key]: v})))}),\n"],"mappings":"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","names":["json","key","views"]}
@@ -0,0 +1,13 @@
1
+ import {
2
+ isIn
3
+ } from "./chunk-DEJ7A5PY.mjs";
4
+
5
+ // src/types/Primitive.ts
6
+ var isPrimitive = (v) => {
7
+ return v === null || v === void 0 || isIn(typeof v, ["string", "number", "bigint", "boolean", "symbol"]);
8
+ };
9
+
10
+ export {
11
+ isPrimitive
12
+ };
13
+ //# sourceMappingURL=chunk-DXQSIBC7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Primitive.ts"],"sourcesContent":["import { isIn } from './Is';\n\nexport type Primitive = string | number | bigint | boolean | symbol | null | undefined;\n\nexport const isPrimitive = (v?: unknown): v is Primitive => {\n return v === null || v === undefined || isIn(typeof v, ['string', 'number', 'bigint', 'boolean', 'symbol']);\n};\n"],"mappings":";;;;;AAIO,IAAM,cAAc,CAAC,MAAgC;AAC1D,SAAO,MAAM,QAAQ,MAAM,UAAa,KAAK,OAAO,GAAG,CAAC,UAAU,UAAU,UAAU,WAAW,QAAQ,CAAC;AAC5G;","names":[]}
@@ -0,0 +1,68 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-4LVZOQ6O.mjs";
4
+ import {
5
+ toList
6
+ } from "./chunk-ABGKS4KE.mjs";
7
+ import {
8
+ ofGet
9
+ } from "./chunk-SJGQU3OG.mjs";
10
+ import {
11
+ isAn
12
+ } from "./chunk-ZHXKBOK2.mjs";
13
+ import {
14
+ isDefined,
15
+ isFunction
16
+ } from "./chunk-DEJ7A5PY.mjs";
17
+
18
+ // src/types/Enum.ts
19
+ var isEnumConstructor = (c) => isFunction(c) && c.isEnum;
20
+ var Enum = class {
21
+ constructor(name, id = name.toLowerCase(), code = id.toString()) {
22
+ this.name = name;
23
+ this.id = id;
24
+ this.code = code;
25
+ }
26
+ static isEnum = true;
27
+ get isValid() {
28
+ return isDefined(this.id);
29
+ }
30
+ static all() {
31
+ return meta(this.allTuple()).values();
32
+ }
33
+ static filter(p, params) {
34
+ return this.all().filter(p, params);
35
+ }
36
+ static first(p, params) {
37
+ return this.all().first(p, params);
38
+ }
39
+ static byIds(ids = []) {
40
+ return toList(ids).mapDefined((id) => this.byId(id)).distinct();
41
+ }
42
+ static byId(id, alt) {
43
+ return this.allTuple()[id] ?? ofGet(alt);
44
+ }
45
+ static allTuple() {
46
+ return meta(this).get(`all-${this.name}`) ?? meta(this).set(`all-${this.name}`, meta(this).values().filter(isEnum).toObject("id"));
47
+ }
48
+ equals(other) {
49
+ return this.id === (isEnum(other) ? other.id : other);
50
+ }
51
+ isIn(...items) {
52
+ return items.some((i) => this.equals(i));
53
+ }
54
+ toJSON() {
55
+ return this.id;
56
+ }
57
+ toString() {
58
+ return this.id.toString();
59
+ }
60
+ };
61
+ var isEnum = (e) => isDefined(e) && e instanceof Enum && isAn(e, "name", "id", "code");
62
+
63
+ export {
64
+ isEnumConstructor,
65
+ Enum,
66
+ isEnum
67
+ };
68
+ //# sourceMappingURL=chunk-F34HSIZ5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Enum.ts"],"sourcesContent":["import { Id } from './Id';\nimport { List, toList } from './List';\nimport { isAn } from './IsA';\nimport { meta } from './Meta';\nimport { isDefined, isFunction } from './Is';\nimport { Validatable } from './Validatable';\nimport { JsonValue } from './Json';\nimport { Get, ofGet } from './Get';\nimport { TypeGuard } from './TypeGuard';\n\nexport type EnumConstructor<E = unknown> = {\n byIds<E extends Enum>(ids: Id[]): List<E>;\n byId<E extends Enum>(id: Id, alt?: Get<E, unknown>): E;\n isEnum: boolean;\n};\n\nexport const isEnumConstructor = <E = unknown>(c: unknown): c is EnumConstructor<E> => isFunction(c) && (c as any).isEnum;\n\nexport abstract class Enum implements Validatable {\n static isEnum = true;\n\n protected constructor(\n readonly name: string,\n readonly id: Id = name.toLowerCase(),\n readonly code: string = id.toString()\n ) {}\n\n get isValid(): boolean {\n return isDefined(this.id);\n }\n\n static all<E extends Enum>(): List<E> {\n return meta(this.allTuple<E>()).values<E>();\n }\n\n static filter<E extends Enum>(p: (value: E, index: number, array: E[]) => unknown, params?: unknown): List<E> {\n return this.all<E>().filter(p, params);\n }\n\n static first<E extends Enum>(p?: (value: E, index: number, array: E[]) => unknown, params?: unknown): E {\n return this.all<E>().first(p, params);\n }\n\n static byIds<E extends Enum>(ids: Id[] = []): List<E> {\n return toList(ids)\n .mapDefined(id => this.byId<E>(id))\n .distinct();\n }\n\n static byId<E extends Enum>(id: Id, alt?: Get<E, unknown>): E {\n return this.allTuple<E>()[id] ?? ofGet(alt);\n }\n\n protected static allTuple<E extends Enum>(): Record<Id, E> {\n return meta(this).get(`all-${this.name}`) ?? meta(this).set(`all-${this.name}`, meta(this).values<E>().filter(isEnum).toObject('id'));\n }\n\n equals<E extends Enum>(other: E | Id): other is E {\n return this.id === (isEnum(other) ? other.id : other);\n }\n\n isIn<E extends Enum>(...items: E[] | Id[]): boolean {\n return items.some(i => this.equals(i));\n }\n\n toJSON(): JsonValue {\n return this.id;\n }\n\n toString(): string {\n return this.id.toString();\n }\n}\n\nexport const isEnum: TypeGuard<Enum> = (e?: unknown): e is Enum => isDefined(e) && e instanceof Enum && isAn<Enum>(e, 'name', 'id', 'code');\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgBO,IAAM,oBAAoB,CAAc,MAAwC,WAAW,CAAC,KAAM,EAAU;AAE5G,IAAe,OAAf,MAA2C;AAAA,EAGtC,YACC,MACA,KAAS,KAAK,YAAY,GAC1B,OAAe,GAAG,SAAS,GACpC;AAHS;AACA;AACA;AAAA,EACR;AAAA,EANH,OAAO,SAAS;AAAA,EAQhB,IAAI,UAAmB;AACrB,WAAO,UAAU,KAAK,EAAE;AAAA,EAC1B;AAAA,EAEA,OAAO,MAA+B;AACpC,WAAO,KAAK,KAAK,SAAY,CAAC,EAAE,OAAU;AAAA,EAC5C;AAAA,EAEA,OAAO,OAAuB,GAAqD,QAA2B;AAC5G,WAAO,KAAK,IAAO,EAAE,OAAO,GAAG,MAAM;AAAA,EACvC;AAAA,EAEA,OAAO,MAAsB,GAAsD,QAAqB;AACtG,WAAO,KAAK,IAAO,EAAE,MAAM,GAAG,MAAM;AAAA,EACtC;AAAA,EAEA,OAAO,MAAsB,MAAY,CAAC,GAAY;AACpD,WAAO,OAAO,GAAG,EACd,WAAW,QAAM,KAAK,KAAQ,EAAE,CAAC,EACjC,SAAS;AAAA,EACd;AAAA,EAEA,OAAO,KAAqB,IAAQ,KAA0B;AAC5D,WAAO,KAAK,SAAY,EAAE,EAAE,KAAK,MAAM,GAAG;AAAA,EAC5C;AAAA,EAEA,OAAiB,WAA0C;AACzD,WAAO,KAAK,IAAI,EAAE,IAAI,OAAO,KAAK,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE,OAAU,EAAE,OAAO,MAAM,EAAE,SAAS,IAAI,CAAC;AAAA,EACtI;AAAA,EAEA,OAAuB,OAA2B;AAChD,WAAO,KAAK,QAAQ,OAAO,KAAK,IAAI,MAAM,KAAK;AAAA,EACjD;AAAA,EAEA,QAAwB,OAA4B;AAClD,WAAO,MAAM,KAAK,OAAK,KAAK,OAAO,CAAC,CAAC;AAAA,EACvC;AAAA,EAEA,SAAoB;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,WAAmB;AACjB,WAAO,KAAK,GAAG,SAAS;AAAA,EAC1B;AACF;AAEO,IAAM,SAA0B,CAAC,MAA2B,UAAU,CAAC,KAAK,aAAa,QAAQ,KAAW,GAAG,QAAQ,MAAM,MAAM;","names":[]}
@@ -0,0 +1,20 @@
1
+ import {
2
+ tryTo
3
+ } from "./chunk-S6WR4MXU.mjs";
4
+ import {
5
+ asString
6
+ } from "./chunk-BDA5LB4S.mjs";
7
+ import {
8
+ ofGet
9
+ } from "./chunk-SJGQU3OG.mjs";
10
+ import {
11
+ isNumber
12
+ } from "./chunk-DEJ7A5PY.mjs";
13
+
14
+ // src/types/Number.ts
15
+ var asNumber = (n, alt) => tryTo(() => asString(n)).map((s) => parseInt(s)).filter((n2) => isNumber(n2)).or(ofGet(alt) ?? NaN);
16
+
17
+ export {
18
+ asNumber
19
+ };
20
+ //# sourceMappingURL=chunk-GADZDWP3.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"]}
@@ -0,0 +1,82 @@
1
+ import {
2
+ toClause
3
+ } from "./chunk-OKPGJD64.mjs";
4
+ import {
5
+ Property
6
+ } from "./chunk-GCY5A63A.mjs";
7
+ import {
8
+ tryTo
9
+ } from "./chunk-S6WR4MXU.mjs";
10
+ import {
11
+ ofGet
12
+ } from "./chunk-SJGQU3OG.mjs";
13
+
14
+ // src/sql/Column.ts
15
+ var Column = class extends Property {
16
+ constructor(owner, property, options) {
17
+ super(property, options);
18
+ this.owner = owner;
19
+ }
20
+ get count() {
21
+ return this.function("COUNT");
22
+ }
23
+ get max() {
24
+ return this.function("MAX");
25
+ }
26
+ get min() {
27
+ return this.function("MIN");
28
+ }
29
+ get sum() {
30
+ return this.function("SUM");
31
+ }
32
+ get average() {
33
+ return this.function("AVG");
34
+ }
35
+ get length() {
36
+ return this.function("LEN");
37
+ }
38
+ get asc() {
39
+ return this.format("$col ASC");
40
+ }
41
+ get desc() {
42
+ return this.format("$col DESC");
43
+ }
44
+ in = (source = {}) => tryTo(source).map((s) => s[this.property] ?? ofGet(this.options?.dflt)).map((v) => this.options?.convert?.to(v)).orElse();
45
+ out = (source = {}, key = "") => tryTo(source).map((s) => this.options?.convert?.from(s[key])).orElse();
46
+ function = (func) => this.format(`${func}($name)`);
47
+ format = (pattern) => new PatternColumn(this, pattern);
48
+ is = (value) => this.clause("=", value);
49
+ not = (value) => this.clause("<>", value);
50
+ like = (value) => this.clause("LIKE", `%${value}%`);
51
+ startsLike = (value) => this.clause("LIKE", `${value}%`);
52
+ endsLike = (value) => this.clause("LIKE", `%${value}`);
53
+ unlike = (value) => this.clause("NOT LIKE", `%${value}%`);
54
+ less = (value) => this.clause("<", value);
55
+ lessEqual = (value) => this.clause("<=", value);
56
+ greater = (value) => this.clause(">", value);
57
+ greaterEqual = (value) => this.clause(">=", value);
58
+ as = (as) => this.format(`$col AS ${as}`);
59
+ toString() {
60
+ return `${this.owner}.${this.property}`;
61
+ }
62
+ clause = (operator, value) => toClause(this, operator, value, this?.options?.convert);
63
+ };
64
+ var PatternColumn = class extends Column {
65
+ constructor(col, pattern) {
66
+ super(col.owner, col.property);
67
+ this.col = col;
68
+ this.pattern = pattern;
69
+ }
70
+ toString() {
71
+ return this.pattern.replace("$col", this.col.toString()).replace("$table", this.col.owner.toString).replace("$name", this.col.property);
72
+ }
73
+ };
74
+ var OrderColumn = class extends PatternColumn {
75
+ };
76
+
77
+ export {
78
+ Column,
79
+ PatternColumn,
80
+ OrderColumn
81
+ };
82
+ //# sourceMappingURL=chunk-GB2P3UEO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sql/Column.ts"],"sourcesContent":["import { Clause, toClause } from './Clause';\nimport { Table } from './Table';\nimport { Property, PropertyOptions } from '../utils/Property';\nimport { Json, JsonValue } from '../types/Json';\nimport { tryTo } from '../types/Try';\nimport { ofGet } from '../types/Get';\nimport type { Text } from '../types/Text';\n\nexport class Column extends Property implements Text {\n constructor(\n readonly owner: Table,\n property: string,\n options?: PropertyOptions\n ) {\n super(property, options);\n }\n\n get count(): Column {\n return this.function('COUNT');\n }\n\n get max(): Column {\n return this.function('MAX');\n }\n\n get min(): Column {\n return this.function('MIN');\n }\n\n get sum(): Column {\n return this.function('SUM');\n }\n\n get average(): Column {\n return this.function('AVG');\n }\n\n get length(): Column {\n return this.function('LEN');\n }\n\n get asc(): OrderColumn {\n return this.format('$col ASC') as OrderColumn;\n }\n\n get desc(): OrderColumn {\n return this.format('$col DESC') as OrderColumn;\n }\n\n in = (source: Json = {}): JsonValue =>\n tryTo(source)\n .map(s => s[this.property] ?? ofGet(this.options?.dflt))\n .map(v => this.options?.convert?.to(v))\n .orElse();\n\n out = (source: Json = {}, key = ''): JsonValue =>\n tryTo(source)\n .map(s => this.options?.convert?.from(s[key]))\n .orElse();\n\n function = (func: string): Column => this.format(`${func}($name)`);\n\n format = (pattern: string): Column => new PatternColumn(this, pattern);\n\n is = (value: unknown): Clause => this.clause('=', value);\n\n not = (value: unknown): Clause => this.clause('<>', value);\n\n like = (value: unknown): Clause => this.clause('LIKE', `%${value}%`);\n\n startsLike = (value: unknown): Clause => this.clause('LIKE', `${value}%`);\n\n endsLike = (value: unknown): Clause => this.clause('LIKE', `%${value}`);\n\n unlike = (value: unknown): Clause => this.clause('NOT LIKE', `%${value}%`);\n\n less = (value: unknown): Clause => this.clause('<', value);\n\n lessEqual = (value: unknown): Clause => this.clause('<=', value);\n\n greater = (value: unknown): Clause => this.clause('>', value);\n\n greaterEqual = (value: unknown): Clause => this.clause('>=', value);\n\n as = (as: string): Column => this.format(`$col AS ${as}`);\n\n toString(): string {\n return `${this.owner}.${this.property}`;\n }\n\n protected clause = (operator: string, value: unknown): Clause => toClause(this, operator, value, this?.options?.convert);\n}\n\nexport class PatternColumn extends Column {\n constructor(\n protected col: Column,\n protected pattern: string\n ) {\n super(col.owner, col.property);\n }\n\n toString(): string {\n return this.pattern.replace('$col', this.col.toString()).replace('$table', this.col.owner.toString).replace('$name', this.col.property);\n }\n}\n\nexport class OrderColumn extends PatternColumn {}\n"],"mappings":";;;;;;;;;;;;;;AAQO,IAAM,SAAN,cAAqB,SAAyB;AAAA,EACnD,YACW,OACT,UACA,SACA;AACA,UAAM,UAAU,OAAO;AAJd;AAAA,EAKX;AAAA,EAEA,IAAI,QAAgB;AAClB,WAAO,KAAK,SAAS,OAAO;AAAA,EAC9B;AAAA,EAEA,IAAI,MAAc;AAChB,WAAO,KAAK,SAAS,KAAK;AAAA,EAC5B;AAAA,EAEA,IAAI,MAAc;AAChB,WAAO,KAAK,SAAS,KAAK;AAAA,EAC5B;AAAA,EAEA,IAAI,MAAc;AAChB,WAAO,KAAK,SAAS,KAAK;AAAA,EAC5B;AAAA,EAEA,IAAI,UAAkB;AACpB,WAAO,KAAK,SAAS,KAAK;AAAA,EAC5B;AAAA,EAEA,IAAI,SAAiB;AACnB,WAAO,KAAK,SAAS,KAAK;AAAA,EAC5B;AAAA,EAEA,IAAI,MAAmB;AACrB,WAAO,KAAK,OAAO,UAAU;AAAA,EAC/B;AAAA,EAEA,IAAI,OAAoB;AACtB,WAAO,KAAK,OAAO,WAAW;AAAA,EAChC;AAAA,EAEA,KAAK,CAAC,SAAe,CAAC,MACpB,MAAM,MAAM,EACT,IAAI,OAAK,EAAE,KAAK,QAAQ,KAAK,MAAM,KAAK,SAAS,IAAI,CAAC,EACtD,IAAI,OAAK,KAAK,SAAS,SAAS,GAAG,CAAC,CAAC,EACrC,OAAO;AAAA,EAEZ,MAAM,CAAC,SAAe,CAAC,GAAG,MAAM,OAC9B,MAAM,MAAM,EACT,IAAI,OAAK,KAAK,SAAS,SAAS,KAAK,EAAE,GAAG,CAAC,CAAC,EAC5C,OAAO;AAAA,EAEZ,WAAW,CAAC,SAAyB,KAAK,OAAO,GAAG,IAAI,SAAS;AAAA,EAEjE,SAAS,CAAC,YAA4B,IAAI,cAAc,MAAM,OAAO;AAAA,EAErE,KAAK,CAAC,UAA2B,KAAK,OAAO,KAAK,KAAK;AAAA,EAEvD,MAAM,CAAC,UAA2B,KAAK,OAAO,MAAM,KAAK;AAAA,EAEzD,OAAO,CAAC,UAA2B,KAAK,OAAO,QAAQ,IAAI,KAAK,GAAG;AAAA,EAEnE,aAAa,CAAC,UAA2B,KAAK,OAAO,QAAQ,GAAG,KAAK,GAAG;AAAA,EAExE,WAAW,CAAC,UAA2B,KAAK,OAAO,QAAQ,IAAI,KAAK,EAAE;AAAA,EAEtE,SAAS,CAAC,UAA2B,KAAK,OAAO,YAAY,IAAI,KAAK,GAAG;AAAA,EAEzE,OAAO,CAAC,UAA2B,KAAK,OAAO,KAAK,KAAK;AAAA,EAEzD,YAAY,CAAC,UAA2B,KAAK,OAAO,MAAM,KAAK;AAAA,EAE/D,UAAU,CAAC,UAA2B,KAAK,OAAO,KAAK,KAAK;AAAA,EAE5D,eAAe,CAAC,UAA2B,KAAK,OAAO,MAAM,KAAK;AAAA,EAElE,KAAK,CAAC,OAAuB,KAAK,OAAO,WAAW,EAAE,EAAE;AAAA,EAExD,WAAmB;AACjB,WAAO,GAAG,KAAK,KAAK,IAAI,KAAK,QAAQ;AAAA,EACvC;AAAA,EAEU,SAAS,CAAC,UAAkB,UAA2B,SAAS,MAAM,UAAU,OAAO,MAAM,SAAS,OAAO;AACzH;AAEO,IAAM,gBAAN,cAA4B,OAAO;AAAA,EACxC,YACY,KACA,SACV;AACA,UAAM,IAAI,OAAO,IAAI,QAAQ;AAHnB;AACA;AAAA,EAGZ;AAAA,EAEA,WAAmB;AACjB,WAAO,KAAK,QAAQ,QAAQ,QAAQ,KAAK,IAAI,SAAS,CAAC,EAAE,QAAQ,UAAU,KAAK,IAAI,MAAM,QAAQ,EAAE,QAAQ,SAAS,KAAK,IAAI,QAAQ;AAAA,EACxI;AACF;AAEO,IAAM,cAAN,cAA0B,cAAc;AAAC;","names":[]}
@@ -0,0 +1,25 @@
1
+ import {
2
+ convert
3
+ } from "./chunk-MDXL65W4.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-GCY5A63A.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/Property.ts"],"sourcesContent":["import { convert, Convert } from './Convert';\nimport { Mapping } from './Mapper';\nimport { Get, ofGet } from '../types/Get';\nimport { Json, JsonValue } from '../types/Json';\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(\n readonly property: string,\n readonly options?: PropertyOptions\n ) {\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":";;;;;;;;AAWO,IAAM,WAAN,MAA+C;AAAA,EACpD,YACW,UACA,SACT;AAFS;AACA;AAET,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":[]}
@@ -0,0 +1,76 @@
1
+ import {
2
+ inFuture,
3
+ inPast
4
+ } from "./chunk-ADJAEGCT.mjs";
5
+ import {
6
+ tryTo,
7
+ validate
8
+ } from "./chunk-S6WR4MXU.mjs";
9
+ import {
10
+ text
11
+ } from "./chunk-4K4X43SV.mjs";
12
+ import {
13
+ meta
14
+ } from "./chunk-4LVZOQ6O.mjs";
15
+ import {
16
+ toList
17
+ } from "./chunk-ABGKS4KE.mjs";
18
+ import {
19
+ isBoolean,
20
+ isDefined,
21
+ isFunction,
22
+ isIn,
23
+ isNotEmpty,
24
+ isString
25
+ } from "./chunk-DEJ7A5PY.mjs";
26
+
27
+ // src/validation/Contraints.ts
28
+ var constraint = (c, message) => (subject, property) => {
29
+ const cs = meta(subject).property(property).get("constraint") ?? toList();
30
+ meta(subject).property(property).set("constraint", cs.add({ property, constraint: c, text: message }));
31
+ };
32
+ var defined = (message) => constraint((v) => isDefined(v), message ?? "Property {property} must be defined.");
33
+ var required = (message) => constraint((v) => isNotEmpty(v), message ?? "Property {property} is required, and may not be empty.");
34
+ var notEmpty = (message) => constraint((v) => isNotEmpty(v), message ?? "Property {property} may not be empty.");
35
+ var valid = () => constraint((v) => validate(v), "");
36
+ var optional = () => constraint((v) => !isDefined(v) || validate(v), "");
37
+ var includes = (sub, message) => constraint((s) => isDefined(s) && isString(s) && s.includes(sub), message ?? `Value {actual} must include '${sub}'.`);
38
+ var inList = (values, message) => constraint((v) => isDefined(v) && isIn(v, values), message ?? "Value {actual} must appear in list.");
39
+ var inOptionalList = (values, message) => constraint((v) => !isDefined(v) || isIn(v, values), message ?? "Value {actual} must appear in list.");
40
+ var gt = (limit, message) => constraint((v) => v > limit, message ?? `Value {actual} must be larger than '${limit}'.`);
41
+ var gte = (limit, message) => constraint((v) => v >= limit, message ?? `Value {actual} must be larger than or equal to ${limit}.`);
42
+ var lt = (limit, message) => constraint((v) => v < limit, message ?? `Value {actual} must be smaller than ${limit}.`);
43
+ var lte = (limit, message) => constraint((v) => v <= limit, message ?? `Value {actual} must be smaller than or equal to ${limit}.`);
44
+ var past = (message) => constraint((v) => inPast(v), message ?? "Value {actual} must lay in the past.");
45
+ var future = (message) => constraint((v) => inFuture(v), message ?? "Value {actual} must lay in the future.");
46
+ var minLength = (length, message) => constraint(
47
+ (v) => tryTo(() => v).is.defined().map((v2) => text(v2).toString().length >= length).orElse(true),
48
+ message ?? `Value {actual} must be at least '${length}' characters long.`
49
+ );
50
+ var maxLength = (length, message) => constraint(
51
+ (v) => tryTo(() => v).is.defined().map((v2) => text(v2).toString().length <= length).orElse(true),
52
+ message ?? `Value {actual} cannot be longer than '${length}' characters.`
53
+ );
54
+ var rule = (message) => constraint((v) => isFunction(v) ? v() : isBoolean(v) ? v : false, message ?? `Value {actual} must be true`);
55
+
56
+ export {
57
+ constraint,
58
+ defined,
59
+ required,
60
+ notEmpty,
61
+ valid,
62
+ optional,
63
+ includes,
64
+ inList,
65
+ inOptionalList,
66
+ gt,
67
+ gte,
68
+ lt,
69
+ lte,
70
+ past,
71
+ future,
72
+ minLength,
73
+ maxLength,
74
+ rule
75
+ };
76
+ //# sourceMappingURL=chunk-HL2BC7Z2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/validation/Contraints.ts"],"sourcesContent":["import { validate, Validator } from './Validate';\nimport { Func } from '../types/Func';\nimport { Results } from '../types/Results';\nimport { meta } from '../types/Meta';\nimport { List, toList } from '../types/List';\nimport { isBoolean, isDefined, isFunction, isIn, isNotEmpty, isString } from '../types/Is';\nimport { tryTo } from '../types/Try';\nimport { inFuture, inPast } from '../types/IsDate';\nimport type { Text } from '../types/Text';\nimport { text } from '../types/ToText';\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,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
+ ifDefined,
3
+ toList
4
+ } from "./chunk-ABGKS4KE.mjs";
5
+
6
+ // src/types/Object.ts
7
+ function entries(subject) {
8
+ return ifDefined(
9
+ subject,
10
+ () => toList([...Object.entries(subject), ...Object.entries(Object.getPrototypeOf(subject))]),
11
+ () => toList()
12
+ );
13
+ }
14
+ function values(subject) {
15
+ return toList([...Object.values(subject), ...Object.values(Object.getPrototypeOf(subject))]);
16
+ }
17
+ function keys(subject) {
18
+ return toList([...Object.keys(subject), ...Object.keys(Object.getPrototypeOf(subject))]);
19
+ }
20
+ function extractKeys(obj, keys2) {
21
+ return keys2.filter((k) => k in obj).reduce(
22
+ (acc, key) => {
23
+ acc.keys[key] = obj[key];
24
+ delete acc[key];
25
+ return acc;
26
+ },
27
+ { keys: {}, ...obj }
28
+ );
29
+ }
30
+
31
+ export {
32
+ entries,
33
+ values,
34
+ keys,
35
+ extractKeys
36
+ };
37
+ //# sourceMappingURL=chunk-HULI73W2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Object.ts"],"sourcesContent":["import { List, toList } from './List';\nimport { ifDefined } from '../utils/If';\n\nexport type Entry<T = unknown> = [key: string, value: T];\n\nexport function entries<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<Entry<T>> {\n return ifDefined(\n subject,\n () => toList<Entry<T>>([...Object.entries(subject), ...Object.entries(Object.getPrototypeOf(subject))] as Entry<T>[]),\n () => toList<Entry<T>>()\n );\n}\n\nexport function values<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<T> {\n return toList([...Object.values<T>(subject), ...Object.values<T>(Object.getPrototypeOf(subject))]);\n}\n\nexport function keys<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<string> {\n return toList([...Object.keys(subject), ...Object.keys(Object.getPrototypeOf(subject))]);\n}\n\nexport function extractKeys<T extends Record<string | number, unknown>, K extends keyof T>(\n obj: T,\n keys: K[] | readonly (keyof T)[]\n): {\n keys: Pick<T, K>;\n} & Omit<T, K> {\n return keys\n .filter((k): k is K => k in obj)\n .reduce(\n (acc, key) => {\n (acc.keys as T)[key] = obj[key];\n delete acc[key];\n return acc;\n },\n { keys: {} as Pick<T, K>, ...obj }\n );\n}\n"],"mappings":";;;;;;AAKO,SAAS,QAAqB,SAA4D;AAC/F,SAAO;AAAA,IACL;AAAA,IACA,MAAM,OAAiB,CAAC,GAAG,OAAO,QAAQ,OAAO,GAAG,GAAG,OAAO,QAAQ,OAAO,eAAe,OAAO,CAAC,CAAC,CAAe;AAAA,IACpH,MAAM,OAAiB;AAAA,EACzB;AACF;AAEO,SAAS,OAAoB,SAAqD;AACvF,SAAO,OAAO,CAAC,GAAG,OAAO,OAAU,OAAO,GAAG,GAAG,OAAO,OAAU,OAAO,eAAe,OAAO,CAAC,CAAC,CAAC;AACnG;AAEO,SAAS,KAAkB,SAA0D;AAC1F,SAAO,OAAO,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,GAAG,OAAO,KAAK,OAAO,eAAe,OAAO,CAAC,CAAC,CAAC;AACzF;AAEO,SAAS,YACd,KACAA,OAGa;AACb,SAAOA,MACJ,OAAO,CAAC,MAAc,KAAK,GAAG,EAC9B;AAAA,IACC,CAAC,KAAK,QAAQ;AACZ,MAAC,IAAI,KAAW,GAAG,IAAI,IAAI,GAAG;AAC9B,aAAO,IAAI,GAAG;AACd,aAAO;AAAA,IACT;AAAA,IACA,EAAE,MAAM,CAAC,GAAiB,GAAG,IAAI;AAAA,EACnC;AACJ;","names":["keys"]}
@@ -0,0 +1,175 @@
1
+ import {
2
+ choose
3
+ } from "./chunk-S6WR4MXU.mjs";
4
+ import {
5
+ List,
6
+ isList,
7
+ toList
8
+ } from "./chunk-ABGKS4KE.mjs";
9
+ import {
10
+ isA
11
+ } from "./chunk-ZHXKBOK2.mjs";
12
+ import {
13
+ ofConstruct
14
+ } from "./chunk-ZPNFXK7Y.mjs";
15
+ import {
16
+ isNumber
17
+ } from "./chunk-DEJ7A5PY.mjs";
18
+
19
+ // src/types/PageList.ts
20
+ var toFilter = (field, value) => toShortFilter(field, field, value);
21
+ var toShortFilter = (field, shortField, value) => ({
22
+ field,
23
+ shortField,
24
+ values: [{ value }]
25
+ });
26
+ var PageList = class extends List {
27
+ _options;
28
+ get options() {
29
+ return this._options;
30
+ }
31
+ get take() {
32
+ return this._options?.take ?? 250;
33
+ }
34
+ get skip() {
35
+ return this._options?.skip ?? 0;
36
+ }
37
+ get total() {
38
+ return this._options?.total;
39
+ }
40
+ get sorts() {
41
+ return this._options?.sorts;
42
+ }
43
+ get filters() {
44
+ return this._options?.filters;
45
+ }
46
+ get meta() {
47
+ return {
48
+ take: this.take,
49
+ skip: this.skip,
50
+ total: this.total,
51
+ sorts: this.sorts,
52
+ filters: this.filters
53
+ };
54
+ }
55
+ get ids() {
56
+ return this.mapDefined((i) => i.id);
57
+ }
58
+ asc(p) {
59
+ return toPageList(super.asc(p), this);
60
+ }
61
+ desc(p) {
62
+ return toPageList(super.desc(p), this);
63
+ }
64
+ diff(others) {
65
+ return toPageList(super.diff(others), this);
66
+ }
67
+ diffByKey(others, key) {
68
+ return toPageList(super.diffByKey(others, key), this);
69
+ }
70
+ symmetricDiff(others) {
71
+ return toPageList(super.symmetricDiff(others), this);
72
+ }
73
+ symmetricDiffByKey(others, key) {
74
+ return toPageList(super.symmetricDiffByKey(others, key), this);
75
+ }
76
+ intersect(others) {
77
+ return toPageList(super.intersect(others), this);
78
+ }
79
+ intersectByKey(others, key) {
80
+ return toPageList(super.intersectByKey(others, key), this);
81
+ }
82
+ map(f, params) {
83
+ const items = super.map(f, params);
84
+ return toPageList(items, this);
85
+ }
86
+ flatMap(f, params) {
87
+ return toPageList(super.flatMap(f, params), this);
88
+ }
89
+ mapDefined(f, params) {
90
+ return toPageList(super.mapDefined(f, params), this);
91
+ }
92
+ mapAsync(f) {
93
+ return super.mapAsync(f).then((r) => toPageList(r, this));
94
+ }
95
+ areEqual(...items) {
96
+ return this.isSubSetOf(...items) && toList(...items).isSubSetOf(...this);
97
+ }
98
+ distinct() {
99
+ return toPageList(super.distinct(), this);
100
+ }
101
+ distinctByKey(key) {
102
+ return toPageList(super.distinctByKey(key), this);
103
+ }
104
+ distinctByValue() {
105
+ return toPageList(super.distinctByValue(), this);
106
+ }
107
+ filter(p, params) {
108
+ return toPageList(super.filter(p, params), this);
109
+ }
110
+ accumulate(...keys) {
111
+ return toPageList(super.accumulate(...keys), this);
112
+ }
113
+ concat(...items) {
114
+ return toPageList(super.concat(...items), this);
115
+ }
116
+ reverse() {
117
+ return toPageList(super.reverse(), this);
118
+ }
119
+ splice(start, deleteCount, ...items) {
120
+ return toPageList(super.splice(start, deleteCount, ...items), this);
121
+ }
122
+ remove(item) {
123
+ return toPageList(super.remove(item), this);
124
+ }
125
+ replace(key, item) {
126
+ return toPageList(super.replace(key, item), this);
127
+ }
128
+ switch(item) {
129
+ return toPageList(super.switch(item), this);
130
+ }
131
+ defined() {
132
+ return toPageList(super.defined(), this);
133
+ }
134
+ orElse(...alt) {
135
+ return toPageList(super.orElse(...alt), this);
136
+ }
137
+ slice(start, end) {
138
+ return toPageList(super.slice(start, end), this);
139
+ }
140
+ //we needed to add U because of a Typescript issue with generics
141
+ update(p, val) {
142
+ return toPageList(super.update(p, val), this);
143
+ }
144
+ updateFirst(p, val) {
145
+ return toPageList(super.updateFirst(p, val), this);
146
+ }
147
+ updateFirstById(id, val) {
148
+ return toPageList(super.updateFirstById(id, val), this);
149
+ }
150
+ updateById(id, val) {
151
+ return toPageList(super.updateById(id, val), this);
152
+ }
153
+ setPageOptions(options) {
154
+ this._options = options;
155
+ return this;
156
+ }
157
+ };
158
+ var isPageList = (l) => isList(l) && isA(l, "total");
159
+ var toPageList = (items = [], options) => {
160
+ return choose(items).case(
161
+ (i) => i.length === 1 && isNumber(i[0]),
162
+ (i) => new PageList().add(...i)
163
+ ).else((i) => new PageList(...i)).setPageOptions(isPageList(options) ? options.options : options);
164
+ };
165
+ var asPageList = (c, items = toPageList()) => items.map((i) => ofConstruct(c, i));
166
+
167
+ export {
168
+ toFilter,
169
+ toShortFilter,
170
+ PageList,
171
+ isPageList,
172
+ toPageList,
173
+ asPageList
174
+ };
175
+ //# sourceMappingURL=chunk-J3DYDXXF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/PageList.ts"],"sourcesContent":["import { isList, List, toList } from './List';\nimport { Construct, ofConstruct } from './Constructor';\nimport { isA } from './IsA';\nimport { PlainSort, Sort } from './Sort';\nimport { GetProperty } from './Get';\nimport { ArrayLike } from './Array';\nimport { Optional } from './Types';\nimport { isNumber } from './Is';\nimport { choose } from './Case';\nimport type { Id } from './Id';\n\nexport type FilterValue = { label?: string; value: any; count?: number };\nexport type Filter = { label?: string; field: string; shortField?: string; values: FilterValue[] };\n\nexport const toFilter = (field: string, value: any): Filter => toShortFilter(field, field, value);\nexport const toShortFilter = (field: string, shortField: string, value: any): Filter => ({\n field,\n shortField,\n values: [{ value }],\n});\n\nexport type PageOptions = { take?: number; skip?: number; sort?: Sort[]; sorts?: PlainSort; filters?: Filter[] };\nexport type PageListOptions = Exclude<PageOptions, 'sort'> & { total?: number };\n\nexport class PageList<T = unknown> extends List<T> {\n private _options?: PageListOptions;\n\n get options(): Optional<PageListOptions> {\n return this._options;\n }\n\n get take(): number {\n return this._options?.take ?? 250;\n }\n\n get skip(): number {\n return this._options?.skip ?? 0;\n }\n\n get total(): Optional<number> {\n return this._options?.total;\n }\n\n get sorts(): Optional<PlainSort> {\n return this._options?.sorts;\n }\n\n get filters(): Optional<Filter[]> {\n return this._options?.filters;\n }\n\n get meta(): PageListOptions {\n return {\n take: this.take,\n skip: this.skip,\n total: this.total,\n sorts: this.sorts,\n filters: this.filters,\n };\n }\n\n get ids(): PageList<Id> {\n return this.mapDefined(i => (i as any).id as Id);\n }\n\n asc(p: GetProperty<T, any>): PageList<T> {\n return toPageList(super.asc(p), this);\n }\n\n desc(p: GetProperty<T, any>): PageList<T> {\n return toPageList(super.desc(p), this);\n }\n\n diff(others: ArrayLike<T>): PageList<T> {\n return toPageList(super.diff(others), this);\n }\n\n diffByKey<U = T>(others: ArrayLike<U>, key: keyof T & keyof U): PageList<T> {\n return toPageList(super.diffByKey(others, key), this);\n }\n\n symmetricDiff(others: ArrayLike<T>): PageList<T> {\n return toPageList(super.symmetricDiff(others), this);\n }\n\n symmetricDiffByKey(others: ArrayLike<T>, key: keyof T): PageList<T> {\n return toPageList(super.symmetricDiffByKey(others, key), this);\n }\n\n intersect(others: ArrayLike<T>): PageList<T> {\n return toPageList(super.intersect(others), this);\n }\n\n intersectByKey<U>(others: ArrayLike<U>, key: keyof T & keyof U): PageList<T> {\n return toPageList(super.intersectByKey(others, key), this);\n }\n\n map<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): PageList<U> {\n const items = super.map(f, params);\n return toPageList(items, this);\n }\n\n flatMap<U, This = unknown>(f: (this: This, value: T, index: number, array: T[]) => ReadonlyArray<U> | U, params?: This): PageList<U> {\n return toPageList(super.flatMap(f, params), this);\n }\n\n mapDefined<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): PageList<NonNullable<U>> {\n return toPageList(super.mapDefined(f, params), this);\n }\n\n mapAsync(f: (i: T) => Promise<T>): Promise<PageList<T>> {\n return super.mapAsync(f).then(r => toPageList(r, this));\n }\n\n areEqual(...items: ArrayLike<T>): boolean {\n return this.isSubSetOf(...items) && toList(...items).isSubSetOf(...this);\n }\n\n distinct(): PageList<T> {\n return toPageList(super.distinct(), this);\n }\n\n distinctByKey(key: keyof T): PageList<T> {\n return toPageList(super.distinctByKey(key), this);\n }\n\n distinctByValue(): PageList<T> {\n return toPageList(super.distinctByValue(), this);\n }\n\n filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): PageList<T> {\n return toPageList(super.filter(p, params), this);\n }\n\n accumulate(...keys: (keyof T)[]): PageList<T> {\n return toPageList(super.accumulate(...keys), this);\n }\n\n concat(...items: ConcatArray<T>[]): PageList<T>;\n\n concat(...items: (T | ConcatArray<T>)[]): PageList<T>;\n\n concat(...items: (T | ConcatArray<T>)[]): PageList<T> {\n return toPageList(super.concat(...items), this);\n }\n\n reverse(): PageList<T> {\n return toPageList(super.reverse(), this);\n }\n\n splice(start: number, deleteCount?: number): PageList<T>;\n\n splice(start: number, deleteCount: number, ...items: T[]): PageList<T>;\n\n splice(start: number, deleteCount: number, ...items: T[]): PageList<T> {\n return toPageList(super.splice(start, deleteCount, ...items), this);\n }\n\n remove(item: T): PageList<T> {\n return toPageList(super.remove(item), this);\n }\n\n replace(key: keyof T, item: T): PageList<T> {\n return toPageList(super.replace(key, item), this);\n }\n\n switch(item: T): PageList<T> {\n return toPageList(super.switch(item), this);\n }\n\n defined(): PageList<NonNullable<T>> {\n return toPageList(super.defined(), this);\n }\n\n orElse(...alt: ArrayLike<T>): Optional<PageList<T>> {\n return toPageList(super.orElse(...alt), this);\n }\n\n slice(start?: number, end?: number): PageList<T> {\n return toPageList(super.slice(start, end), this);\n }\n\n //we needed to add U because of a Typescript issue with generics\n update<U = T>(p: (value: T, index: number, array: T[]) => unknown, val: T | ((v: U) => T)): PageList<T> {\n return toPageList(super.update(p, val), this);\n }\n\n updateFirst<U = T>(p: (value: T, index: number, array: T[]) => unknown, val: T | ((v: U) => T)): PageList<T> {\n return toPageList(super.updateFirst(p, val), this);\n }\n\n updateFirstById<U = T>(id: Id, val: T | ((v: U) => T)): PageList<T> {\n return toPageList(super.updateFirstById(id, val), this);\n }\n\n updateById<U = T>(id: Id, val: T | ((v: U) => T)): PageList<T> {\n return toPageList(super.updateById(id, val), this);\n }\n\n private setPageOptions(options?: PageListOptions): this {\n this._options = options;\n return this;\n }\n}\n\nexport const isPageList = <T>(l?: unknown): l is PageList<T> => isList<T>(l) && isA(l, 'total');\n\nexport const toPageList = <T>(items: T[] = [], options?: PageListOptions | PageList): PageList<T> => {\n return (\n choose(items)\n .case(\n i => i.length === 1 && isNumber(i[0]),\n i => new PageList<T>().add(...i)\n )\n .else(i => new PageList<T>(...i)) as any\n ).setPageOptions(isPageList(options) ? options.options : options);\n};\n\n/* @deprecated No longer needed as the PageList is now a class that extends from List, use the map function */\nexport const asPageList = <T, U>(c: Construct<T>, items = toPageList<U>()): PageList<T> => items.map(i => ofConstruct(c, i));\n"],"mappings":"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","names":[]}
@@ -0,0 +1,23 @@
1
+ import {
2
+ SqlQuery
3
+ } from "./chunk-TCQRHKGS.mjs";
4
+ import {
5
+ quote
6
+ } from "./chunk-OKPGJD64.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-JMIXHXWM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sql/Insert.ts"],"sourcesContent":["import { SqlQuery } from './SqlQuery';\nimport { quote } from './Clause';\nimport { Table } from './Table';\nimport { Json } from '../types/Json';\n\nexport class Insert extends SqlQuery {\n constructor(\n protected table: Table,\n protected fields: Json\n ) {\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,YACY,OACA,QACV;AACA,UAAM,KAAK;AAHD;AACA;AAAA,EAGZ;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,24 @@
1
+ import {
2
+ ifTrue,
3
+ toList
4
+ } from "./chunk-ABGKS4KE.mjs";
5
+
6
+ // src/utils/Seconds.ts
7
+ var seconds = {
8
+ toDuration: (s) => {
9
+ const seconds2 = s % 60;
10
+ const minutes = Math.floor(s / 60) % 60;
11
+ const hours = Math.floor(s / 3600) % 24;
12
+ const days = Math.floor(s / 86400);
13
+ return { days, hours, minutes, seconds: seconds2 };
14
+ },
15
+ toText: (s) => {
16
+ const { days, hours, minutes, seconds: secs } = seconds.toDuration(s);
17
+ return toList(ifTrue(days, `${days}d`), ifTrue(hours, `${hours}h`), ifTrue(minutes, `${minutes}m`), ifTrue(days + hours + minutes === 0, `${secs}s`)).mapDefined((s2) => s2).join(" ");
18
+ }
19
+ };
20
+
21
+ export {
22
+ seconds
23
+ };
24
+ //# sourceMappingURL=chunk-KJVTSC6I.mjs.map