@thisisagile/easy 15.29.2 → 15.29.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +57 -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
package/src/sql/Clause.ts CHANGED
@@ -1,10 +1,17 @@
1
- import { isA, isBoolean, isNumber, Text, TypeGuard } from '../types';
2
- import { convert, Convert } from '../utils';
1
+ import { isBoolean, isNumber } from '../types/Is';
2
+ import { convert, Convert } from '../utils/Convert';
3
+ import { TypeGuard } from '../types/TypeGuard';
4
+ import { isA } from '../types/IsA';
5
+ import type { Text } from '../types/Text';
3
6
 
4
7
  export const quote = (a: unknown): string => (isNumber(a) || isBoolean(a) || isClause(a) ? a.toString() : `'${a as string}'`);
5
8
 
6
9
  export class Clause implements Text {
7
- constructor(readonly first: unknown, readonly operator: string, readonly second: unknown) {}
10
+ constructor(
11
+ readonly first: unknown,
12
+ readonly operator: string,
13
+ readonly second: unknown
14
+ ) {}
8
15
 
9
16
  and = (other: Clause): Clause => new ParathesizedClause(this, 'AND', other);
10
17
  or = (other: Clause): Clause => new ParathesizedClause(this, 'OR', other);
package/src/sql/Column.ts CHANGED
@@ -1,10 +1,17 @@
1
- import { Property, PropertyOptions } from '../utils';
2
1
  import { Clause, toClause } from './Clause';
3
- import { Json, JsonValue, ofGet, Text, tryTo } from '../types';
4
2
  import { Table } from './Table';
3
+ import { Property, PropertyOptions } from '../utils/Property';
4
+ import { Json, JsonValue } from '../types/Json';
5
+ import { tryTo } from '../types/Try';
6
+ import { ofGet } from '../types/Get';
7
+ import type { Text } from '../types/Text';
5
8
 
6
9
  export class Column extends Property implements Text {
7
- constructor(readonly owner: Table, property: string, options?: PropertyOptions) {
10
+ constructor(
11
+ readonly owner: Table,
12
+ property: string,
13
+ options?: PropertyOptions
14
+ ) {
8
15
  super(property, options);
9
16
  }
10
17
 
@@ -85,7 +92,10 @@ export class Column extends Property implements Text {
85
92
  }
86
93
 
87
94
  export class PatternColumn extends Column {
88
- constructor(protected col: Column, protected pattern: string) {
95
+ constructor(
96
+ protected col: Column,
97
+ protected pattern: string
98
+ ) {
89
99
  super(col.owner, col.property);
90
100
  }
91
101
 
package/src/sql/Count.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { ifGet } from '../types';
2
1
  import { Select } from './Select';
2
+ import { ifGet } from '../types/Get';
3
3
 
4
4
  export class Count extends Select {
5
5
  toString(): string {
package/src/sql/Delete.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { SqlQuery } from './SqlQuery';
2
- import { ifGet } from '../types';
2
+ import { ifGet } from '../types/Get';
3
3
 
4
4
  export class Delete extends SqlQuery {
5
5
  toString(): string {
package/src/sql/Insert.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  import { SqlQuery } from './SqlQuery';
2
- import { Json } from '../types';
3
2
  import { quote } from './Clause';
4
3
  import { Table } from './Table';
4
+ import { Json } from '../types/Json';
5
5
 
6
6
  export class Insert extends SqlQuery {
7
- constructor(protected table: Table, protected fields: Json) {
7
+ constructor(
8
+ protected table: Table,
9
+ protected fields: Json
10
+ ) {
8
11
  super(table);
9
12
  }
10
13
 
package/src/sql/Select.ts CHANGED
@@ -1,8 +1,9 @@
1
- import { ifGet, List, toList } from '../types';
2
1
  import { Column, OrderColumn } from './Column';
3
2
  import { Join } from './Join';
4
3
  import { SqlQuery } from './SqlQuery';
5
4
  import { Table } from './Table';
5
+ import { List, toList } from '../types/List';
6
+ import { ifGet } from '../types/Get';
6
7
 
7
8
  export class Select extends SqlQuery {
8
9
  protected ordered: List<OrderColumn> = toList();
@@ -11,7 +12,10 @@ export class Select extends SqlQuery {
11
12
  protected _limit = 0;
12
13
  protected _offset = 0;
13
14
 
14
- constructor(table: Table | Join, readonly columns: List<Column> = toList()) {
15
+ constructor(
16
+ table: Table | Join,
17
+ readonly columns: List<Column> = toList()
18
+ ) {
15
19
  super(table);
16
20
  }
17
21
 
@@ -1,8 +1,14 @@
1
- import { Clause, Join, List, Table, toList } from '../index';
2
- import { Query } from '../data';
1
+ import { Query } from '../data/Query';
2
+ import { Table } from './Table';
3
+ import { Join } from './Join';
4
+ import { List, toList } from '../types/List';
5
+ import { Clause } from './Clause';
3
6
 
4
7
  export class SqlQuery implements Query {
5
- constructor(protected table: Table | Join, readonly clauses: List<Clause> = toList()) {}
8
+ constructor(
9
+ protected table: Table | Join,
10
+ readonly clauses: List<Clause> = toList()
11
+ ) {}
6
12
 
7
13
  where = (...clauses: Clause[]): this => {
8
14
  this.clauses.add(clauses);
package/src/sql/Table.ts CHANGED
@@ -1,13 +1,16 @@
1
1
  import { Column } from './Column';
2
- import { MapOptions, Mapper, mappings, PropertyOptions } from '../utils';
3
- import { Database } from '../data';
4
- import { Json, toList, toUuid } from '../types';
5
2
  import { Select } from './Select';
6
3
  import { Insert } from './Insert';
7
4
  import { Update } from './Update';
8
5
  import { Delete } from './Delete';
9
6
  import { Join } from './Join';
10
7
  import { Count } from './Count';
8
+ import { MapOptions, Mapper, mappings } from '../utils/Mapper';
9
+ import { PropertyOptions } from '../utils/Property';
10
+ import { toUuid } from '../types/Uuid';
11
+ import { Database } from '../data/Database';
12
+ import { toList } from '../types/List';
13
+ import { Json } from '../types/Json';
11
14
 
12
15
  export class Table extends Mapper {
13
16
  protected readonly map = {
@@ -1,13 +1,21 @@
1
- import { Gateway, Id, isDefined, Json, Optional, PageList, PageOptions, toPageList } from '../types';
2
- import { QueryProvider } from '../data';
3
- import { when } from '../validation';
4
- import { ifDefined } from '../utils';
5
1
  import { Table } from './Table';
2
+ import { PageList, PageOptions, toPageList } from '../types/PageList';
3
+ import { QueryProvider } from '../data/QueryProvider';
4
+ import { Gateway } from '../types/Gateway';
5
+ import { Json } from '../types/Json';
6
+ import { Id } from '../types/Id';
7
+ import { Optional } from '../types/Types';
8
+ import { ifDefined } from '../utils/If';
9
+ import { isDefined } from '../types/Is';
10
+ import { when } from '../validation/When';
6
11
 
7
12
  export type TableOptions = PageOptions & { provider?: QueryProvider };
8
13
 
9
14
  export class TableGateway<T extends Table> extends Gateway<PageOptions> {
10
- constructor(readonly table: T, readonly provider = table.db.provide<QueryProvider>()) {
15
+ constructor(
16
+ readonly table: T,
17
+ readonly provider = table.db.provide<QueryProvider>()
18
+ ) {
11
19
  super();
12
20
  }
13
21
 
package/src/sql/Update.ts CHANGED
@@ -1,10 +1,14 @@
1
1
  import { SqlQuery } from './SqlQuery';
2
- import { ifGet, Json } from '../types';
3
2
  import { toClause } from './Clause';
4
3
  import { Table } from './Table';
4
+ import { Json } from '../types/Json';
5
+ import { ifGet } from '../types/Get';
5
6
 
6
7
  export class Update extends SqlQuery {
7
- constructor(protected table: Table, protected fields: Json) {
8
+ constructor(
9
+ protected table: Table,
10
+ protected fields: Json
11
+ ) {
8
12
  super(table);
9
13
  }
10
14
 
@@ -1,4 +1,6 @@
1
- import { asNumber, asString, choose } from './index';
1
+ import { asNumber } from './Number';
2
+ import { choose } from './Case';
3
+ import { asString } from './Text';
2
4
 
3
5
  export type CacheAge = `${number}${'ms' | 's' | 'm' | 'h' | 'd'}` | number;
4
6
 
package/src/types/Case.ts CHANGED
@@ -1,5 +1,9 @@
1
- import { Func, Get, isDefined, isEmpty, ofGet, Predicate, tryTo, TypeGuard } from './index';
2
- import { validate } from '../validation';
1
+ import { Get, ofGet, Predicate } from './Get';
2
+ import { TypeGuard } from './TypeGuard';
3
+ import { Func } from './Func';
4
+ import { isDefined, isEmpty } from './Is';
5
+ import { validate } from '../validation/Validate';
6
+ import { tryTo } from './Try';
3
7
 
4
8
  class CaseBuilder<V> {
5
9
  constructor(readonly v: V) {}
@@ -31,7 +35,10 @@ class CaseBuilder<V> {
31
35
  }
32
36
 
33
37
  class Case<T, V = unknown> {
34
- constructor(protected value: V, protected outcome?: T) {}
38
+ constructor(
39
+ protected value: V,
40
+ protected outcome?: T
41
+ ) {}
35
42
 
36
43
  case(pred: Predicate<V>, out: Get<T, V>): Case<T, V> {
37
44
  return tryTo(pred, this.value)
@@ -72,7 +79,10 @@ class Case<T, V = unknown> {
72
79
  }
73
80
 
74
81
  class Found<T, V> extends Case<T, V> {
75
- constructor(protected value: V, protected outcome: T) {
82
+ constructor(
83
+ protected value: V,
84
+ protected outcome: T
85
+ ) {
76
86
  super(value, outcome);
77
87
  }
78
88
 
@@ -1,6 +1,6 @@
1
1
  import { Get } from './Get';
2
2
  import { isFunc } from './Func';
3
- import { isDefined } from './Is';
3
+ import { isDefined, isFunction } from './Is';
4
4
  import { isPrimitive } from './Primitive';
5
5
  import { Optional } from './Types';
6
6
 
@@ -10,6 +10,8 @@ export type Construct<Out, In = any> = Get<Out, In> | Constructor<Out>;
10
10
 
11
11
  export const isConstructor = <T>(c?: unknown): c is Constructor<T> => (isDefined(c) && isFunc<T, unknown>(c) && c.prototype && c.prototype.constructor) === c;
12
12
 
13
+ export const isInstance = <T>(ctor: Constructor<T>, o?: unknown): o is T => isFunction(ctor) && o instanceof ctor;
14
+
13
15
  export const ofConstruct = <T>(c: Construct<T>, ...args: unknown[]): T => (isConstructor<T>(c) ? new c(...args) : isFunc<T, unknown>(c) ? c(...args) : c);
14
16
 
15
17
  export const toName = (subject?: unknown, postfix = ''): string => (subject as any)?.constructor?.name?.replace(postfix, '').toLowerCase() ?? '';
@@ -1,8 +1,7 @@
1
1
  import { Uuid } from './Uuid';
2
- import { text } from './Text';
3
2
  import { Identity } from './Identity';
4
- import { tryTo } from './Try';
5
3
  import { Optional } from './Types';
4
+ import { text } from './Template';
6
5
 
7
6
  export interface EnvContext {
8
7
  readonly domain: string;
@@ -21,12 +20,12 @@ export class DotEnvContext implements EnvContext {
21
20
  readonly port = Number.parseInt(process.env.PORT ?? '8080');
22
21
  readonly app = process.env.APP ?? '';
23
22
 
24
- readonly get = (key: string, alt?: string): Optional<string> =>
25
- tryTo(() =>
26
- text(key)
27
- .map(k => k.replace(/([a-z])([A-Z])/g, '$1 $2'))
28
- .snake.toString()
29
- ).map(k => process.env[k] ?? alt).value;
23
+ readonly get = (key: string, alt?: string): Optional<string> => {
24
+ const k = text(key)
25
+ .map(k => k.replace(/([a-z])([A-Z])/g, '$1 $2'))
26
+ .snake.toString();
27
+ return process.env[k] ?? alt;
28
+ };
30
29
  }
31
30
 
32
31
  export interface RequestContext {
@@ -1,4 +1,4 @@
1
- import { Enum } from '../../types';
1
+ import { Enum } from './Enum';
2
2
 
3
3
  export class Environment extends Enum {
4
4
  static readonly Dev = new Environment('Development', 'dev');
@@ -1,6 +1,6 @@
1
1
  import { Text } from './Text';
2
2
  import { Exception } from './Exception';
3
- import { Response } from '../http';
3
+ import { Response } from '../http/Response';
4
4
  import { Results } from './Results';
5
5
  import { Result } from './Result';
6
6
 
@@ -1,7 +1,8 @@
1
- import { asString, Text, text } from './Text';
1
+ import { asString, Text } from './Text';
2
2
  import { Enum } from './Enum';
3
3
  import { isDefined } from './Is';
4
4
  import { Id } from './Id';
5
+ import { text } from './Template';
5
6
 
6
7
  export class Exception extends Enum {
7
8
  static readonly AlreadyExists = new Exception('Subject already exists');
@@ -11,7 +12,11 @@ export class Exception extends Enum {
11
12
  static readonly IsNotValid = new Exception('Is not valid');
12
13
  static readonly Unknown = new Exception('Unknown error');
13
14
 
14
- constructor(readonly message: string, id?: Id, readonly reason?: Text) {
15
+ constructor(
16
+ readonly message: string,
17
+ id?: Id,
18
+ readonly reason?: Text
19
+ ) {
15
20
  super(message, id ?? text(message).pascal.toString());
16
21
  }
17
22
 
@@ -1,10 +1,10 @@
1
1
  import { Json, JsonValue } from './Json';
2
2
  import { Id } from './Id';
3
3
  import { Exception } from './Exception';
4
- import { reject } from '../utils';
5
4
  import { PageList, PageOptions } from './PageList';
6
5
  import { List } from './List';
7
6
  import { Optional } from './Types';
7
+ import { reject } from '../utils/Promise';
8
8
 
9
9
  export type FetchOptions = PageOptions;
10
10
 
package/src/types/Is.ts CHANGED
@@ -1,6 +1,3 @@
1
- import { Constructor, use } from './Constructor';
2
- import { Identity } from './Identity';
3
-
4
1
  export const isDefined = <T = unknown>(o?: T): o is NonNullable<T> => o !== undefined && o !== null;
5
2
 
6
3
  export const isUndefined = (v?: unknown): v is never => v === undefined || v === null;
@@ -28,16 +25,12 @@ export const isFunction = (o?: unknown): o is (...params: unknown[]) => unknown
28
25
 
29
26
  export const isArray = <T = any>(o?: unknown): o is Array<T> => isDefined(o) && o instanceof Array;
30
27
 
31
- export const isInstance = <T>(ctor: Constructor<T>, o?: unknown): o is T => isFunction(ctor) && o instanceof ctor;
32
-
33
28
  export const isIn = (o: unknown, values: unknown[]): boolean => isArray(values) && values.some(v => v === o);
34
29
 
35
30
  export const isIntersecting = (o?: unknown[], values?: unknown[]): boolean => isArray(o) && isArray(values) && o.some(ov => isIn(ov, values));
36
31
 
37
32
  export const isError = (e: unknown): e is Error => isDefined(e) && e instanceof Error;
38
33
 
39
- export const isIdentity = (by: unknown): by is Identity => use(by as Identity, b => isObject(b) && isDefined(b.id));
40
-
41
34
  export const isNotPresent = (...os: unknown[]): boolean =>
42
35
  os.some(
43
36
  o =>
package/src/types/IsA.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import { isPrimitive } from './Primitive';
2
+ import { Identity } from './Identity';
3
+ import { use } from './Constructor';
4
+ import { isDefined, isObject } from './Is';
2
5
 
3
6
  export const isA = <T>(t?: unknown, ...properties: (keyof T)[]): t is T => !isPrimitive(t) && properties.every(p => p.toString() in (t as any));
4
7
  export const isAn = isA;
8
+ export const isIdentity = (by: unknown): by is Identity => use(by as Identity, b => isObject(b) && isDefined(b.id));
package/src/types/Json.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { isA } from './IsA';
2
2
  import { isEmpty, isObject } from './Is';
3
3
  import { Get, ofGet } from './Get';
4
- import { ifDefined } from '../utils';
4
+ import { ifDefined } from '../utils/If';
5
5
  import { TypeGuard } from './TypeGuard';
6
- import { entries } from './Meta';
6
+ import { entries } from './Object';
7
7
 
8
8
  export type JsonValue = string | number | boolean | null | Json | JsonValue[];
9
9
  export type Json = { [key: string]: JsonValue };
package/src/types/List.ts CHANGED
@@ -1,14 +1,13 @@
1
1
  import { ArrayLike, toArray } from './Array';
2
2
  import { Constructor, on } from './Constructor';
3
- import { json, Json } from './Json';
3
+ import type { Json } from './Json';
4
4
  import { isArray, isDefined, isEmpty } from './Is';
5
5
  import { isA } from './IsA';
6
6
  import { Get, GetProperty, ofGet, ofProperty } from './Get';
7
- import { Id } from './Id';
7
+ import type { Id } from './Id';
8
8
  import { asString } from './Text';
9
- import { tryTo } from './Try';
10
- import { meta } from './Meta';
11
9
  import { Optional } from './Types';
10
+ import { ifDefined, ifTrue } from '../utils/If';
12
11
 
13
12
  export class List<T = unknown> extends Array<T> {
14
13
  asc(p: GetProperty<T, any>): List<T> {
@@ -24,7 +23,11 @@ export class List<T = unknown> extends Array<T> {
24
23
  }
25
24
 
26
25
  firstValue<V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V> {
27
- return tryTo(() => this.first(t => !!f(t))).map(i => (i ? f(i) : ofGet(alt, i))).value;
26
+ return ifDefined(
27
+ this.first(t => !!f(t)),
28
+ f,
29
+ v => ofGet(alt, v)
30
+ );
28
31
  }
29
32
 
30
33
  isFirst(value: T): boolean {
@@ -76,7 +79,7 @@ export class List<T = unknown> extends Array<T> {
76
79
 
77
80
  toJSON(): Json[] {
78
81
  return this.reduce((a, i) => {
79
- a.push(json.parse(i));
82
+ a.push(JSON.parse(JSON.stringify(i ?? {})));
80
83
  return a;
81
84
  }, new Array<Json>());
82
85
  }
@@ -102,7 +105,7 @@ export class List<T = unknown> extends Array<T> {
102
105
  }
103
106
 
104
107
  distinctByKey(key: keyof T): List<T> {
105
- return meta(this.toObject(key)).values();
108
+ return toList([...Object.values<T>(this.toObject(key)), ...Object.values<T>(Object.getPrototypeOf(this.toObject(key)))]);
106
109
  }
107
110
 
108
111
  filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): List<T> {
@@ -155,10 +158,8 @@ export class List<T = unknown> extends Array<T> {
155
158
  }
156
159
 
157
160
  replace(key: keyof T, item: T): List<T> {
158
- tryTo(() => item[key])
159
- .map(k => this.findIndex(i => i[key] === k))
160
- .filter(i => i > -1)
161
- .map(i => (this[i] = item));
161
+ const index = this.findIndex(i => i[key] === item?.[key]);
162
+ ifTrue(index != -1, () => this.splice(index, 1, item));
162
163
  return this;
163
164
  }
164
165
 
@@ -218,7 +219,7 @@ export const toList = <T = unknown>(...items: ArrayLike<T>): List<T> => new List
218
219
 
219
220
  export const isList = <T>(l?: unknown): l is List<T> => isDefined(l) && isArray(l) && isA<List<T>>(l, 'first', 'last', 'asc', 'desc');
220
221
 
221
- export const asList = <T>(c: Constructor<T>, items: unknown | unknown[] = []): List<T> => toList<T>(toArray(items).map(i => new c(i)));
222
+ export const asList = <T>(c: Constructor<T>, items: unknown = []): List<T> => toList<T>(toArray(items).map(i => new c(i)));
222
223
 
223
224
  export const maxValue = <T>(l: List<T>, key: keyof T): T[keyof T] | undefined => l.desc(key).first()?.[key];
224
225
 
package/src/types/Meta.ts CHANGED
@@ -3,13 +3,15 @@ import { List, toList } from './List';
3
3
  import { isDefined } from './Is';
4
4
  import { on, use } from './Constructor';
5
5
  import { Optional } from './Types';
6
+ import { Entry, entries, values } from './Object';
6
7
 
7
8
  type MetaParseOptions = { initial?: any; skipUndefined?: boolean };
8
9
 
9
- type Entry<T = unknown> = [key: string, value: T];
10
-
11
10
  class ClassMeta {
12
- constructor(readonly subject: any, private readonly data: any = (subject.prototype ?? subject).constructor) {}
11
+ constructor(
12
+ readonly subject: any,
13
+ private readonly data: any = (subject.prototype ?? subject).constructor
14
+ ) {}
13
15
 
14
16
  get = <T>(key: string): T => Reflect.getMetadata(key, this.data) as T;
15
17
 
@@ -18,8 +20,7 @@ class ClassMeta {
18
20
  return value;
19
21
  };
20
22
 
21
- entries = <T = unknown>(): List<Entry<T>> =>
22
- toList([...Object.entries(this.subject), ...Object.entries(Object.getPrototypeOf(this.subject))]) as List<Entry<T>>;
23
+ entries = <T = unknown>(): List<Entry<T>> => entries<T>(this.subject);
23
24
 
24
25
  parse = <Out, Value>(f: (v: Value) => Out, options: MetaParseOptions = {}): Record<string, Out> => {
25
26
  const { initial = {}, skipUndefined = false } = options;
@@ -36,13 +37,17 @@ class ClassMeta {
36
37
  .map(p => p.get<T>(key))
37
38
  .reduce((list, u) => (u ? list.add(u) : list), toList<T>());
38
39
 
39
- values = <T = unknown>(): List<T> => toList([...Object.values<T>(this.subject), ...Object.values<T>(Object.getPrototypeOf(this.subject))]);
40
+ values = <T = unknown>(): List<T> => values<T>(this.subject);
40
41
 
41
42
  property = (property: string | symbol): PropertyMeta => new PropertyMeta(this.subject, property);
42
43
  }
43
44
 
44
45
  class PropertyMeta {
45
- constructor(readonly subject: any, readonly property: string | symbol, private readonly data = Reflect.getMetadata(property, subject)) {}
46
+ constructor(
47
+ readonly subject: any,
48
+ readonly property: string | symbol,
49
+ private readonly data = Reflect.getMetadata(property, subject)
50
+ ) {}
46
51
 
47
52
  get value(): any {
48
53
  return this.subject[this.property];
@@ -57,5 +62,3 @@ class PropertyMeta {
57
62
  }
58
63
 
59
64
  export const meta = (subject: unknown): ClassMeta => new ClassMeta(subject ?? {});
60
-
61
- export const entries = <T = unknown>(subject: Record<string, T>): List<Entry<T>> => meta(subject).entries<T>();
@@ -0,0 +1,16 @@
1
+ import { List, toList } from './List';
2
+ import { ifDefined } from '../utils/If';
3
+
4
+ export type Entry<T = unknown> = [key: string, value: T];
5
+
6
+ export function entries<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<Entry<T>> {
7
+ return ifDefined(
8
+ subject,
9
+ () => toList<Entry<T>>([...Object.entries(subject), ...Object.entries(Object.getPrototypeOf(subject))] as Entry<T>[]),
10
+ () => toList<Entry<T>>()
11
+ );
12
+ }
13
+
14
+ export function values<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<T> {
15
+ return toList([...Object.values<T>(subject), ...Object.values<T>(Object.getPrototypeOf(subject))]);
16
+ }
@@ -1,6 +1,6 @@
1
1
  import { Get, ofGet, Predicate } from './Get';
2
2
  import { isDefined, isEmpty, isIn, isObject, isString, isTrue } from './Is';
3
- import { isValid } from '../validation';
3
+ import { isValid } from '../validation/Validate';
4
4
  import { Constructor, on } from './Constructor';
5
5
  import { toArray } from './Array';
6
6
 
@@ -1,5 +1,10 @@
1
- import { Exception, FetchOptions, Id, Json, JsonValue, Key, List, PageList } from './index';
2
- import { reject } from '../utils';
1
+ import { FetchOptions } from './Gateway';
2
+ import { PageList } from './PageList';
3
+ import { Exception } from './Exception';
4
+ import { reject } from '../utils/Promise';
5
+ import { Id, Key } from './Id';
6
+ import { List } from './List';
7
+ import { Json, JsonValue } from './Json';
3
8
 
4
9
  export class Repository<T, Options = FetchOptions> {
5
10
  all(options?: Options): Promise<PageList<T>> {