@thisisagile/easy 17.26.1 → 17.26.2

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 (373) hide show
  1. package/dist/chunk-2AB6ZQHC.mjs +26 -0
  2. package/dist/chunk-2AB6ZQHC.mjs.map +1 -0
  3. package/dist/chunk-4DJUHTQO.mjs +55 -0
  4. package/dist/chunk-4DJUHTQO.mjs.map +1 -0
  5. package/dist/chunk-4HWEQEHM.mjs +20 -0
  6. package/dist/chunk-4HWEQEHM.mjs.map +1 -0
  7. package/dist/chunk-4N72FQFX.mjs +16 -0
  8. package/dist/chunk-4N72FQFX.mjs.map +1 -0
  9. package/dist/chunk-4SWYJEN5.mjs +82 -0
  10. package/dist/chunk-4SWYJEN5.mjs.map +1 -0
  11. package/dist/chunk-4VZHB642.mjs +37 -0
  12. package/dist/chunk-4VZHB642.mjs.map +1 -0
  13. package/dist/chunk-ADJAEGCT.mjs +21 -0
  14. package/dist/chunk-ADJAEGCT.mjs.map +1 -0
  15. package/dist/chunk-AGTB4HMP.mjs +11 -0
  16. package/dist/chunk-AGTB4HMP.mjs.map +1 -0
  17. package/dist/chunk-BDA5LB4S.mjs +29 -0
  18. package/dist/chunk-BDA5LB4S.mjs.map +1 -0
  19. package/dist/chunk-BZOYP6X7.mjs +134 -0
  20. package/dist/chunk-BZOYP6X7.mjs.map +1 -0
  21. package/dist/chunk-CO2AFYVD.mjs +43 -0
  22. package/dist/chunk-CO2AFYVD.mjs.map +1 -0
  23. package/dist/chunk-D7UFAVDX.mjs +54 -0
  24. package/dist/chunk-D7UFAVDX.mjs.map +1 -0
  25. package/dist/chunk-DEFTEK45.mjs +40 -0
  26. package/dist/chunk-DEFTEK45.mjs.map +1 -0
  27. package/dist/chunk-DEJ7A5PY.mjs +43 -0
  28. package/dist/chunk-DEJ7A5PY.mjs.map +1 -0
  29. package/dist/chunk-DLA22ZCC.mjs +20 -0
  30. package/dist/chunk-DLA22ZCC.mjs.map +1 -0
  31. package/dist/chunk-DXQSIBC7.mjs +13 -0
  32. package/dist/chunk-DXQSIBC7.mjs.map +1 -0
  33. package/dist/chunk-ELDS3NWV.mjs +23 -0
  34. package/dist/chunk-ELDS3NWV.mjs.map +1 -0
  35. package/dist/chunk-ELUKCMQZ.mjs +50 -0
  36. package/dist/chunk-ELUKCMQZ.mjs.map +1 -0
  37. package/dist/chunk-FN7HN3YK.mjs +58 -0
  38. package/dist/chunk-FN7HN3YK.mjs.map +1 -0
  39. package/dist/chunk-GCY5A63A.mjs +25 -0
  40. package/dist/chunk-GCY5A63A.mjs.map +1 -0
  41. package/dist/chunk-GO66AIDJ.mjs +76 -0
  42. package/dist/chunk-GO66AIDJ.mjs.map +1 -0
  43. package/dist/chunk-GVTADDU5.mjs +39 -0
  44. package/dist/chunk-GVTADDU5.mjs.map +1 -0
  45. package/dist/chunk-GZIULZH2.mjs +79 -0
  46. package/dist/chunk-GZIULZH2.mjs.map +1 -0
  47. package/dist/chunk-HOVTNDHS.mjs +297 -0
  48. package/dist/chunk-HOVTNDHS.mjs.map +1 -0
  49. package/dist/chunk-HPM4L4MH.mjs +20 -0
  50. package/dist/chunk-HPM4L4MH.mjs.map +1 -0
  51. package/dist/chunk-HSOXY623.mjs +53 -0
  52. package/dist/chunk-HSOXY623.mjs.map +1 -0
  53. package/dist/chunk-IH4VU7UP.mjs +31 -0
  54. package/dist/chunk-IH4VU7UP.mjs.map +1 -0
  55. package/dist/chunk-JPWRHLXY.mjs +51 -0
  56. package/dist/chunk-JPWRHLXY.mjs.map +1 -0
  57. package/dist/chunk-L5KXXMUH.mjs +46 -0
  58. package/dist/chunk-L5KXXMUH.mjs.map +1 -0
  59. package/dist/chunk-L5ZI7SPN.mjs +90 -0
  60. package/dist/chunk-L5ZI7SPN.mjs.map +1 -0
  61. package/dist/chunk-LGLRWA42.mjs +324 -0
  62. package/dist/chunk-LGLRWA42.mjs.map +1 -0
  63. package/dist/chunk-LKTTPV6U.mjs +70 -0
  64. package/dist/chunk-LKTTPV6U.mjs.map +1 -0
  65. package/dist/chunk-LONFFS5R.mjs +107 -0
  66. package/dist/chunk-LONFFS5R.mjs.map +1 -0
  67. package/dist/chunk-LUHR6633.mjs +54 -0
  68. package/dist/chunk-LUHR6633.mjs.map +1 -0
  69. package/dist/chunk-MDXL65W4.mjs +49 -0
  70. package/dist/chunk-MDXL65W4.mjs.map +1 -0
  71. package/dist/chunk-N22QIDIK.mjs +25 -0
  72. package/dist/chunk-N22QIDIK.mjs.map +1 -0
  73. package/dist/chunk-NBYO2U6Q.mjs +48 -0
  74. package/dist/chunk-NBYO2U6Q.mjs.map +1 -0
  75. package/dist/chunk-NPCTXURR.mjs +23 -0
  76. package/dist/chunk-NPCTXURR.mjs.map +1 -0
  77. package/dist/chunk-OFGI5FLG.mjs +11 -0
  78. package/dist/chunk-OFGI5FLG.mjs.map +1 -0
  79. package/dist/chunk-OGLPG6DF.mjs +18 -0
  80. package/dist/chunk-OGLPG6DF.mjs.map +1 -0
  81. package/dist/chunk-OKPGJD64.mjs +41 -0
  82. package/dist/chunk-OKPGJD64.mjs.map +1 -0
  83. package/dist/chunk-OQNZEKWO.mjs +24 -0
  84. package/dist/chunk-OQNZEKWO.mjs.map +1 -0
  85. package/dist/chunk-OWLQ6U7M.mjs +57 -0
  86. package/dist/chunk-OWLQ6U7M.mjs.map +1 -0
  87. package/dist/chunk-P5MN5NGC.mjs +24 -0
  88. package/dist/chunk-P5MN5NGC.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-PR6DFFCE.mjs +94 -0
  92. package/dist/chunk-PR6DFFCE.mjs.map +1 -0
  93. package/dist/chunk-QMASVXTD.mjs +40 -0
  94. package/dist/chunk-QMASVXTD.mjs.map +1 -0
  95. package/dist/chunk-QNNYTOR7.mjs +142 -0
  96. package/dist/chunk-QNNYTOR7.mjs.map +1 -0
  97. package/dist/chunk-RHOK5QZR.mjs +175 -0
  98. package/dist/chunk-RHOK5QZR.mjs.map +1 -0
  99. package/dist/chunk-RS7CT7BU.mjs +20 -0
  100. package/dist/chunk-RS7CT7BU.mjs.map +1 -0
  101. package/dist/chunk-RUFO75IB.mjs +18 -0
  102. package/dist/chunk-RUFO75IB.mjs.map +1 -0
  103. package/dist/chunk-RWGCMC6L.mjs +164 -0
  104. package/dist/chunk-RWGCMC6L.mjs.map +1 -0
  105. package/dist/chunk-SCVGZWV7.mjs +35 -0
  106. package/dist/chunk-SCVGZWV7.mjs.map +1 -0
  107. package/dist/chunk-SJ4YFZKO.mjs +21 -0
  108. package/dist/chunk-SJ4YFZKO.mjs.map +1 -0
  109. package/dist/chunk-SJGQU3OG.mjs +15 -0
  110. package/dist/chunk-SJGQU3OG.mjs.map +1 -0
  111. package/dist/chunk-SSROJBD5.mjs +30 -0
  112. package/dist/chunk-SSROJBD5.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-TNZJKUDY.mjs +45 -0
  116. package/dist/chunk-TNZJKUDY.mjs.map +1 -0
  117. package/dist/chunk-UXADDXCJ.mjs +68 -0
  118. package/dist/chunk-UXADDXCJ.mjs.map +1 -0
  119. package/dist/chunk-UYDZZAEK.mjs +11 -0
  120. package/dist/chunk-UYDZZAEK.mjs.map +1 -0
  121. package/dist/chunk-VBZTERRM.mjs +94 -0
  122. package/dist/chunk-VBZTERRM.mjs.map +1 -0
  123. package/dist/chunk-WJZFE5NE.mjs +17 -0
  124. package/dist/chunk-WJZFE5NE.mjs.map +1 -0
  125. package/dist/chunk-WLTLSV2I.mjs +20 -0
  126. package/dist/chunk-WLTLSV2I.mjs.map +1 -0
  127. package/dist/chunk-WOSYMEQL.mjs +60 -0
  128. package/dist/chunk-WOSYMEQL.mjs.map +1 -0
  129. package/dist/chunk-WSBULPUZ.mjs +30 -0
  130. package/dist/chunk-WSBULPUZ.mjs.map +1 -0
  131. package/dist/chunk-WVTNXVBL.mjs +56 -0
  132. package/dist/chunk-WVTNXVBL.mjs.map +1 -0
  133. package/dist/chunk-ZHXKBOK2.mjs +22 -0
  134. package/dist/chunk-ZHXKBOK2.mjs.map +1 -0
  135. package/dist/chunk-ZPNFXK7Y.mjs +36 -0
  136. package/dist/chunk-ZPNFXK7Y.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.mjs +115 -3476
  190. package/dist/index.mjs.map +1 -1
  191. package/dist/process/App.mjs +30 -0
  192. package/dist/process/App.mjs.map +1 -0
  193. package/dist/process/Manage.mjs +47 -0
  194. package/dist/process/Manage.mjs.map +1 -0
  195. package/dist/process/Scope.mjs +22 -0
  196. package/dist/process/Scope.mjs.map +1 -0
  197. package/dist/process/Search.mjs +31 -0
  198. package/dist/process/Search.mjs.map +1 -0
  199. package/dist/process/UseCase.mjs +53 -0
  200. package/dist/process/UseCase.mjs.map +1 -0
  201. package/dist/resources/Req.mjs +57 -0
  202. package/dist/resources/Req.mjs.map +1 -0
  203. package/dist/security/Jwt.mjs +77 -0
  204. package/dist/security/Jwt.mjs.map +1 -0
  205. package/dist/services/Api.mjs +44 -0
  206. package/dist/services/Api.mjs.map +1 -0
  207. package/dist/services/ApiGateway.mjs +45 -0
  208. package/dist/services/ApiGateway.mjs.map +1 -0
  209. package/dist/services/AxiosProvider.mjs +40 -0
  210. package/dist/services/AxiosProvider.mjs.map +1 -0
  211. package/dist/services/MappedRouteGateway.mjs +78 -0
  212. package/dist/services/MappedRouteGateway.mjs.map +1 -0
  213. package/dist/services/RouteGateway.mjs +46 -0
  214. package/dist/services/RouteGateway.mjs.map +1 -0
  215. package/dist/services/ViewRouteGateway.mjs +79 -0
  216. package/dist/services/ViewRouteGateway.mjs.map +1 -0
  217. package/dist/sql/Clause.mjs +24 -0
  218. package/dist/sql/Clause.mjs.map +1 -0
  219. package/dist/sql/Column.mjs +37 -0
  220. package/dist/sql/Column.mjs.map +1 -0
  221. package/dist/sql/Count.mjs +20 -0
  222. package/dist/sql/Count.mjs.map +1 -0
  223. package/dist/sql/Delete.mjs +19 -0
  224. package/dist/sql/Delete.mjs.map +1 -0
  225. package/dist/sql/Insert.mjs +21 -0
  226. package/dist/sql/Insert.mjs.map +1 -0
  227. package/dist/sql/Join.mjs +8 -0
  228. package/dist/sql/Join.mjs.map +1 -0
  229. package/dist/sql/Select.mjs +19 -0
  230. package/dist/sql/Select.mjs.map +1 -0
  231. package/dist/sql/SqlQuery.mjs +18 -0
  232. package/dist/sql/SqlQuery.mjs.map +1 -0
  233. package/dist/sql/Table.mjs +93 -0
  234. package/dist/sql/Table.mjs.map +1 -0
  235. package/dist/sql/TableGateway.mjs +72 -0
  236. package/dist/sql/TableGateway.mjs.map +1 -0
  237. package/dist/sql/Update.mjs +21 -0
  238. package/dist/sql/Update.mjs.map +1 -0
  239. package/dist/types/AnyKey.mjs +1 -0
  240. package/dist/types/AnyKey.mjs.map +1 -0
  241. package/dist/types/Array.mjs +16 -0
  242. package/dist/types/Array.mjs.map +1 -0
  243. package/dist/types/Builder.mjs +26 -0
  244. package/dist/types/Builder.mjs.map +1 -0
  245. package/dist/types/Cache.mjs +29 -0
  246. package/dist/types/Cache.mjs.map +1 -0
  247. package/dist/types/CacheAge.mjs +33 -0
  248. package/dist/types/CacheAge.mjs.map +1 -0
  249. package/dist/types/Case.mjs +29 -0
  250. package/dist/types/Case.mjs.map +1 -0
  251. package/dist/types/Constructor.mjs +23 -0
  252. package/dist/types/Constructor.mjs.map +1 -0
  253. package/dist/types/Context.mjs +28 -0
  254. package/dist/types/Context.mjs.map +1 -0
  255. package/dist/types/Currency.mjs +15 -0
  256. package/dist/types/Currency.mjs.map +1 -0
  257. package/dist/types/Enum.mjs +24 -0
  258. package/dist/types/Enum.mjs.map +1 -0
  259. package/dist/types/Environment.mjs +28 -0
  260. package/dist/types/Environment.mjs.map +1 -0
  261. package/dist/types/ErrorOrigin.mjs +1 -0
  262. package/dist/types/ErrorOrigin.mjs.map +1 -0
  263. package/dist/types/Exception.mjs +26 -0
  264. package/dist/types/Exception.mjs.map +1 -0
  265. package/dist/types/Falsy.mjs +10 -0
  266. package/dist/types/Falsy.mjs.map +1 -0
  267. package/dist/types/Func.mjs +8 -0
  268. package/dist/types/Func.mjs.map +1 -0
  269. package/dist/types/Gateway.mjs +24 -0
  270. package/dist/types/Gateway.mjs.map +1 -0
  271. package/dist/types/Get.mjs +13 -0
  272. package/dist/types/Get.mjs.map +1 -0
  273. package/dist/types/Id.mjs +13 -0
  274. package/dist/types/Id.mjs.map +1 -0
  275. package/dist/types/IdName.mjs +1 -0
  276. package/dist/types/IdName.mjs.map +1 -0
  277. package/dist/types/Identity.mjs +1 -0
  278. package/dist/types/Identity.mjs.map +1 -0
  279. package/dist/types/Indexed.mjs +15 -0
  280. package/dist/types/Indexed.mjs.map +1 -0
  281. package/dist/types/Is.mjs +42 -0
  282. package/dist/types/Is.mjs.map +1 -0
  283. package/dist/types/IsA.mjs +16 -0
  284. package/dist/types/IsA.mjs.map +1 -0
  285. package/dist/types/IsDate.mjs +14 -0
  286. package/dist/types/IsDate.mjs.map +1 -0
  287. package/dist/types/IsEqual.mjs +30 -0
  288. package/dist/types/IsEqual.mjs.map +1 -0
  289. package/dist/types/Json.mjs +29 -0
  290. package/dist/types/Json.mjs.map +1 -0
  291. package/dist/types/List.mjs +27 -0
  292. package/dist/types/List.mjs.map +1 -0
  293. package/dist/types/Message.mjs +11 -0
  294. package/dist/types/Message.mjs.map +1 -0
  295. package/dist/types/Meta.mjs +19 -0
  296. package/dist/types/Meta.mjs.map +1 -0
  297. package/dist/types/Nullish.mjs +8 -0
  298. package/dist/types/Nullish.mjs.map +1 -0
  299. package/dist/types/Number.mjs +30 -0
  300. package/dist/types/Number.mjs.map +1 -0
  301. package/dist/types/Object.mjs +24 -0
  302. package/dist/types/Object.mjs.map +1 -0
  303. package/dist/types/PageList.mjs +40 -0
  304. package/dist/types/PageList.mjs.map +1 -0
  305. package/dist/types/Parser.mjs +80 -0
  306. package/dist/types/Parser.mjs.map +1 -0
  307. package/dist/types/Primitive.mjs +9 -0
  308. package/dist/types/Primitive.mjs.map +1 -0
  309. package/dist/types/Repository.mjs +24 -0
  310. package/dist/types/Repository.mjs.map +1 -0
  311. package/dist/types/Result.mjs +23 -0
  312. package/dist/types/Result.mjs.map +1 -0
  313. package/dist/types/Results.mjs +26 -0
  314. package/dist/types/Results.mjs.map +1 -0
  315. package/dist/types/Sort.mjs +10 -0
  316. package/dist/types/Sort.mjs.map +1 -0
  317. package/dist/types/Tag.mjs +26 -0
  318. package/dist/types/Tag.mjs.map +1 -0
  319. package/dist/types/Template.mjs +21 -0
  320. package/dist/types/Template.mjs.map +1 -0
  321. package/dist/types/Text.mjs +21 -0
  322. package/dist/types/Text.mjs.map +1 -0
  323. package/dist/types/ToText.mjs +23 -0
  324. package/dist/types/ToText.mjs.map +1 -0
  325. package/dist/types/Try.mjs +31 -0
  326. package/dist/types/Try.mjs.map +1 -0
  327. package/dist/types/TypeGuard.mjs +1 -0
  328. package/dist/types/TypeGuard.mjs.map +1 -0
  329. package/dist/types/Types.mjs +1 -0
  330. package/dist/types/Types.mjs.map +1 -0
  331. package/dist/types/Uri.mjs +119 -0
  332. package/dist/types/Uri.mjs.map +1 -0
  333. package/dist/types/Uuid.mjs +16 -0
  334. package/dist/types/Uuid.mjs.map +1 -0
  335. package/dist/types/Validatable.mjs +13 -0
  336. package/dist/types/Validatable.mjs.map +1 -0
  337. package/dist/types/Value.mjs +14 -0
  338. package/dist/types/Value.mjs.map +1 -0
  339. package/dist/utils/Base64.mjs +12 -0
  340. package/dist/utils/Base64.mjs.map +1 -0
  341. package/dist/utils/Convert.mjs +14 -0
  342. package/dist/utils/Convert.mjs.map +1 -0
  343. package/dist/utils/If.mjs +25 -0
  344. package/dist/utils/If.mjs.map +1 -0
  345. package/dist/utils/Loading.mjs +11 -0
  346. package/dist/utils/Loading.mjs.map +1 -0
  347. package/dist/utils/Log.mjs +21 -0
  348. package/dist/utils/Log.mjs.map +1 -0
  349. package/dist/utils/Mapper.mjs +28 -0
  350. package/dist/utils/Mapper.mjs.map +1 -0
  351. package/dist/utils/Promise.mjs +35 -0
  352. package/dist/utils/Promise.mjs.map +1 -0
  353. package/dist/utils/Property.mjs +13 -0
  354. package/dist/utils/Property.mjs.map +1 -0
  355. package/dist/utils/Seconds.mjs +18 -0
  356. package/dist/utils/Seconds.mjs.map +1 -0
  357. package/dist/utils/Sentence.mjs +71 -0
  358. package/dist/utils/Sentence.mjs.map +1 -0
  359. package/dist/utils/State.mjs +12 -0
  360. package/dist/utils/State.mjs.map +1 -0
  361. package/dist/utils/Traverse.mjs +12 -0
  362. package/dist/utils/Traverse.mjs.map +1 -0
  363. package/dist/utils/View.mjs +41 -0
  364. package/dist/utils/View.mjs.map +1 -0
  365. package/dist/utils/Wait.mjs +17 -0
  366. package/dist/utils/Wait.mjs.map +1 -0
  367. package/dist/validation/Contraints.mjs +65 -0
  368. package/dist/validation/Contraints.mjs.map +1 -0
  369. package/dist/validation/Validate.mjs +35 -0
  370. package/dist/validation/Validate.mjs.map +1 -0
  371. package/dist/validation/When.mjs +31 -0
  372. package/dist/validation/When.mjs.map +1 -0
  373. package/package.json +4 -13
