@thisisagile/easy 15.29.2 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (619) hide show
  1. package/dist/{chunk-3MOFYE2N.mjs → chunk-2ZUDYGPP.mjs} +5 -5
  2. package/dist/chunk-2ZUDYGPP.mjs.map +1 -0
  3. package/dist/{chunk-A5MC57TL.mjs → chunk-3L4RAR24.mjs} +9 -7
  4. package/dist/chunk-3L4RAR24.mjs.map +1 -0
  5. package/dist/chunk-45GNHDKA.mjs +27 -0
  6. package/dist/chunk-45GNHDKA.mjs.map +1 -0
  7. package/dist/{chunk-BAXNN36F.mjs → chunk-4DJNTF2D.mjs} +5 -3
  8. package/dist/chunk-4DJNTF2D.mjs.map +1 -0
  9. package/dist/chunk-4G6AW6D6.mjs +35 -0
  10. package/dist/chunk-4G6AW6D6.mjs.map +1 -0
  11. package/dist/{chunk-I5MPU33B.mjs → chunk-5WSP2IYF.mjs} +4 -4
  12. package/dist/chunk-5WSP2IYF.mjs.map +1 -0
  13. package/dist/{chunk-GCPVSACZ.mjs → chunk-5YM5CLOG.mjs} +2 -2
  14. package/dist/{chunk-GUSPHVF2.mjs → chunk-6BQEFLOS.mjs} +5 -3
  15. package/dist/chunk-6BQEFLOS.mjs.map +1 -0
  16. package/dist/{chunk-MRIELSWP.mjs → chunk-6VLC4Z4H.mjs} +2 -2
  17. package/dist/chunk-6VLC4Z4H.mjs.map +1 -0
  18. package/dist/chunk-6YVMQB26.mjs +94 -0
  19. package/dist/chunk-6YVMQB26.mjs.map +1 -0
  20. package/dist/{chunk-YHL2CUBI.mjs → chunk-73UD7JJL.mjs} +2 -2
  21. package/dist/chunk-73UD7JJL.mjs.map +1 -0
  22. package/dist/{chunk-2L3GZ6NK.mjs → chunk-7K4QMDUN.mjs} +2 -2
  23. package/dist/chunk-7K4QMDUN.mjs.map +1 -0
  24. package/dist/{chunk-S5RHU67S.mjs → chunk-7TJ4VCBE.mjs} +15 -9
  25. package/dist/chunk-7TJ4VCBE.mjs.map +1 -0
  26. package/dist/{chunk-NKHZO3ME.mjs → chunk-A2JYVEBB.mjs} +4 -4
  27. package/dist/chunk-A2JYVEBB.mjs.map +1 -0
  28. package/dist/{chunk-57QV3J5N.mjs → chunk-A62OK7XE.mjs} +10 -6
  29. package/dist/{chunk-57QV3J5N.mjs.map → chunk-A62OK7XE.mjs.map} +1 -1
  30. package/dist/{chunk-TQUDYF6E.mjs → chunk-APYISY5K.mjs} +2 -2
  31. package/dist/chunk-APYISY5K.mjs.map +1 -0
  32. package/dist/{chunk-XLFC44Y3.mjs → chunk-ARTSACXM.mjs} +17 -22
  33. package/dist/chunk-ARTSACXM.mjs.map +1 -0
  34. package/dist/chunk-ARZEQQW5.mjs +315 -0
  35. package/dist/chunk-ARZEQQW5.mjs.map +1 -0
  36. package/dist/chunk-CAHTK3AT.mjs +30 -0
  37. package/dist/chunk-CAHTK3AT.mjs.map +1 -0
  38. package/dist/{chunk-ARN4MTMY.mjs → chunk-D4K4MC24.mjs} +3 -3
  39. package/dist/chunk-D4K4MC24.mjs.map +1 -0
  40. package/dist/{chunk-624IHTEI.mjs → chunk-D5FLGKVR.mjs} +18 -12
  41. package/dist/chunk-D5FLGKVR.mjs.map +1 -0
  42. package/dist/{chunk-UWNXWKBU.mjs → chunk-DEJ7A5PY.mjs} +1 -35
  43. package/dist/chunk-DEJ7A5PY.mjs.map +1 -0
  44. package/dist/chunk-DXQSIBC7.mjs +13 -0
  45. package/dist/chunk-DXQSIBC7.mjs.map +1 -0
  46. package/dist/{chunk-SG6BDC6T.mjs → chunk-EDVJUOFU.mjs} +18 -12
  47. package/dist/chunk-EDVJUOFU.mjs.map +1 -0
  48. package/dist/{chunk-IWLJEAQZ.mjs → chunk-EIJ3GSGG.mjs} +5 -3
  49. package/dist/chunk-EIJ3GSGG.mjs.map +1 -0
  50. package/dist/chunk-FHW5K2RR.mjs +150 -0
  51. package/dist/chunk-FHW5K2RR.mjs.map +1 -0
  52. package/dist/{chunk-WYT52YAX.mjs → chunk-GSZLYZSW.mjs} +23 -11
  53. package/dist/chunk-GSZLYZSW.mjs.map +1 -0
  54. package/dist/{chunk-I3DRDMCS.mjs → chunk-HBJMCX2I.mjs} +3 -3
  55. package/dist/chunk-HBJMCX2I.mjs.map +1 -0
  56. package/dist/{chunk-2KKIXOMB.mjs → chunk-HNVAFEZP.mjs} +3 -3
  57. package/dist/{chunk-QRN4Y2QC.mjs → chunk-HV4CI2QX.mjs} +18 -12
  58. package/dist/chunk-HV4CI2QX.mjs.map +1 -0
  59. package/dist/chunk-IAXKOENJ.mjs +55 -0
  60. package/dist/chunk-IAXKOENJ.mjs.map +1 -0
  61. package/dist/chunk-J6KN572O.mjs +20 -0
  62. package/dist/chunk-J6KN572O.mjs.map +1 -0
  63. package/dist/chunk-J7XKOXMW.mjs +203 -0
  64. package/dist/chunk-J7XKOXMW.mjs.map +1 -0
  65. package/dist/{chunk-RFG5LNDQ.mjs → chunk-JBJ2YERG.mjs} +6 -4
  66. package/dist/{chunk-RFG5LNDQ.mjs.map → chunk-JBJ2YERG.mjs.map} +1 -1
  67. package/dist/{chunk-J64VE55O.mjs → chunk-JFJLDIJB.mjs} +10 -10
  68. package/dist/chunk-JFJLDIJB.mjs.map +1 -0
  69. package/dist/{chunk-F4CWMZCV.mjs → chunk-JFU65NZU.mjs} +11 -9
  70. package/dist/chunk-JFU65NZU.mjs.map +1 -0
  71. package/dist/{chunk-PWCGCUT7.mjs → chunk-JSON7A4X.mjs} +6 -4
  72. package/dist/chunk-JSON7A4X.mjs.map +1 -0
  73. package/dist/chunk-JTGB3TSZ.mjs +24 -0
  74. package/dist/chunk-JTGB3TSZ.mjs.map +1 -0
  75. package/dist/{chunk-NOMZAVQC.mjs → chunk-KRLEHX37.mjs} +12 -6
  76. package/dist/chunk-KRLEHX37.mjs.map +1 -0
  77. package/dist/{chunk-H7NDGISC.mjs → chunk-LAR7AT6R.mjs} +2 -2
  78. package/dist/chunk-LAR7AT6R.mjs.map +1 -0
  79. package/dist/{chunk-OXVJLJIE.mjs → chunk-LXQQ5N6S.mjs} +2 -2
  80. package/dist/chunk-LYAPQ4QZ.mjs +40 -0
  81. package/dist/chunk-LYAPQ4QZ.mjs.map +1 -0
  82. package/dist/{chunk-QRLGQY7M.mjs → chunk-M47EOYDK.mjs} +6 -4
  83. package/dist/chunk-M47EOYDK.mjs.map +1 -0
  84. package/dist/{chunk-CJDDGEEK.mjs → chunk-NFWIUPZU.mjs} +8 -6
  85. package/dist/chunk-NFWIUPZU.mjs.map +1 -0
  86. package/dist/{chunk-7Z3YQCXR.mjs → chunk-NYYHRFBW.mjs} +6 -4
  87. package/dist/chunk-NYYHRFBW.mjs.map +1 -0
  88. package/dist/{chunk-4ROYPQPC.mjs → chunk-OFGI5FLG.mjs} +2 -2
  89. package/dist/chunk-PPWHEIZW.mjs +58 -0
  90. package/dist/chunk-PPWHEIZW.mjs.map +1 -0
  91. package/dist/chunk-Q5HABVOK.mjs +20 -0
  92. package/dist/chunk-Q5HABVOK.mjs.map +1 -0
  93. package/dist/{chunk-TG5IPJOG.mjs → chunk-QQRGOHU6.mjs} +2 -2
  94. package/dist/chunk-QQRGOHU6.mjs.map +1 -0
  95. package/dist/{chunk-5J3LAY32.mjs → chunk-QTPKH4PY.mjs} +5 -5
  96. package/dist/chunk-QTPKH4PY.mjs.map +1 -0
  97. package/dist/{chunk-65W3AYRE.mjs → chunk-RNROH3VJ.mjs} +6 -4
  98. package/dist/chunk-RNROH3VJ.mjs.map +1 -0
  99. package/dist/{chunk-GARRF3U7.mjs → chunk-TMZRZLA2.mjs} +3 -3
  100. package/dist/chunk-TMZRZLA2.mjs.map +1 -0
  101. package/dist/{chunk-L7JZMM3J.mjs → chunk-U53FLD4J.mjs} +4 -4
  102. package/dist/chunk-U53FLD4J.mjs.map +1 -0
  103. package/dist/{chunk-EB26LF5Z.mjs → chunk-UJEQAXZI.mjs} +4 -4
  104. package/dist/chunk-UJEQAXZI.mjs.map +1 -0
  105. package/dist/{chunk-ELFAMVTF.mjs → chunk-UKHDSTTZ.mjs} +5 -5
  106. package/dist/chunk-UKHDSTTZ.mjs.map +1 -0
  107. package/dist/chunk-UNHWYQ54.mjs +64 -0
  108. package/dist/chunk-UNHWYQ54.mjs.map +1 -0
  109. package/dist/chunk-USGZFNWP.mjs +34 -0
  110. package/dist/chunk-USGZFNWP.mjs.map +1 -0
  111. package/dist/{chunk-Y5WPU3ZU.mjs → chunk-UW6S2PNO.mjs} +12 -6
  112. package/dist/chunk-UW6S2PNO.mjs.map +1 -0
  113. package/dist/chunk-UYDZZAEK.mjs +11 -0
  114. package/dist/chunk-UYDZZAEK.mjs.map +1 -0
  115. package/dist/{chunk-GJFFYHHX.mjs → chunk-VV534JNS.mjs} +5 -3
  116. package/dist/chunk-VV534JNS.mjs.map +1 -0
  117. package/dist/{chunk-V7FP66LM.mjs → chunk-WJZFE5NE.mjs} +2 -2
  118. package/dist/chunk-WJZFE5NE.mjs.map +1 -0
  119. package/dist/{chunk-ZELLSP3E.mjs → chunk-X7FZPY3P.mjs} +6 -4
  120. package/dist/{chunk-ZELLSP3E.mjs.map → chunk-X7FZPY3P.mjs.map} +1 -1
  121. package/dist/{chunk-Q6RSBDMM.mjs → chunk-XBYDAQGZ.mjs} +2 -2
  122. package/dist/chunk-XBYDAQGZ.mjs.map +1 -0
  123. package/dist/{chunk-ZJKVMRGU.mjs → chunk-YSBACFUR.mjs} +5 -5
  124. package/dist/chunk-YSBACFUR.mjs.map +1 -0
  125. package/dist/chunk-ZHXKBOK2.mjs +22 -0
  126. package/dist/chunk-ZHXKBOK2.mjs.map +1 -0
  127. package/dist/chunk-ZPNFXK7Y.mjs +36 -0
  128. package/dist/chunk-ZPNFXK7Y.mjs.map +1 -0
  129. package/dist/data/Condition.d.ts +3 -2
  130. package/dist/data/Condition.mjs +12 -8
  131. package/dist/data/Database.d.ts +2 -1
  132. package/dist/data/Database.mjs +12 -7
  133. package/dist/data/Field.d.ts +1 -1
  134. package/dist/data/Field.mjs +15 -11
  135. package/dist/data/Field.mjs.map +1 -1
  136. package/dist/data/InMemoryGateway.d.ts +5 -1
  137. package/dist/data/InMemoryGateway.mjs +25 -10
  138. package/dist/data/InMemoryGateway.mjs.map +1 -1
  139. package/dist/data/Query.d.ts +1 -1
  140. package/dist/data/QueryProvider.d.ts +2 -1
  141. package/dist/domain/Audit.d.ts +3 -2
  142. package/dist/domain/Audit.mjs +25 -10
  143. package/dist/domain/Child.d.ts +2 -1
  144. package/dist/domain/Child.mjs +25 -10
  145. package/dist/domain/Child.mjs.map +1 -1
  146. package/dist/domain/{values/DateTime.d.ts → DateTime.d.ts} +3 -1
  147. package/dist/domain/DateTime.mjs +35 -0
  148. package/dist/domain/Entity.d.ts +2 -1
  149. package/dist/domain/Entity.mjs +27 -12
  150. package/dist/domain/Entity.mjs.map +1 -1
  151. package/dist/domain/Repo.d.ts +7 -1
  152. package/dist/domain/Repo.mjs +31 -12
  153. package/dist/domain/Repo.mjs.map +1 -1
  154. package/dist/domain/Struct.d.ts +2 -1
  155. package/dist/domain/Struct.mjs +22 -7
  156. package/dist/domain/Typo.d.ts +7 -2
  157. package/dist/domain/Typo.mjs +23 -8
  158. package/dist/domain/Typo.mjs.map +1 -1
  159. package/dist/health/HealthResource.d.ts +2 -2
  160. package/dist/health/HealthResource.mjs +30 -16
  161. package/dist/health/HealthResource.mjs.map +1 -1
  162. package/dist/health/HealthUri.d.ts +2 -2
  163. package/dist/health/HealthUri.mjs +22 -8
  164. package/dist/http/CacheControl.d.ts +1 -1
  165. package/dist/http/CacheControl.mjs +23 -9
  166. package/dist/http/ContentType.d.ts +2 -1
  167. package/dist/http/ContentType.mjs +12 -7
  168. package/dist/http/HttpStatus.d.ts +3 -1
  169. package/dist/http/HttpStatus.mjs +12 -7
  170. package/dist/http/HttpVerb.d.ts +1 -1
  171. package/dist/http/HttpVerb.mjs +12 -7
  172. package/dist/http/LocalRequestStore.d.ts +2 -1
  173. package/dist/http/LocalRequestStore.mjs +12 -6
  174. package/dist/http/LocalRequestStore.mjs.map +1 -1
  175. package/dist/http/OriginatedError.d.ts +1 -1
  176. package/dist/http/OriginatedError.mjs +1 -2
  177. package/dist/http/OriginatedError.mjs.map +1 -1
  178. package/dist/http/Request.d.ts +1 -1
  179. package/dist/http/RequestOptions.d.ts +6 -1
  180. package/dist/http/RequestOptions.mjs +16 -9
  181. package/dist/http/Response.d.ts +2 -5
  182. package/dist/http/Response.mjs +7 -13
  183. package/dist/http/RestResult.d.ts +3 -1
  184. package/dist/http/RestResult.mjs +23 -8
  185. package/dist/http/Verb.d.ts +4 -1
  186. package/dist/http/Verb.mjs +27 -13
  187. package/dist/http/toResponse.d.ts +6 -0
  188. package/dist/http/toResponse.mjs +33 -0
  189. package/dist/index.d.ts +118 -12
  190. package/dist/index.js +1645 -2904
  191. package/dist/index.js.map +1 -1
  192. package/dist/index.mjs +118 -12
  193. package/dist/index.mjs.map +1 -1
  194. package/dist/process/App.mjs +13 -7
  195. package/dist/process/App.mjs.map +1 -1
  196. package/dist/process/Manage.d.ts +3 -1
  197. package/dist/process/Manage.mjs +22 -8
  198. package/dist/process/Manage.mjs.map +1 -1
  199. package/dist/process/Scope.d.ts +4 -1
  200. package/dist/process/Scope.mjs +13 -7
  201. package/dist/process/Search.d.ts +7 -2
  202. package/dist/process/Search.mjs +22 -8
  203. package/dist/process/UseCase.d.ts +4 -1
  204. package/dist/process/UseCase.mjs +19 -10
  205. package/dist/process/UseCase.mjs.map +1 -1
  206. package/dist/resources/AppProvider.d.ts +1 -1
  207. package/dist/resources/Req.d.ts +6 -1
  208. package/dist/resources/Req.mjs +21 -7
  209. package/dist/resources/Req.mjs.map +1 -1
  210. package/dist/resources/Requires.d.ts +2 -1
  211. package/dist/resources/Requires.mjs +10 -6
  212. package/dist/resources/Requires.mjs.map +1 -1
  213. package/dist/resources/Route.d.ts +5 -3
  214. package/dist/resources/Route.mjs +21 -7
  215. package/dist/resources/Service.d.ts +3 -1
  216. package/dist/resources/Service.mjs +24 -8
  217. package/dist/resources/Service.mjs.map +1 -1
  218. package/dist/security/Jwt.d.ts +5 -1
  219. package/dist/security/Jwt.mjs +24 -8
  220. package/dist/security/Jwt.mjs.map +1 -1
  221. package/dist/services/Api.d.ts +8 -2
  222. package/dist/services/Api.mjs +32 -16
  223. package/dist/services/ApiGateway.d.ts +6 -2
  224. package/dist/services/ApiGateway.mjs +35 -19
  225. package/dist/services/AxiosProvider.d.ts +3 -1
  226. package/dist/services/AxiosProvider.mjs +30 -14
  227. package/dist/services/MappedRouteGateway.d.ts +7 -3
  228. package/dist/services/MappedRouteGateway.mjs +41 -24
  229. package/dist/services/MappedRouteGateway.mjs.map +1 -1
  230. package/dist/services/RouteGateway.d.ts +7 -1
  231. package/dist/services/RouteGateway.mjs +36 -20
  232. package/dist/services/ViewRouteGateway.d.ts +10 -6
  233. package/dist/services/ViewRouteGateway.mjs +39 -22
  234. package/dist/services/ViewRouteGateway.mjs.map +1 -1
  235. package/dist/sql/Clause.d.ts +3 -2
  236. package/dist/sql/Clause.mjs +7 -8
  237. package/dist/sql/Column.d.ts +3 -2
  238. package/dist/sql/Column.mjs +24 -10
  239. package/dist/sql/Count.mjs +11 -9
  240. package/dist/sql/Delete.mjs +10 -8
  241. package/dist/sql/Insert.d.ts +1 -1
  242. package/dist/sql/Insert.mjs +12 -10
  243. package/dist/sql/Select.d.ts +1 -1
  244. package/dist/sql/Select.mjs +10 -8
  245. package/dist/sql/SqlQuery.d.ts +5 -2
  246. package/dist/sql/SqlQuery.mjs +9 -7
  247. package/dist/sql/Table.d.ts +13 -12
  248. package/dist/sql/Table.mjs +37 -22
  249. package/dist/sql/Table.mjs.map +1 -1
  250. package/dist/sql/TableGateway.d.ts +6 -2
  251. package/dist/sql/TableGateway.mjs +23 -9
  252. package/dist/sql/TableGateway.mjs.map +1 -1
  253. package/dist/sql/Update.d.ts +1 -1
  254. package/dist/sql/Update.mjs +12 -10
  255. package/dist/types/Array.mjs +4 -2
  256. package/dist/types/Builder.mjs +2 -6
  257. package/dist/types/Builder.mjs.map +1 -1
  258. package/dist/types/Cache.mjs +10 -6
  259. package/dist/types/Cache.mjs.map +1 -1
  260. package/dist/types/CacheAge.mjs +22 -8
  261. package/dist/types/Case.d.ts +3 -1
  262. package/dist/types/Case.mjs +20 -6
  263. package/dist/types/Constructor.d.ts +1 -0
  264. package/dist/types/Constructor.mjs +5 -1
  265. package/dist/types/Context.mjs +12 -6
  266. package/dist/types/Enum.mjs +11 -6
  267. package/dist/{domain/enums → types}/Environment.d.ts +1 -1
  268. package/dist/types/Environment.mjs +28 -0
  269. package/dist/types/Environment.mjs.map +1 -0
  270. package/dist/types/ErrorOrigin.d.ts +1 -1
  271. package/dist/types/Exception.mjs +13 -6
  272. package/dist/types/Gateway.mjs +15 -7
  273. package/dist/types/Id.mjs +3 -4
  274. package/dist/types/Is.d.ts +0 -4
  275. package/dist/types/Is.mjs +1 -6
  276. package/dist/types/IsA.d.ts +2 -0
  277. package/dist/types/IsA.mjs +8 -4
  278. package/dist/types/IsEqual.mjs +21 -7
  279. package/dist/types/Json.mjs +10 -6
  280. package/dist/types/List.d.ts +3 -3
  281. package/dist/types/List.mjs +8 -6
  282. package/dist/types/Meta.d.ts +1 -2
  283. package/dist/types/Meta.mjs +10 -8
  284. package/dist/types/Number.mjs +21 -7
  285. package/dist/types/Object.d.ts +8 -0
  286. package/dist/types/Object.mjs +20 -0
  287. package/dist/types/PageList.mjs +21 -7
  288. package/dist/types/Parser.mjs +25 -10
  289. package/dist/types/Parser.mjs.map +1 -1
  290. package/dist/types/Primitive.mjs +2 -2
  291. package/dist/types/Repository.d.ts +5 -1
  292. package/dist/types/Repository.mjs +15 -7
  293. package/dist/types/Result.mjs +13 -6
  294. package/dist/types/Results.mjs +14 -6
  295. package/dist/types/Tag.mjs +10 -6
  296. package/dist/types/Tag.mjs.map +1 -1
  297. package/dist/types/Template.d.ts +41 -2
  298. package/dist/types/Template.mjs +19 -8
  299. package/dist/types/Text.d.ts +0 -38
  300. package/dist/types/Text.mjs +2 -10
  301. package/dist/types/Try.mjs +20 -6
  302. package/dist/types/Uri.mjs +21 -7
  303. package/dist/types/Uuid.mjs +2 -3
  304. package/dist/types/Validatable.mjs +5 -3
  305. package/dist/types/Value.d.ts +2 -1
  306. package/dist/types/Value.mjs +3 -6
  307. package/dist/utils/Base64.d.ts +1 -1
  308. package/dist/utils/Base64.mjs.map +1 -1
  309. package/dist/utils/Convert.mjs +3 -7
  310. package/dist/utils/If.d.ts +2 -1
  311. package/dist/utils/If.mjs +4 -2
  312. package/dist/utils/Loading.mjs +1 -2
  313. package/dist/utils/Loading.mjs.map +1 -1
  314. package/dist/utils/Log.d.ts +1 -1
  315. package/dist/utils/Log.mjs.map +1 -1
  316. package/dist/utils/Mapper.d.ts +6 -1
  317. package/dist/utils/Mapper.mjs +15 -10
  318. package/dist/utils/Promise.d.ts +2 -1
  319. package/dist/utils/Promise.mjs +9 -6
  320. package/dist/utils/Property.d.ts +2 -1
  321. package/dist/utils/Property.mjs +4 -8
  322. package/dist/utils/Sentence.d.ts +2 -1
  323. package/dist/utils/Sentence.mjs +11 -6
  324. package/dist/utils/Sentence.mjs.map +1 -1
  325. package/dist/utils/State.d.ts +1 -1
  326. package/dist/utils/State.mjs +4 -2
  327. package/dist/utils/View.d.ts +6 -1
  328. package/dist/utils/View.mjs +24 -9
  329. package/dist/validation/Contraints.d.ts +3 -1
  330. package/dist/validation/Contraints.mjs +21 -7
  331. package/dist/validation/Validate.d.ts +3 -1
  332. package/dist/validation/Validate.mjs +20 -6
  333. package/dist/validation/When.d.ts +4 -1
  334. package/dist/validation/When.mjs +20 -6
  335. package/package.json +2 -2
  336. package/src/data/Condition.ts +17 -5
  337. package/src/data/Database.ts +7 -2
  338. package/src/data/Field.ts +3 -2
  339. package/src/data/InMemoryGateway.ts +8 -2
  340. package/src/data/Query.ts +1 -1
  341. package/src/data/QueryProvider.ts +2 -1
  342. package/src/domain/Audit.ts +11 -7
  343. package/src/domain/Child.ts +3 -2
  344. package/src/domain/{values/DateTime.ts → DateTime.ts} +8 -2
  345. package/src/domain/Entity.ts +3 -2
  346. package/src/domain/Repo.ts +15 -4
  347. package/src/domain/Struct.ts +4 -2
  348. package/src/domain/Typo.ts +13 -4
  349. package/src/health/HealthResource.ts +5 -3
  350. package/src/health/HealthUri.ts +1 -1
  351. package/src/http/CacheControl.ts +9 -3
  352. package/src/http/ContentType.ts +8 -2
  353. package/src/http/HttpStatus.ts +4 -1
  354. package/src/http/HttpVerb.ts +1 -1
  355. package/src/http/LocalRequestStore.ts +3 -1
  356. package/src/http/OriginatedError.ts +6 -2
  357. package/src/http/Request.ts +1 -1
  358. package/src/http/RequestOptions.ts +16 -2
  359. package/src/http/Response.ts +4 -9
  360. package/src/http/RestResult.ts +7 -1
  361. package/src/http/Verb.ts +5 -2
  362. package/src/http/toResponse.ts +12 -0
  363. package/src/index.ts +129 -12
  364. package/src/process/Manage.ts +3 -1
  365. package/src/process/Scope.ts +12 -2
  366. package/src/process/Search.ts +9 -3
  367. package/src/process/UseCase.ts +12 -2
  368. package/src/resources/AppProvider.ts +1 -1
  369. package/src/resources/Req.ts +14 -3
  370. package/src/resources/Requires.ts +3 -2
  371. package/src/resources/Route.ts +8 -3
  372. package/src/resources/Service.ts +9 -2
  373. package/src/security/Jwt.ts +7 -1
  374. package/src/services/Api.ts +12 -3
  375. package/src/services/ApiGateway.ts +7 -2
  376. package/src/services/AxiosProvider.ts +14 -2
  377. package/src/services/MappedRouteGateway.ts +13 -4
  378. package/src/services/RouteGateway.ts +14 -3
  379. package/src/services/ViewRouteGateway.ts +7 -3
  380. package/src/sql/Clause.ts +10 -3
  381. package/src/sql/Column.ts +14 -4
  382. package/src/sql/Count.ts +1 -1
  383. package/src/sql/Delete.ts +1 -1
  384. package/src/sql/Insert.ts +5 -2
  385. package/src/sql/Select.ts +6 -2
  386. package/src/sql/SqlQuery.ts +9 -3
  387. package/src/sql/Table.ts +6 -3
  388. package/src/sql/TableGateway.ts +13 -5
  389. package/src/sql/Update.ts +6 -2
  390. package/src/types/CacheAge.ts +3 -1
  391. package/src/types/Case.ts +14 -4
  392. package/src/types/Constructor.ts +3 -1
  393. package/src/types/Context.ts +7 -8
  394. package/src/{domain/enums → types}/Environment.ts +1 -1
  395. package/src/types/ErrorOrigin.ts +1 -1
  396. package/src/types/Exception.ts +7 -2
  397. package/src/types/Gateway.ts +1 -1
  398. package/src/types/Is.ts +0 -7
  399. package/src/types/IsA.ts +4 -0
  400. package/src/types/Json.ts +2 -2
  401. package/src/types/List.ts +13 -12
  402. package/src/types/Meta.ts +12 -9
  403. package/src/types/Object.ts +16 -0
  404. package/src/types/Parser.ts +1 -1
  405. package/src/types/Repository.ts +7 -2
  406. package/src/types/Template.ts +149 -12
  407. package/src/types/Text.ts +3 -138
  408. package/src/types/Try.ts +1 -1
  409. package/src/types/Uri.ts +2 -1
  410. package/src/types/Value.ts +4 -1
  411. package/src/utils/Base64.ts +1 -1
  412. package/src/utils/Convert.ts +5 -2
  413. package/src/utils/If.ts +3 -1
  414. package/src/utils/Loading.ts +1 -1
  415. package/src/utils/Log.ts +1 -1
  416. package/src/utils/Mapper.ts +13 -2
  417. package/src/utils/Promise.ts +3 -1
  418. package/src/utils/Property.ts +6 -2
  419. package/src/utils/Sentence.ts +8 -2
  420. package/src/utils/State.ts +1 -1
  421. package/src/utils/View.ts +15 -22
  422. package/src/validation/Contraints.ts +9 -1
  423. package/src/validation/Validate.ts +26 -29
  424. package/src/validation/When.ts +13 -3
  425. package/dist/chunk-2L3GZ6NK.mjs.map +0 -1
  426. package/dist/chunk-3MOFYE2N.mjs.map +0 -1
  427. package/dist/chunk-5J3LAY32.mjs.map +0 -1
  428. package/dist/chunk-624IHTEI.mjs.map +0 -1
  429. package/dist/chunk-65W3AYRE.mjs.map +0 -1
  430. package/dist/chunk-7Z3YQCXR.mjs.map +0 -1
  431. package/dist/chunk-A5MC57TL.mjs.map +0 -1
  432. package/dist/chunk-ARN4MTMY.mjs.map +0 -1
  433. package/dist/chunk-BAXNN36F.mjs.map +0 -1
  434. package/dist/chunk-C7OPGGIF.mjs +0 -21
  435. package/dist/chunk-C7OPGGIF.mjs.map +0 -1
  436. package/dist/chunk-CJDDGEEK.mjs.map +0 -1
  437. package/dist/chunk-EB26LF5Z.mjs.map +0 -1
  438. package/dist/chunk-ELFAMVTF.mjs.map +0 -1
  439. package/dist/chunk-F4CWMZCV.mjs.map +0 -1
  440. package/dist/chunk-GARRF3U7.mjs.map +0 -1
  441. package/dist/chunk-GJFFYHHX.mjs.map +0 -1
  442. package/dist/chunk-GUSPHVF2.mjs.map +0 -1
  443. package/dist/chunk-H7NDGISC.mjs.map +0 -1
  444. package/dist/chunk-HBJUEFGA.mjs +0 -26
  445. package/dist/chunk-HBJUEFGA.mjs.map +0 -1
  446. package/dist/chunk-I2NKUYUM.mjs +0 -272
  447. package/dist/chunk-I2NKUYUM.mjs.map +0 -1
  448. package/dist/chunk-I3DRDMCS.mjs.map +0 -1
  449. package/dist/chunk-I5MPU33B.mjs.map +0 -1
  450. package/dist/chunk-IWLJEAQZ.mjs.map +0 -1
  451. package/dist/chunk-J64VE55O.mjs.map +0 -1
  452. package/dist/chunk-L7JZMM3J.mjs.map +0 -1
  453. package/dist/chunk-MRIELSWP.mjs.map +0 -1
  454. package/dist/chunk-NKHZO3ME.mjs.map +0 -1
  455. package/dist/chunk-NOMZAVQC.mjs.map +0 -1
  456. package/dist/chunk-PFAEQQXA.mjs +0 -900
  457. package/dist/chunk-PFAEQQXA.mjs.map +0 -1
  458. package/dist/chunk-PWCGCUT7.mjs.map +0 -1
  459. package/dist/chunk-Q5ATL34D.mjs +0 -13
  460. package/dist/chunk-Q5ATL34D.mjs.map +0 -1
  461. package/dist/chunk-Q6RSBDMM.mjs.map +0 -1
  462. package/dist/chunk-QRLGQY7M.mjs.map +0 -1
  463. package/dist/chunk-QRN4Y2QC.mjs.map +0 -1
  464. package/dist/chunk-S5RHU67S.mjs.map +0 -1
  465. package/dist/chunk-SG6BDC6T.mjs.map +0 -1
  466. package/dist/chunk-TG5IPJOG.mjs.map +0 -1
  467. package/dist/chunk-TQUDYF6E.mjs.map +0 -1
  468. package/dist/chunk-UWNXWKBU.mjs.map +0 -1
  469. package/dist/chunk-V7FP66LM.mjs.map +0 -1
  470. package/dist/chunk-WX6UP67J.mjs +0 -40
  471. package/dist/chunk-WX6UP67J.mjs.map +0 -1
  472. package/dist/chunk-WYT52YAX.mjs.map +0 -1
  473. package/dist/chunk-XLFC44Y3.mjs.map +0 -1
  474. package/dist/chunk-Y5WPU3ZU.mjs.map +0 -1
  475. package/dist/chunk-YHL2CUBI.mjs.map +0 -1
  476. package/dist/chunk-YUSOGMIJ.mjs +0 -183
  477. package/dist/chunk-YUSOGMIJ.mjs.map +0 -1
  478. package/dist/chunk-YXE66GAL.mjs +0 -19
  479. package/dist/chunk-YXE66GAL.mjs.map +0 -1
  480. package/dist/chunk-ZJKVMRGU.mjs.map +0 -1
  481. package/dist/data/index.d.ts +0 -7
  482. package/dist/data/index.mjs +0 -8
  483. package/dist/data/index.mjs.map +0 -1
  484. package/dist/domain/enums/Country.d.ts +0 -256
  485. package/dist/domain/enums/Country.mjs +0 -16
  486. package/dist/domain/enums/Currency.d.ts +0 -127
  487. package/dist/domain/enums/Currency.mjs +0 -19
  488. package/dist/domain/enums/Environment.mjs +0 -23
  489. package/dist/domain/enums/Environment.mjs.map +0 -1
  490. package/dist/domain/enums/Locale.d.ts +0 -571
  491. package/dist/domain/enums/Locale.mjs +0 -594
  492. package/dist/domain/enums/Locale.mjs.map +0 -1
  493. package/dist/domain/enums/UnitOfMeasurement.d.ts +0 -10
  494. package/dist/domain/enums/UnitOfMeasurement.mjs +0 -16
  495. package/dist/domain/enums/UnitOfMeasurement.mjs.map +0 -1
  496. package/dist/domain/enums/UnitOfWeight.d.ts +0 -8
  497. package/dist/domain/enums/UnitOfWeight.mjs +0 -16
  498. package/dist/domain/enums/UnitOfWeight.mjs.map +0 -1
  499. package/dist/domain/enums/index.d.ts +0 -6
  500. package/dist/domain/enums/index.mjs +0 -7
  501. package/dist/domain/enums/index.mjs.map +0 -1
  502. package/dist/domain/index.d.ts +0 -9
  503. package/dist/domain/index.mjs +0 -10
  504. package/dist/domain/index.mjs.map +0 -1
  505. package/dist/domain/structs/Address.d.ts +0 -12
  506. package/dist/domain/structs/Address.mjs +0 -65
  507. package/dist/domain/structs/Address.mjs.map +0 -1
  508. package/dist/domain/structs/Box.d.ts +0 -15
  509. package/dist/domain/structs/Box.mjs +0 -58
  510. package/dist/domain/structs/Box.mjs.map +0 -1
  511. package/dist/domain/structs/Dimension.d.ts +0 -10
  512. package/dist/domain/structs/Dimension.mjs +0 -20
  513. package/dist/domain/structs/Dimension.mjs.map +0 -1
  514. package/dist/domain/structs/Money.d.ts +0 -12
  515. package/dist/domain/structs/Money.mjs +0 -23
  516. package/dist/domain/structs/Money.mjs.map +0 -1
  517. package/dist/domain/structs/Name.d.ts +0 -9
  518. package/dist/domain/structs/Name.mjs +0 -42
  519. package/dist/domain/structs/Name.mjs.map +0 -1
  520. package/dist/domain/structs/Weight.d.ts +0 -13
  521. package/dist/domain/structs/Weight.mjs +0 -57
  522. package/dist/domain/structs/Weight.mjs.map +0 -1
  523. package/dist/domain/structs/index.d.ts +0 -6
  524. package/dist/domain/structs/index.mjs +0 -7
  525. package/dist/domain/structs/index.mjs.map +0 -1
  526. package/dist/domain/values/DateTime.mjs +0 -21
  527. package/dist/domain/values/EAN.d.ts +0 -5
  528. package/dist/domain/values/EAN.mjs +0 -30
  529. package/dist/domain/values/EAN.mjs.map +0 -1
  530. package/dist/domain/values/Email.d.ts +0 -8
  531. package/dist/domain/values/Email.mjs +0 -37
  532. package/dist/domain/values/Email.mjs.map +0 -1
  533. package/dist/domain/values/IBAN.d.ts +0 -5
  534. package/dist/domain/values/IBAN.mjs +0 -30
  535. package/dist/domain/values/IBAN.mjs.map +0 -1
  536. package/dist/domain/values/PostalCode.d.ts +0 -8
  537. package/dist/domain/values/PostalCode.mjs +0 -19
  538. package/dist/domain/values/PostalCode.mjs.map +0 -1
  539. package/dist/domain/values/Slug.d.ts +0 -6
  540. package/dist/domain/values/Slug.mjs +0 -31
  541. package/dist/domain/values/Slug.mjs.map +0 -1
  542. package/dist/domain/values/Url.d.ts +0 -22
  543. package/dist/domain/values/Url.mjs +0 -36
  544. package/dist/domain/values/Url.mjs.map +0 -1
  545. package/dist/domain/values/index.d.ts +0 -7
  546. package/dist/domain/values/index.mjs +0 -8
  547. package/dist/domain/values/index.mjs.map +0 -1
  548. package/dist/health/index.d.ts +0 -2
  549. package/dist/health/index.mjs +0 -3
  550. package/dist/health/index.mjs.map +0 -1
  551. package/dist/http/index.d.ts +0 -12
  552. package/dist/http/index.mjs +0 -13
  553. package/dist/http/index.mjs.map +0 -1
  554. package/dist/process/index.d.ts +0 -5
  555. package/dist/process/index.mjs +0 -6
  556. package/dist/process/index.mjs.map +0 -1
  557. package/dist/resources/index.d.ts +0 -7
  558. package/dist/resources/index.mjs +0 -8
  559. package/dist/resources/index.mjs.map +0 -1
  560. package/dist/security/index.d.ts +0 -1
  561. package/dist/security/index.mjs +0 -2
  562. package/dist/security/index.mjs.map +0 -1
  563. package/dist/services/index.d.ts +0 -6
  564. package/dist/services/index.mjs +0 -7
  565. package/dist/services/index.mjs.map +0 -1
  566. package/dist/sql/index.d.ts +0 -10
  567. package/dist/sql/index.mjs +0 -11
  568. package/dist/sql/index.mjs.map +0 -1
  569. package/dist/types/index.d.ts +0 -43
  570. package/dist/types/index.mjs +0 -44
  571. package/dist/types/index.mjs.map +0 -1
  572. package/dist/utils/index.d.ts +0 -13
  573. package/dist/utils/index.mjs +0 -14
  574. package/dist/utils/index.mjs.map +0 -1
  575. package/dist/validation/index.d.ts +0 -3
  576. package/dist/validation/index.mjs +0 -4
  577. package/dist/validation/index.mjs.map +0 -1
  578. package/src/data/index.ts +0 -7
  579. package/src/domain/enums/Country.ts +0 -265
  580. package/src/domain/enums/Currency.ts +0 -133
  581. package/src/domain/enums/Locale.ts +0 -579
  582. package/src/domain/enums/UnitOfMeasurement.ts +0 -13
  583. package/src/domain/enums/UnitOfWeight.ts +0 -11
  584. package/src/domain/enums/countries.json +0 -251
  585. package/src/domain/enums/currencies.json +0 -1073
  586. package/src/domain/enums/index.ts +0 -6
  587. package/src/domain/enums/locales.json +0 -565
  588. package/src/domain/index.ts +0 -9
  589. package/src/domain/structs/Address.ts +0 -22
  590. package/src/domain/structs/Box.ts +0 -29
  591. package/src/domain/structs/Dimension.ts +0 -25
  592. package/src/domain/structs/Money.ts +0 -31
  593. package/src/domain/structs/Name.ts +0 -15
  594. package/src/domain/structs/Weight.ts +0 -35
  595. package/src/domain/structs/index.ts +0 -6
  596. package/src/domain/values/EAN.ts +0 -12
  597. package/src/domain/values/Email.ts +0 -20
  598. package/src/domain/values/IBAN.ts +0 -12
  599. package/src/domain/values/PostalCode.ts +0 -17
  600. package/src/domain/values/Slug.ts +0 -14
  601. package/src/domain/values/Url.ts +0 -73
  602. package/src/domain/values/index.ts +0 -7
  603. package/src/health/index.ts +0 -2
  604. package/src/http/index.ts +0 -12
  605. package/src/process/index.ts +0 -5
  606. package/src/resources/index.ts +0 -7
  607. package/src/security/index.ts +0 -1
  608. package/src/services/index.ts +0 -6
  609. package/src/sql/index.ts +0 -10
  610. package/src/types/index.ts +0 -43
  611. package/src/utils/index.ts +0 -13
  612. package/src/validation/index.ts +0 -3
  613. /package/dist/{chunk-GCPVSACZ.mjs.map → chunk-5YM5CLOG.mjs.map} +0 -0
  614. /package/dist/{chunk-2KKIXOMB.mjs.map → chunk-HNVAFEZP.mjs.map} +0 -0
  615. /package/dist/{chunk-OXVJLJIE.mjs.map → chunk-LXQQ5N6S.mjs.map} +0 -0
  616. /package/dist/{chunk-4ROYPQPC.mjs.map → chunk-OFGI5FLG.mjs.map} +0 -0
  617. /package/dist/domain/{values/DateTime.mjs.map → DateTime.mjs.map} +0 -0
  618. /package/dist/{domain/enums/Country.mjs.map → http/toResponse.mjs.map} +0 -0
  619. /package/dist/{domain/enums/Currency.mjs.map → types/Object.mjs.map} +0 -0
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  Api
3
- } from "./chunk-I5MPU33B.mjs";
3
+ } from "./chunk-5WSP2IYF.mjs";
4
4
  import {
5
5
  Gateway
6
- } from "./chunk-GUSPHVF2.mjs";
6
+ } from "./chunk-6BQEFLOS.mjs";
7
7
  import {
8
8
  toPageList
9
- } from "./chunk-57QV3J5N.mjs";
9
+ } from "./chunk-A62OK7XE.mjs";
10
10
  import {
11
11
  use
12
- } from "./chunk-UWNXWKBU.mjs";
12
+ } from "./chunk-ZPNFXK7Y.mjs";
13
13
 
