@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,297 @@
1
+ import {
2
+ traverse
3
+ } from "./chunk-SSROJBD5.mjs";
4
+ import {
5
+ toArray
6
+ } from "./chunk-CO2AFYVD.mjs";
7
+ import {
8
+ asString
9
+ } from "./chunk-BDA5LB4S.mjs";
10
+ import {
11
+ ofGet,
12
+ ofProperty
13
+ } from "./chunk-SJGQU3OG.mjs";
14
+ import {
15
+ isA
16
+ } from "./chunk-ZHXKBOK2.mjs";
17
+ import {
18
+ ofConstruct,
19
+ on,
20
+ use
21
+ } from "./chunk-ZPNFXK7Y.mjs";
22
+ import {
23
+ isArray,
24
+ isDefined,
25
+ isEmpty,
26
+ isNotEmpty,
27
+ isPresent,
28
+ isTrue
29
+ } from "./chunk-DEJ7A5PY.mjs";
30
+
31
+ // src/utils/If.ts
32
+ function ifTrue(o, f, alt) {
33
+ return isTrue(o) ? ofConstruct(f, o) : ofConstruct(alt, o);
34
+ }
35
+ function ifFalse(o, f, alt) {
36
+ return !isTrue(o) ? ofConstruct(f, o) : ofConstruct(alt, o);
37
+ }
38
+ function ifDefined(o, f, alt) {
39
+ return isDefined(o) ? ofConstruct(f, o) : ofConstruct(alt);
40
+ }
41
+ function ifNotEmpty(o, f = (o2) => o2, alt) {
42
+ return isNotEmpty(o) ? ofConstruct(f, o) : ofConstruct(alt, o);
43
+ }
44
+ function ifEither(os, f = (o) => o, alt) {
45
+ return use(
46
+ toList(os).first((o) => isPresent(o)),
47
+ (o) => isDefined(o) ? ofConstruct(f, o) : ofConstruct(alt, o)
48
+ );
49
+ }
50
+
51
+ // src/types/List.ts
52
+ var List = class extends Array {
53
+ get ids() {
54
+ return this.mapDefined((i) => i.id);
55
+ }
56
+ get indexed() {
57
+ return this.map((v, index) => ({ ...v, index }));
58
+ }
59
+ isSubSetOf(...items) {
60
+ return this.diff(items).length === 0;
61
+ }
62
+ isSuperSetOf(...items) {
63
+ return this.length > items.length && toList(...items).isSubSetOf(...this);
64
+ }
65
+ isIntersectingWith(...items) {
66
+ return this.intersect(items).length > 0;
67
+ }
68
+ isDisjointWith(...items) {
69
+ return !this.isIntersectingWith(...items);
70
+ }
71
+ areEqual(...items) {
72
+ return this.isSubSetOf(...items) && toList(...items).isSubSetOf(...this);
73
+ }
74
+ asc(p) {
75
+ return this.sort((e1, e2) => ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1);
76
+ }
77
+ desc(p) {
78
+ return this.sort((e1, e2) => ofProperty(e1, p) < ofProperty(e2, p) ? 1 : -1);
79
+ }
80
+ first(p, params) {
81
+ return p ? this.find(p, params) : this[0];
82
+ }
83
+ firstValue(f, alt) {
84
+ return ifDefined(
85
+ this.first((t) => !!f(t)),
86
+ f,
87
+ (v) => ofGet(alt, v)
88
+ );
89
+ }
90
+ isFirst(value) {
91
+ return value === this.first();
92
+ }
93
+ next(p, params) {
94
+ return p ? this[this.findIndex(p, params) + 1] : this[0];
95
+ }
96
+ prev(p, params) {
97
+ return p ? this[this.findIndex(p, params) - 1] : this[0];
98
+ }
99
+ last(p, params) {
100
+ return p ? this.filter(p, params).last() : this[this.length - 1];
101
+ }
102
+ isLast(value) {
103
+ return value === this.last();
104
+ }
105
+ overlaps(...items) {
106
+ return toList(...items).some((i) => this.some((t) => i === t));
107
+ }
108
+ diff(others) {
109
+ return this.filter((i) => !others.includes(i));
110
+ }
111
+ diffByKey(others, key) {
112
+ return this.filter((i) => !others.some((o) => o[key] === i[key]));
113
+ }
114
+ symmetricDiff(others) {
115
+ return this.diff(others).concat(toList(...others).diff(this));
116
+ }
117
+ symmetricDiffByKey(others, key) {
118
+ return this.diffByKey(others, key).concat(toList(...others).diffByKey(this, key));
119
+ }
120
+ intersect(others) {
121
+ return this.filter((i) => others.includes(i));
122
+ }
123
+ intersectByKey(others, key) {
124
+ return this.filter((i) => others.some((o) => o[key] === i[key]));
125
+ }
126
+ intersectBy(others, f) {
127
+ return this.filter((i) => others.some((o) => f(i, o)));
128
+ }
129
+ accumulate(...keys) {
130
+ return this.map((d, i, arr) => {
131
+ const acc = keys.reduce((acc2, v) => {
132
+ acc2[v] = i === 0 ? d[v] : arr[i - 1][v] + d[v];
133
+ return acc2;
134
+ }, d);
135
+ arr[i] = acc;
136
+ return acc;
137
+ });
138
+ }
139
+ toJSON() {
140
+ return this.reduce((a, i) => {
141
+ a.push(JSON.parse(JSON.stringify(i ?? {})));
142
+ return a;
143
+ }, new Array());
144
+ }
145
+ map(f, params) {
146
+ return toList(super.map(f, params));
147
+ }
148
+ flatMap(f, params) {
149
+ return toList(super.flatMap(f, params));
150
+ }
151
+ mapDefined(f, params) {
152
+ return this.map(f, params).defined();
153
+ }
154
+ mapAsync(f) {
155
+ return Promise.all(super.map((e) => f(e))).then((a) => toList(a));
156
+ }
157
+ mapSerial(f) {
158
+ return super.reduce((p, item) => p.then((results) => on(results, async (r) => r.push(await f(item)))), Promise.resolve(toList()));
159
+ }
160
+ distinct() {
161
+ return this.filter((i, index) => this.indexOf(i) === index);
162
+ }
163
+ distinctByKey(key) {
164
+ const seen = /* @__PURE__ */ new Set();
165
+ return this.filter((item) => !seen.has(item[key]) && seen.add(item[key]));
166
+ }
167
+ distinctByValue() {
168
+ const seen = /* @__PURE__ */ new Set();
169
+ return this.filter((item) => !seen.has(JSON.stringify(item)) && seen.add(JSON.stringify(item)));
170
+ }
171
+ filter(p, params) {
172
+ return toList(super.filter(p, params));
173
+ }
174
+ sum(p) {
175
+ return this.reduce((sum, i) => sum + p(i), 0);
176
+ }
177
+ max(p) {
178
+ return typeof p === "function" ? this.sort((e1, e2) => p(e1) < p(e2) ? 1 : -1).first() : this.desc(p).first();
179
+ }
180
+ min(p) {
181
+ return typeof p === "function" ? this.sort((e1, e2) => p(e1) > p(e2) ? 1 : -1).first() : this.asc(p).first();
182
+ }
183
+ byId(id) {
184
+ return this.first((i) => asString(i.id) === asString(id));
185
+ }
186
+ byKey(key, value) {
187
+ return this.first((i) => i[key] == value);
188
+ }
189
+ add(...items) {
190
+ super.push(...toArray(...items));
191
+ return this;
192
+ }
193
+ concat(...items) {
194
+ return toList(super.concat(...items));
195
+ }
196
+ reverse() {
197
+ return toList(super.reverse());
198
+ }
199
+ splice(start, deleteCount, ...items) {
200
+ return toList(super.splice(start, deleteCount, ...items));
201
+ }
202
+ remove(item) {
203
+ const index = this.indexOf(item);
204
+ if (index > -1) {
205
+ this.splice(index, 1);
206
+ }
207
+ return this;
208
+ }
209
+ replace(key, item) {
210
+ const index = this.findIndex((i) => i[key] === item?.[key]);
211
+ ifTrue(index != -1, () => this.splice(index, 1, item));
212
+ return this;
213
+ }
214
+ switch(item) {
215
+ return this.includes(item) ? this.remove(item) : this.add(item);
216
+ }
217
+ switchOn(item, on2) {
218
+ return use(
219
+ typeof on2 === "function" ? this.find(on2) : use(traverse(item, on2), (v) => this.find((i) => traverse(i, on2) === v)),
220
+ (i) => i ? this.remove(i) : this.add(item)
221
+ );
222
+ }
223
+ defined() {
224
+ return this.reduce((l, v) => isDefined(v) ? l.add(v) : l, toList());
225
+ }
226
+ toObject(key, options = {}) {
227
+ return this.reduce((o, i) => {
228
+ o[i[key]] = i;
229
+ if (options.deleteKey)
230
+ delete o[i[key]][key];
231
+ return o;
232
+ }, {});
233
+ }
234
+ toObjectList(key) {
235
+ return this.reduce(
236
+ (a, t) => {
237
+ const k = t[key];
238
+ a[k] = a[k] ?? toList();
239
+ a[k].push(t);
240
+ return a;
241
+ },
242
+ {}
243
+ );
244
+ }
245
+ orElse(...alt) {
246
+ return !isEmpty(this) ? this : !isEmpty(...alt) ? toList(...alt) : void 0;
247
+ }
248
+ weave(insertFrom, interval) {
249
+ for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {
250
+ this.splice(i, 0, insertFrom[n++]);
251
+ }
252
+ return this;
253
+ }
254
+ slice(start, end) {
255
+ return toList(super.slice(start, end));
256
+ }
257
+ none(p) {
258
+ return !this.some(p);
259
+ }
260
+ chunk(chunkSize) {
261
+ return this.reduce((acc, _, index) => index % chunkSize === 0 ? on(acc, (a) => a.push(this.slice(index, index + chunkSize))) : acc, toList());
262
+ }
263
+ //we needed to add U because of a Typescript issue with generics
264
+ update(p, val) {
265
+ return this.map((v, i, a) => p(v, i, a) ? ofGet(val, v, i, a) : v);
266
+ }
267
+ updateFirst(p, val) {
268
+ const index = this.findIndex(p);
269
+ return this.update((t, i) => p(t, i, this) && i == index, val);
270
+ }
271
+ updateFirstById(id, val) {
272
+ return this.updateFirst((i) => asString(i?.id) === asString(id), val);
273
+ }
274
+ updateById(id, val) {
275
+ return this.update((i) => asString(i?.id) === asString(id), val);
276
+ }
277
+ };
278
+ var toList = (...items) => new List().add(...items);
279
+ var isList = (l) => isDefined(l) && isArray(l) && isA(l, "first", "last", "asc", "desc");
280
+ var asList = (c, items = []) => toList(toArray(items).map((i) => new c(i)));
281
+ var maxValue = (l, key) => l.desc(key).first()?.[key];
282
+ var minValue = (l, key) => l.asc(key).first()?.[key];
283
+
284
+ export {
285
+ List,
286
+ toList,
287
+ isList,
288
+ asList,
289
+ maxValue,
290
+ minValue,
291
+ ifTrue,
292
+ ifFalse,
293
+ ifDefined,
294
+ ifNotEmpty,
295
+ ifEither
296
+ };
297
+ //# sourceMappingURL=chunk-HOVTNDHS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/If.ts","../src/types/List.ts"],"sourcesContent":["import { isDefined, isNotEmpty, isPresent, isTrue } from '../types/Is';\nimport { Optional } from '../types/Types';\nimport { Construct, ofConstruct, use } from '../types/Constructor';\nimport { OneOrMore } from '../types/Array';\nimport { toList } from '../types/List';\n\nexport function ifTrue<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifTrue<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifTrue<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out> {\n return isTrue(o) ? ofConstruct(f, o) : ofConstruct(alt, o);\n}\n\nexport function ifFalse<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifFalse<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifFalse<Out, In = unknown>(o: unknown, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out> {\n return !isTrue(o) ? ofConstruct(f, o) : ofConstruct(alt, o);\n}\n\nexport function ifDefined<Out, In = unknown>(o: Optional<In>, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifDefined<Out, In = unknown>(o: Optional<In>, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifDefined<Out, In = unknown>(o: Optional<In>, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out> {\n return isDefined(o) ? ofConstruct(f, o) : ofConstruct(alt);\n}\n\nexport function ifNotEmpty<Out, In = unknown>(o: In, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifNotEmpty<Out, In = unknown>(o: In, f?: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifNotEmpty<Out, In = unknown>(o: In, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifNotEmpty<Out, In = unknown>(o: In, f: Construct<Out, NonNullable<In>> = o => o as Out, alt?: Construct<Out>): Optional<Out> {\n return isNotEmpty(o) ? ofConstruct(f, o) : ofConstruct(alt, o);\n}\n\nexport function ifEither<Out, In = unknown>(os: OneOrMore<In>, f: Construct<Out, NonNullable<In>>, alt: Construct<Out>): Out;\nexport function ifEither<Out, In = unknown>(os: OneOrMore<In>, f?: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifEither<Out, In = unknown>(os: OneOrMore<In>, f: Construct<Out, NonNullable<In>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifEither<Out, In = unknown>(os: OneOrMore<In>, f: Construct<Out, NonNullable<In>> = o => o as Out, alt?: Construct<Out>): Optional<Out> {\n return use(\n toList(os).first(o => isPresent(o)),\n o => (isDefined(o) ? ofConstruct(f, o) : ofConstruct(alt, o))\n );\n}\n","import { ArrayLike, toArray } from './Array';\nimport { Constructor, on, use } from './Constructor';\nimport type { Json } from './Json';\nimport { isArray, isDefined, isEmpty } from './Is';\nimport { isA } from './IsA';\nimport { Get, GetProperty, ofGet, ofProperty } from './Get';\nimport type { Id } from './Id';\nimport { asString } from './Text';\nimport { Optional } from './Types';\nimport { ifDefined, ifTrue } from '../utils/If';\nimport { AnyKey } from './AnyKey';\nimport { traverse } from '../utils/Traverse';\nimport { Indexed } from './Indexed';\n\ntype Pred<T> = (value: T, index: number, obj: T[]) => unknown;\n\nexport class List<T = unknown> extends Array<T> {\n get ids(): List<Id> {\n return this.mapDefined(i => (i as any).id as Id);\n }\n\n get indexed(): List<Indexed<T>> {\n return this.map((v, index) => ({ ...v, index }));\n }\n\n isSubSetOf(...items: ArrayLike<T>): boolean {\n return this.diff(items).length === 0;\n }\n\n isSuperSetOf(...items: ArrayLike<T>): boolean {\n return this.length > items.length && toList(...items).isSubSetOf(...this);\n }\n\n isIntersectingWith(...items: ArrayLike<T>): boolean {\n return this.intersect(items).length > 0;\n }\n\n isDisjointWith(...items: ArrayLike<T>): boolean {\n return !this.isIntersectingWith(...items);\n }\n\n areEqual(...items: ArrayLike<T>): boolean {\n return this.isSubSetOf(...items) && toList(...items).isSubSetOf(...this);\n }\n\n asc(p: GetProperty<T, any>): List<T> {\n return this.sort((e1, e2) => (ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1));\n }\n\n desc(p: GetProperty<T, any>): List<T> {\n return this.sort((e1, e2) => (ofProperty(e1, p) < ofProperty(e2, p) ? 1 : -1));\n }\n\n first(p?: Pred<T>, params?: unknown): T {\n return (p ? this.find(p, params) : this[0]) as T;\n }\n\n firstValue<V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V> {\n return ifDefined(\n this.first(t => !!f(t)),\n f,\n v => ofGet(alt, v)\n );\n }\n\n isFirst(value: T): boolean {\n return value === this.first();\n }\n\n next(p?: Pred<T>, params?: unknown): T {\n return p ? this[this.findIndex(p, params) + 1] : this[0];\n }\n\n prev(p?: Pred<T>, params?: unknown): T {\n return p ? this[this.findIndex(p, params) - 1] : this[0];\n }\n\n last(p?: Pred<T>, params?: unknown): T {\n return p ? this.filter(p, params).last() : this[this.length - 1];\n }\n\n isLast(value: T): boolean {\n return value === this.last();\n }\n\n overlaps(...items: ArrayLike<T>): boolean {\n return toList<T>(...items).some(i => this.some(t => i === t));\n }\n\n diff(others: ArrayLike<T>): List<T> {\n return this.filter(i => !others.includes(i));\n }\n\n diffByKey<U = T>(others: ArrayLike<U>, key: keyof T & keyof U): List<T> {\n return this.filter((i: any) => !others.some((o: any) => o[key] === i[key]));\n }\n\n symmetricDiff(others: ArrayLike<T>): List<T> {\n return this.diff(others).concat(toList<T>(...others).diff(this));\n }\n\n symmetricDiffByKey(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.diffByKey(others, key).concat(toList<T>(...others).diffByKey(this, key));\n }\n\n intersect(others: ArrayLike<T>): List<T> {\n return this.filter(i => others.includes(i));\n }\n\n intersectByKey<U>(others: ArrayLike<U>, key: keyof T & keyof U): List<T> {\n return this.filter((i: any) => others.some((o: any) => o[key] === i[key]));\n }\n\n intersectBy<U>(others: ArrayLike<U>, f: (value: T, value2: U) => boolean): List<T> {\n return this.filter(i => others.some(o => f(i, o as U)));\n }\n\n accumulate(...keys: (keyof T)[]): List<T> {\n return this.map((d, i, arr) => {\n const acc = keys.reduce((acc, v) => {\n (acc as any)[v] = i === 0 ? d[v] : (arr[i - 1][v] as number) + (d[v] as number);\n return acc;\n }, d);\n arr[i] = acc;\n return acc;\n });\n }\n\n toJSON(): Json[] {\n return this.reduce((a, i) => {\n a.push(JSON.parse(JSON.stringify(i ?? {})));\n return a;\n }, new Array<Json>());\n }\n\n map<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<U> {\n return toList<U>(super.map(f, params));\n }\n\n flatMap<U, This = unknown>(f: (this: This, value: T, index: number, array: T[]) => ReadonlyArray<U> | U, params?: This): List<U> {\n return toList<U>(super.flatMap(f, params));\n }\n\n mapDefined<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<NonNullable<U>> {\n return this.map(f, params).defined();\n }\n\n mapAsync(f: (i: T) => Promise<T>): Promise<List<T>> {\n return Promise.all(super.map(e => f(e))).then(a => toList<T>(a));\n }\n\n mapSerial<U>(f: (i: T) => Promise<U>): Promise<List<U>> {\n return super.reduce((p, item) => p.then(results => on(results, async r => r.push(await f(item)))), Promise.resolve(toList<U>()));\n }\n\n distinct(): List<T> {\n return this.filter((i, index) => this.indexOf(i) === index);\n }\n\n distinctByKey(key: keyof T): List<T> {\n const seen = new Set<T[keyof T]>();\n return this.filter(item => !seen.has(item[key]) && seen.add(item[key]));\n }\n\n distinctByValue(): List<T> {\n const seen = new Set<string>();\n return this.filter(item => !seen.has(JSON.stringify(item)) && seen.add(JSON.stringify(item)));\n }\n\n filter(p: Pred<T>, params?: unknown): List<T> {\n return toList<T>(super.filter(p, params));\n }\n\n sum(p: (t: T) => number): number {\n return this.reduce((sum: number, i) => sum + p(i), 0);\n }\n\n max(p: (value: T) => any): T;\n\n max(key: keyof T): T;\n\n max(p: keyof T | ((value: T) => any)): T {\n return typeof p === 'function' ? this.sort((e1, e2) => (p(e1) < p(e2) ? 1 : -1)).first() : this.desc(p).first();\n }\n\n min(key: keyof T): T;\n\n min(p: (value: T) => any): T;\n\n min(p: keyof T | ((value: T) => any)): T {\n return typeof p === 'function' ? this.sort((e1, e2) => (p(e1) > p(e2) ? 1 : -1)).first() : this.asc(p).first();\n }\n\n byId(id: Id): T {\n return this.first(i => asString((i as any).id) === asString(id));\n }\n\n byKey(key: keyof T, value: unknown): T {\n return this.first(i => i[key] == value);\n }\n\n add(...items: ArrayLike<T>): this {\n super.push(...toArray(...items));\n return this;\n }\n\n concat(...items: ConcatArray<T>[]): List<T>;\n\n concat(...items: (T | ConcatArray<T>)[]): List<T>;\n\n concat(...items: (T | ConcatArray<T>)[]): List<T> {\n return toList<T>(super.concat(...items));\n }\n\n reverse(): List<T> {\n return toList<T>(super.reverse());\n }\n\n splice(start: number, deleteCount?: number): List<T>;\n\n splice(start: number, deleteCount: number, ...items: T[]): List<T>;\n\n splice(start: number, deleteCount: number, ...items: T[]): List<T> {\n return toList<T>(super.splice(start, deleteCount, ...items));\n }\n\n remove(item: T): List<T> {\n const index = this.indexOf(item);\n if (index > -1) {\n this.splice(index, 1);\n }\n return this;\n }\n\n replace(key: keyof T, item: T): List<T> {\n const index = this.findIndex(i => i[key] === item?.[key]);\n ifTrue(index != -1, () => this.splice(index, 1, item));\n return this;\n }\n\n switch(item: T): List<T> {\n return this.includes(item) ? this.remove(item) : this.add(item);\n }\n\n switchOn<U = T>(item: U, on: AnyKey<U>): List<T>;\n\n switchOn<T>(item: T, on: Pred<T>): List<T>;\n\n switchOn<U = T>(item: T, on: AnyKey<U> | Pred<T>): List<T> {\n return use(typeof on === 'function' ? this.find(on) : use(traverse(item, on), v => this.find(i => traverse(i, on) === v)), i =>\n i ? this.remove(i) : this.add(item)\n );\n }\n\n defined(): List<NonNullable<T>> {\n return this.reduce((l, v) => (isDefined(v) ? l.add(v) : l), toList<NonNullable<T>>());\n }\n\n toObject(key: keyof T, options: { deleteKey?: boolean } = {}): Record<string | number | symbol, T> {\n return this.reduce((o: any, i) => {\n o[i[key]] = i;\n if (options.deleteKey) delete o[i[key]][key];\n return o;\n }, {});\n }\n\n toObjectList(key: keyof T): Record<string | number | symbol, List<T>> {\n return this.reduce(\n (a, t) => {\n const k = t[key] as unknown as string | number | symbol;\n a[k] = a[k] ?? toList();\n a[k].push(t);\n return a;\n },\n {} as Record<string | number | symbol, List<T>>\n );\n }\n\n orElse(...alt: ArrayLike<T>): Optional<List<T>> {\n return !isEmpty(this) ? this : !isEmpty(...alt) ? toList<T>(...alt) : undefined;\n }\n\n weave(insertFrom: T[], interval: number): this {\n for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {\n this.splice(i, 0, insertFrom[n++]);\n }\n return this;\n }\n\n slice(start?: number, end?: number): List<T> {\n return toList(super.slice(start, end));\n }\n\n none(p: (t: T) => boolean): boolean {\n return !this.some(p);\n }\n\n chunk(chunkSize: number): List<List<T>> {\n return this.reduce((acc, _, index) => (index % chunkSize === 0 ? on(acc, a => a.push(this.slice(index, index + chunkSize))) : acc), toList<List<T>>());\n }\n\n //we needed to add U because of a Typescript issue with generics\n update<U = T>(p: Pred<T>, val: T | ((v: U) => T)): List<T> {\n return this.map((v, i, a) => (p(v, i, a) ? ofGet<T>(val, v, i, a) : v));\n }\n\n updateFirst<U = T>(p: Pred<T>, val: T | ((v: U) => T)) {\n const index = this.findIndex(p);\n return this.update((t, i) => p(t, i, this) && i == index, val);\n }\n\n updateFirstById<U = T>(id: Id, val: T | ((v: U) => T)) {\n return this.updateFirst(i => asString((i as any)?.id) === asString(id), val);\n }\n\n updateById<U = T>(id: Id, val: T | ((v: U) => T)) {\n return this.update(i => asString((i as any)?.id) === asString(id), val);\n }\n}\n\nexport const toList = <T = unknown>(...items: ArrayLike<T>): List<T> => new List<T>().add(...items);\n\nexport const isList = <T>(l?: unknown): l is List<T> => isDefined(l) && isArray(l) && isA<List<T>>(l, 'first', 'last', 'asc', 'desc');\n\nexport const asList = <T>(c: Constructor<T>, items: unknown = []): List<T> => toList<T>(toArray(items).map(i => new c(i)));\n\nexport const maxValue = <T>(l: List<T>, key: keyof T): T[keyof T] | undefined => l.desc(key).first()?.[key];\n\nexport const minValue = <T>(l: List<T>, key: keyof T): T[keyof T] | undefined => l.asc(key).first()?.[key];\n"],"mappings":"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","names":["o","acc","on"]}
@@ -0,0 +1,20 @@
1
+ import {
2
+ tryTo
3
+ } from "./chunk-LGLRWA42.mjs";
4
+ import {
5
+ asString
6
+ } from "./chunk-BDA5LB4S.mjs";
7
+ import {
8
+ ofGet
9
+ } from "./chunk-SJGQU3OG.mjs";
10
+ import {
11
+ isNumber
12
+ } from "./chunk-DEJ7A5PY.mjs";
13
+
14
+ // src/types/Number.ts
15
+ var asNumber = (n, alt) => tryTo(() => asString(n)).map((s) => parseInt(s)).filter((n2) => isNumber(n2)).or(ofGet(alt) ?? NaN);
16
+
17
+ export {
18
+ asNumber
19
+ };
20
+ //# sourceMappingURL=chunk-HPM4L4MH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Number.ts"],"sourcesContent":["import { Get, ofGet } from './Get';\nimport { tryTo } from './Try';\nimport { isNumber } from './Is';\nimport { asString } from './Text';\n\nexport const asNumber = (n: unknown, alt?: Get<number>): number =>\n tryTo(() => asString(n))\n .map(s => parseInt(s))\n .filter(n => isNumber(n))\n .or(ofGet(alt) ?? NaN);\n"],"mappings":";;;;;;;;;;;;;;AAKO,IAAM,WAAW,CAAC,GAAY,QACnC,MAAM,MAAM,SAAS,CAAC,CAAC,EACpB,IAAI,OAAK,SAAS,CAAC,CAAC,EACpB,OAAO,CAAAA,OAAK,SAASA,EAAC,CAAC,EACvB,GAAG,MAAM,GAAG,KAAK,GAAG;","names":["n"]}
@@ -0,0 +1,53 @@
1
+ import {
2
+ convert
3
+ } from "./chunk-MDXL65W4.mjs";
4
+ import {
5
+ json
6
+ } from "./chunk-LKTTPV6U.mjs";
7
+ import {
8
+ isDefined
9
+ } from "./chunk-DEJ7A5PY.mjs";
10
+
11
+ // src/data/Condition.ts
12
+ var Condition = class {
13
+ constructor(key, operator, value) {
14
+ this.key = key;
15
+ this.operator = operator;
16
+ this.value = value;
17
+ }
18
+ and = (...others) => new LogicalCondition("and", [this, ...others]);
19
+ or = (...others) => new LogicalCondition("or", [this, ...others]);
20
+ toJSON() {
21
+ return { [this.key]: { [`$${this.operator}`]: json.parse(this.value) } };
22
+ }
23
+ };
24
+ var LogicalCondition = class {
25
+ constructor(operator, conditions) {
26
+ this.operator = operator;
27
+ this.conditions = conditions;
28
+ }
29
+ toJSON() {
30
+ return { [`$${this.operator}`]: this.conditions.map((c) => c.toJSON()) };
31
+ }
32
+ };
33
+ var SortCondition = class extends Condition {
34
+ constructor(key, value) {
35
+ super(key, "", value);
36
+ this.key = key;
37
+ this.value = value;
38
+ }
39
+ toJSON() {
40
+ return { [this.key]: this.value };
41
+ }
42
+ };
43
+ var toCondition = (field, operator, value, conv = convert.default) => new Condition(field, operator, conv.from(value));
44
+ var isSortCondition = (s) => isDefined(s) && s instanceof SortCondition;
45
+
46
+ export {
47
+ Condition,
48
+ LogicalCondition,
49
+ SortCondition,
50
+ toCondition,
51
+ isSortCondition
52
+ };
53
+ //# sourceMappingURL=chunk-HSOXY623.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/data/Condition.ts"],"sourcesContent":["import { json, Json, JsonValue } from '../types/Json';\nimport { Sort } from '../types/Sort';\nimport { convert, Convert } from '../utils/Convert';\nimport { isDefined } from '../types/Is';\n\nexport class Condition {\n constructor(\n readonly key: string,\n readonly operator: string,\n readonly value: unknown\n ) {}\n\n and = (...others: Condition[]): LogicalCondition => new LogicalCondition('and', [this, ...others]);\n or = (...others: Condition[]): LogicalCondition => new LogicalCondition('or', [this, ...others]);\n\n toJSON(): Json {\n return { [this.key]: { [`$${this.operator}`]: json.parse(this.value) } };\n }\n}\n\nexport class LogicalCondition {\n constructor(\n readonly operator: string,\n readonly conditions: Condition[]\n ) {}\n\n toJSON(): Json {\n return { [`$${this.operator}`]: this.conditions.map(c => c.toJSON()) };\n }\n}\n\nexport class SortCondition extends Condition implements Sort {\n constructor(\n readonly key: string,\n readonly value: -1 | 1\n ) {\n super(key, '', value);\n }\n\n toJSON(): Json {\n return { [this.key]: this.value };\n }\n}\n\nexport const toCondition = (field: string, operator: string, value: unknown, conv: Convert = convert.default): Condition =>\n new Condition(field, operator, conv.from(value) as JsonValue);\n\nexport const isSortCondition = (s?: unknown): s is SortCondition => isDefined(s) && s instanceof SortCondition;\n"],"mappings":";;;;;;;;;;;AAKO,IAAM,YAAN,MAAgB;AAAA,EACrB,YACW,KACA,UACA,OACT;AAHS;AACA;AACA;AAAA,EACR;AAAA,EAEH,MAAM,IAAI,WAA0C,IAAI,iBAAiB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AAAA,EACjG,KAAK,IAAI,WAA0C,IAAI,iBAAiB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;AAAA,EAE/F,SAAe;AACb,WAAO,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,GAAG,KAAK,MAAM,KAAK,KAAK,EAAE,EAAE;AAAA,EACzE;AACF;AAEO,IAAM,mBAAN,MAAuB;AAAA,EAC5B,YACW,UACA,YACT;AAFS;AACA;AAAA,EACR;AAAA,EAEH,SAAe;AACb,WAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,GAAG,KAAK,WAAW,IAAI,OAAK,EAAE,OAAO,CAAC,EAAE;AAAA,EACvE;AACF;AAEO,IAAM,gBAAN,cAA4B,UAA0B;AAAA,EAC3D,YACW,KACA,OACT;AACA,UAAM,KAAK,IAAI,KAAK;AAHX;AACA;AAAA,EAGX;AAAA,EAEA,SAAe;AACb,WAAO,EAAE,CAAC,KAAK,GAAG,GAAG,KAAK,MAAM;AAAA,EAClC;AACF;AAEO,IAAM,cAAc,CAAC,OAAe,UAAkB,OAAgB,OAAgB,QAAQ,YACnG,IAAI,UAAU,OAAO,UAAU,KAAK,KAAK,KAAK,CAAc;AAEvD,IAAM,kBAAkB,CAAC,MAAoC,UAAU,CAAC,KAAK,aAAa;","names":[]}
@@ -0,0 +1,31 @@
1
+ import {
2
+ Enum
3
+ } from "./chunk-UXADDXCJ.mjs";
4
+ import {
5
+ asString
6
+ } from "./chunk-BDA5LB4S.mjs";
7
+ import {
8
+ ofGet
9
+ } from "./chunk-SJGQU3OG.mjs";
10
+
11
+ // src/http/ContentType.ts
12
+ import formUrlEncoded from "form-urlencoded";
13
+ var ContentType = class _ContentType extends Enum {
14
+ constructor(name, type, encoder = (b) => asString(b)) {
15
+ super(name, type);
16
+ this.type = type;
17
+ this.encoder = encoder;
18
+ }
19
+ static Form = new _ContentType("form", "application/x-www-form-urlencoded", (b) => formUrlEncoded(b));
20
+ static Json = new _ContentType("json", "application/json", (b) => b);
21
+ static RawJson = new _ContentType("rawJson", "application/json", (b) => b);
22
+ static Stream = new _ContentType("stream", "application/octet-stream");
23
+ static Text = new _ContentType("text", "text/plain");
24
+ static Xml = new _ContentType("xml", "application/xml");
25
+ encode = (body) => ofGet(this.encoder, body);
26
+ };
27
+
28
+ export {
29
+ ContentType
30
+ };
31
+ //# sourceMappingURL=chunk-IH4VU7UP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/http/ContentType.ts"],"sourcesContent":["import formUrlEncoded from 'form-urlencoded';\nimport { Enum } from '../types/Enum';\nimport { Get, ofGet } from '../types/Get';\nimport { asString } from '../types/Text';\n\nexport class ContentType extends Enum {\n static Form = new ContentType('form', 'application/x-www-form-urlencoded', b => formUrlEncoded(b));\n static Json = new ContentType('json', 'application/json', b => b);\n static RawJson = new ContentType('rawJson', 'application/json', b => b);\n static Stream = new ContentType('stream', 'application/octet-stream');\n static Text = new ContentType('text', 'text/plain');\n static Xml = new ContentType('xml', 'application/xml');\n\n private constructor(\n name: string,\n readonly type: string,\n protected readonly encoder: Get<string> = b => asString(b)\n ) {\n super(name, type);\n }\n\n encode = (body?: unknown): string => ofGet(this.encoder, body);\n}\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,oBAAoB;AAKpB,IAAM,cAAN,MAAM,qBAAoB,KAAK;AAAA,EAQ5B,YACN,MACS,MACU,UAAuB,OAAK,SAAS,CAAC,GACzD;AACA,UAAM,MAAM,IAAI;AAHP;AACU;AAAA,EAGrB;AAAA,EAbA,OAAO,OAAO,IAAI,aAAY,QAAQ,qCAAqC,OAAK,eAAe,CAAC,CAAC;AAAA,EACjG,OAAO,OAAO,IAAI,aAAY,QAAQ,oBAAoB,OAAK,CAAC;AAAA,EAChE,OAAO,UAAU,IAAI,aAAY,WAAW,oBAAoB,OAAK,CAAC;AAAA,EACtE,OAAO,SAAS,IAAI,aAAY,UAAU,0BAA0B;AAAA,EACpE,OAAO,OAAO,IAAI,aAAY,QAAQ,YAAY;AAAA,EAClD,OAAO,MAAM,IAAI,aAAY,OAAO,iBAAiB;AAAA,EAUrD,SAAS,CAAC,SAA2B,MAAM,KAAK,SAAS,IAAI;AAC/D;","names":[]}
@@ -0,0 +1,51 @@
1
+ import {
2
+ reject
3
+ } from "./chunk-LUHR6633.mjs";
4
+ import {
5
+ Exception
6
+ } from "./chunk-DEFTEK45.mjs";
7
+
8
+ // src/types/Repository.ts
9
+ var Repository = class {
10
+ all(options) {
11
+ return reject(Exception.IsNotImplemented);
12
+ }
13
+ byId(id) {
14
+ return reject(Exception.IsNotImplemented);
15
+ }
16
+ byIds(...ids) {
17
+ return reject(Exception.IsNotImplemented);
18
+ }
19
+ byKey(key, options) {
20
+ return reject(Exception.IsNotImplemented);
21
+ }
22
+ by(key, value, options) {
23
+ return reject(Exception.IsNotImplemented);
24
+ }
25
+ search(q, options) {
26
+ return reject(Exception.IsNotImplemented);
27
+ }
28
+ filter(options) {
29
+ return reject(Exception.IsNotImplemented);
30
+ }
31
+ exists(id) {
32
+ return reject(Exception.IsNotImplemented);
33
+ }
34
+ add(t) {
35
+ return reject(Exception.IsNotImplemented);
36
+ }
37
+ update(id, json) {
38
+ return reject(Exception.IsNotImplemented);
39
+ }
40
+ remove(id) {
41
+ return reject(Exception.IsNotImplemented);
42
+ }
43
+ upsert(id, item) {
44
+ return reject(Exception.IsNotImplemented);
45
+ }
46
+ };
47
+
48
+ export {
49
+ Repository
50
+ };
51
+ //# sourceMappingURL=chunk-JPWRHLXY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Repository.ts"],"sourcesContent":["import { FetchOptions } from './Gateway';\nimport { PageList } from './PageList';\nimport { Exception } from './Exception';\nimport { reject } from '../utils/Promise';\nimport { Id, Key } from './Id';\nimport { List } from './List';\nimport { Json, JsonValue } from './Json';\n\nexport class Repository<T, Options = FetchOptions> {\n all(options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n byId(id: Id): Promise<T> {\n return reject(Exception.IsNotImplemented);\n }\n\n byIds(...ids: Id[]): Promise<List<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n byKey(key: Key, options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n by(key: keyof T, value: JsonValue, options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n filter(options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n exists(id: Id): Promise<boolean> {\n return reject(Exception.IsNotImplemented);\n }\n\n add(t: Partial<T> | Json): Promise<T> {\n return reject(Exception.IsNotImplemented);\n }\n\n update(id: Id, json: Partial<T> | Json): Promise<T> {\n return reject(Exception.IsNotImplemented);\n }\n\n remove(id: Id): Promise<boolean> {\n return reject(Exception.IsNotImplemented);\n }\n\n upsert(id: Id, item: Partial<T> | Json): Promise<T> {\n return reject(Exception.IsNotImplemented);\n }\n}\n"],"mappings":";;;;;;;;AAQO,IAAM,aAAN,MAA4C;AAAA,EACjD,IAAI,SAAyC;AAC3C,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,KAAK,IAAoB;AACvB,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,SAAS,KAA6B;AACpC,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,MAAM,KAAU,SAAyC;AACvD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,GAAG,KAAc,OAAkB,SAAyC;AAC1E,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,GAAc,SAAyC;AAC5D,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,SAAyC;AAC9C,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,IAAI,GAAkC;AACpC,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAAQ,MAAqC;AAClD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAAQ,MAAqC;AAClD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AACF;","names":[]}
@@ -0,0 +1,46 @@
1
+ import {
2
+ Api
3
+ } from "./chunk-GZIULZH2.mjs";
4
+ import {
5
+ Gateway
6
+ } from "./chunk-TNZJKUDY.mjs";
7
+ import {
8
+ toPageList
9
+ } from "./chunk-RHOK5QZR.mjs";
10
+ import {
11
+ use
12
+ } from "./chunk-ZPNFXK7Y.mjs";
13
+
14
+ // src/services/ApiGateway.ts
15
+ var ApiGateway = class extends Gateway {
16
+ constructor(api = new Api()) {
17
+ super();
18
+ this.api = api;
19
+ }
20
+ get(uri, options) {
21
+ return this.api.get(uri, options).then((r) => use(r.body.data, (d) => toPageList(d?.items, { total: d?.totalItems, ...d?.meta })));
22
+ }
23
+ getOne(uri, options) {
24
+ return this.get(uri, options).then((r) => r.first());
25
+ }
26
+ post(uri, item, options) {
27
+ return this.api.post(uri, item, options).then((r) => r.body.data?.items.first() ?? {});
28
+ }
29
+ postSearch(uri, options) {
30
+ return this.api.post(uri, options).then((r) => use(r.body.data, (d) => toPageList(d?.items, { total: d?.totalItems, ...d?.meta })));
31
+ }
32
+ patch(uri, item, options) {
33
+ return this.api.patch(uri, item, options).then((r) => r.body.data?.items.first() ?? {});
34
+ }
35
+ put(uri, item, options) {
36
+ return this.api.put(uri, item, options).then((r) => r.body.data?.items.first() ?? {});
37
+ }
38
+ delete(uri, options) {
39
+ return this.api.delete(uri, options).then(() => true);
40
+ }
41
+ };
42
+
43
+ export {
44
+ ApiGateway
45
+ };
46
+ //# sourceMappingURL=chunk-L5KXXMUH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/services/ApiGateway.ts"],"sourcesContent":["import { Api, RouteOptions } from './Api';\nimport { FetchOptions, Gateway } from '../types/Gateway';\nimport { Uri } from '../types/Uri';\nimport { PageList, toPageList } from '../types/PageList';\nimport { Json } from '../types/Json';\nimport { use } from '../types/Constructor';\nimport { Optional } from '../types/Types';\nimport { RequestOptions } from '../http/RequestOptions';\n\nexport class ApiGateway extends Gateway<RouteOptions> {\n constructor(readonly api: Api = new Api()) {\n super();\n }\n\n get(uri: Uri, options?: RouteOptions): Promise<PageList<Json>> {\n return this.api.get(uri, options).then(r => use(r.body.data, d => toPageList(d?.items, { total: d?.totalItems, ...d?.meta })));\n }\n\n getOne(uri: Uri, options?: RouteOptions): Promise<Optional<Json>> {\n return this.get(uri, options).then(r => r.first());\n }\n\n post(uri: Uri, item?: Json, options?: RouteOptions): Promise<Json> {\n return this.api.post(uri, item, options).then(r => r.body.data?.items.first() ?? {});\n }\n\n postSearch(uri: Uri, options?: RequestOptions | FetchOptions): Promise<PageList<Json>> {\n return this.api.post(uri, options).then(r => use(r.body.data, d => toPageList(d?.items, { total: d?.totalItems, ...d?.meta })));\n }\n\n patch(uri: Uri, item?: Json, options?: RouteOptions): Promise<Json> {\n return this.api.patch(uri, item, options).then(r => r.body.data?.items.first() ?? {});\n }\n\n put(uri: Uri, item?: Json, options?: RouteOptions): Promise<Json> {\n return this.api.put(uri, item, options).then(r => r.body.data?.items.first() ?? {});\n }\n\n delete(uri: Uri, options?: RouteOptions): Promise<boolean> {\n return this.api.delete(uri, options).then(() => true);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AASO,IAAM,aAAN,cAAyB,QAAsB;AAAA,EACpD,YAAqB,MAAW,IAAI,IAAI,GAAG;AACzC,UAAM;AADa;AAAA,EAErB;AAAA,EAEA,IAAI,KAAU,SAAiD;AAC7D,WAAO,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE,KAAK,OAAK,IAAI,EAAE,KAAK,MAAM,OAAK,WAAW,GAAG,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAAA,EAC/H;AAAA,EAEA,OAAO,KAAU,SAAiD;AAChE,WAAO,KAAK,IAAI,KAAK,OAAO,EAAE,KAAK,OAAK,EAAE,MAAM,CAAC;AAAA,EACnD;AAAA,EAEA,KAAK,KAAU,MAAa,SAAuC;AACjE,WAAO,KAAK,IAAI,KAAK,KAAK,MAAM,OAAO,EAAE,KAAK,OAAK,EAAE,KAAK,MAAM,MAAM,MAAM,KAAK,CAAC,CAAC;AAAA,EACrF;AAAA,EAEA,WAAW,KAAU,SAAkE;AACrF,WAAO,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,KAAK,OAAK,IAAI,EAAE,KAAK,MAAM,OAAK,WAAW,GAAG,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAAA,EAChI;AAAA,EAEA,MAAM,KAAU,MAAa,SAAuC;AAClE,WAAO,KAAK,IAAI,MAAM,KAAK,MAAM,OAAO,EAAE,KAAK,OAAK,EAAE,KAAK,MAAM,MAAM,MAAM,KAAK,CAAC,CAAC;AAAA,EACtF;AAAA,EAEA,IAAI,KAAU,MAAa,SAAuC;AAChE,WAAO,KAAK,IAAI,IAAI,KAAK,MAAM,OAAO,EAAE,KAAK,OAAK,EAAE,KAAK,MAAM,MAAM,MAAM,KAAK,CAAC,CAAC;AAAA,EACpF;AAAA,EAEA,OAAO,KAAU,SAA0C;AACzD,WAAO,KAAK,IAAI,OAAO,KAAK,OAAO,EAAE,KAAK,MAAM,IAAI;AAAA,EACtD;AACF;","names":[]}
@@ -0,0 +1,90 @@
1
+ import {
2
+ HttpHeader
3
+ } from "./chunk-SW2OCUH3.mjs";
4
+ import {
5
+ toUuid
6
+ } from "./chunk-SJ4YFZKO.mjs";
7
+ import {
8
+ ContentType
9
+ } from "./chunk-IH4VU7UP.mjs";
10
+ import {
11
+ ctx
12
+ } from "./chunk-PR6DFFCE.mjs";
13
+ import {
14
+ Enum
15
+ } from "./chunk-UXADDXCJ.mjs";
16
+ import {
17
+ asString
18
+ } from "./chunk-BDA5LB4S.mjs";
19
+ import {
20
+ on
21
+ } from "./chunk-ZPNFXK7Y.mjs";
22
+ import {
23
+ isDefined,
24
+ isNotEmpty
25
+ } from "./chunk-DEJ7A5PY.mjs";
26
+
27
+ // src/http/RequestOptions.ts
28
+ var toPageOptions = (options) => options instanceof RequestOptions ? options.pageOptions : options;
29
+ var RequestOptions = class _RequestOptions extends Enum {
30
+ constructor(type = ContentType.Json, headers = {}, pageOptions) {
31
+ super(type.name);
32
+ this.type = type;
33
+ this.headers = headers;
34
+ this.pageOptions = pageOptions;
35
+ this.headers["Content-Type"] = type.id;
36
+ this.headers[HttpHeader.Correlation] = ctx.request.correlationId ?? toUuid();
37
+ }
38
+ requestOptions = {};
39
+ static get Form() {
40
+ return new _RequestOptions(ContentType.Form);
41
+ }
42
+ static get Json() {
43
+ return new _RequestOptions(ContentType.Json);
44
+ }
45
+ static get Stream() {
46
+ return new _RequestOptions(ContentType.Stream);
47
+ }
48
+ static get Text() {
49
+ return new _RequestOptions(ContentType.Text);
50
+ }
51
+ static get Xml() {
52
+ return new _RequestOptions(ContentType.Xml);
53
+ }
54
+ page = (options) => {
55
+ this.pageOptions = options;
56
+ return this;
57
+ };
58
+ authorization = (auth) => this.setHeader("Authorization", auth);
59
+ apiKey = (apiKey) => this.setHeader("apiKey", apiKey);
60
+ setHeader = (key, value) => on(this, (t) => t.headers[asString(key)] = value);
61
+ setHeaderUnlessPresent = (key, value) => value ? this.setHeader(key, this.headers[key] ?? value) : this;
62
+ accept = (type) => this.setHeader("Accept", type.id);
63
+ bearer = (jwt) => {
64
+ return isNotEmpty(jwt) ? this.authorization(`Bearer ${jwt}`) : this;
65
+ };
66
+ basic = (username, password) => {
67
+ const basicAuth = Buffer.from(`${username}:${password}`, "utf8").toString("base64");
68
+ return this.authorization(`Basic ${basicAuth}`);
69
+ };
70
+ maxRedirects = (max) => {
71
+ this.requestOptions.maxRedirects = max;
72
+ return this;
73
+ };
74
+ validateStatus = (validate) => {
75
+ this.requestOptions.validateStatus = validate;
76
+ return this;
77
+ };
78
+ timeout = (t) => {
79
+ this.requestOptions.timeout = t;
80
+ return this;
81
+ };
82
+ };
83
+ var isRequestOptions = (o) => isDefined(o) && o instanceof RequestOptions;
84
+
85
+ export {
86
+ toPageOptions,
87
+ RequestOptions,
88
+ isRequestOptions
89
+ };
90
+ //# sourceMappingURL=chunk-L5ZI7SPN.mjs.map