@thisisagile/easy 17.26.0 → 17.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/chunk-2AB6ZQHC.mjs +26 -0
  2. package/dist/chunk-2AB6ZQHC.mjs.map +1 -0
  3. package/dist/chunk-4DJUHTQO.mjs +55 -0
  4. package/dist/chunk-4DJUHTQO.mjs.map +1 -0
  5. package/dist/chunk-4HWEQEHM.mjs +20 -0
  6. package/dist/chunk-4HWEQEHM.mjs.map +1 -0
  7. package/dist/chunk-4N72FQFX.mjs +16 -0
  8. package/dist/chunk-4N72FQFX.mjs.map +1 -0
  9. package/dist/chunk-4SWYJEN5.mjs +82 -0
  10. package/dist/chunk-4SWYJEN5.mjs.map +1 -0
  11. package/dist/chunk-4VZHB642.mjs +37 -0
  12. package/dist/chunk-4VZHB642.mjs.map +1 -0
  13. package/dist/chunk-ADJAEGCT.mjs +21 -0
  14. package/dist/chunk-ADJAEGCT.mjs.map +1 -0
  15. package/dist/chunk-AGTB4HMP.mjs +11 -0
  16. package/dist/chunk-AGTB4HMP.mjs.map +1 -0
  17. package/dist/chunk-BDA5LB4S.mjs +29 -0
  18. package/dist/chunk-BDA5LB4S.mjs.map +1 -0
  19. package/dist/chunk-BZOYP6X7.mjs +134 -0
  20. package/dist/chunk-BZOYP6X7.mjs.map +1 -0
  21. package/dist/chunk-CO2AFYVD.mjs +43 -0
  22. package/dist/chunk-CO2AFYVD.mjs.map +1 -0
  23. package/dist/chunk-D7UFAVDX.mjs +54 -0
  24. package/dist/chunk-D7UFAVDX.mjs.map +1 -0
  25. package/dist/chunk-DEFTEK45.mjs +40 -0
  26. package/dist/chunk-DEFTEK45.mjs.map +1 -0
  27. package/dist/chunk-DEJ7A5PY.mjs +43 -0
  28. package/dist/chunk-DEJ7A5PY.mjs.map +1 -0
  29. package/dist/chunk-DLA22ZCC.mjs +20 -0
  30. package/dist/chunk-DLA22ZCC.mjs.map +1 -0
  31. package/dist/chunk-DXQSIBC7.mjs +13 -0
  32. package/dist/chunk-DXQSIBC7.mjs.map +1 -0
  33. package/dist/chunk-ELDS3NWV.mjs +23 -0
  34. package/dist/chunk-ELDS3NWV.mjs.map +1 -0
  35. package/dist/chunk-ELUKCMQZ.mjs +50 -0
  36. package/dist/chunk-ELUKCMQZ.mjs.map +1 -0
  37. package/dist/chunk-FN7HN3YK.mjs +58 -0
  38. package/dist/chunk-FN7HN3YK.mjs.map +1 -0
  39. package/dist/chunk-GCY5A63A.mjs +25 -0
  40. package/dist/chunk-GCY5A63A.mjs.map +1 -0
  41. package/dist/chunk-GO66AIDJ.mjs +76 -0
  42. package/dist/chunk-GO66AIDJ.mjs.map +1 -0
  43. package/dist/chunk-GVTADDU5.mjs +39 -0
  44. package/dist/chunk-GVTADDU5.mjs.map +1 -0
  45. package/dist/chunk-GZIULZH2.mjs +79 -0
  46. package/dist/chunk-GZIULZH2.mjs.map +1 -0
  47. package/dist/chunk-HOVTNDHS.mjs +297 -0
  48. package/dist/chunk-HOVTNDHS.mjs.map +1 -0
  49. package/dist/chunk-HPM4L4MH.mjs +20 -0
  50. package/dist/chunk-HPM4L4MH.mjs.map +1 -0
  51. package/dist/chunk-HSOXY623.mjs +53 -0
  52. package/dist/chunk-HSOXY623.mjs.map +1 -0
  53. package/dist/chunk-IH4VU7UP.mjs +31 -0
  54. package/dist/chunk-IH4VU7UP.mjs.map +1 -0
  55. package/dist/chunk-JPWRHLXY.mjs +51 -0
  56. package/dist/chunk-JPWRHLXY.mjs.map +1 -0
  57. package/dist/chunk-L5KXXMUH.mjs +46 -0
  58. package/dist/chunk-L5KXXMUH.mjs.map +1 -0
  59. package/dist/chunk-L5ZI7SPN.mjs +90 -0
  60. package/dist/chunk-L5ZI7SPN.mjs.map +1 -0
  61. package/dist/chunk-LGLRWA42.mjs +324 -0
  62. package/dist/chunk-LGLRWA42.mjs.map +1 -0
  63. package/dist/chunk-LKTTPV6U.mjs +70 -0
  64. package/dist/chunk-LKTTPV6U.mjs.map +1 -0
  65. package/dist/chunk-LONFFS5R.mjs +107 -0
  66. package/dist/chunk-LONFFS5R.mjs.map +1 -0
  67. package/dist/chunk-LUHR6633.mjs +54 -0
  68. package/dist/chunk-LUHR6633.mjs.map +1 -0
  69. package/dist/chunk-MDXL65W4.mjs +49 -0
  70. package/dist/chunk-MDXL65W4.mjs.map +1 -0
  71. package/dist/chunk-N22QIDIK.mjs +25 -0
  72. package/dist/chunk-N22QIDIK.mjs.map +1 -0
  73. package/dist/chunk-NBYO2U6Q.mjs +48 -0
  74. package/dist/chunk-NBYO2U6Q.mjs.map +1 -0
  75. package/dist/chunk-NPCTXURR.mjs +23 -0
  76. package/dist/chunk-NPCTXURR.mjs.map +1 -0
  77. package/dist/chunk-OFGI5FLG.mjs +11 -0
  78. package/dist/chunk-OFGI5FLG.mjs.map +1 -0
  79. package/dist/chunk-OGLPG6DF.mjs +18 -0
  80. package/dist/chunk-OGLPG6DF.mjs.map +1 -0
  81. package/dist/chunk-OKPGJD64.mjs +41 -0
  82. package/dist/chunk-OKPGJD64.mjs.map +1 -0
  83. package/dist/chunk-OQNZEKWO.mjs +24 -0
  84. package/dist/chunk-OQNZEKWO.mjs.map +1 -0
  85. package/dist/chunk-OWLQ6U7M.mjs +57 -0
  86. package/dist/chunk-OWLQ6U7M.mjs.map +1 -0
  87. package/dist/chunk-P5MN5NGC.mjs +24 -0
  88. package/dist/chunk-P5MN5NGC.mjs.map +1 -0
  89. package/dist/chunk-PIRWVOO2.mjs +7 -0
  90. package/dist/chunk-PIRWVOO2.mjs.map +1 -0
  91. package/dist/chunk-PR6DFFCE.mjs +94 -0
  92. package/dist/chunk-PR6DFFCE.mjs.map +1 -0
  93. package/dist/chunk-QMASVXTD.mjs +40 -0
  94. package/dist/chunk-QMASVXTD.mjs.map +1 -0
  95. package/dist/chunk-QNNYTOR7.mjs +142 -0
  96. package/dist/chunk-QNNYTOR7.mjs.map +1 -0
  97. package/dist/chunk-RHOK5QZR.mjs +175 -0
  98. package/dist/chunk-RHOK5QZR.mjs.map +1 -0
  99. package/dist/chunk-RS7CT7BU.mjs +20 -0
  100. package/dist/chunk-RS7CT7BU.mjs.map +1 -0
  101. package/dist/chunk-RUFO75IB.mjs +18 -0
  102. package/dist/chunk-RUFO75IB.mjs.map +1 -0
  103. package/dist/chunk-RWGCMC6L.mjs +164 -0
  104. package/dist/chunk-RWGCMC6L.mjs.map +1 -0
  105. package/dist/chunk-SCVGZWV7.mjs +35 -0
  106. package/dist/chunk-SCVGZWV7.mjs.map +1 -0
  107. package/dist/chunk-SJ4YFZKO.mjs +21 -0
  108. package/dist/chunk-SJ4YFZKO.mjs.map +1 -0
  109. package/dist/chunk-SJGQU3OG.mjs +15 -0
  110. package/dist/chunk-SJGQU3OG.mjs.map +1 -0
  111. package/dist/chunk-SSROJBD5.mjs +30 -0
  112. package/dist/chunk-SSROJBD5.mjs.map +1 -0
  113. package/dist/chunk-SW2OCUH3.mjs +10 -0
  114. package/dist/chunk-SW2OCUH3.mjs.map +1 -0
  115. package/dist/chunk-TNZJKUDY.mjs +45 -0
  116. package/dist/chunk-TNZJKUDY.mjs.map +1 -0
  117. package/dist/chunk-UXADDXCJ.mjs +68 -0
  118. package/dist/chunk-UXADDXCJ.mjs.map +1 -0
  119. package/dist/chunk-UYDZZAEK.mjs +11 -0
  120. package/dist/chunk-UYDZZAEK.mjs.map +1 -0
  121. package/dist/chunk-VBZTERRM.mjs +94 -0
  122. package/dist/chunk-VBZTERRM.mjs.map +1 -0
  123. package/dist/chunk-WJZFE5NE.mjs +17 -0
  124. package/dist/chunk-WJZFE5NE.mjs.map +1 -0
  125. package/dist/chunk-WLTLSV2I.mjs +20 -0
  126. package/dist/chunk-WLTLSV2I.mjs.map +1 -0
  127. package/dist/chunk-WOSYMEQL.mjs +60 -0
  128. package/dist/chunk-WOSYMEQL.mjs.map +1 -0
  129. package/dist/chunk-WSBULPUZ.mjs +30 -0
  130. package/dist/chunk-WSBULPUZ.mjs.map +1 -0
  131. package/dist/chunk-WVTNXVBL.mjs +56 -0
  132. package/dist/chunk-WVTNXVBL.mjs.map +1 -0
  133. package/dist/chunk-ZHXKBOK2.mjs +22 -0
  134. package/dist/chunk-ZHXKBOK2.mjs.map +1 -0
  135. package/dist/chunk-ZPNFXK7Y.mjs +36 -0
  136. package/dist/chunk-ZPNFXK7Y.mjs.map +1 -0
  137. package/dist/data/Condition.mjs +29 -0
  138. package/dist/data/Condition.mjs.map +1 -0
  139. package/dist/data/DataProvider.mjs +1 -0
  140. package/dist/data/DataProvider.mjs.map +1 -0
  141. package/dist/data/Database.mjs +23 -0
  142. package/dist/data/Database.mjs.map +1 -0
  143. package/dist/data/Field.mjs +47 -0
  144. package/dist/data/Field.mjs.map +1 -0
  145. package/dist/data/InMemoryGateway.mjs +70 -0
  146. package/dist/data/InMemoryGateway.mjs.map +1 -0
  147. package/dist/data/Query.mjs +1 -0
  148. package/dist/data/Query.mjs.map +1 -0
  149. package/dist/data/QueryProvider.mjs +1 -0
  150. package/dist/data/QueryProvider.mjs.map +1 -0
  151. package/dist/domain/Audit.mjs +36 -0
  152. package/dist/domain/Audit.mjs.map +1 -0
  153. package/dist/domain/Child.mjs +54 -0
  154. package/dist/domain/Child.mjs.map +1 -0
  155. package/dist/domain/DateTime.mjs +36 -0
  156. package/dist/domain/DateTime.mjs.map +1 -0
  157. package/dist/domain/Entity.mjs +71 -0
  158. package/dist/domain/Entity.mjs.map +1 -0
  159. package/dist/domain/Repo.mjs +96 -0
  160. package/dist/domain/Repo.mjs.map +1 -0
  161. package/dist/domain/Struct.mjs +33 -0
  162. package/dist/domain/Struct.mjs.map +1 -0
  163. package/dist/domain/Typo.mjs +114 -0
  164. package/dist/domain/Typo.mjs.map +1 -0
  165. package/dist/http/CacheControl.mjs +66 -0
  166. package/dist/http/CacheControl.mjs.map +1 -0
  167. package/dist/http/ContentType.mjs +21 -0
  168. package/dist/http/ContentType.mjs.map +1 -0
  169. package/dist/http/HttpHeader.mjs +8 -0
  170. package/dist/http/HttpHeader.mjs.map +1 -0
  171. package/dist/http/HttpStatus.mjs +25 -0
  172. package/dist/http/HttpStatus.mjs.map +1 -0
  173. package/dist/http/HttpVerb.mjs +21 -0
  174. package/dist/http/HttpVerb.mjs.map +1 -0
  175. package/dist/http/LocalRequestStore.mjs +29 -0
  176. package/dist/http/LocalRequestStore.mjs.map +1 -0
  177. package/dist/http/Request.mjs +1 -0
  178. package/dist/http/Request.mjs.map +1 -0
  179. package/dist/http/RequestOptions.mjs +30 -0
  180. package/dist/http/RequestOptions.mjs.map +1 -0
  181. package/dist/http/RequestProvider.mjs +1 -0
  182. package/dist/http/RequestProvider.mjs.map +1 -0
  183. package/dist/http/Response.mjs +13 -0
  184. package/dist/http/Response.mjs.map +1 -0
  185. package/dist/http/RestResult.mjs +34 -0
  186. package/dist/http/RestResult.mjs.map +1 -0
  187. package/dist/http/toResponse.mjs +33 -0
  188. package/dist/http/toResponse.mjs.map +1 -0
  189. package/dist/index.mjs +115 -3476
  190. package/dist/index.mjs.map +1 -1
  191. package/dist/process/App.mjs +30 -0
  192. package/dist/process/App.mjs.map +1 -0
  193. package/dist/process/Manage.mjs +47 -0
  194. package/dist/process/Manage.mjs.map +1 -0
  195. package/dist/process/Scope.mjs +22 -0
  196. package/dist/process/Scope.mjs.map +1 -0
  197. package/dist/process/Search.mjs +31 -0
  198. package/dist/process/Search.mjs.map +1 -0
  199. package/dist/process/UseCase.mjs +53 -0
  200. package/dist/process/UseCase.mjs.map +1 -0
  201. package/dist/resources/Req.mjs +57 -0
  202. package/dist/resources/Req.mjs.map +1 -0
  203. package/dist/security/Jwt.mjs +77 -0
  204. package/dist/security/Jwt.mjs.map +1 -0
  205. package/dist/services/Api.mjs +44 -0
  206. package/dist/services/Api.mjs.map +1 -0
  207. package/dist/services/ApiGateway.mjs +45 -0
  208. package/dist/services/ApiGateway.mjs.map +1 -0
  209. package/dist/services/AxiosProvider.mjs +40 -0
  210. package/dist/services/AxiosProvider.mjs.map +1 -0
  211. package/dist/services/MappedRouteGateway.mjs +78 -0
  212. package/dist/services/MappedRouteGateway.mjs.map +1 -0
  213. package/dist/services/RouteGateway.mjs +46 -0
  214. package/dist/services/RouteGateway.mjs.map +1 -0
  215. package/dist/services/ViewRouteGateway.mjs +79 -0
  216. package/dist/services/ViewRouteGateway.mjs.map +1 -0
  217. package/dist/sql/Clause.mjs +24 -0
  218. package/dist/sql/Clause.mjs.map +1 -0
  219. package/dist/sql/Column.mjs +37 -0
  220. package/dist/sql/Column.mjs.map +1 -0
  221. package/dist/sql/Count.mjs +20 -0
  222. package/dist/sql/Count.mjs.map +1 -0
  223. package/dist/sql/Delete.mjs +19 -0
  224. package/dist/sql/Delete.mjs.map +1 -0
  225. package/dist/sql/Insert.mjs +21 -0
  226. package/dist/sql/Insert.mjs.map +1 -0
  227. package/dist/sql/Join.mjs +8 -0
  228. package/dist/sql/Join.mjs.map +1 -0
  229. package/dist/sql/Select.mjs +19 -0
  230. package/dist/sql/Select.mjs.map +1 -0
  231. package/dist/sql/SqlQuery.mjs +18 -0
  232. package/dist/sql/SqlQuery.mjs.map +1 -0
  233. package/dist/sql/Table.mjs +93 -0
  234. package/dist/sql/Table.mjs.map +1 -0
  235. package/dist/sql/TableGateway.mjs +72 -0
  236. package/dist/sql/TableGateway.mjs.map +1 -0
  237. package/dist/sql/Update.mjs +21 -0
  238. package/dist/sql/Update.mjs.map +1 -0
  239. package/dist/types/AnyKey.mjs +1 -0
  240. package/dist/types/AnyKey.mjs.map +1 -0
  241. package/dist/types/Array.mjs +16 -0
  242. package/dist/types/Array.mjs.map +1 -0
  243. package/dist/types/Builder.mjs +26 -0
  244. package/dist/types/Builder.mjs.map +1 -0
  245. package/dist/types/Cache.mjs +29 -0
  246. package/dist/types/Cache.mjs.map +1 -0
  247. package/dist/types/CacheAge.mjs +33 -0
  248. package/dist/types/CacheAge.mjs.map +1 -0
  249. package/dist/types/Case.mjs +29 -0
  250. package/dist/types/Case.mjs.map +1 -0
  251. package/dist/types/Constructor.mjs +23 -0
  252. package/dist/types/Constructor.mjs.map +1 -0
  253. package/dist/types/Context.mjs +28 -0
  254. package/dist/types/Context.mjs.map +1 -0
  255. package/dist/types/Currency.mjs +15 -0
  256. package/dist/types/Currency.mjs.map +1 -0
  257. package/dist/types/Enum.mjs +24 -0
  258. package/dist/types/Enum.mjs.map +1 -0
  259. package/dist/types/Environment.mjs +28 -0
  260. package/dist/types/Environment.mjs.map +1 -0
  261. package/dist/types/ErrorOrigin.mjs +1 -0
  262. package/dist/types/ErrorOrigin.mjs.map +1 -0
  263. package/dist/types/Exception.mjs +26 -0
  264. package/dist/types/Exception.mjs.map +1 -0
  265. package/dist/types/Falsy.mjs +10 -0
  266. package/dist/types/Falsy.mjs.map +1 -0
  267. package/dist/types/Func.mjs +8 -0
  268. package/dist/types/Func.mjs.map +1 -0
  269. package/dist/types/Gateway.mjs +24 -0
  270. package/dist/types/Gateway.mjs.map +1 -0
  271. package/dist/types/Get.mjs +13 -0
  272. package/dist/types/Get.mjs.map +1 -0
  273. package/dist/types/Id.mjs +13 -0
  274. package/dist/types/Id.mjs.map +1 -0
  275. package/dist/types/IdName.mjs +1 -0
  276. package/dist/types/IdName.mjs.map +1 -0
  277. package/dist/types/Identity.mjs +1 -0
  278. package/dist/types/Identity.mjs.map +1 -0
  279. package/dist/types/Indexed.mjs +15 -0
  280. package/dist/types/Indexed.mjs.map +1 -0
  281. package/dist/types/Is.mjs +42 -0
  282. package/dist/types/Is.mjs.map +1 -0
  283. package/dist/types/IsA.mjs +16 -0
  284. package/dist/types/IsA.mjs.map +1 -0
  285. package/dist/types/IsDate.mjs +14 -0
  286. package/dist/types/IsDate.mjs.map +1 -0
  287. package/dist/types/IsEqual.mjs +30 -0
  288. package/dist/types/IsEqual.mjs.map +1 -0
  289. package/dist/types/Json.mjs +29 -0
  290. package/dist/types/Json.mjs.map +1 -0
  291. package/dist/types/List.mjs +27 -0
  292. package/dist/types/List.mjs.map +1 -0
  293. package/dist/types/Message.mjs +11 -0
  294. package/dist/types/Message.mjs.map +1 -0
  295. package/dist/types/Meta.mjs +19 -0
  296. package/dist/types/Meta.mjs.map +1 -0
  297. package/dist/types/Nullish.mjs +8 -0
  298. package/dist/types/Nullish.mjs.map +1 -0
  299. package/dist/types/Number.mjs +30 -0
  300. package/dist/types/Number.mjs.map +1 -0
  301. package/dist/types/Object.mjs +24 -0
  302. package/dist/types/Object.mjs.map +1 -0
  303. package/dist/types/PageList.mjs +40 -0
  304. package/dist/types/PageList.mjs.map +1 -0
  305. package/dist/types/Parser.mjs +80 -0
  306. package/dist/types/Parser.mjs.map +1 -0
  307. package/dist/types/Primitive.mjs +9 -0
  308. package/dist/types/Primitive.mjs.map +1 -0
  309. package/dist/types/Repository.mjs +24 -0
  310. package/dist/types/Repository.mjs.map +1 -0
  311. package/dist/types/Result.mjs +23 -0
  312. package/dist/types/Result.mjs.map +1 -0
  313. package/dist/types/Results.mjs +26 -0
  314. package/dist/types/Results.mjs.map +1 -0
  315. package/dist/types/Sort.mjs +10 -0
  316. package/dist/types/Sort.mjs.map +1 -0
  317. package/dist/types/Tag.mjs +26 -0
  318. package/dist/types/Tag.mjs.map +1 -0
  319. package/dist/types/Template.mjs +21 -0
  320. package/dist/types/Template.mjs.map +1 -0
  321. package/dist/types/Text.mjs +21 -0
  322. package/dist/types/Text.mjs.map +1 -0
  323. package/dist/types/ToText.mjs +23 -0
  324. package/dist/types/ToText.mjs.map +1 -0
  325. package/dist/types/Try.mjs +31 -0
  326. package/dist/types/Try.mjs.map +1 -0
  327. package/dist/types/TypeGuard.mjs +1 -0
  328. package/dist/types/TypeGuard.mjs.map +1 -0
  329. package/dist/types/Types.mjs +1 -0
  330. package/dist/types/Types.mjs.map +1 -0
  331. package/dist/types/Uri.mjs +119 -0
  332. package/dist/types/Uri.mjs.map +1 -0
  333. package/dist/types/Uuid.mjs +16 -0
  334. package/dist/types/Uuid.mjs.map +1 -0
  335. package/dist/types/Validatable.mjs +13 -0
  336. package/dist/types/Validatable.mjs.map +1 -0
  337. package/dist/types/Value.mjs +14 -0
  338. package/dist/types/Value.mjs.map +1 -0
  339. package/dist/utils/Base64.mjs +12 -0
  340. package/dist/utils/Base64.mjs.map +1 -0
  341. package/dist/utils/Convert.mjs +14 -0
  342. package/dist/utils/Convert.mjs.map +1 -0
  343. package/dist/utils/If.mjs +25 -0
  344. package/dist/utils/If.mjs.map +1 -0
  345. package/dist/utils/Loading.mjs +11 -0
  346. package/dist/utils/Loading.mjs.map +1 -0
  347. package/dist/utils/Log.mjs +21 -0
  348. package/dist/utils/Log.mjs.map +1 -0
  349. package/dist/utils/Mapper.mjs +28 -0
  350. package/dist/utils/Mapper.mjs.map +1 -0
  351. package/dist/utils/Promise.mjs +35 -0
  352. package/dist/utils/Promise.mjs.map +1 -0
  353. package/dist/utils/Property.mjs +13 -0
  354. package/dist/utils/Property.mjs.map +1 -0
  355. package/dist/utils/Seconds.mjs +18 -0
  356. package/dist/utils/Seconds.mjs.map +1 -0
  357. package/dist/utils/Sentence.mjs +71 -0
  358. package/dist/utils/Sentence.mjs.map +1 -0
  359. package/dist/utils/State.mjs +12 -0
  360. package/dist/utils/State.mjs.map +1 -0
  361. package/dist/utils/Traverse.mjs +12 -0
  362. package/dist/utils/Traverse.mjs.map +1 -0
  363. package/dist/utils/View.mjs +41 -0
  364. package/dist/utils/View.mjs.map +1 -0
  365. package/dist/utils/Wait.mjs +17 -0
  366. package/dist/utils/Wait.mjs.map +1 -0
  367. package/dist/validation/Contraints.mjs +65 -0
  368. package/dist/validation/Contraints.mjs.map +1 -0
  369. package/dist/validation/Validate.mjs +35 -0
  370. package/dist/validation/Validate.mjs.map +1 -0
  371. package/dist/validation/When.mjs +31 -0
  372. package/dist/validation/When.mjs.map +1 -0
  373. package/package.json +4 -12