14
14
  // src/services/ApiGateway.ts
15
15
  var ApiGateway = class extends Gateway {
@@ -43,4 +43,4 @@ var ApiGateway = class extends Gateway {
43
43
  export {
44
44
  ApiGateway
45
45
  };
46
- //# sourceMappingURL=chunk-3MOFYE2N.mjs.map
46
+ //# sourceMappingURL=chunk-2ZUDYGPP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/services/ApiGateway.ts"],"sourcesContent":["import { Api, RouteOptions } from './Api';\nimport { FetchOptions, Gateway } from '../types/Gateway';\nimport { Uri } from '../types/Uri';\nimport { PageList, toPageList } from '../types/PageList';\nimport { Json } from '../types/Json';\nimport { use } from '../types/Constructor';\nimport { Optional } from '../types/Types';\nimport { RequestOptions } from '../http/RequestOptions';\n\nexport class ApiGateway extends Gateway<RouteOptions> {\n constructor(readonly api: Api = new Api()) {\n super();\n }\n\n get(uri: Uri, options?: RouteOptions): Promise<PageList<Json>> {\n return this.api.get(uri, options).then(r => use(r.body.data, d => toPageList(d?.items, { total: d?.totalItems, ...d?.meta })));\n }\n\n getOne(uri: Uri, options?: RouteOptions): Promise<Optional<Json>> {\n return this.get(uri, options).then(r => r.first());\n }\n\n post(uri: Uri, item?: Json, options?: RouteOptions): Promise<Json> {\n return this.api.post(uri, item, options).then(r => r.body.data?.items.first() ?? {});\n }\n\n postSearch(uri: Uri, options?: RequestOptions | FetchOptions): Promise<PageList<Json>> {\n return this.api.post(uri, options).then(r => use(r.body.data, d => toPageList(d?.items, { total: d?.totalItems, ...d?.meta })));\n }\n\n patch(uri: Uri, item?: Json, options?: RouteOptions): Promise<Json> {\n return this.api.patch(uri, item, options).then(r => r.body.data?.items.first() ?? {});\n }\n\n put(uri: Uri, item?: Json, options?: RouteOptions): Promise<Json> {\n return this.api.put(uri, item, options).then(r => r.body.data?.items.first() ?? {});\n }\n\n delete(uri: Uri, options?: RouteOptions): Promise<boolean> {\n return this.api.delete(uri, options).then(() => true);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AASO,IAAM,aAAN,cAAyB,QAAsB;AAAA,EACpD,YAAqB,MAAW,IAAI,IAAI,GAAG;AACzC,UAAM;AADa;AAAA,EAErB;AAAA,EAEA,IAAI,KAAU,SAAiD;AAC7D,WAAO,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE,KAAK,OAAK,IAAI,EAAE,KAAK,MAAM,OAAK,WAAW,GAAG,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAAA,EAC/H;AAAA,EAEA,OAAO,KAAU,SAAiD;AAChE,WAAO,KAAK,IAAI,KAAK,OAAO,EAAE,KAAK,OAAK,EAAE,MAAM,CAAC;AAAA,EACnD;AAAA,EAEA,KAAK,KAAU,MAAa,SAAuC;AACjE,WAAO,KAAK,IAAI,KAAK,KAAK,MAAM,OAAO,EAAE,KAAK,OAAK,EAAE,KAAK,MAAM,MAAM,MAAM,KAAK,CAAC,CAAC;AAAA,EACrF;AAAA,EAEA,WAAW,KAAU,SAAkE;AACrF,WAAO,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,KAAK,OAAK,IAAI,EAAE,KAAK,MAAM,OAAK,WAAW,GAAG,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAAA,EAChI;AAAA,EAEA,MAAM,KAAU,MAAa,SAAuC;AAClE,WAAO,KAAK,IAAI,MAAM,KAAK,MAAM,OAAO,EAAE,KAAK,OAAK,EAAE,KAAK,MAAM,MAAM,MAAM,KAAK,CAAC,CAAC;AAAA,EACtF;AAAA,EAEA,IAAI,KAAU,MAAa,SAAuC;AAChE,WAAO,KAAK,IAAI,IAAI,KAAK,MAAM,OAAO,EAAE,KAAK,OAAK,EAAE,KAAK,MAAM,MAAM,MAAM,KAAK,CAAC,CAAC;AAAA,EACpF;AAAA,EAEA,OAAO,KAAU,SAA0C;AACzD,WAAO,KAAK,IAAI,OAAO,KAAK,OAAO,EAAE,KAAK,MAAM,IAAI;AAAA,EACtD;AACF;","names":[]}
@@ -2,22 +2,24 @@ import {
2
2
  isDate
3
3
  } from "./chunk-ADJAEGCT.mjs";
4
4
  import {
5
- Value,
6
5
  choose
7
- } from "./chunk-PFAEQQXA.mjs";
6
+ } from "./chunk-ARZEQQW5.mjs";
7
+ import {
8
+ Value
9
+ } from "./chunk-CAHTK3AT.mjs";
8
10
  import {
9
11
  ifDefined
10
- } from "./chunk-PWCGCUT7.mjs";
12
+ } from "./chunk-JSON7A4X.mjs";
11
13
  import {
12
14
  isA
13
- } from "./chunk-Q5ATL34D.mjs";
15
+ } from "./chunk-ZHXKBOK2.mjs";
14
16
  import {
15
17
  isDefined,
16
18
  isNumber,
17
19
  isString
18
- } from "./chunk-UWNXWKBU.mjs";
20
+ } from "./chunk-DEJ7A5PY.mjs";
19
21
 