@@ -0,0 +1,26 @@
1
+ import {
2
+ SqlQuery
3
+ } from "./chunk-WLTLSV2I.mjs";
4
+ import {
5
+ toClause
6
+ } from "./chunk-OKPGJD64.mjs";
7
+ import {
8
+ ifGet
9
+ } from "./chunk-SJGQU3OG.mjs";
10
+
11
+ // src/sql/Update.ts
12
+ var Update = class extends SqlQuery {
13
+ constructor(table, fields) {
14
+ super(table);
15
+ this.table = table;
16
+ this.fields = fields;
17
+ }
18
+ toString() {
19
+ return `UPDATE ${this.table} SET ${Object.entries(this.fields).map(([k, v]) => toClause(k, "=", v)).join(", ")} OUTPUT INSERTED.*` + ifGet(this.clauses.length, ` WHERE ${this.clauses.join(" AND ")};`, ";");
20
+ }
21
+ };
22
+
23
+ export {
24
+ Update
25
+ };
26
+ //# sourceMappingURL=chunk-2AB6ZQHC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sql/Update.ts"],"sourcesContent":["import { SqlQuery } from './SqlQuery';\nimport { toClause } from './Clause';\nimport { Table } from './Table';\nimport { Json } from '../types/Json';\nimport { ifGet } from '../types/Get';\n\nexport class Update extends SqlQuery {\n constructor(\n protected table: Table,\n protected fields: Json\n ) {\n super(table);\n }\n\n toString(): string {\n return (\n `UPDATE ${this.table} ` +\n `SET ${Object.entries(this.fields)\n .map(([k, v]) => toClause(k, '=', v))\n .join(', ')} ` +\n 'OUTPUT INSERTED.*' +\n ifGet(this.clauses.length, ` WHERE ${this.clauses.join(' AND ')};`, ';')\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAMO,IAAM,SAAN,cAAqB,SAAS;AAAA,EACnC,YACY,OACA,QACV;AACA,UAAM,KAAK;AAHD;AACA;AAAA,EAGZ;AAAA,EAEA,WAAmB;AACjB,WACE,UAAU,KAAK,KAAK,QACb,OAAO,QAAQ,KAAK,MAAM,EAC9B,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,EACnC,KAAK,IAAI,CAAC,uBAEb,MAAM,KAAK,QAAQ,QAAQ,UAAU,KAAK,QAAQ,KAAK,OAAO,CAAC,KAAK,GAAG;AAAA,EAE3E;AACF;","names":[]}
@@ -0,0 +1,55 @@
1
+ import {
2
+ HttpStatus,
3
+ isHttpStatus
4
+ } from "./chunk-VBZTERRM.mjs";
5
+ import {
6
+ isResponse
7
+ } from "./chunk-UYDZZAEK.mjs";
8
+ import {
9
+ choose
10
+ } from "./chunk-LGLRWA42.mjs";
11
+ import {
12
+ isResults
13
+ } from "./chunk-SCVGZWV7.mjs";
14
+ import {
15
+ isResult,
16
+ toResult
17
+ } from "./chunk-RS7CT7BU.mjs";
18
+ import {
19
+ toList
20
+ } from "./chunk-HOVTNDHS.mjs";
21
+ import {
22
+ isDefined,
23
+ isError
24
+ } from "./chunk-DEJ7A5PY.mjs";
25
+
26
+ // src/http/RestResult.ts
27
+ var hasErrors = (a) => isDefined(a?.error?.errors);
28
+ var hasItems = (a) => isDefined(a?.data.items);
29
+ var rest = {
30
+ toData: (status, items = [], totalItems, meta) => ({
31
+ data: {
32
+ code: status.status,
33
+ items: toList(items),
34
+ itemCount: items.length,
35
+ totalItems,
36
+ meta
37
+ }
38
+ }),
39
+ toError: (status, errors = [toResult(status.name)]) => ({
40
+ error: {
41
+ code: status.status,
42
+ message: status.name ?? errors[0].message ?? "Unknown",
43
+ errors: toList(errors),
44
+ errorCount: errors.length
45
+ }
46
+ }),
47
+ to: (payload, status) => choose(payload).is.not.defined((p) => p, void 0).type(isHttpStatus, (h) => rest.toError(h ?? status ?? HttpStatus.InternalServerError, [toResult(h.name)])).type(isResult, (r) => rest.toError(status ?? HttpStatus.BadRequest, [r])).type(isError, (e) => rest.toError(status ?? HttpStatus.BadRequest, [e])).type(isResults, (r) => rest.toError(status ?? HttpStatus.BadRequest, r.results)).type(isResponse, (r) => rest.toError(status ?? HttpStatus.byId(r.body.error?.code), r.body.error?.errors)).type(hasErrors, (e) => rest.toError(status ?? HttpStatus.byId(e.error.code, HttpStatus.BadRequest), e.error.errors)).type(hasItems, (d) => rest.toData(status ?? HttpStatus.byId(d.data.code, HttpStatus.Ok), d.data.items, d.data.totalItems, d.data.meta)).else((p) => rest.toData(status ?? HttpStatus.Ok, toList(p)))
48
+ };
49
+ var isRestResult = (r) => isDefined(r) && (isDefined(r.data) || isDefined(r.error));
50
+
51
+ export {
52
+ rest,
53
+ isRestResult
54
+ };
55
+ //# sourceMappingURL=chunk-4DJUHTQO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/http/RestResult.ts"],"sourcesContent":["import { HttpStatus, isHttpStatus } from './HttpStatus';\nimport { isResponse } from './Response';\nimport { List, toList } from '../types/List';\nimport { Json } from '../types/Json';\nimport { isResult, Result, toResult } from '../types/Result';\nimport { isDefined, isError } from '../types/Is';\nimport { choose } from '../types/Case';\nimport { isResults } from '../types/Results';\nimport { Id } from '../types/Id';\n\nexport type RestResult = {\n data?: { code: number; items: List<Json>; itemCount: number; totalItems?: number; meta?: Json };\n error?: { code: number; message: string; errorCount: number; errors: List<Result> };\n};\n\nconst hasErrors = (a: any): a is { error: { code: number; errors: List<Result> } } => isDefined(a?.error?.errors);\nconst hasItems = (a: any): a is { data: { code: number; items: List<Json>; totalItems?: number; meta?: Json } } => isDefined(a?.data.items);\n\nexport const rest = {\n toData: (status: HttpStatus, items: Json[] = [], totalItems?: number, meta?: Json): RestResult => ({\n data: {\n code: status.status,\n items: toList(items),\n itemCount: items.length,\n totalItems,\n meta,\n },\n }),\n toError: (status: HttpStatus, errors: Result[] = [toResult(status.name)]): RestResult => ({\n error: {\n code: status.status,\n message: status.name ?? errors[0].message ?? 'Unknown',\n errors: toList(errors),\n errorCount: errors.length,\n },\n }),\n to: (payload?: any | any[], status?: HttpStatus): RestResult =>\n choose(payload)\n .is.not.defined(p => p, undefined as unknown as RestResult)\n .type(isHttpStatus, h => rest.toError(h ?? status ?? HttpStatus.InternalServerError, [toResult(h.name)]))\n .type(isResult, r => rest.toError(status ?? HttpStatus.BadRequest, [r]))\n .type(isError, e => rest.toError(status ?? HttpStatus.BadRequest, [e]))\n .type(isResults, r => rest.toError(status ?? HttpStatus.BadRequest, r.results))\n .type(isResponse, r => rest.toError(status ?? HttpStatus.byId(r.body.error?.code as Id), r.body.error?.errors))\n .type(hasErrors, e => rest.toError(status ?? HttpStatus.byId(e.error.code, HttpStatus.BadRequest), e.error.errors))\n .type(hasItems, d => rest.toData(status ?? HttpStatus.byId(d.data.code, HttpStatus.Ok), d.data.items, d.data.totalItems, d.data.meta))\n .else(p => rest.toData(status ?? HttpStatus.Ok, toList(p))),\n};\n\nexport const isRestResult = (r: unknown): r is RestResult => isDefined(r) && (isDefined((r as RestResult).data) || isDefined((r as RestResult).error));\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAM,YAAY,CAAC,MAAmE,UAAU,GAAG,OAAO,MAAM;AAChH,IAAM,WAAW,CAAC,MAAiG,UAAU,GAAG,KAAK,KAAK;AAEnI,IAAM,OAAO;AAAA,EAClB,QAAQ,CAAC,QAAoB,QAAgB,CAAC,GAAG,YAAqB,UAA6B;AAAA,IACjG,MAAM;AAAA,MACJ,MAAM,OAAO;AAAA,MACb,OAAO,OAAO,KAAK;AAAA,MACnB,WAAW,MAAM;AAAA,MACjB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS,CAAC,QAAoB,SAAmB,CAAC,SAAS,OAAO,IAAI,CAAC,OAAmB;AAAA,IACxF,OAAO;AAAA,MACL,MAAM,OAAO;AAAA,MACb,SAAS,OAAO,QAAQ,OAAO,CAAC,EAAE,WAAW;AAAA,MAC7C,QAAQ,OAAO,MAAM;AAAA,MACrB,YAAY,OAAO;AAAA,IACrB;AAAA,EACF;AAAA,EACA,IAAI,CAAC,SAAuB,WAC1B,OAAO,OAAO,EACX,GAAG,IAAI,QAAQ,OAAK,GAAG,MAAkC,EACzD,KAAK,cAAc,OAAK,KAAK,QAAQ,KAAK,UAAU,WAAW,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EACvG,KAAK,UAAU,OAAK,KAAK,QAAQ,UAAU,WAAW,YAAY,CAAC,CAAC,CAAC,CAAC,EACtE,KAAK,SAAS,OAAK,KAAK,QAAQ,UAAU,WAAW,YAAY,CAAC,CAAC,CAAC,CAAC,EACrE,KAAK,WAAW,OAAK,KAAK,QAAQ,UAAU,WAAW,YAAY,EAAE,OAAO,CAAC,EAC7E,KAAK,YAAY,OAAK,KAAK,QAAQ,UAAU,WAAW,KAAK,EAAE,KAAK,OAAO,IAAU,GAAG,EAAE,KAAK,OAAO,MAAM,CAAC,EAC7G,KAAK,WAAW,OAAK,KAAK,QAAQ,UAAU,WAAW,KAAK,EAAE,MAAM,MAAM,WAAW,UAAU,GAAG,EAAE,MAAM,MAAM,CAAC,EACjH,KAAK,UAAU,OAAK,KAAK,OAAO,UAAU,WAAW,KAAK,EAAE,KAAK,MAAM,WAAW,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,CAAC,EACpI,KAAK,OAAK,KAAK,OAAO,UAAU,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC;AAChE;AAEO,IAAM,eAAe,CAAC,MAAgC,UAAU,CAAC,MAAM,UAAW,EAAiB,IAAI,KAAK,UAAW,EAAiB,KAAK;","names":[]}
@@ -0,0 +1,20 @@
1
+ import {
2
+ Enum
3
+ } from "./chunk-UXADDXCJ.mjs";
4
+
5
+ // src/http/HttpVerb.ts
6
+ var HttpVerb = class _HttpVerb extends Enum {
7
+ static Get = new _HttpVerb("Get");
8
+ static Put = new _HttpVerb("Put");
9
+ static Patch = new _HttpVerb("Patch");
10
+ static Post = new _HttpVerb("Post");
11
+ static Delete = new _HttpVerb("Delete");
12
+ constructor(name) {
13
+ super(name, name.toLowerCase(), name.toUpperCase());
14
+ }
15
+ };
16
+
17
+ export {
18
+ HttpVerb
19
+ };
20
+ //# sourceMappingURL=chunk-4HWEQEHM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/http/HttpVerb.ts"],"sourcesContent":["import { Enum } from '../types/Enum';\n\nexport class HttpVerb extends Enum {\n static Get = new HttpVerb('Get');\n static Put = new HttpVerb('Put');\n static Patch = new HttpVerb('Patch');\n static Post = new HttpVerb('Post');\n static Delete = new HttpVerb('Delete');\n\n constructor(name: string) {\n super(name, name.toLowerCase(), name.toUpperCase());\n }\n}\n"],"mappings":";;;;;AAEO,IAAM,WAAN,MAAM,kBAAiB,KAAK;AAAA,EACjC,OAAO,MAAM,IAAI,UAAS,KAAK;AAAA,EAC/B,OAAO,MAAM,IAAI,UAAS,KAAK;AAAA,EAC/B,OAAO,QAAQ,IAAI,UAAS,OAAO;AAAA,EACnC,OAAO,OAAO,IAAI,UAAS,MAAM;AAAA,EACjC,OAAO,SAAS,IAAI,UAAS,QAAQ;AAAA,EAErC,YAAY,MAAc;AACxB,UAAM,MAAM,KAAK,YAAY,GAAG,KAAK,YAAY,CAAC;AAAA,EACpD;AACF;","names":[]}
@@ -0,0 +1,16 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __decorateClass = (decorators, target, key, kind) => {
4
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
+ if (decorator = decorators[i])
7
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8
+ if (kind && result)
9
+ __defProp(target, key, result);
10
+ return result;
11
+ };
12
+
13
+ export {
14
+ __decorateClass
15
+ };
16
+ //# sourceMappingURL=chunk-4N72FQFX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -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-LGLRWA42.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-4SWYJEN5.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,37 @@
1
+ import {
2
+ ifDefined,
3
+ toList
4
+ } from "./chunk-HOVTNDHS.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-4VZHB642.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,21 @@
1
+ // src/types/IsDate.ts
2
+ var isDate = (o) => o instanceof Date && !isNaN(o.getTime());
3
+ var days = {
4
+ add: (date, days2) => {
5
+ date.setDate(date.getDate() + days2);
6
+ return date;
7
+ },
8
+ today: () => /* @__PURE__ */ new Date(),
9
+ yesterday: () => days.add(days.today(), -1),
10
+ tomorrow: () => days.add(days.today(), 1)
11
+ };
12
+ var inPast = (o) => isDate(o) && o <= days.today();
13
+ var inFuture = (o) => isDate(o) && o > days.today();
14
+
15
+ export {
16
+ isDate,
17
+ days,
18
+ inPast,
19
+ inFuture
20
+ };
21
+ //# sourceMappingURL=chunk-ADJAEGCT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/IsDate.ts"],"sourcesContent":["export const isDate = (o?: unknown): o is Date => o instanceof Date && !isNaN(o.getTime());\n\nexport const days = {\n add: (date: Date, days: number): Date => {\n date.setDate(date.getDate() + days);\n return date;\n },\n today: (): Date => new Date(),\n yesterday: (): Date => days.add(days.today(), -1),\n tomorrow: (): Date => days.add(days.today(), 1),\n};\n\nexport const inPast = (o?: unknown): boolean => isDate(o) && o <= days.today();\n\nexport const inFuture = (o?: unknown): boolean => isDate(o) && o > days.today();\n"],"mappings":";AAAO,IAAM,SAAS,CAAC,MAA2B,aAAa,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;AAElF,IAAM,OAAO;AAAA,EAClB,KAAK,CAAC,MAAYA,UAAuB;AACvC,SAAK,QAAQ,KAAK,QAAQ,IAAIA,KAAI;AAClC,WAAO;AAAA,EACT;AAAA,EACA,OAAO,MAAY,oBAAI,KAAK;AAAA,EAC5B,WAAW,MAAY,KAAK,IAAI,KAAK,MAAM,GAAG,EAAE;AAAA,EAChD,UAAU,MAAY,KAAK,IAAI,KAAK,MAAM,GAAG,CAAC;AAChD;AAEO,IAAM,SAAS,CAAC,MAAyB,OAAO,CAAC,KAAK,KAAK,KAAK,MAAM;AAEtE,IAAM,WAAW,CAAC,MAAyB,OAAO,CAAC,KAAK,IAAI,KAAK,MAAM;","names":["days"]}
@@ -0,0 +1,11 @@
1
+ import {
2
+ toUuid
3
+ } from "./chunk-SJ4YFZKO.mjs";
4
+
5
+ // src/types/Id.ts
6
+ var toId = () => toUuid();
7
+
8
+ export {
9
+ toId
10
+ };
11
+ //# sourceMappingURL=chunk-AGTB4HMP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Id.ts"],"sourcesContent":["import { toUuid } from './Uuid';\n\nexport type Id = string | number;\nexport type Key = Id;\nexport type Code = Id;\nexport type HasId = { id: Id };\n\nexport const toId = (): Id => toUuid();\n"],"mappings":";;;;;AAOO,IAAM,OAAO,MAAU,OAAO;","names":[]}
@@ -0,0 +1,29 @@
1
+ import {
2
+ ofGet
3
+ } from "./chunk-SJGQU3OG.mjs";
4
+ import {
5
+ isFunc
6
+ } from "./chunk-PIRWVOO2.mjs";
7
+ import {
8
+ isDefined
9
+ } from "./chunk-DEJ7A5PY.mjs";
10
+
11
+ // src/types/Text.ts
12
+ var isText = (t) => isDefined(t) && isFunc(t.toString);
13
+ var asString = (t, alt = "") => (isText(t) ? t : ofGet(alt)).toString();
14
+ var replaceAll = (origin, search, replace = "") => asString(origin).split(asString(search)).join(asString(replace));
15
+ var toWords = (input) => {
16
+ return asString(input).replace(/(\p{Lower})(\p{Upper})/gu, "$1 $2").replace(/(\p{Upper})(\p{Upper}\p{Lower})/gu, "$1 $2").split(/[_\W]+/g).filter(Boolean);
17
+ };
18
+ var kebab = (s = "") => toWords(s).join("-").toLowerCase();
19
+ var capitalize = (s = "") => s.charAt(0).toUpperCase() + s.slice(1);
20
+
21
+ export {
22
+ isText,
23
+ asString,
24
+ replaceAll,
25
+ toWords,
26
+ kebab,
27
+ capitalize
28
+ };
29
+ //# sourceMappingURL=chunk-BDA5LB4S.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Text.ts"],"sourcesContent":["import { isDefined } from './Is';\nimport { isFunc } from './Func';\nimport { Get, ofGet } from './Get';\n\nexport type Text = { toString(): string };\n\nexport const isText = (t?: unknown): t is Text => isDefined(t) && isFunc<string, any>((t as any).toString);\n\nexport const asString = (t?: unknown, alt: Get<Text> = ''): string => (isText(t) ? t : ofGet(alt)).toString();\n\nexport const replaceAll = (origin: Text, search: Text, replace: Text = ''): string => asString(origin).split(asString(search)).join(asString(replace));\n\nexport const toWords = (input: unknown): string[] => {\n return asString(input)\n .replace(/(\\p{Lower})(\\p{Upper})/gu, '$1 $2')\n .replace(/(\\p{Upper})(\\p{Upper}\\p{Lower})/gu, '$1 $2')\n .split(/[_\\W]+/g)\n .filter(Boolean);\n};\n\nexport const kebab = (s = ''): string => toWords(s).join('-').toLowerCase();\n\nexport const capitalize = (s = ''): string => s.charAt(0).toUpperCase() + s.slice(1);\n"],"mappings":";;;;;;;;;;;AAMO,IAAM,SAAS,CAAC,MAA2B,UAAU,CAAC,KAAK,OAAqB,EAAU,QAAQ;AAElG,IAAM,WAAW,CAAC,GAAa,MAAiB,QAAgB,OAAO,CAAC,IAAI,IAAI,MAAM,GAAG,GAAG,SAAS;AAErG,IAAM,aAAa,CAAC,QAAc,QAAc,UAAgB,OAAe,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,CAAC,EAAE,KAAK,SAAS,OAAO,CAAC;AAE9I,IAAM,UAAU,CAAC,UAA6B;AACnD,SAAO,SAAS,KAAK,EAClB,QAAQ,4BAA4B,OAAO,EAC3C,QAAQ,qCAAqC,OAAO,EACpD,MAAM,SAAS,EACf,OAAO,OAAO;AACnB;AAEO,IAAM,QAAQ,CAAC,IAAI,OAAe,QAAQ,CAAC,EAAE,KAAK,GAAG,EAAE,YAAY;AAEnE,IAAM,aAAa,CAAC,IAAI,OAAe,EAAE,OAAO,CAAC,EAAE,YAAY,IAAI,EAAE,MAAM,CAAC;","names":[]}
@@ -0,0 +1,134 @@
1
+ import {
2
+ State
3
+ } from "./chunk-WJZFE5NE.mjs";
4
+ import {
5
+ Property
6
+ } from "./chunk-GCY5A63A.mjs";
7
+ import {
8
+ json
9
+ } from "./chunk-LKTTPV6U.mjs";
10
+ import {
11
+ meta
12
+ } from "./chunk-FN7HN3YK.mjs";
13
+ import {
14
+ ifNotEmpty,
15
+ toList
16
+ } from "./chunk-HOVTNDHS.mjs";
17
+ import {
18
+ ofGet
19
+ } from "./chunk-SJGQU3OG.mjs";
20
+ import {
21
+ isA
22
+ } from "./chunk-ZHXKBOK2.mjs";
23
+ import {
24
+ ofConstruct
25
+ } from "./chunk-ZPNFXK7Y.mjs";
26
+ import {
27
+ isEmpty
28
+ } from "./chunk-DEJ7A5PY.mjs";
29
+
30
+ // src/utils/Mapper.ts
31
+ var isMapping = (m) => isA(m, "in", "out");
32
+ var Mapper = class extends State {
33
+ constructor(options = { startFrom: "scratch" }, property = "") {
34
+ super();
35
+ this.options = options;
36
+ this.property = property;
37
+ }
38
+ map = mappings;
39
+ // All properties that are a mapping
40
+ get properties() {
41
+ return this.get(
42
+ "props",
43
+ () => meta(this).entries().filter(([, v]) => isMapping(v))
44
+ );
45
+ }
46
+ // All names of properties (in target) that have a Mapping
47
+ get keys() {
48
+ return this.get("keys", () => this.properties.map(([k]) => k));
49
+ }
50
+ // All names of properties (in source) that are named in a Mapping
51
+ get columns() {
52
+ return this.get("columns", () => this.properties.mapDefined(([, p]) => ifNotEmpty(p.property, p.property))).distinct();
53
+ }
54
+ // All names of properties (in source) that are NOT properties in target
55
+ get droppedIn() {
56
+ return this.get("droppedIn", () => this.columns.filter((c) => !this.keys.some((k) => k === c)));
57
+ }
58
+ // All names op properties (in target) that are NOT properties in source
59
+ get droppedOut() {
60
+ return this.get("droppedOut", () => this.properties.filter(([, p]) => !this.keys.some((k) => k === p.property)).map(([k]) => k));
61
+ }
62
+ in(from = {}) {
63
+ return json.omit(
64
+ this.properties.reduce((a, [k, p]) => json.merge(a, { [k]: p.in({ ...a, ...from }) }), this.options.startFrom === "source" ? from : {}),
65
+ ...this.droppedIn
66
+ );
67
+ }
68
+ out(to = {}) {
69
+ return json.omit(
70
+ this.properties.reduce(
71
+ (a, [k, p]) => json.merge(a, isEmpty(p.property) ? p.out(to, k) : { [p.property ?? ""]: p.out({ ...a, ...to }, k) }),
72
+ this.options.startFrom === "source" ? to : {}
73
+ ),
74
+ ...this.droppedOut
75
+ );
76
+ }
77
+ toString() {
78
+ return this.constructor.name;
79
+ }
80
+ };
81
+ var mappings = {
82
+ item: (property, options) => new Property(property, options),
83
+ ignore: (property = "") => ({
84
+ property,
85
+ in: () => void 0,
86
+ out: () => void 0
87
+ }),
88
+ skipIn: (property) => ({
89
+ property,
90
+ in: () => void 0,
91
+ out: (source = {}) => source[property]
92
+ }),
93
+ skipOut: (property) => ({
94
+ property,
95
+ in: (source = {}) => source[property],
96
+ out: () => void 0
97
+ }),
98
+ func: (property, funcIn, funcOut) => ({
99
+ property,
100
+ in: (source = {}) => ofGet(funcIn, source),
101
+ out: (source = {}) => ofGet(funcOut, source)
102
+ }),
103
+ add: (funcIn) => ({
104
+ property: "",
105
+ in: (source = {}) => ofGet(funcIn, source),
106
+ out: () => void 0
107
+ }),
108
+ map: (mapper, property = "") => ({
109
+ property,
110
+ in: (source = {}) => ofConstruct(mapper).in(isEmpty(property) ? source : source[property]),
111
+ out: (source = {}, key = "") => ofConstruct(mapper).out(isEmpty(key) ? source : source[key])
112
+ }),
113
+ propsToList: (...maps) => ({
114
+ property: "",
115
+ in: (source = {}) => toList(maps.map((m) => ofConstruct(m).in(source))).toJSON(),
116
+ out: (source = {}, key = "") => maps.reduce((a, m, i) => {
117
+ const res = toList(source[key])[i];
118
+ const out = m.out(res);
119
+ return { ...a, [m.property]: out ?? {} };
120
+ }, {})
121
+ }),
122
+ list: (mapper, property) => ({
123
+ property,
124
+ in: (source = {}) => toList(source[property]).map((v) => mapper.in(v)).toJSON(),
125
+ out: (source = {}, key = "") => toList(isEmpty(key) ? source : source[key]).map((v) => mapper.out(v)).toJSON()
126
+ })
127
+ };
128
+
129
+ export {
130
+ isMapping,
131
+ Mapper,
132
+ mappings
133
+ };
134
+ //# sourceMappingURL=chunk-BZOYP6X7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/Mapper.ts"],"sourcesContent":["import { Property, PropertyOptions } from './Property';\nimport { State } from './State';\nimport { ifNotEmpty } from './If';\nimport { json, Json, JsonValue } from '../types/Json';\nimport { Optional } from '../types/Types';\nimport { TypeGuard } from '../types/TypeGuard';\nimport { isA } from '../types/IsA';\nimport { List, toList } from '../types/List';\nimport { meta } from '../types/Meta';\nimport { isEmpty } from '../types/Is';\nimport { Get, ofGet } from '../types/Get';\nimport { Construct, ofConstruct } from '../types/Constructor';\n\nexport type Mapping = {\n property: string;\n in: (source?: Json, key?: string) => Optional<JsonValue>;\n out: (source?: Json, key?: string) => Optional<JsonValue>;\n};\nexport const isMapping: TypeGuard<Mapping> = (m?: unknown): m is Mapping => isA<Mapping>(m, 'in', 'out');\n\nexport type MapStartFrom = 'scratch' | 'source';\nexport type MapOptions = { startFrom: MapStartFrom };\n\nexport class Mapper extends State implements Mapping {\n protected readonly map = mappings;\n\n constructor(\n readonly options: MapOptions = { startFrom: 'scratch' },\n readonly property = ''\n ) {\n super();\n }\n\n // All properties that are a mapping\n get properties(): List<[string, Mapping]> {\n return this.get('props', () =>\n meta(this)\n .entries<Mapping>()\n .filter(([, v]) => isMapping(v))\n );\n }\n\n // All names of properties (in target) that have a Mapping\n get keys(): List<string> {\n return this.get('keys', () => this.properties.map(([k]) => k));\n }\n\n // All names of properties (in source) that are named in a Mapping\n get columns(): List<string> {\n return this.get('columns', () => this.properties.mapDefined(([, p]) => ifNotEmpty(p.property, p.property))).distinct();\n }\n\n // All names of properties (in source) that are NOT properties in target\n private get droppedIn(): List<string> {\n return this.get('droppedIn', () => this.columns.filter(c => !this.keys.some(k => k === c)));\n }\n\n // All names op properties (in target) that are NOT properties in source\n private get droppedOut(): List<string> {\n return this.get('droppedOut', () => this.properties.filter(([, p]) => !this.keys.some(k => k === p.property)).map(([k]) => k));\n }\n\n public in(from: Json = {}): Json {\n return json.omit(\n this.properties.reduce((a, [k, p]) => json.merge(a, { [k]: p.in({ ...a, ...from }) }), this.options.startFrom === 'source' ? from : {}),\n ...this.droppedIn\n );\n }\n\n public out(to: Json = {}): Json {\n return json.omit(\n this.properties.reduce(\n (a, [k, p]) => json.merge(a, isEmpty(p.property) ? p.out(to, k) : { [p.property ?? '']: p.out({ ...a, ...to }, k) }),\n this.options.startFrom === 'source' ? to : {}\n ),\n ...this.droppedOut\n );\n }\n\n toString(): string {\n return this.constructor.name;\n }\n}\n\nexport const mappings = {\n item: (property: string, options?: PropertyOptions): Property => new Property(property, options),\n ignore: (property = ''): Mapping => ({\n property,\n in: (): Optional<JsonValue> => undefined,\n out: (): Optional<JsonValue> => undefined,\n }),\n skipIn: (property: string): Mapping => ({\n property,\n in: (): Optional<JsonValue> => undefined,\n out: (source: Json = {}): JsonValue => source[property],\n }),\n skipOut: (property: string): Mapping => ({\n property,\n in: (source: Json = {}): JsonValue => source[property],\n out: (): Optional<JsonValue> => undefined,\n }),\n func: (property: string, funcIn: Get<Optional<JsonValue>, Json>, funcOut: Get<Optional<JsonValue>, Json>): Mapping => ({\n property,\n in: (source: Json = {}): Optional<JsonValue> => ofGet(funcIn, source),\n out: (source: Json = {}): Optional<JsonValue> => ofGet(funcOut, source),\n }),\n add: (funcIn: Get<JsonValue, Json>): Mapping => ({\n property: '',\n in: (source: Json = {}): JsonValue => ofGet(funcIn, source),\n out: (): Optional<JsonValue> => undefined,\n }),\n map: (mapper: Construct<Mapper>, property = ''): Mapping => ({\n property,\n in: (source: Json = {}): JsonValue => ofConstruct(mapper).in(isEmpty(property) ? source : (source[property] as Json)),\n out: (source: Json = {}, key = ''): JsonValue => ofConstruct(mapper).out(isEmpty(key) ? source : (source[key] as Json)),\n }),\n propsToList: (...maps: Mapping[]): Mapping => ({\n property: '',\n in: (source: Json = {}): JsonValue => toList(maps.map(m => ofConstruct(m).in(source))).toJSON(),\n out: (source: Json = {}, key = ''): JsonValue =>\n maps.reduce((a: Json, m, i) => {\n const res = toList(source[key])[i];\n const out = m.out(res as Json);\n return { ...a, [m.property]: out ?? {} };\n }, {}),\n }),\n list: (mapper: Mapping, property: string): Mapping => ({\n property,\n in: (source: Json = {}): JsonValue =>\n toList(source[property])\n .map((v: any) => mapper.in(v))\n .toJSON(),\n out: (source: Json = {}, key = ''): JsonValue =>\n toList(isEmpty(key) ? source : (source[key] as Json))\n .map((v: any) => mapper.out(v))\n .toJSON(),\n }),\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,43 @@
1
+ import {
2
+ on,
3
+ use
4
+ } from "./chunk-ZPNFXK7Y.mjs";
5
+ import {
6
+ isArray,
7
+ isDefined
8
+ } from "./chunk-DEJ7A5PY.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
+ chunk: (items = [], length = 2) => {
31
+ const chunks = Math.ceil(items.length / length);
32
+ const res = Array.from({ length: chunks }, () => []);
33
+ items.forEach((i, index) => res[Math.floor(index / chunks)].push(i));
34
+ return res;
35
+ }
36
+ };
37
+
38
+ export {
39
+ toArray,
40
+ toObject,
41
+ array
42
+ };
43
+ //# sourceMappingURL=chunk-CO2AFYVD.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 chunk: <T>(items: T[] = [], length = 2): T[][] => {\n const chunks = Math.ceil(items.length / length);\n const res: T[][] = Array.from({ length: chunks }, () => []);\n items.forEach((i, index) => res[Math.floor(index / chunks)].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;AAAA,EACA,OAAO,CAAI,QAAa,CAAC,GAAG,SAAS,MAAa;AAChD,UAAM,SAAS,KAAK,KAAK,MAAM,SAAS,MAAM;AAC9C,UAAM,MAAa,MAAM,KAAK,EAAE,QAAQ,OAAO,GAAG,MAAM,CAAC,CAAC;AAC1D,UAAM,QAAQ,CAAC,GAAG,UAAU,IAAI,KAAK,MAAM,QAAQ,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;AACnE,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,54 @@
1
+ import {
2
+ SqlQuery
3
+ } from "./chunk-WLTLSV2I.mjs";
4
+ import {
5
+ toList
6
+ } from "./chunk-HOVTNDHS.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-D7UFAVDX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sql/Select.ts"],"sourcesContent":["import { Column, OrderColumn } from './Column';\nimport { Join } from './Join';\nimport { SqlQuery } from './SqlQuery';\nimport { Table } from './Table';\nimport { List, toList } from '../types/List';\nimport { ifGet } from '../types/Get';\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(\n table: Table | Join,\n readonly columns: List<Column> = toList()\n ) {\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":";;;;;;;;;;;AAOO,IAAM,SAAN,cAAqB,SAAS;AAAA,EAOnC,YACE,OACS,UAAwB,OAAO,GACxC;AACA,UAAM,KAAK;AAFF;AAAA,EAGX;AAAA,EAXU,UAA6B,OAAO;AAAA,EACpC,UAAwB,OAAO;AAAA,EAC/B,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AAAA,EASpB,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":[]}