@@ -0,0 +1,40 @@
1
+ import {
2
+ text
3
+ } from "./chunk-RWGCMC6L.mjs";
4
+ import {
5
+ Enum
6
+ } from "./chunk-UXADDXCJ.mjs";
7
+ import {
8
+ asString
9
+ } from "./chunk-BDA5LB4S.mjs";
10
+ import {
11
+ isDefined
12
+ } from "./chunk-DEJ7A5PY.mjs";
13
+
14
+ // src/types/Exception.ts
15
+ var Exception = class _Exception extends Enum {
16
+ constructor(message, id, reason) {
17
+ super(message, id ?? text(message).pascal.toString());
18
+ this.message = message;
19
+ this.reason = reason;
20
+ }
21
+ static AlreadyExists = new _Exception("Subject already exists");
22
+ static DoesNotExist = new _Exception("Does not exist");
23
+ static IsMissingId = new _Exception("Subject is missing an id");
24
+ static IsNotImplemented = new _Exception("Is not implemented");
25
+ static IsNotValid = new _Exception("Is not valid");
26
+ static Unknown = new _Exception("Unknown error");
27
+ static CouldNotExecute = (target) => new _Exception(`Could not execute ${target}.`, "CouldNotExecute");
28
+ static CouldNotValidate = (target) => new _Exception(`Could not validate ${target}.`, "CouldNotValidate");
29
+ static EnvironmentVariableNotFound = (variable) => new _Exception(`Environment variable ${text(variable).upper} could not be found.`, "EnvironmentVariableNotFound");
30
+ because = (reason) => new _Exception(this.message, this.id, reason);
31
+ };
32
+ var isException = (e, t) => e instanceof Exception && (isDefined(t) ? e.equals(asString(t)) : true);
33
+ var isDoesNotExist = (e) => e instanceof Exception && Exception.DoesNotExist.equals(e);
34
+
35
+ export {
36
+ Exception,
37
+ isException,
38
+ isDoesNotExist
39
+ };
40
+ //# sourceMappingURL=chunk-DEFTEK45.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Exception.ts"],"sourcesContent":["import { asString, Text } from './Text';\nimport { Enum } from './Enum';\nimport { isDefined } from './Is';\nimport { Id } from './Id';\n\nimport { text } from './ToText';\n\nexport class Exception extends Enum {\n static readonly AlreadyExists = new Exception('Subject already exists');\n static readonly DoesNotExist = new Exception('Does not exist');\n static readonly IsMissingId = new Exception('Subject is missing an id');\n static readonly IsNotImplemented = new Exception('Is not implemented');\n static readonly IsNotValid = new Exception('Is not valid');\n static readonly Unknown = new Exception('Unknown error');\n\n constructor(\n readonly message: string,\n id?: Id,\n readonly reason?: Text\n ) {\n super(message, id ?? text(message).pascal.toString());\n }\n\n static readonly CouldNotExecute = (target: Text): Exception => new Exception(`Could not execute ${target}.`, 'CouldNotExecute');\n\n static readonly CouldNotValidate = (target: Text): Exception => new Exception(`Could not validate ${target}.`, 'CouldNotValidate');\n\n static readonly EnvironmentVariableNotFound = (variable: Text): Exception =>\n new Exception(`Environment variable ${text(variable).upper} could not be found.`, 'EnvironmentVariableNotFound');\n\n because = (reason: Text): Exception => new Exception(this.message, this.id, reason);\n}\n\nexport const isException = (e?: unknown, t?: Text): e is Exception => e instanceof Exception && (isDefined(t) ? e.equals(asString(t)) : true);\nexport const isDoesNotExist = (e?: unknown): e is Exception => e instanceof Exception && Exception.DoesNotExist.equals(e);\n"],"mappings":";;;;;;;;;;;;;;AAOO,IAAM,YAAN,MAAM,mBAAkB,KAAK;AAAA,EAQlC,YACW,SACT,IACS,QACT;AACA,UAAM,SAAS,MAAM,KAAK,OAAO,EAAE,OAAO,SAAS,CAAC;AAJ3C;AAEA;AAAA,EAGX;AAAA,EAbA,OAAgB,gBAAgB,IAAI,WAAU,wBAAwB;AAAA,EACtE,OAAgB,eAAe,IAAI,WAAU,gBAAgB;AAAA,EAC7D,OAAgB,cAAc,IAAI,WAAU,0BAA0B;AAAA,EACtE,OAAgB,mBAAmB,IAAI,WAAU,oBAAoB;AAAA,EACrE,OAAgB,aAAa,IAAI,WAAU,cAAc;AAAA,EACzD,OAAgB,UAAU,IAAI,WAAU,eAAe;AAAA,EAUvD,OAAgB,kBAAkB,CAAC,WAA4B,IAAI,WAAU,qBAAqB,MAAM,KAAK,iBAAiB;AAAA,EAE9H,OAAgB,mBAAmB,CAAC,WAA4B,IAAI,WAAU,sBAAsB,MAAM,KAAK,kBAAkB;AAAA,EAEjI,OAAgB,8BAA8B,CAAC,aAC7C,IAAI,WAAU,wBAAwB,KAAK,QAAQ,EAAE,KAAK,wBAAwB,6BAA6B;AAAA,EAEjH,UAAU,CAAC,WAA4B,IAAI,WAAU,KAAK,SAAS,KAAK,IAAI,MAAM;AACpF;AAEO,IAAM,cAAc,CAAC,GAAa,MAA6B,aAAa,cAAc,UAAU,CAAC,IAAI,EAAE,OAAO,SAAS,CAAC,CAAC,IAAI;AACjI,IAAM,iBAAiB,CAAC,MAAgC,aAAa,aAAa,UAAU,aAAa,OAAO,CAAC;","names":[]}
@@ -0,0 +1,43 @@
1
+ // src/types/Is.ts
2
+ var isDefined = (o) => o !== void 0 && o !== null;
3
+ var isUndefined = (v) => v === void 0 || v === null;
4
+ var isEmpty = (o) => o === "" || o === null || o === void 0 || isArray(o) && o.length === 0;
5
+ var isNotEmpty = (o) => o !== "" && o !== null && o !== void 0 && (!isArray(o) || o.length > 0);
6
+ var isString = (o) => o instanceof String || typeof o === "string";
7
+ var isIsoDateString = (o) => isString(o) && /^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)$/.test(o);
8
+ var isBoolean = (o) => isDefined(o) && typeof o === "boolean";
9
+ var isTrue = (o) => isFunction(o) ? isTrue(o()) : isBoolean(o) ? o : !!o;
10
+ var isNumber = (o) => isDefined(o) && typeof o === "number" && !Number.isNaN(o);
11
+ var isObject = (o) => o != null && typeof o === "object" && !isArray(o);
12
+ var isEmptyObject = (o) => isObject(o) && Object.getOwnPropertyNames(o).length === 0;
13
+ var isFunction = (o) => isDefined(o) && typeof o === "function";
14
+ var isArray = (o) => isDefined(o) && o instanceof Array;
15
+ var isIn = (o, values) => isArray(values) && values.some((v) => v === o);
16
+ var isIntersecting = (o, values) => isArray(o) && isArray(values) && o.some((ov) => isIn(ov, values));
17
+ var isError = (e) => isDefined(e) && e instanceof Error;
18
+ var isNotPresent = (...os) => os.some(
19
+ (o) => o === null || o === void 0 || o === "" || o instanceof Array && o.length === 0 || typeof o === "object" && Object.getOwnPropertyNames(o).length === 0
20
+ );
21
+ var isPresent = (...os) => !isNotPresent(...os);
22
+
23
+ export {
24
+ isDefined,
25
+ isUndefined,
26
+ isEmpty,
27
+ isNotEmpty,
28
+ isString,
29
+ isIsoDateString,
30
+ isBoolean,
31
+ isTrue,
32
+ isNumber,
33
+ isObject,
34
+ isEmptyObject,
35
+ isFunction,
36
+ isArray,
37
+ isIn,
38
+ isIntersecting,
39
+ isError,
40
+ isNotPresent,
41
+ isPresent
42
+ };
43
+ //# sourceMappingURL=chunk-DEJ7A5PY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Is.ts"],"sourcesContent":["export const isDefined = <T = unknown>(o?: T): o is NonNullable<T> => o !== undefined && o !== null;\n\nexport const isUndefined = (v?: unknown): v is never => v === undefined || v === null;\n\nexport const isEmpty = (o?: unknown): boolean => o === '' || o === null || o === undefined || (isArray(o) && o.length === 0);\n\nexport const isNotEmpty = <T = unknown>(o?: unknown): o is NonNullable<T> => o !== '' && o !== null && o !== undefined && (!isArray(o) || o.length > 0);\n\nexport const isString = (o?: unknown): o is string => o instanceof String || typeof o === 'string';\n\nexport const isIsoDateString = (o?: unknown): o is string =>\n isString(o) && /^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)$/.test(o);\n\nexport const isBoolean = (o?: unknown): o is boolean => isDefined(o) && typeof o === 'boolean';\n\nexport const isTrue = (o?: unknown): o is true => (isFunction(o) ? isTrue(o()) : isBoolean(o) ? o : !!o);\n\nexport const isNumber = (o?: unknown): o is number => isDefined(o) && typeof o === 'number' && !Number.isNaN(o);\n\nexport const isObject = (o?: unknown): o is Record<string, unknown> => o != null && typeof o === 'object' && !isArray(o);\n\nexport const isEmptyObject = (o?: unknown): boolean => isObject(o) && Object.getOwnPropertyNames(o).length === 0;\n\nexport const isFunction = (o?: unknown): o is (...params: unknown[]) => unknown => isDefined(o) && typeof o === 'function';\n\nexport const isArray = <T = any>(o?: unknown): o is Array<T> => isDefined(o) && o instanceof Array;\n\nexport const isIn = (o: unknown, values: unknown[]): boolean => isArray(values) && values.some(v => v === o);\n\nexport const isIntersecting = (o?: unknown[], values?: unknown[]): boolean => isArray(o) && isArray(values) && o.some(ov => isIn(ov, values));\n\nexport const isError = (e: unknown): e is Error => isDefined(e) && e instanceof Error;\n\nexport const isNotPresent = (...os: unknown[]): boolean =>\n os.some(\n o =>\n o === null ||\n o === undefined ||\n o === '' ||\n (o instanceof Array && o.length === 0) ||\n (typeof o === 'object' && Object.getOwnPropertyNames(o).length === 0)\n );\n\nexport const isPresent = (...os: unknown[]): boolean => !isNotPresent(...os);\n"],"mappings":";AAAO,IAAM,YAAY,CAAc,MAA+B,MAAM,UAAa,MAAM;AAExF,IAAM,cAAc,CAAC,MAA4B,MAAM,UAAa,MAAM;AAE1E,IAAM,UAAU,CAAC,MAAyB,MAAM,MAAM,MAAM,QAAQ,MAAM,UAAc,QAAQ,CAAC,KAAK,EAAE,WAAW;AAEnH,IAAM,aAAa,CAAc,MAAqC,MAAM,MAAM,MAAM,QAAQ,MAAM,WAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS;AAE9I,IAAM,WAAW,CAAC,MAA6B,aAAa,UAAU,OAAO,MAAM;AAEnF,IAAM,kBAAkB,CAAC,MAC9B,SAAS,CAAC,KAAK,6EAA6E,KAAK,CAAC;AAE7F,IAAM,YAAY,CAAC,MAA8B,UAAU,CAAC,KAAK,OAAO,MAAM;AAE9E,IAAM,SAAS,CAAC,MAA4B,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;AAE/F,IAAM,WAAW,CAAC,MAA6B,UAAU,CAAC,KAAK,OAAO,MAAM,YAAY,CAAC,OAAO,MAAM,CAAC;AAEvG,IAAM,WAAW,CAAC,MAA8C,KAAK,QAAQ,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC;AAEhH,IAAM,gBAAgB,CAAC,MAAyB,SAAS,CAAC,KAAK,OAAO,oBAAoB,CAAC,EAAE,WAAW;AAExG,IAAM,aAAa,CAAC,MAAwD,UAAU,CAAC,KAAK,OAAO,MAAM;AAEzG,IAAM,UAAU,CAAU,MAA+B,UAAU,CAAC,KAAK,aAAa;AAEtF,IAAM,OAAO,CAAC,GAAY,WAA+B,QAAQ,MAAM,KAAK,OAAO,KAAK,OAAK,MAAM,CAAC;AAEpG,IAAM,iBAAiB,CAAC,GAAe,WAAgC,QAAQ,CAAC,KAAK,QAAQ,MAAM,KAAK,EAAE,KAAK,QAAM,KAAK,IAAI,MAAM,CAAC;AAErI,IAAM,UAAU,CAAC,MAA2B,UAAU,CAAC,KAAK,aAAa;AAEzE,IAAM,eAAe,IAAI,OAC9B,GAAG;AAAA,EACD,OACE,MAAM,QACN,MAAM,UACN,MAAM,MACL,aAAa,SAAS,EAAE,WAAW,KACnC,OAAO,MAAM,YAAY,OAAO,oBAAoB,CAAC,EAAE,WAAW;AACvE;AAEK,IAAM,YAAY,IAAI,OAA2B,CAAC,aAAa,GAAG,EAAE;","names":[]}
@@ -0,0 +1,20 @@
1
+ import {
2
+ rest
3
+ } from "./chunk-4DJUHTQO.mjs";
4
+ import {
5
+ toHttpStatus
6
+ } from "./chunk-VBZTERRM.mjs";
7
+
8
+ // src/http/toResponse.ts
9
+ function toResponse(status, body, headers) {
10
+ return {
11
+ status: toHttpStatus(status),
12
+ headers,
13
+ body: rest.to(body)
14
+ };
15
+ }
16
+
17
+ export {
18
+ toResponse
19
+ };
20
+ //# sourceMappingURL=chunk-DLA22ZCC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/http/toResponse.ts"],"sourcesContent":["import { HttpStatus, toHttpStatus } from './HttpStatus';\nimport { rest } from './RestResult';\nimport { Response } from './Response';\nimport { Code } from '../types/Id';\n\nexport function toResponse(status: HttpStatus | Code, body?: unknown, headers?: { [key: string]: any }): Response {\n return {\n status: toHttpStatus(status),\n headers,\n body: rest.to(body),\n };\n}\n"],"mappings":";;;;;;;;AAKO,SAAS,WAAW,QAA2B,MAAgB,SAA4C;AAChH,SAAO;AAAA,IACL,QAAQ,aAAa,MAAM;AAAA,IAC3B;AAAA,IACA,MAAM,KAAK,GAAG,IAAI;AAAA,EACpB;AACF;","names":[]}
@@ -0,0 +1,13 @@
1
+ import {
2
+ isIn
3
+ } from "./chunk-DEJ7A5PY.mjs";
4
+
5
+ // src/types/Primitive.ts
6
+ var isPrimitive = (v) => {
7
+ return v === null || v === void 0 || isIn(typeof v, ["string", "number", "bigint", "boolean", "symbol"]);
8
+ };
9
+
10
+ export {
11
+ isPrimitive
12
+ };
13
+ //# sourceMappingURL=chunk-DXQSIBC7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Primitive.ts"],"sourcesContent":["import { isIn } from './Is';\n\nexport type Primitive = string | number | bigint | boolean | symbol | null | undefined;\n\nexport const isPrimitive = (v?: unknown): v is Primitive => {\n return v === null || v === undefined || isIn(typeof v, ['string', 'number', 'bigint', 'boolean', 'symbol']);\n};\n"],"mappings":";;;;;AAIO,IAAM,cAAc,CAAC,MAAgC;AAC1D,SAAO,MAAM,QAAQ,MAAM,UAAa,KAAK,OAAO,GAAG,CAAC,UAAU,UAAU,UAAU,WAAW,QAAQ,CAAC;AAC5G;","names":[]}
@@ -0,0 +1,23 @@
1
+ import {
2
+ choose
3
+ } from "./chunk-LGLRWA42.mjs";
4
+ import {
5
+ isArray,
6
+ isObject
7
+ } from "./chunk-DEJ7A5PY.mjs";
8
+
9
+ // src/types/IsEqual.ts
10
+ var isEqualArray = (one, another) => choose([one, another]).case(([o, a]) => !isArray(o) || !isArray(a), false).case(([o, a]) => o?.length !== a?.length, false).else(([o, a]) => !o.some((v, i) => !isEqual(v, a[i])));
11
+ var isEqualObject = (one, another) => choose([Object.keys(one), Object.keys(another)]).case(([keysO, keysA]) => keysO.length !== keysA.length, false).case(([keysO, keysA]) => keysO.some((k) => !keysA.includes(k)), false).case(([keysO]) => keysO.some((k) => !isEqual(one[k], another[k])), false).else(true);
12
+ var isEqual = (one, another) => choose([one, another]).case(([o, a]) => o === a, true).case(
13
+ ([o, a]) => isArray(o) || isArray(a),
14
+ ([o, a]) => isEqualArray(o, a)
15
+ ).case(
16
+ ([o, a]) => o == null || a == null || !isObject(o) && !isObject(a),
17
+ ([o, a]) => o !== o && a !== a
18
+ ).else(([o, a]) => isEqualObject(o, a));
19
+
20
+ export {
21
+ isEqual
22
+ };
23
+ //# sourceMappingURL=chunk-ELDS3NWV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/IsEqual.ts"],"sourcesContent":["import { isArray, isObject } from './Is';\nimport { choose } from './Case';\n\nconst isEqualArray = (one: unknown[], another: unknown[]): boolean =>\n choose([one, another])\n .case(([o, a]) => !isArray(o) || !isArray(a), false)\n .case(([o, a]) => o?.length !== a?.length, false)\n .else(([o, a]) => !o.some((v, i) => !isEqual(v, a[i])));\n\nconst isEqualObject = (one: any, another: any): boolean =>\n choose([Object.keys(one), Object.keys(another)])\n .case(([keysO, keysA]) => keysO.length !== keysA.length, false)\n .case(([keysO, keysA]) => keysO.some(k => !keysA.includes(k)), false)\n .case(([keysO]) => keysO.some(k => !isEqual(one[k], another[k])), false)\n .else(true);\n\nexport const isEqual = (one?: unknown, another?: unknown): boolean =>\n choose([one, another])\n .case(([o, a]) => o === a, true)\n .case(\n ([o, a]) => isArray(o) || isArray(a),\n ([o, a]) => isEqualArray(o as [], a as [])\n )\n .case(\n ([o, a]) => o == null || a == null || (!isObject(o) && !isObject(a)),\n ([o, a]) => o !== o && a !== a\n )\n .else(([o, a]) => isEqualObject(o, a));\n"],"mappings":";;;;;;;;;AAGA,IAAM,eAAe,CAAC,KAAgB,YACpC,OAAO,CAAC,KAAK,OAAO,CAAC,EAClB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,EAClD,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,GAAG,QAAQ,KAAK,EAC/C,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1D,IAAM,gBAAgB,CAAC,KAAU,YAC/B,OAAO,CAAC,OAAO,KAAK,GAAG,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,EAC5C,KAAK,CAAC,CAAC,OAAO,KAAK,MAAM,MAAM,WAAW,MAAM,QAAQ,KAAK,EAC7D,KAAK,CAAC,CAAC,OAAO,KAAK,MAAM,MAAM,KAAK,OAAK,CAAC,MAAM,SAAS,CAAC,CAAC,GAAG,KAAK,EACnE,KAAK,CAAC,CAAC,KAAK,MAAM,MAAM,KAAK,OAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,EACtE,KAAK,IAAI;AAEP,IAAM,UAAU,CAAC,KAAe,YACrC,OAAO,CAAC,KAAK,OAAO,CAAC,EAClB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,EAC9B;AAAA,EACC,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,QAAQ,CAAC;AAAA,EACnC,CAAC,CAAC,GAAG,CAAC,MAAM,aAAa,GAAS,CAAO;AAC3C,EACC;AAAA,EACC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,KAAK,QAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;AAAA,EAClE,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,KAAK,MAAM;AAC/B,EACC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;","names":[]}
@@ -0,0 +1,50 @@
1
+ import {
2
+ required,
3
+ valid
4
+ } from "./chunk-GO66AIDJ.mjs";
5
+ import {
6
+ DateTime
7
+ } from "./chunk-QNNYTOR7.mjs";
8
+ import {
9
+ Struct
10
+ } from "./chunk-QMASVXTD.mjs";
11
+ import {
12
+ choose
13
+ } from "./chunk-LGLRWA42.mjs";
14
+ import {
15
+ ctx
16
+ } from "./chunk-PR6DFFCE.mjs";
17
+ import {
18
+ isIdentity
19
+ } from "./chunk-ZHXKBOK2.mjs";
20
+ import {
21
+ __decorateClass
22
+ } from "./chunk-4N72FQFX.mjs";
23
+
24
+ // src/domain/Audit.ts
25
+ var Audit = class extends Struct {
26
+ by = { id: this.state.by?.id, user: this.state.by?.user };
27
+ when = new DateTime(this.state.when);
28
+ constructor(json) {
29
+ super(
30
+ choose(json).is.defined(
31
+ (j) => j,
32
+ (j) => j
33
+ ).else({
34
+ by: isIdentity(ctx.request?.identity) ? ctx.request?.identity : { id: 0, user: "easy" },
35
+ when: DateTime.now.toJSON()
36
+ })
37
+ );
38
+ }
39
+ };
40
+ __decorateClass([
41
+ required()
42
+ ], Audit.prototype, "by", 2);
43
+ __decorateClass([
44
+ valid()
45
+ ], Audit.prototype, "when", 2);
46
+
47
+ export {
48
+ Audit
49
+ };
50
+ //# sourceMappingURL=chunk-ELUKCMQZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domain/Audit.ts"],"sourcesContent":["import { Struct } from './Struct';\nimport { DateTime } from './DateTime';\nimport { required, valid } from '../validation/Contraints';\nimport { Identity } from '../types/Identity';\nimport { Json } from '../types/Json';\nimport { choose } from '../types/Case';\nimport { isIdentity } from '../types/IsA';\nimport { ctx } from '../types/Context';\n\nexport class Audit extends Struct {\n @required() readonly by: Identity = { id: this.state.by?.id, user: this.state.by?.user };\n @valid() readonly when: DateTime = new DateTime(this.state.when);\n\n constructor(json?: Json) {\n super(\n choose(json)\n .is.defined(\n j => j,\n j => j\n )\n .else({\n by: isIdentity(ctx.request?.identity) ? ctx.request?.identity : { id: 0, user: 'easy' },\n when: DateTime.now.toJSON(),\n })\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASO,IAAM,QAAN,cAAoB,OAAO;AAAA,EACX,KAAe,EAAE,IAAI,KAAK,MAAM,IAAI,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK;AAAA,EACrE,OAAiB,IAAI,SAAS,KAAK,MAAM,IAAI;AAAA,EAE/D,YAAY,MAAa;AACvB;AAAA,MACE,OAAO,IAAI,EACR,GAAG;AAAA,QACF,OAAK;AAAA,QACL,OAAK;AAAA,MACP,EACC,KAAK;AAAA,QACJ,IAAI,WAAW,IAAI,SAAS,QAAQ,IAAI,IAAI,SAAS,WAAW,EAAE,IAAI,GAAG,MAAM,OAAO;AAAA,QACtF,MAAM,SAAS,IAAI,OAAO;AAAA,MAC5B,CAAC;AAAA,IACL;AAAA,EACF;AACF;AAhBuB;AAAA,EAApB,SAAS;AAAA,GADC,MACU;AACH;AAAA,EAAjB,MAAM;AAAA,GAFI,MAEO;","names":[]}
@@ -0,0 +1,58 @@
1
+ import {
2
+ entries,
3
+ values
4
+ } from "./chunk-4VZHB642.mjs";
5
+ import {
6
+ toList
7
+ } from "./chunk-HOVTNDHS.mjs";
8
+ import {
9
+ on,
10
+ use
11
+ } from "./chunk-ZPNFXK7Y.mjs";
12
+ import {
13
+ isDefined
14
+ } from "./chunk-DEJ7A5PY.mjs";
15
+
16
+ // src/types/Meta.ts
17
+ import "reflect-metadata";
18
+ var ClassMeta = class {
19
+ constructor(subject, data = (subject.prototype ?? subject).constructor) {
20
+ this.subject = subject;
21
+ this.data = data;
22
+ }
23
+ get = (key) => Reflect.getMetadata(key, this.data);
24
+ set = (key, value) => {
25
+ Reflect.defineMetadata(key, value, this.data);
26
+ return value;
27
+ };
28
+ entries = () => entries(this.subject);
29
+ parse = (f, options = {}) => {
30
+ const { initial = {}, skipUndefined = false } = options;
31
+ return this.entries().reduce((a, [k, val]) => use(f(val), (v) => isDefined(v) || !skipUndefined ? on(a, (a2) => a2[k] = v) : a), initial);
32
+ };
33
+ properties = (key) => toList([...Object.getOwnPropertyNames(this.subject), ...Object.getOwnPropertyNames(Object.getPrototypeOf(this.subject))]).map((p) => this.property(p)).filter((p) => key ? p.get(key) : p);
34
+ keys = (key) => this.properties().map((p) => p.get(key)).reduce((list, u) => u ? list.add(u) : list, toList());
35
+ values = () => values(this.subject);
36
+ property = (property) => new PropertyMeta(this.subject, property);
37
+ };
38
+ var PropertyMeta = class {
39
+ constructor(subject, property, data = Reflect.getMetadata(property, subject)) {
40
+ this.subject = subject;
41
+ this.property = property;
42
+ this.data = data;
43
+ }
44
+ get value() {
45
+ return this.subject[this.property];
46
+ }
47
+ get = (key) => isDefined(this.data) && isDefined(this.data[key]) ? this.data[key] : void 0;
48
+ set = (key, value) => {
49
+ Reflect.defineMetadata(this.property, { ...this.data, [key]: value }, this.subject);
50
+ return value;
51
+ };
52
+ };
53
+ var meta = (subject) => new ClassMeta(subject ?? {});
54
+
55
+ export {
56
+ meta
57
+ };
58
+ //# sourceMappingURL=chunk-FN7HN3YK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Meta.ts"],"sourcesContent":["import 'reflect-metadata';\nimport { List, toList } from './List';\nimport { isDefined } from './Is';\nimport { on, use } from './Constructor';\nimport { Optional } from './Types';\nimport { Entry, entries, values } from './Object';\n\ntype MetaParseOptions = { initial?: any; skipUndefined?: boolean };\n\nclass ClassMeta {\n constructor(\n readonly subject: any,\n private readonly data: any = (subject.prototype ?? subject).constructor\n ) {}\n\n get = <T>(key: string): T => Reflect.getMetadata(key, this.data) as T;\n\n set = <T>(key: string, value: T): T => {\n Reflect.defineMetadata(key, value, this.data);\n return value;\n };\n\n entries = <T = unknown>(): List<Entry<T>> => entries<T>(this.subject);\n\n parse = <Out, Value>(f: (v: Value) => Out, options: MetaParseOptions = {}): Record<string, Out> => {\n const { initial = {}, skipUndefined = false } = options;\n return this.entries<Value>().reduce((a, [k, val]) => use(f(val), v => (isDefined(v) || !skipUndefined ? on(a, a => (a[k] = v)) : a)), initial);\n };\n\n properties = (key?: string): List<PropertyMeta> =>\n toList([...Object.getOwnPropertyNames(this.subject), ...Object.getOwnPropertyNames(Object.getPrototypeOf(this.subject))])\n .map(p => this.property(p))\n .filter(p => (key ? p.get(key) : p));\n\n keys = <T = any>(key: string): List<T> =>\n this.properties()\n .map(p => p.get<T>(key))\n .reduce((list, u) => (u ? list.add(u) : list), toList<T>());\n\n values = <T = unknown>(): List<T> => values<T>(this.subject);\n\n property = (property: string | symbol): PropertyMeta => new PropertyMeta(this.subject, property);\n}\n\nclass PropertyMeta {\n constructor(\n readonly subject: any,\n readonly property: string | symbol,\n private readonly data = Reflect.getMetadata(property, subject)\n ) {}\n\n get value(): any {\n return this.subject[this.property];\n }\n\n get = <T>(key: string): Optional<T> => (isDefined(this.data) && isDefined(this.data[key]) ? (this.data[key] as T) : undefined);\n\n set = <T>(key: string, value: T): T => {\n Reflect.defineMetadata(this.property, { ...this.data, [key]: value }, this.subject);\n return value;\n };\n}\n\nexport const meta = (subject: unknown): ClassMeta => new ClassMeta(subject ?? {});\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO;AASP,IAAM,YAAN,MAAgB;AAAA,EACd,YACW,SACQ,QAAa,QAAQ,aAAa,SAAS,aAC5D;AAFS;AACQ;AAAA,EAChB;AAAA,EAEH,MAAM,CAAI,QAAmB,QAAQ,YAAY,KAAK,KAAK,IAAI;AAAA,EAE/D,MAAM,CAAI,KAAa,UAAgB;AACrC,YAAQ,eAAe,KAAK,OAAO,KAAK,IAAI;AAC5C,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,MAAmC,QAAW,KAAK,OAAO;AAAA,EAEpE,QAAQ,CAAa,GAAsB,UAA4B,CAAC,MAA2B;AACjG,UAAM,EAAE,UAAU,CAAC,GAAG,gBAAgB,MAAM,IAAI;AAChD,WAAO,KAAK,QAAe,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,IAAI,EAAE,GAAG,GAAG,OAAM,UAAU,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAAA,OAAMA,GAAE,CAAC,IAAI,CAAE,IAAI,CAAE,GAAG,OAAO;AAAA,EAC/I;AAAA,EAEA,aAAa,CAAC,QACZ,OAAO,CAAC,GAAG,OAAO,oBAAoB,KAAK,OAAO,GAAG,GAAG,OAAO,oBAAoB,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EACrH,IAAI,OAAK,KAAK,SAAS,CAAC,CAAC,EACzB,OAAO,OAAM,MAAM,EAAE,IAAI,GAAG,IAAI,CAAE;AAAA,EAEvC,OAAO,CAAU,QACf,KAAK,WAAW,EACb,IAAI,OAAK,EAAE,IAAO,GAAG,CAAC,EACtB,OAAO,CAAC,MAAM,MAAO,IAAI,KAAK,IAAI,CAAC,IAAI,MAAO,OAAU,CAAC;AAAA,EAE9D,SAAS,MAA4B,OAAU,KAAK,OAAO;AAAA,EAE3D,WAAW,CAAC,aAA4C,IAAI,aAAa,KAAK,SAAS,QAAQ;AACjG;AAEA,IAAM,eAAN,MAAmB;AAAA,EACjB,YACW,SACA,UACQ,OAAO,QAAQ,YAAY,UAAU,OAAO,GAC7D;AAHS;AACA;AACQ;AAAA,EAChB;AAAA,EAEH,IAAI,QAAa;AACf,WAAO,KAAK,QAAQ,KAAK,QAAQ;AAAA,EACnC;AAAA,EAEA,MAAM,CAAI,QAA8B,UAAU,KAAK,IAAI,KAAK,UAAU,KAAK,KAAK,GAAG,CAAC,IAAK,KAAK,KAAK,GAAG,IAAU;AAAA,EAEpH,MAAM,CAAI,KAAa,UAAgB;AACrC,YAAQ,eAAe,KAAK,UAAU,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,OAAO;AAClF,WAAO;AAAA,EACT;AACF;AAEO,IAAM,OAAO,CAAC,YAAgC,IAAI,UAAU,WAAW,CAAC,CAAC;","names":["a"]}
@@ -0,0 +1,25 @@
1
+ import {
2
+ convert
3
+ } from "./chunk-MDXL65W4.mjs";
4
+ import {
5
+ ofGet
6
+ } from "./chunk-SJGQU3OG.mjs";
7
+
8
+ // src/utils/Property.ts
9
+ var Property = class {
10
+ constructor(property, options) {
11
+ this.property = property;
12
+ this.options = options;
13
+ this.options = { ...options, convert: options?.convert ?? convert.default };
14
+ }
15
+ in = (source = {}) => this.options?.convert?.to(source[this.property] ?? ofGet(this.options?.dflt));
16
+ out = (source = {}, key = "") => this.options?.convert?.from(source[key]);
17
+ toString() {
18
+ return this.property;
19
+ }
20
+ };
21
+
22
+ export {
23
+ Property
24
+ };
25
+ //# sourceMappingURL=chunk-GCY5A63A.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/Property.ts"],"sourcesContent":["import { convert, Convert } from './Convert';\nimport { Mapping } from './Mapper';\nimport { Get, ofGet } from '../types/Get';\nimport { Json, JsonValue } from '../types/Json';\n\nexport type PropertyOptions<T = unknown> = {\n convert?: Convert<any, any>;\n dflt?: Get<T>;\n format?: string;\n};\n\nexport class Property<T = unknown> implements Mapping {\n constructor(\n readonly property: string,\n readonly options?: PropertyOptions\n ) {\n this.options = { ...options, convert: options?.convert ?? convert.default };\n }\n\n in = (source: Json = {}): JsonValue => this.options?.convert?.to(source[this.property] ?? ofGet(this.options?.dflt));\n out = (source: Json = {}, key = ''): JsonValue => this.options?.convert?.from(source[key]);\n\n toString() {\n return this.property;\n }\n}\n"],"mappings":";;;;;;;;AAWO,IAAM,WAAN,MAA+C;AAAA,EACpD,YACW,UACA,SACT;AAFS;AACA;AAET,SAAK,UAAU,EAAE,GAAG,SAAS,SAAS,SAAS,WAAW,QAAQ,QAAQ;AAAA,EAC5E;AAAA,EAEA,KAAK,CAAC,SAAe,CAAC,MAAiB,KAAK,SAAS,SAAS,GAAG,OAAO,KAAK,QAAQ,KAAK,MAAM,KAAK,SAAS,IAAI,CAAC;AAAA,EACnH,MAAM,CAAC,SAAe,CAAC,GAAG,MAAM,OAAkB,KAAK,SAAS,SAAS,KAAK,OAAO,GAAG,CAAC;AAAA,EAEzF,WAAW;AACT,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1,76 @@
1
+ import {
2
+ inFuture,
3
+ inPast
4
+ } from "./chunk-ADJAEGCT.mjs";
5
+ import {
6
+ tryTo,
7
+ validate
8
+ } from "./chunk-LGLRWA42.mjs";
9
+ import {
10
+ text
11
+ } from "./chunk-RWGCMC6L.mjs";
12
+ import {
13
+ meta
14
+ } from "./chunk-FN7HN3YK.mjs";
15
+ import {
16
+ toList
17
+ } from "./chunk-HOVTNDHS.mjs";
18
+ import {
19
+ isBoolean,
20
+ isDefined,
21
+ isFunction,
22
+ isIn,
23
+ isNotEmpty,
24
+ isString
25
+ } from "./chunk-DEJ7A5PY.mjs";
26
+
27
+ // src/validation/Contraints.ts
28
+ var constraint = (c, message) => (subject, property) => {
29
+ const cs = meta(subject).property(property).get("constraint") ?? toList();
30
+ meta(subject).property(property).set("constraint", cs.add({ property, constraint: c, text: message }));
31
+ };
32
+ var defined = (message) => constraint((v) => isDefined(v), message ?? "Property {property} must be defined.");
33
+ var required = (message) => constraint((v) => isNotEmpty(v), message ?? "Property {property} is required, and may not be empty.");
34
+ var notEmpty = (message) => constraint((v) => isNotEmpty(v), message ?? "Property {property} may not be empty.");
35
+ var valid = () => constraint((v) => validate(v), "");
36
+ var optional = () => constraint((v) => !isDefined(v) || validate(v), "");
37
+ var includes = (sub, message) => constraint((s) => isDefined(s) && isString(s) && s.includes(sub), message ?? `Value {actual} must include '${sub}'.`);
38
+ var inList = (values, message) => constraint((v) => isDefined(v) && isIn(v, values), message ?? "Value {actual} must appear in list.");
39
+ var inOptionalList = (values, message) => constraint((v) => !isDefined(v) || isIn(v, values), message ?? "Value {actual} must appear in list.");
40
+ var gt = (limit, message) => constraint((v) => v > limit, message ?? `Value {actual} must be larger than '${limit}'.`);
41
+ var gte = (limit, message) => constraint((v) => v >= limit, message ?? `Value {actual} must be larger than or equal to ${limit}.`);
42
+ var lt = (limit, message) => constraint((v) => v < limit, message ?? `Value {actual} must be smaller than ${limit}.`);
43
+ var lte = (limit, message) => constraint((v) => v <= limit, message ?? `Value {actual} must be smaller than or equal to ${limit}.`);
44
+ var past = (message) => constraint((v) => inPast(v), message ?? "Value {actual} must lay in the past.");
45
+ var future = (message) => constraint((v) => inFuture(v), message ?? "Value {actual} must lay in the future.");
46
+ var minLength = (length, message) => constraint(
47
+ (v) => tryTo(() => v).is.defined().map((v2) => text(v2).toString().length >= length).orElse(true),
48
+ message ?? `Value {actual} must be at least '${length}' characters long.`
49
+ );
50
+ var maxLength = (length, message) => constraint(
51
+ (v) => tryTo(() => v).is.defined().map((v2) => text(v2).toString().length <= length).orElse(true),
52
+ message ?? `Value {actual} cannot be longer than '${length}' characters.`
53
+ );
54
+ var rule = (message) => constraint((v) => isFunction(v) ? v() : isBoolean(v) ? v : false, message ?? `Value {actual} must be true`);
55
+
56
+ export {
57
+ constraint,
58
+ defined,
59
+ required,
60
+ notEmpty,
61
+ valid,
62
+ optional,
63
+ includes,
64
+ inList,
65
+ inOptionalList,
66
+ gt,
67
+ gte,
68
+ lt,
69
+ lte,
70
+ past,
71
+ future,
72
+ minLength,
73
+ maxLength,
74
+ rule
75
+ };
76
+ //# sourceMappingURL=chunk-GO66AIDJ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/validation/Contraints.ts"],"sourcesContent":["import { validate, Validator } from './Validate';\nimport { Func } from '../types/Func';\nimport { Results } from '../types/Results';\nimport { meta } from '../types/Meta';\nimport { List, toList } from '../types/List';\nimport { isBoolean, isDefined, isFunction, isIn, isNotEmpty, isString } from '../types/Is';\nimport { tryTo } from '../types/Try';\nimport { inFuture, inPast } from '../types/IsDate';\nimport type { Text } from '../types/Text';\nimport { text } from '../types/ToText';\n\nexport type Constraint = Func<boolean | Results, any>;\n\nexport const constraint =\n <T>(c: Constraint, message: Text): PropertyDecorator =>\n (subject: unknown, property: string | symbol): void => {\n const cs = meta(subject).property(property).get<List<Validator>>('constraint') ?? toList<Validator>();\n meta(subject)\n .property(property)\n .set('constraint', cs.add({ property, constraint: c, text: message }));\n };\n\nexport const defined = (message?: Text): PropertyDecorator => constraint(v => isDefined(v), message ?? 'Property {property} must be defined.');\n\nexport const required = (message?: Text): PropertyDecorator =>\n constraint(v => isNotEmpty(v), message ?? 'Property {property} is required, and may not be empty.');\n\nexport const notEmpty = (message?: Text): PropertyDecorator => constraint(v => isNotEmpty(v), message ?? 'Property {property} may not be empty.');\n\nexport const valid = (): PropertyDecorator => constraint(v => validate(v), '');\n\nexport const optional = (): PropertyDecorator => constraint(v => !isDefined(v) || validate(v), '');\n\nexport const includes = (sub: string, message?: string): PropertyDecorator =>\n constraint(s => isDefined(s) && isString(s) && s.includes(sub), message ?? `Value {actual} must include '${sub}'.`);\n\nexport const inList = (values: unknown[], message?: Text): PropertyDecorator =>\n constraint(v => isDefined(v) && isIn(v, values), message ?? 'Value {actual} must appear in list.');\n\nexport const inOptionalList = (values: unknown[], message?: Text): PropertyDecorator =>\n constraint(v => !isDefined(v) || isIn(v, values), message ?? 'Value {actual} must appear in list.');\n\nexport const gt = (limit: number, message?: Text): PropertyDecorator => constraint(v => v > limit, message ?? `Value {actual} must be larger than '${limit}'.`);\n\nexport const gte = (limit: number, message?: Text): PropertyDecorator =>\n constraint(v => v >= limit, message ?? `Value {actual} must be larger than or equal to ${limit}.`);\n\nexport const lt = (limit: number, message?: Text): PropertyDecorator => constraint(v => v < limit, message ?? `Value {actual} must be smaller than ${limit}.`);\n\nexport const lte = (limit: number, message?: Text): PropertyDecorator =>\n constraint(v => v <= limit, message ?? `Value {actual} must be smaller than or equal to ${limit}.`);\n\nexport const past = (message?: Text): PropertyDecorator => constraint(v => inPast(v), message ?? 'Value {actual} must lay in the past.');\n\nexport const future = (message?: Text): PropertyDecorator => constraint(v => inFuture(v), message ?? 'Value {actual} must lay in the future.');\n\nexport const minLength = (length: number, message?: Text): PropertyDecorator =>\n constraint(\n v =>\n tryTo(() => v)\n .is.defined()\n .map(v => text(v).toString().length >= length)\n .orElse(true) as boolean,\n message ?? `Value {actual} must be at least '${length}' characters long.`\n );\n\nexport const maxLength = (length: number, message?: Text): PropertyDecorator =>\n constraint(\n v =>\n tryTo(() => v)\n .is.defined()\n .map(v => text(v).toString().length <= length)\n .orElse(true) as boolean,\n message ?? `Value {actual} cannot be longer than '${length}' characters.`\n );\n\nexport const rule = (message?: Text): PropertyDecorator =>\n constraint(v => (isFunction(v) ? (v() as boolean | Results) : isBoolean(v) ? v : false), message ?? `Value {actual} must be true`);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,IAAM,aACX,CAAI,GAAe,YACnB,CAAC,SAAkB,aAAoC;AACrD,QAAM,KAAK,KAAK,OAAO,EAAE,SAAS,QAAQ,EAAE,IAAqB,YAAY,KAAK,OAAkB;AACpG,OAAK,OAAO,EACT,SAAS,QAAQ,EACjB,IAAI,cAAc,GAAG,IAAI,EAAE,UAAU,YAAY,GAAG,MAAM,QAAQ,CAAC,CAAC;AACzE;AAEK,IAAM,UAAU,CAAC,YAAsC,WAAW,OAAK,UAAU,CAAC,GAAG,WAAW,sCAAsC;AAEtI,IAAM,WAAW,CAAC,YACvB,WAAW,OAAK,WAAW,CAAC,GAAG,WAAW,wDAAwD;AAE7F,IAAM,WAAW,CAAC,YAAsC,WAAW,OAAK,WAAW,CAAC,GAAG,WAAW,uCAAuC;AAEzI,IAAM,QAAQ,MAAyB,WAAW,OAAK,SAAS,CAAC,GAAG,EAAE;AAEtE,IAAM,WAAW,MAAyB,WAAW,OAAK,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,GAAG,EAAE;AAE1F,IAAM,WAAW,CAAC,KAAa,YACpC,WAAW,OAAK,UAAU,CAAC,KAAK,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,WAAW,gCAAgC,GAAG,IAAI;AAE7G,IAAM,SAAS,CAAC,QAAmB,YACxC,WAAW,OAAK,UAAU,CAAC,KAAK,KAAK,GAAG,MAAM,GAAG,WAAW,qCAAqC;AAE5F,IAAM,iBAAiB,CAAC,QAAmB,YAChD,WAAW,OAAK,CAAC,UAAU,CAAC,KAAK,KAAK,GAAG,MAAM,GAAG,WAAW,qCAAqC;AAE7F,IAAM,KAAK,CAAC,OAAe,YAAsC,WAAW,OAAK,IAAI,OAAO,WAAW,uCAAuC,KAAK,IAAI;AAEvJ,IAAM,MAAM,CAAC,OAAe,YACjC,WAAW,OAAK,KAAK,OAAO,WAAW,kDAAkD,KAAK,GAAG;AAE5F,IAAM,KAAK,CAAC,OAAe,YAAsC,WAAW,OAAK,IAAI,OAAO,WAAW,uCAAuC,KAAK,GAAG;AAEtJ,IAAM,MAAM,CAAC,OAAe,YACjC,WAAW,OAAK,KAAK,OAAO,WAAW,mDAAmD,KAAK,GAAG;AAE7F,IAAM,OAAO,CAAC,YAAsC,WAAW,OAAK,OAAO,CAAC,GAAG,WAAW,sCAAsC;AAEhI,IAAM,SAAS,CAAC,YAAsC,WAAW,OAAK,SAAS,CAAC,GAAG,WAAW,wCAAwC;AAEtI,IAAM,YAAY,CAAC,QAAgB,YACxC;AAAA,EACE,OACE,MAAM,MAAM,CAAC,EACV,GAAG,QAAQ,EACX,IAAI,CAAAA,OAAK,KAAKA,EAAC,EAAE,SAAS,EAAE,UAAU,MAAM,EAC5C,OAAO,IAAI;AAAA,EAChB,WAAW,oCAAoC,MAAM;AACvD;AAEK,IAAM,YAAY,CAAC,QAAgB,YACxC;AAAA,EACE,OACE,MAAM,MAAM,CAAC,EACV,GAAG,QAAQ,EACX,IAAI,CAAAA,OAAK,KAAKA,EAAC,EAAE,SAAS,EAAE,UAAU,MAAM,EAC5C,OAAO,IAAI;AAAA,EAChB,WAAW,yCAAyC,MAAM;AAC5D;AAEK,IAAM,OAAO,CAAC,YACnB,WAAW,OAAM,WAAW,CAAC,IAAK,EAAE,IAA0B,UAAU,CAAC,IAAI,IAAI,OAAQ,WAAW,6BAA6B;","names":["v"]}
@@ -0,0 +1,39 @@
1
+ import {
2
+ text
3
+ } from "./chunk-RWGCMC6L.mjs";
4
+ import {
5
+ Enum
6
+ } from "./chunk-UXADDXCJ.mjs";
7
+ import {
8
+ toList
9
+ } from "./chunk-HOVTNDHS.mjs";
10
+ import {
11
+ kebab
12
+ } from "./chunk-BDA5LB4S.mjs";
13
+ import {
14
+ isString
15
+ } from "./chunk-DEJ7A5PY.mjs";
16
+
17
+ // src/process/Scope.ts
18
+ var Scope = class _Scope extends Enum {
19
+ constructor(name, id = text(name).kebab, subs = toList()) {
20
+ super(name, id.toString());
21
+ this.name = name;
22
+ this.subs = subs;
23
+ }
24
+ for(item) {
25
+ return new _Scope(`${this.name} ${isString(item) ? text(item).title : item.name}`, kebab(`${this.id} ${isString(item) ? item : item.id}`));
26
+ }
27
+ combines(...scopes) {
28
+ this.subs.add(scopes);
29
+ return this;
30
+ }
31
+ expand() {
32
+ return this.subs.flatMap((s) => s.expand()).add(this).distinct();
33
+ }
34
+ };
35
+
36
+ export {
37
+ Scope
38
+ };
39
+ //# sourceMappingURL=chunk-GVTADDU5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/process/Scope.ts"],"sourcesContent":["import { Enum } from '../types/Enum';\nimport type { Text } from '../types/Text';\nimport { kebab } from '../types/Text';\nimport { List, toList } from '../types/List';\nimport { isString } from '../types/Is';\nimport { IdNamePlain } from '../types/IdName';\nimport { text } from '../types/ToText';\n\nexport class Scope extends Enum {\n protected constructor(\n readonly name: string,\n id: Text = text(name).kebab,\n readonly subs: List<Scope> = toList()\n ) {\n super(name, id.toString());\n }\n\n for(item: string | IdNamePlain): Scope {\n return new Scope(`${this.name} ${isString(item) ? text(item).title : item.name}`, kebab(`${this.id} ${isString(item) ? item : item.id}`));\n }\n\n combines(...scopes: Scope[]): this {\n this.subs.add(scopes);\n return this;\n }\n\n expand(): List<Scope> {\n return this.subs\n .flatMap(s => s.expand())\n .add(this)\n .distinct();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAQO,IAAM,QAAN,MAAM,eAAc,KAAK;AAAA,EACpB,YACC,MACT,KAAW,KAAK,IAAI,EAAE,OACb,OAAoB,OAAO,GACpC;AACA,UAAM,MAAM,GAAG,SAAS,CAAC;AAJhB;AAEA;AAAA,EAGX;AAAA,EAEA,IAAI,MAAmC;AACrC,WAAO,IAAI,OAAM,GAAG,KAAK,IAAI,IAAI,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI,IAAI,MAAM,GAAG,KAAK,EAAE,IAAI,SAAS,IAAI,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;AAAA,EAC1I;AAAA,EAEA,YAAY,QAAuB;AACjC,SAAK,KAAK,IAAI,MAAM;AACpB,WAAO;AAAA,EACT;AAAA,EAEA,SAAsB;AACpB,WAAO,KAAK,KACT,QAAQ,OAAK,EAAE,OAAO,CAAC,EACvB,IAAI,IAAI,EACR,SAAS;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1,79 @@
1
+ import {
2
+ AxiosProvider
3
+ } from "./chunk-WVTNXVBL.mjs";
4
+ import {
5
+ HttpVerb
6
+ } from "./chunk-4HWEQEHM.mjs";
7
+ import {
8
+ RequestOptions,
9
+ toPageOptions
10
+ } from "./chunk-L5ZI7SPN.mjs";
11
+
12
+ // src/services/Api.ts
13
+ var Api = class {
14
+ constructor(provider = new AxiosProvider(), store) {
15
+ this.provider = provider;
16
+ this.store = store;
17
+ }
18
+ get(uri, options, transform, transformError = (r) => r) {
19
+ return this.execute({
20
+ uri: uri.skip(toPageOptions(options)?.skip).take(toPageOptions(options)?.take),
21
+ verb: HttpVerb.Get,
22
+ transform,
23
+ transformError,
24
+ options: this.options(HttpVerb.Get, options)
25
+ });
26
+ }
27
+ post(uri, body, options = RequestOptions.Json, transform, transformError = (r) => r) {
28
+ return this.execute({
29
+ uri,
30
+ verb: HttpVerb.Post,
31
+ body,
32
+ transform,
33
+ transformError,
34
+ options: this.options(HttpVerb.Post, options)
35
+ });
36
+ }
37
+ put(uri, body, options = RequestOptions.Json, transform, transformError = (r) => r) {
38
+ return this.execute({
39
+ uri,
40
+ verb: HttpVerb.Put,
41
+ body,
42
+ transform,
43
+ transformError,
44
+ options: this.options(HttpVerb.Put, options)
45
+ });
46
+ }
47
+ patch(uri, body, options = RequestOptions.Json, transform, transformError = (r) => r) {
48
+ return this.execute({
49
+ uri,
50
+ verb: HttpVerb.Patch,
51
+ body,
52
+ transform,
53
+ transformError,
54
+ options: this.options(HttpVerb.Patch, options)
55
+ });
56
+ }
57
+ delete(uri, options = RequestOptions.Json, transform, transformError = (r) => r) {
58
+ return this.execute({
59
+ uri,
60
+ verb: HttpVerb.Delete,
61
+ transform,
62
+ transformError,
63
+ options: this.options(HttpVerb.Delete, options)
64
+ });
65
+ }
66
+ options(verb, options) {
67
+ return options instanceof RequestOptions ? options : RequestOptions.Json;
68
+ }
69
+ execute(req) {
70
+ return this.store ? this.store.execute(req, () => this.provider.execute(req)) : this.provider.execute(req);
71
+ }
72
+ };
73
+ var api = new Api();
74
+
75
+ export {
76
+ Api,
77
+ api
78
+ };
79
+ //# sourceMappingURL=chunk-GZIULZH2.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":[]}