20
- // src/domain/values/DateTime.ts
22
+ // src/domain/DateTime.ts
21
23
  import { DateTime as LuxonDateTime, Settings } from "luxon";
22
24
  Settings.defaultZone = "utc";
23
25
  var DateTime = class _DateTime extends Value {
@@ -110,4 +112,4 @@ export {
110
112
  isDateTime,
111
113
  dt
112
114
  };
113
- //# sourceMappingURL=chunk-A5MC57TL.mjs.map
115
+ //# sourceMappingURL=chunk-3L4RAR24.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domain/DateTime.ts"],"sourcesContent":["import { DateTime as LuxonDateTime, DateTimeUnit as LuxonDateTimeUnit, DurationUnit as LuxonDurationUnit, Settings } from 'luxon';\nimport { Value } from '../types/Value';\nimport { Optional } from '../types/Types';\nimport { choose } from '../types/Case';\nimport { isDefined, isNumber, isString } from '../types/Is';\nimport { isDate } from '../types/IsDate';\nimport { isA } from '../types/IsA';\nimport { ifDefined } from '../utils/If';\nimport { JsonValue } from '../types/Json';\n\nSettings.defaultZone = 'utc';\n\nexport type DateTimeUnit = LuxonDateTimeUnit;\nexport type DurationUnit = LuxonDurationUnit;\nexport type Duration = Partial<Record<DurationUnit, number>>;\n\nexport type DiffOptions = {\n rounding: 'floor' | 'ceil' | 'round';\n};\n\nexport class DateTime extends Value<Optional<string>> {\n constructor(value?: string | number | Date | DateTime | null, format?: string) {\n super(\n choose(value)\n .type(isString, v => (format ? LuxonDateTime.fromFormat(v, format, { setZone: true }) : LuxonDateTime.fromISO(v, { setZone: true })))\n .type(isNumber, v => LuxonDateTime.fromMillis(v))\n .type(isDate, v => LuxonDateTime.fromJSDate(v))\n .type(isDateTime, v => LuxonDateTime.fromISO(v.toString()))\n .else(undefined as unknown as LuxonDateTime)\n ?.toISO() as unknown as string\n );\n }\n\n static get now(): DateTime {\n return new DateTime(LuxonDateTime.utc().toISO());\n }\n\n get isValid(): boolean {\n return isDefined(this.value) && this.utc.isValid;\n }\n\n /**\n * @deprecated Deprecated in favor for DateTime.from as that also accepts locales and another DateTime\n */\n get fromNow(): string {\n return this.from();\n }\n\n protected get utc(): LuxonDateTime {\n return this.luxon.setZone('utc');\n }\n\n protected get luxon(): LuxonDateTime {\n return LuxonDateTime.fromISO(this.value as string, { setZone: true });\n }\n\n from(date?: DateTime): string;\n\n from(locale?: string): string;\n\n from(date?: DateTime, locale?: string): string;\n\n from(param?: string | DateTime, other?: string): string {\n const date: Optional<DateTime> = isA<DateTime>(param) ? param : undefined;\n const locale: string = (isString(param) ? param : undefined) ?? other ?? 'en';\n return ifDefined(\n date,\n d => this.utc.setLocale(locale).toRelative({ base: d.utc }),\n () => this.utc.setLocale(locale).toRelative()\n ) as string;\n }\n\n isAfter(dt: DateTime): boolean {\n return this.utc > dt.utc;\n }\n\n isBefore(dt: DateTime): boolean {\n return this.utc < dt.utc;\n }\n\n equals(dt: DateTime): boolean {\n return this.utc.hasSame(dt.utc, 'millisecond');\n }\n\n add(n: number): DateTime;\n add(n: number, unit: DurationUnit): DateTime;\n add(duration: Duration): DateTime;\n add(n: number | Duration, unit?: DurationUnit): DateTime {\n return new DateTime(this.luxon.plus(isNumber(n) ? { [unit ?? ('day' as string)]: n } : n).toISO());\n }\n\n subtract(n: number): DateTime;\n subtract(n: number, unit: DurationUnit): DateTime;\n subtract(duration: Duration): DateTime;\n subtract(n: number | Duration, unit?: DurationUnit): DateTime {\n return new DateTime(this.luxon.minus(isNumber(n) ? { [unit ?? ('day' as string)]: n } : n).toISO());\n }\n\n diff(other: DateTime, unit: DateTimeUnit = 'day', opts?: DiffOptions): number {\n return Math[opts?.rounding ?? 'floor'](this.utc.diff(other.utc).as(unit));\n }\n\n startOf(unit: DateTimeUnit = 'day'): DateTime {\n return new DateTime(this.luxon.startOf(unit).toISO());\n }\n\n endOf(unit: DateTimeUnit = 'day'): DateTime {\n return new DateTime(this.luxon.endOf(unit).toISO());\n }\n\n isWeekend(): boolean {\n return this.luxon.isWeekend;\n }\n\n withZone(zone: string): DateTime {\n return new DateTime(this.utc.setZone(zone).toISO());\n }\n\n toString(): string {\n return this.value ?? '';\n }\n\n toJSON(): JsonValue {\n return this.utc.toISO() as unknown as JsonValue;\n }\n\n toFormat(format: string): string {\n return this.luxon.toFormat(format);\n }\n\n toLocale(locale = 'nl-NL', format = 'D'): string {\n return this.luxon.setLocale(locale).toFormat(format);\n }\n\n toFull(locale?: string): string {\n return this.toLocale(locale, 'DDD');\n }\n\n toDate(): Optional<Date> {\n return this.isValid ? this.utc.toJSDate() : undefined;\n }\n}\n\nexport const isDateTime = (dt?: unknown): dt is DateTime => isDefined(dt) && dt instanceof DateTime;\n\nexport const dt = (dt?: unknown): DateTime => (isString(dt) || isNumber(dt) || dt instanceof Date ? new DateTime(dt) : new DateTime());\n"],"mappings":"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","names":["dt"]}
@@ -0,0 +1,27 @@
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
+
20
+ export {
21
+ isText,
22
+ asString,
23
+ replaceAll,
24
+ toWords,
25
+ kebab
26
+ };
27
+ //# sourceMappingURL=chunk-45GNHDKA.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"],"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;","names":[]}
@@ -1,7 +1,9 @@
1
1
  import {
2
- Enum,
2
+ Enum
3
+ } from "./chunk-UNHWYQ54.mjs";
4
+ import {
3
5
  asString
4
- } from "./chunk-PFAEQQXA.mjs";
6
+ } from "./chunk-45GNHDKA.mjs";
5
7
  import {
6
8
  ofGet
7
9
  } from "./chunk-SJGQU3OG.mjs";
@@ -25,4 +27,4 @@ var ContentType = class _ContentType extends Enum {
25
27
  export {
26
28
  ContentType
27
29
  };
28
- //# sourceMappingURL=chunk-BAXNN36F.mjs.map
30
+ //# sourceMappingURL=chunk-4DJNTF2D.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/http/ContentType.ts"],"sourcesContent":["import formUrlEncoded from 'form-urlencoded';\nimport { Enum } from '../types/Enum';\nimport { Get, ofGet } from '../types/Get';\nimport { asString } from '../types/Text';\n\nexport class ContentType extends Enum {\n static Form = new ContentType('form', 'application/x-www-form-urlencoded', b => formUrlEncoded(b));\n static Json = new ContentType('json', 'application/json', b => b);\n static Stream = new ContentType('stream', 'application/octet-stream');\n static Text = new ContentType('text', 'text/plain');\n static Xml = new ContentType('xml', 'application/xml');\n\n private constructor(\n name: string,\n readonly type: string,\n protected readonly encoder: Get<string> = b => asString(b)\n ) {\n super(name, type);\n }\n\n encode = (body?: unknown): string => ofGet(this.encoder, body);\n}\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,oBAAoB;AAKpB,IAAM,cAAN,MAAM,qBAAoB,KAAK;AAAA,EAO5B,YACN,MACS,MACU,UAAuB,OAAK,SAAS,CAAC,GACzD;AACA,UAAM,MAAM,IAAI;AAHP;AACU;AAAA,EAGrB;AAAA,EAZA,OAAO,OAAO,IAAI,aAAY,QAAQ,qCAAqC,OAAK,eAAe,CAAC,CAAC;AAAA,EACjG,OAAO,OAAO,IAAI,aAAY,QAAQ,oBAAoB,OAAK,CAAC;AAAA,EAChE,OAAO,SAAS,IAAI,aAAY,UAAU,0BAA0B;AAAA,EACpE,OAAO,OAAO,IAAI,aAAY,QAAQ,YAAY;AAAA,EAClD,OAAO,MAAM,IAAI,aAAY,OAAO,iBAAiB;AAAA,EAUrD,SAAS,CAAC,SAA2B,MAAM,KAAK,SAAS,IAAI;AAC/D;","names":[]}
@@ -0,0 +1,35 @@
1
+ import {
2
+ isResult,
3
+ toResult
4
+ } from "./chunk-J6KN572O.mjs";
5
+ import {
6
+ toArray
7
+ } from "./chunk-X7FZPY3P.mjs";
8
+ import {
9
+ isDefined
10
+ } from "./chunk-DEJ7A5PY.mjs";
11
+
12
+ // src/types/Results.ts
13
+ var parse = (...rs) => toArray(...rs).map((r) => isResult(r) ? r : toResult(r));
14
+ var Results = class {
15
+ results;
16
+ constructor(...rs) {
17
+ this.results = parse(...rs);
18
+ }
19
+ get length() {
20
+ return this.results.length;
21
+ }
22
+ get isValid() {
23
+ return this.results.length === 0;
24
+ }
25
+ add = (...rs) => toResults(...this.results, ...parse(...rs));
26
+ };
27
+ var toResults = (...r) => new Results(...r);
28
+ var isResults = (r) => isDefined(r) && r instanceof Results;
29
+
30
+ export {
31
+ Results,
32
+ toResults,
33
+ isResults
34
+ };
35
+ //# sourceMappingURL=chunk-4G6AW6D6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Results.ts"],"sourcesContent":["import { Text } from './Text';\nimport { isResult, Result, toResult } from './Result';\nimport { Validatable } from './Validatable';\nimport { isDefined } from './Is';\nimport { toArray } from './Array';\n\nconst parse = (...rs: (Text | Result)[]): Result[] => toArray(...rs).map(r => (isResult(r) ? r : toResult(r)));\n\nexport class Results implements Validatable {\n public readonly results: Result[];\n\n constructor(...rs: (Text | Result)[]) {\n this.results = parse(...rs);\n }\n\n get length(): number {\n return this.results.length;\n }\n\n get isValid(): boolean {\n return this.results.length === 0;\n }\n\n add = (...rs: (Text | Result)[]): Results => toResults(...this.results, ...parse(...rs));\n}\n\nexport const toResults = (...r: (Text | Result)[]): Results => new Results(...r);\n\nexport const isResults = (r?: unknown): r is Results => isDefined(r) && r instanceof Results;\n"],"mappings":";;;;;;;;;;;;AAMA,IAAM,QAAQ,IAAI,OAAoC,QAAQ,GAAG,EAAE,EAAE,IAAI,OAAM,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,CAAE;AAEtG,IAAM,UAAN,MAAqC;AAAA,EAC1B;AAAA,EAEhB,eAAe,IAAuB;AACpC,SAAK,UAAU,MAAM,GAAG,EAAE;AAAA,EAC5B;AAAA,EAEA,IAAI,SAAiB;AACnB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO,KAAK,QAAQ,WAAW;AAAA,EACjC;AAAA,EAEA,MAAM,IAAI,OAAmC,UAAU,GAAG,KAAK,SAAS,GAAG,MAAM,GAAG,EAAE,CAAC;AACzF;AAEO,IAAM,YAAY,IAAI,MAAkC,IAAI,QAAQ,GAAG,CAAC;AAExE,IAAM,YAAY,CAAC,MAA8B,UAAU,CAAC,KAAK,aAAa;","names":[]}
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  AxiosProvider
3
- } from "./chunk-SG6BDC6T.mjs";
3
+ } from "./chunk-EDVJUOFU.mjs";
4
4
  import {
5
5
  RequestOptions,
6
6
  toPageOptions
7
- } from "./chunk-S5RHU67S.mjs";
7
+ } from "./chunk-7TJ4VCBE.mjs";
8
8
  import {
9
9
  HttpVerb
10
- } from "./chunk-H7NDGISC.mjs";
10
+ } from "./chunk-LAR7AT6R.mjs";
11
11
 
12
12
  // src/services/Api.ts
13
13
  var Api = class {
@@ -76,4 +76,4 @@ export {
76
76
  Api,
77
77
  api
78
78
  };
79
- //# sourceMappingURL=chunk-I5MPU33B.mjs.map
79
+ //# sourceMappingURL=chunk-5WSP2IYF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/services/Api.ts"],"sourcesContent":["import { AxiosProvider } from './AxiosProvider';\nimport { RequestOptions, toPageOptions } from '../http/RequestOptions';\nimport { FetchOptions } from '../types/Gateway';\nimport { RequestProvider } from '../http/RequestProvider';\nimport { Store } from '../types/Cache';\nimport { Uri } from '../types/Uri';\nimport { HttpVerb } from '../http/HttpVerb';\nimport { Request } from '../http/Request';\nimport { Response } from '../http/Response';\n\nexport type RouteOptions = RequestOptions | FetchOptions;\n\nexport class Api {\n constructor(\n readonly provider: RequestProvider = new AxiosProvider(),\n protected store?: Store<Response, Request>\n ) {}\n\n get(uri: Uri, options?: RouteOptions, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri: uri.skip(toPageOptions(options)?.skip).take(toPageOptions(options)?.take),\n verb: HttpVerb.Get,\n transform,\n transformError,\n options: this.options(HttpVerb.Get, options),\n });\n }\n\n post(uri: Uri, body?: unknown, options: RouteOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri,\n verb: HttpVerb.Post,\n body,\n transform,\n transformError,\n options: this.options(HttpVerb.Post, options),\n });\n }\n\n put(uri: Uri, body?: unknown, options: RouteOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri,\n verb: HttpVerb.Put,\n body,\n transform,\n transformError,\n options: this.options(HttpVerb.Put, options),\n });\n }\n\n patch(uri: Uri, body?: unknown, options: RouteOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri,\n verb: HttpVerb.Patch,\n body,\n transform,\n transformError,\n options: this.options(HttpVerb.Patch, options),\n });\n }\n\n delete(uri: Uri, options: RouteOptions = RequestOptions.Json, transform?: (b: any) => any, transformError = (r: any) => r): Promise<Response> {\n return this.execute({\n uri,\n verb: HttpVerb.Delete,\n transform,\n transformError,\n options: this.options(HttpVerb.Delete, options),\n });\n }\n\n options(verb: HttpVerb, options?: RouteOptions): RequestOptions {\n return options instanceof RequestOptions ? options : RequestOptions.Json;\n }\n\n execute(req: Request): Promise<Response> {\n return this.store ? this.store.execute(req, () => this.provider.execute(req)) : this.provider.execute(req);\n }\n}\n\nexport const api: Api = new Api();\n"],"mappings":";;;;;;;;;;;;AAYO,IAAM,MAAN,MAAU;AAAA,EACf,YACW,WAA4B,IAAI,cAAc,GAC7C,OACV;AAFS;AACC;AAAA,EACT;AAAA,EAEH,IAAI,KAAU,SAAwB,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AACpH,WAAO,KAAK,QAAQ;AAAA,MAClB,KAAK,IAAI,KAAK,cAAc,OAAO,GAAG,IAAI,EAAE,KAAK,cAAc,OAAO,GAAG,IAAI;AAAA,MAC7E,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,KAAK,OAAO;AAAA,IAC7C,CAAC;AAAA,EACH;AAAA,EAEA,KAAK,KAAU,MAAgB,UAAwB,eAAe,MAAM,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AAC1J,WAAO,KAAK,QAAQ;AAAA,MAClB;AAAA,MACA,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,MAAM,OAAO;AAAA,IAC9C,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,KAAU,MAAgB,UAAwB,eAAe,MAAM,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AACzJ,WAAO,KAAK,QAAQ;AAAA,MAClB;AAAA,MACA,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,KAAK,OAAO;AAAA,IAC7C,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,KAAU,MAAgB,UAAwB,eAAe,MAAM,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AAC3J,WAAO,KAAK,QAAQ;AAAA,MAClB;AAAA,MACA,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,OAAO,OAAO;AAAA,IAC/C,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,KAAU,UAAwB,eAAe,MAAM,WAA6B,iBAAiB,CAAC,MAAW,GAAsB;AAC5I,WAAO,KAAK,QAAQ;AAAA,MAClB;AAAA,MACA,MAAM,SAAS;AAAA,MACf;AAAA,MACA;AAAA,MACA,SAAS,KAAK,QAAQ,SAAS,QAAQ,OAAO;AAAA,IAChD,CAAC;AAAA,EACH;AAAA,EAEA,QAAQ,MAAgB,SAAwC;AAC9D,WAAO,mBAAmB,iBAAiB,UAAU,eAAe;AAAA,EACtE;AAAA,EAEA,QAAQ,KAAiC;AACvC,WAAO,KAAK,QAAQ,KAAK,MAAM,QAAQ,KAAK,MAAM,KAAK,SAAS,QAAQ,GAAG,CAAC,IAAI,KAAK,SAAS,QAAQ,GAAG;AAAA,EAC3G;AACF;AAEO,IAAM,MAAW,IAAI,IAAI;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  toUuid
3
- } from "./chunk-OXVJLJIE.mjs";
3
+ } from "./chunk-LXQQ5N6S.mjs";
4
4
 
5
5
  // src/types/Id.ts
6
6
  var toId = () => toUuid();
@@ -8,4 +8,4 @@ var toId = () => toUuid();
8
8
  export {
9
9
  toId
10
10
  };
11
- //# sourceMappingURL=chunk-GCPVSACZ.mjs.map
11
+ //# sourceMappingURL=chunk-5YM5CLOG.mjs.map
@@ -1,7 +1,9 @@
1
1
  import {
2
- Exception,
3
2
  reject
4
- } from "./chunk-PFAEQQXA.mjs";
3
+ } from "./chunk-USGZFNWP.mjs";
4
+ import {
5
+ Exception
6
+ } from "./chunk-LYAPQ4QZ.mjs";
5
7
 
6
8
  // src/types/Gateway.ts
7
9
  var Gateway = class {
@@ -40,4 +42,4 @@ var Gateway = class {
40
42
  export {
41
43
  Gateway
42
44
  };
43
- //# sourceMappingURL=chunk-GUSPHVF2.mjs.map
45
+ //# sourceMappingURL=chunk-6BQEFLOS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Gateway.ts"],"sourcesContent":["import { Json, JsonValue } from './Json';\nimport { Id } from './Id';\nimport { Exception } from './Exception';\nimport { PageList, PageOptions } from './PageList';\nimport { List } from './List';\nimport { Optional } from './Types';\nimport { reject } from '../utils/Promise';\n\nexport type FetchOptions = PageOptions;\n\nexport abstract class Gateway<Options = FetchOptions> {\n all(options?: Options): Promise<PageList<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n byId(id: Id, options?: Options): Promise<Optional<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n by(_key: string, _value: JsonValue, _options?: Options): Promise<PageList<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n byIds(..._ids: Id[]): Promise<List<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n filter(options?: Options): Promise<PageList<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n exists(id: Id, options?: Options): Promise<boolean> {\n return reject(Exception.IsNotImplemented);\n }\n\n add(item: Json, options?: Options): Promise<Json> {\n return reject(Exception.IsNotImplemented);\n }\n\n update(item: Json, options?: Options): Promise<Json> {\n return reject(Exception.IsNotImplemented);\n }\n\n remove(id: Id, options?: Options): Promise<boolean> {\n return reject(Exception.IsNotImplemented);\n }\n}\n"],"mappings":";;;;;;;;AAUO,IAAe,UAAf,MAA+C;AAAA,EACpD,IAAI,SAA4C;AAC9C,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,KAAK,IAAQ,SAA4C;AACvD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,GAAG,MAAc,QAAmB,UAA6C;AAC/E,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,SAAS,MAAiC;AACxC,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,GAAc,SAA4C;AAC/D,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,SAA4C;AACjD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAAQ,SAAqC;AAClD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,IAAI,MAAY,SAAkC;AAChD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,MAAY,SAAkC;AACnD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAAQ,SAAqC;AAClD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SqlQuery
3
- } from "./chunk-YHL2CUBI.mjs";
3
+ } from "./chunk-73UD7JJL.mjs";
4
4
  import {
5
5
  ifGet
6
6
  } from "./chunk-SJGQU3OG.mjs";
@@ -15,4 +15,4 @@ var Delete = class extends SqlQuery {
15
15
  export {
16
16
  Delete
17
17
  };
18
- //# sourceMappingURL=chunk-MRIELSWP.mjs.map
18
+ //# sourceMappingURL=chunk-6VLC4Z4H.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sql/Delete.ts"],"sourcesContent":["import { SqlQuery } from './SqlQuery';\nimport { ifGet } from '../types/Get';\n\nexport class Delete extends SqlQuery {\n toString(): string {\n return `DELETE FROM ${this.table}` + ifGet(this.clauses.length, ` WHERE ${this.clauses.join(' AND ')};`, ';');\n }\n}\n"],"mappings":";;;;;;;;AAGO,IAAM,SAAN,cAAqB,SAAS;AAAA,EACnC,WAAmB;AACjB,WAAO,eAAe,KAAK,KAAK,KAAK,MAAM,KAAK,QAAQ,QAAQ,UAAU,KAAK,QAAQ,KAAK,OAAO,CAAC,KAAK,GAAG;AAAA,EAC9G;AACF;","names":[]}
@@ -0,0 +1,94 @@
1
+ import {
2
+ text
3
+ } from "./chunk-FHW5K2RR.mjs";
4
+
5
+ // src/types/Context.ts
6
+ var DotEnvContext = class {
7
+ domain = process.env.DOMAIN ?? "easy";
8
+ name = process.env.ENVIRONMENT_NAME ?? "";
9
+ host = process.env.HOST ?? "";
10
+ port = Number.parseInt(process.env.PORT ?? "8080");
11
+ app = process.env.APP ?? "";
12
+ get = (key, alt) => {
13
+ const k = text(key).map((k2) => k2.replace(/([a-z])([A-Z])/g, "$1 $2")).snake.toString();
14
+ return process.env[k] ?? alt;
15
+ };
16
+ };
17
+ var BaseRequestContext = class {
18
+ state = {};
19
+ get token() {
20
+ return this.get("token");
21
+ }
22
+ set token(token) {
23
+ this.set("token", token);
24
+ }
25
+ get identity() {
26
+ return this.token;
27
+ }
28
+ get jwt() {
29
+ return this.get("jwt");
30
+ }
31
+ set jwt(jwt) {
32
+ this.set("jwt", jwt);
33
+ }
34
+ get correlationId() {
35
+ return this.get("correlationId");
36
+ }
37
+ set correlationId(id) {
38
+ this.set("correlationId", id);
39
+ }
40
+ get lastError() {
41
+ return this.get("lastError");
42
+ }
43
+ set lastError(error) {
44
+ this.set("lastError", error);
45
+ }
46
+ get(key) {
47
+ return this.state[key];
48
+ }
49
+ set(key, value) {
50
+ return this.state[key] = value;
51
+ }
52
+ create = (f) => f();
53
+ wrap = (f) => f();
54
+ };
55
+ var BaseContext = class extends BaseRequestContext {
56
+ };
57
+ var Context = class {
58
+ constructor(state = {}) {
59
+ this.state = state;
60
+ this.state = {
61
+ ...{
62
+ env: new DotEnvContext(),
63
+ request: new BaseRequestContext(),
64
+ other: {}
65
+ },
66
+ ...this.state
67
+ };
68
+ }
69
+ get env() {
70
+ return this.state.env;
71
+ }
72
+ set env(env) {
73
+ this.state.env = env;
74
+ }
75
+ get request() {
76
+ return this.state.request;
77
+ }
78
+ set request(request) {
79
+ this.state.request = request;
80
+ }
81
+ get other() {
82
+ return this.state.other;
83
+ }
84
+ };
85
+ var ctx = new Context();
86
+
87
+ export {
88
+ DotEnvContext,
89
+ BaseRequestContext,
90
+ BaseContext,
91
+ Context,
92
+ ctx
93
+ };
94
+ //# sourceMappingURL=chunk-6YVMQB26.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Context.ts"],"sourcesContent":["import { Uuid } from './Uuid';\nimport { Identity } from './Identity';\nimport { Optional } from './Types';\nimport { text } from './Template';\n\nexport interface EnvContext {\n readonly domain: string;\n readonly name: string;\n readonly host: string;\n readonly port: number;\n readonly app: string;\n\n get(key: string, alt?: string): Optional<string>;\n}\n\nexport class DotEnvContext implements EnvContext {\n readonly domain = process.env.DOMAIN ?? 'easy';\n readonly name = process.env.ENVIRONMENT_NAME ?? '';\n readonly host = process.env.HOST ?? '';\n readonly port = Number.parseInt(process.env.PORT ?? '8080');\n readonly app = process.env.APP ?? '';\n\n readonly get = (key: string, alt?: string): Optional<string> => {\n const k = text(key)\n .map(k => k.replace(/([a-z])([A-Z])/g, '$1 $2'))\n .snake.toString();\n return process.env[k] ?? alt;\n };\n}\n\nexport interface RequestContext {\n token?: any;\n identity?: Identity;\n jwt: string;\n correlationId?: Uuid;\n lastError?: string;\n lastErrorStack?: string;\n get<T>(key: string): T;\n set<T>(key: string, value: T): T;\n create: (f: () => void) => void;\n wrap<T>(f: () => Promise<T>): Promise<T>;\n}\n\nexport class BaseRequestContext implements RequestContext {\n private state: any = {};\n\n get token(): any {\n return this.get('token');\n }\n\n set token(token: any) {\n this.set('token', token);\n }\n\n get identity(): Identity {\n return this.token as Identity;\n }\n\n get jwt(): string {\n return this.get('jwt');\n }\n\n set jwt(jwt: string) {\n this.set('jwt', jwt);\n }\n\n get correlationId(): Uuid {\n return this.get('correlationId');\n }\n\n set correlationId(id: Uuid) {\n this.set('correlationId', id);\n }\n\n get lastError(): Optional<string> {\n return this.get('lastError');\n }\n\n set lastError(error: Optional<string>) {\n this.set('lastError', error);\n }\n\n public get<T>(key: string): T {\n return this.state[key] as T;\n }\n\n public set<T>(key: string, value: T): T {\n return (this.state[key] = value);\n }\n\n public readonly create = (f: () => void): void => f();\n\n public readonly wrap = <T>(f: () => Promise<T>): Promise<T> => f();\n}\n\n/**\n * @deprecated Renamed to BaseRequestContext\n */\nexport class BaseContext extends BaseRequestContext {}\n\nexport interface Contexts {\n env?: EnvContext;\n request?: RequestContext;\n other?: any;\n}\n\nexport class Context {\n constructor(protected state: Contexts = {}) {\n this.state = {\n ...{\n env: new DotEnvContext(),\n request: new BaseRequestContext(),\n other: {},\n },\n ...this.state,\n };\n }\n\n get env(): EnvContext {\n return this.state.env as EnvContext;\n }\n\n set env(env: EnvContext) {\n this.state.env = env;\n }\n\n get request(): RequestContext {\n return this.state.request as RequestContext;\n }\n\n set request(request: RequestContext) {\n this.state.request = request;\n }\n\n get other(): any {\n return this.state.other;\n }\n}\n\nexport const ctx = new Context();\n"],"mappings":";;;;;AAeO,IAAM,gBAAN,MAA0C;AAAA,EACtC,SAAS,QAAQ,IAAI,UAAU;AAAA,EAC/B,OAAO,QAAQ,IAAI,oBAAoB;AAAA,EACvC,OAAO,QAAQ,IAAI,QAAQ;AAAA,EAC3B,OAAO,OAAO,SAAS,QAAQ,IAAI,QAAQ,MAAM;AAAA,EACjD,MAAM,QAAQ,IAAI,OAAO;AAAA,EAEzB,MAAM,CAAC,KAAa,QAAmC;AAC9D,UAAM,IAAI,KAAK,GAAG,EACf,IAAI,CAAAA,OAAKA,GAAE,QAAQ,mBAAmB,OAAO,CAAC,EAC9C,MAAM,SAAS;AAClB,WAAO,QAAQ,IAAI,CAAC,KAAK;AAAA,EAC3B;AACF;AAeO,IAAM,qBAAN,MAAmD;AAAA,EAChD,QAAa,CAAC;AAAA,EAEtB,IAAI,QAAa;AACf,WAAO,KAAK,IAAI,OAAO;AAAA,EACzB;AAAA,EAEA,IAAI,MAAM,OAAY;AACpB,SAAK,IAAI,SAAS,KAAK;AAAA,EACzB;AAAA,EAEA,IAAI,WAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,MAAc;AAChB,WAAO,KAAK,IAAI,KAAK;AAAA,EACvB;AAAA,EAEA,IAAI,IAAI,KAAa;AACnB,SAAK,IAAI,OAAO,GAAG;AAAA,EACrB;AAAA,EAEA,IAAI,gBAAsB;AACxB,WAAO,KAAK,IAAI,eAAe;AAAA,EACjC;AAAA,EAEA,IAAI,cAAc,IAAU;AAC1B,SAAK,IAAI,iBAAiB,EAAE;AAAA,EAC9B;AAAA,EAEA,IAAI,YAA8B;AAChC,WAAO,KAAK,IAAI,WAAW;AAAA,EAC7B;AAAA,EAEA,IAAI,UAAU,OAAyB;AACrC,SAAK,IAAI,aAAa,KAAK;AAAA,EAC7B;AAAA,EAEO,IAAO,KAAgB;AAC5B,WAAO,KAAK,MAAM,GAAG;AAAA,EACvB;AAAA,EAEO,IAAO,KAAa,OAAa;AACtC,WAAQ,KAAK,MAAM,GAAG,IAAI;AAAA,EAC5B;AAAA,EAEgB,SAAS,CAAC,MAAwB,EAAE;AAAA,EAEpC,OAAO,CAAI,MAAoC,EAAE;AACnE;AAKO,IAAM,cAAN,cAA0B,mBAAmB;AAAC;AAQ9C,IAAM,UAAN,MAAc;AAAA,EACnB,YAAsB,QAAkB,CAAC,GAAG;AAAtB;AACpB,SAAK,QAAQ;AAAA,MACX,GAAG;AAAA,QACD,KAAK,IAAI,cAAc;AAAA,QACvB,SAAS,IAAI,mBAAmB;AAAA,QAChC,OAAO,CAAC;AAAA,MACV;AAAA,MACA,GAAG,KAAK;AAAA,IACV;AAAA,EACF;AAAA,EAEA,IAAI,MAAkB;AACpB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,IAAI,KAAiB;AACvB,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEA,IAAI,UAA0B;AAC5B,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,QAAQ,SAAyB;AACnC,SAAK,MAAM,UAAU;AAAA,EACvB;AAAA,EAEA,IAAI,QAAa;AACf,WAAO,KAAK,MAAM;AAAA,EACpB;AACF;AAEO,IAAM,MAAM,IAAI,QAAQ;","names":["k"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  toList
3
- } from "./chunk-PFAEQQXA.mjs";
3
+ } from "./chunk-J7XKOXMW.mjs";
4
4
 
5
5
  // src/sql/SqlQuery.ts
6
6
  var SqlQuery = class {
@@ -17,4 +17,4 @@ var SqlQuery = class {
17
17
  export {
18
18
  SqlQuery
19
19
  };
20
- //# sourceMappingURL=chunk-YHL2CUBI.mjs.map
20
+ //# sourceMappingURL=chunk-73UD7JJL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sql/SqlQuery.ts"],"sourcesContent":["import { Query } from '../data/Query';\nimport { Table } from './Table';\nimport { Join } from './Join';\nimport { List, toList } from '../types/List';\nimport { Clause } from './Clause';\n\nexport class SqlQuery implements Query {\n constructor(\n protected table: Table | Join,\n readonly clauses: List<Clause> = toList()\n ) {}\n\n where = (...clauses: Clause[]): this => {\n this.clauses.add(clauses);\n return this;\n };\n}\n"],"mappings":";;;;;AAMO,IAAM,WAAN,MAAgC;AAAA,EACrC,YACY,OACD,UAAwB,OAAO,GACxC;AAFU;AACD;AAAA,EACR;AAAA,EAEH,QAAQ,IAAI,YAA4B;AACtC,SAAK,QAAQ,IAAI,OAAO;AACxB,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Select
3
- } from "./chunk-I3DRDMCS.mjs";
3
+ } from "./chunk-HBJMCX2I.mjs";
4
4
  import {
5
5
  ifGet
6
6
  } from "./chunk-SJGQU3OG.mjs";
@@ -15,4 +15,4 @@ var Count = class extends Select {
15
15
  export {
16
16
  Count
17
17
  };
18
- //# sourceMappingURL=chunk-2L3GZ6NK.mjs.map
18
+ //# sourceMappingURL=chunk-7K4QMDUN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sql/Count.ts"],"sourcesContent":["import { Select } from './Select';\nimport { ifGet } from '../types/Get';\n\nexport class Count extends Select {\n toString(): string {\n return (\n `SELECT COUNT(*)` +\n ifGet(this._top, ` TOP ${this._top}`, '') +\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 ';'\n );\n }\n}\n"],"mappings":";;;;;;;;AAGO,IAAM,QAAN,cAAoB,OAAO;AAAA,EAChC,WAAmB;AACjB,WACE,oBACA,MAAM,KAAK,MAAM,QAAQ,KAAK,IAAI,IAAI,EAAE,IACxC,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;AAAA,EAEJ;AACF;","names":[]}
@@ -3,20 +3,26 @@ import {
3
3
  } from "./chunk-SW2OCUH3.mjs";
4
4
  import {
5
5
  toUuid
6
- } from "./chunk-OXVJLJIE.mjs";
6
+ } from "./chunk-LXQQ5N6S.mjs";
7
7
  import {
8
8
  ContentType
9
- } from "./chunk-BAXNN36F.mjs";
9
+ } from "./chunk-4DJNTF2D.mjs";
10
10
  import {
11
- Enum,
12
- asString,
13
11
  ctx
14
- } from "./chunk-PFAEQQXA.mjs";
12
+ } from "./chunk-6YVMQB26.mjs";
13
+ import {
14
+ Enum
15
+ } from "./chunk-UNHWYQ54.mjs";
16
+ import {
17
+ asString
18
+ } from "./chunk-45GNHDKA.mjs";
15
19
  import {
16
- isDefined,
17
- isNotEmpty,
18
20
  on
19
- } from "./chunk-UWNXWKBU.mjs";
21
+ } from "./chunk-ZPNFXK7Y.mjs";
22
+ import {
23
+ isDefined,
24
+ isNotEmpty
25
+ } from "./chunk-DEJ7A5PY.mjs";
20
26
 
21
27
  // src/http/RequestOptions.ts
22
28
  var toPageOptions = (options) => options instanceof RequestOptions ? options.pageOptions : options;
@@ -81,4 +87,4 @@ export {
81
87
  RequestOptions,
82
88
  isRequestOptions
83
89
  };
84
- //# sourceMappingURL=chunk-S5RHU67S.mjs.map
90
+ //# sourceMappingURL=chunk-7TJ4VCBE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/http/RequestOptions.ts"],"sourcesContent":["import { HttpHeader } from './HttpHeader';\nimport { ContentType } from './ContentType';\nimport { PageOptions } from '../types/PageList';\nimport { Optional } from '../types/Types';\nimport { Text } from '../types/Text';\nimport { Enum } from '../types/Enum';\nimport { CacheAge } from '../types/CacheAge';\nimport { ctx } from '../types/Context';\nimport { toUuid } from '../types/Uuid';\nimport { Id } from '../types/Id';\nimport { on } from '../types/Constructor';\nimport { asString } from '../types/Text';\nimport { isDefined, isNotEmpty } from '../types/Is';\n\nexport const toPageOptions = (options?: RequestOptions | PageOptions): Optional<PageOptions> =>\n options instanceof RequestOptions ? options.pageOptions : options;\n\nexport class RequestOptions extends Enum {\n public requestOptions: { maxRedirects?: number; validateStatus?: (status: number) => boolean; timeout?: CacheAge } = {};\n\n constructor(\n readonly type: ContentType = ContentType.Json,\n readonly headers: { [key: string]: any } = {},\n public pageOptions?: PageOptions\n ) {\n super(type.name);\n this.headers['Content-Type'] = type.id;\n this.headers[HttpHeader.Correlation] = ctx.request.correlationId ?? toUuid();\n }\n\n static get Form(): RequestOptions {\n return new RequestOptions(ContentType.Form);\n }\n\n static get Json(): RequestOptions {\n return new RequestOptions(ContentType.Json);\n }\n\n static get Stream(): RequestOptions {\n return new RequestOptions(ContentType.Stream);\n }\n\n static get Text(): RequestOptions {\n return new RequestOptions(ContentType.Text);\n }\n\n static get Xml(): RequestOptions {\n return new RequestOptions(ContentType.Xml);\n }\n\n page = (options: PageOptions): this => {\n this.pageOptions = options;\n return this;\n };\n\n authorization = (auth: string): this => this.setHeader('Authorization', auth);\n\n apiKey = (apiKey: string): this => this.setHeader('apiKey', apiKey);\n\n setHeader = (key: Text, value: Id | boolean): this => on(this, t => (t.headers[asString(key)] = value));\n\n setHeaderUnlessPresent = (key: string, value?: Id | boolean): this => (value ? this.setHeader(key, this.headers[key] ?? value) : this);\n\n accept = (type: ContentType): this => this.setHeader('Accept', type.id);\n\n bearer = (jwt: Text): this => {\n return isNotEmpty(jwt) ? this.authorization(`Bearer ${jwt}`) : this;\n };\n\n basic = (username: Text, password: Text): this => {\n const basicAuth = Buffer.from(`${username}:${password}`, 'utf8').toString('base64');\n return this.authorization(`Basic ${basicAuth}`);\n };\n\n maxRedirects = (max?: number): this => {\n this.requestOptions.maxRedirects = max;\n return this;\n };\n\n validateStatus = (validate?: (status: number) => boolean): this => {\n this.requestOptions.validateStatus = validate;\n return this;\n };\n\n timeout = (t?: CacheAge): this => {\n this.requestOptions.timeout = t;\n return this;\n };\n}\n\nexport const isRequestOptions = (o?: unknown): o is RequestOptions => isDefined(o) && o instanceof RequestOptions;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,IAAM,gBAAgB,CAAC,YAC5B,mBAAmB,iBAAiB,QAAQ,cAAc;AAErD,IAAM,iBAAN,MAAM,wBAAuB,KAAK;AAAA,EAGvC,YACW,OAAoB,YAAY,MAChC,UAAkC,CAAC,GACrC,aACP;AACA,UAAM,KAAK,IAAI;AAJN;AACA;AACF;AAGP,SAAK,QAAQ,cAAc,IAAI,KAAK;AACpC,SAAK,QAAQ,WAAW,WAAW,IAAI,IAAI,QAAQ,iBAAiB,OAAO;AAAA,EAC7E;AAAA,EAVO,iBAA8G,CAAC;AAAA,EAYtH,WAAW,OAAuB;AAChC,WAAO,IAAI,gBAAe,YAAY,IAAI;AAAA,EAC5C;AAAA,EAEA,WAAW,OAAuB;AAChC,WAAO,IAAI,gBAAe,YAAY,IAAI;AAAA,EAC5C;AAAA,EAEA,WAAW,SAAyB;AAClC,WAAO,IAAI,gBAAe,YAAY,MAAM;AAAA,EAC9C;AAAA,EAEA,WAAW,OAAuB;AAChC,WAAO,IAAI,gBAAe,YAAY,IAAI;AAAA,EAC5C;AAAA,EAEA,WAAW,MAAsB;AAC/B,WAAO,IAAI,gBAAe,YAAY,GAAG;AAAA,EAC3C;AAAA,EAEA,OAAO,CAAC,YAA+B;AACrC,SAAK,cAAc;AACnB,WAAO;AAAA,EACT;AAAA,EAEA,gBAAgB,CAAC,SAAuB,KAAK,UAAU,iBAAiB,IAAI;AAAA,EAE5E,SAAS,CAAC,WAAyB,KAAK,UAAU,UAAU,MAAM;AAAA,EAElE,YAAY,CAAC,KAAW,UAA8B,GAAG,MAAM,OAAM,EAAE,QAAQ,SAAS,GAAG,CAAC,IAAI,KAAM;AAAA,EAEtG,yBAAyB,CAAC,KAAa,UAAgC,QAAQ,KAAK,UAAU,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK,IAAI;AAAA,EAEjI,SAAS,CAAC,SAA4B,KAAK,UAAU,UAAU,KAAK,EAAE;AAAA,EAEtE,SAAS,CAAC,QAAoB;AAC5B,WAAO,WAAW,GAAG,IAAI,KAAK,cAAc,UAAU,GAAG,EAAE,IAAI;AAAA,EACjE;AAAA,EAEA,QAAQ,CAAC,UAAgB,aAAyB;AAChD,UAAM,YAAY,OAAO,KAAK,GAAG,QAAQ,IAAI,QAAQ,IAAI,MAAM,EAAE,SAAS,QAAQ;AAClF,WAAO,KAAK,cAAc,SAAS,SAAS,EAAE;AAAA,EAChD;AAAA,EAEA,eAAe,CAAC,QAAuB;AACrC,SAAK,eAAe,eAAe;AACnC,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB,CAAC,aAAiD;AACjE,SAAK,eAAe,iBAAiB;AACrC,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,CAAC,MAAuB;AAChC,SAAK,eAAe,UAAU;AAC9B,WAAO;AAAA,EACT;AACF;AAEO,IAAM,mBAAmB,CAAC,MAAqC,UAAU,CAAC,KAAK,aAAa;","names":[]}
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  toClause
3
- } from "./chunk-L7JZMM3J.mjs";
3
+ } from "./chunk-U53FLD4J.mjs";
4
4
  import {
5
5
  Property
6
- } from "./chunk-TG5IPJOG.mjs";
6
+ } from "./chunk-QQRGOHU6.mjs";
7
7
  import {
8
8
  tryTo
9
- } from "./chunk-PFAEQQXA.mjs";
9
+ } from "./chunk-ARZEQQW5.mjs";
10
10
  import {
11
11
  ofGet
12
12
  } from "./chunk-SJGQU3OG.mjs";
@@ -79,4 +79,4 @@ export {
79
79
  PatternColumn,
80
80
  OrderColumn
81
81
  };
82
- //# sourceMappingURL=chunk-NKHZO3ME.mjs.map
82
+ //# sourceMappingURL=chunk-A2JYVEBB.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":[]}
@@ -1,15 +1,19 @@
1
+ import {
2
+ choose
3
+ } from "./chunk-ARZEQQW5.mjs";
1
4
  import {
2
5
  List,
3
- choose,
4
6
  isList
5
- } from "./chunk-PFAEQQXA.mjs";
7
+ } from "./chunk-J7XKOXMW.mjs";
6
8
  import {
7
9
  isA
8
- } from "./chunk-Q5ATL34D.mjs";
10
+ } from "./chunk-ZHXKBOK2.mjs";
9
11
  import {
10
- isNumber,
11
12
  ofConstruct
12
- } from "./chunk-UWNXWKBU.mjs";
13
+ } from "./chunk-ZPNFXK7Y.mjs";
14
+ import {
15
+ isNumber
16
+ } from "./chunk-DEJ7A5PY.mjs";
13
17
 
14
18
  // src/types/PageList.ts
15
19
  var toFilter = (field, value) => toShortFilter(field, field, value);
@@ -134,4 +138,4 @@ export {
134
138
  toPageList,
135
139
  asPageList
136
140
  };
137
- //# sourceMappingURL=chunk-57QV3J5N.mjs.map
141
+ //# sourceMappingURL=chunk-A62OK7XE.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types/PageList.ts"],"sourcesContent":["import { isList, List } 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';\n\nexport type FilterValue = { label?: string; value: any };\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> extends List<T> {\n private _options?: PageListOptions;\n\n private setPageOptions(options?: PageListOptions): this {\n this._options = options;\n return this;\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 options(): Optional<PageListOptions> {\n return this._options;\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(others: ArrayLike<T>, key: keyof T): PageList<T> {\n return toPageList(super.diffByKey(others, key), this);\n }\n\n intersect(others: ArrayLike<T>): PageList<T> {\n return toPageList(super.intersect(others), this);\n }\n\n intersectByKey(others: ArrayLike<T>, key: keyof T): 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 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 filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): PageList<T> {\n return toPageList(super.filter(p, params), this);\n }\n\n concat(...items: ConcatArray<T>[]): PageList<T>;\n concat(...items: (T | ConcatArray<T>)[]): PageList<T>;\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 splice(start: number, deleteCount: number, ...items: T[]): PageList<T>;\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\nexport const isPageList = <T>(l?: unknown): l is PageList<T> => isList<T>(l) && isA(l, 'total');\n\nexport const toPageList = <T>(items: T[] = [], options?: Omit<PageOptions, 'sort'> & { total?: number }): PageList<T> =>\n (\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(options);\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":[]}
1
+ {"version":3,"sources":["../src/types/PageList.ts"],"sourcesContent":["import { isList, List } 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';\n\nexport type FilterValue = { label?: string; value: any };\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> extends List<T> {\n private _options?: PageListOptions;\n\n private setPageOptions(options?: PageListOptions): this {\n this._options = options;\n return this;\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 options(): Optional<PageListOptions> {\n return this._options;\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(others: ArrayLike<T>, key: keyof T): PageList<T> {\n return toPageList(super.diffByKey(others, key), this);\n }\n\n intersect(others: ArrayLike<T>): PageList<T> {\n return toPageList(super.intersect(others), this);\n }\n\n intersectByKey(others: ArrayLike<T>, key: keyof T): 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 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 filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): PageList<T> {\n return toPageList(super.filter(p, params), this);\n }\n\n concat(...items: ConcatArray<T>[]): PageList<T>;\n concat(...items: (T | ConcatArray<T>)[]): PageList<T>;\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 splice(start: number, deleteCount: number, ...items: T[]): PageList<T>;\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\nexport const isPageList = <T>(l?: unknown): l is PageList<T> => isList<T>(l) && isA(l, 'total');\n\nexport const toPageList = <T>(items: T[] = [], options?: Omit<PageOptions, 'sort'> & { total?: number }): PageList<T> =>\n (\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(options);\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":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  asString
3
- } from "./chunk-PFAEQQXA.mjs";
3
+ } from "./chunk-45GNHDKA.mjs";
4
4
 
5
5
  // src/utils/Convert.ts
6
6
  var Convert = class {
@@ -46,4 +46,4 @@ export {
46
46
  Convert,
47
47
  convert
48
48
  };
49
- //# sourceMappingURL=chunk-TQUDYF6E.mjs.map
49
+ //# sourceMappingURL=chunk-APYISY5K.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/Convert.ts"],"sourcesContent":["import { asString } from '../types/Text';\n\nexport class Convert<From = unknown, To = unknown> {\n constructor(\n public readonly from: (f: From) => To,\n public readonly to: (t: To) => From\n ) {}\n}\n\nexport const convert = {\n default: new Convert<any, any>(\n a => a,\n a => a\n ),\n ignore: new Convert<any, any>(\n () => undefined,\n () => undefined\n ),\n toBool: {\n fromNumber: new Convert<boolean, number>(\n b => (b ? 1 : 0),\n n => n !== 0\n ),\n fromString: new Convert<boolean, string>(\n b => (b ? 'true' : 'false'),\n s => s === 'true'\n ),\n },\n toDate: {\n fromString: new Convert<string, string>(\n s => new Date(s).toISOString(),\n s => s\n ),\n },\n toNumber: {\n fromString: new Convert<number, string>(\n n => asString(n),\n s => parseInt(s)\n ),\n },\n};\n"],"mappings":";;;;;AAEO,IAAM,UAAN,MAA4C;AAAA,EACjD,YACkB,MACA,IAChB;AAFgB;AACA;AAAA,EACf;AACL;AAEO,IAAM,UAAU;AAAA,EACrB,SAAS,IAAI;AAAA,IACX,OAAK;AAAA,IACL,OAAK;AAAA,EACP;AAAA,EACA,QAAQ,IAAI;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA,QAAQ;AAAA,IACN,YAAY,IAAI;AAAA,MACd,OAAM,IAAI,IAAI;AAAA,MACd,OAAK,MAAM;AAAA,IACb;AAAA,IACA,YAAY,IAAI;AAAA,MACd,OAAM,IAAI,SAAS;AAAA,MACnB,OAAK,MAAM;AAAA,IACb;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,YAAY,IAAI;AAAA,MACd,OAAK,IAAI,KAAK,CAAC,EAAE,YAAY;AAAA,MAC7B,OAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,YAAY,IAAI;AAAA,MACd,OAAK,SAAS,CAAC;AAAA,MACf,OAAK,SAAS,CAAC;AAAA,IACjB;AAAA,EACF;AACF;","names":[]}