@thisisagile/easy 17.25.1 → 17.25.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/index.mjs +3476 -115
  2. package/dist/index.mjs.map +1 -1
  3. package/package.json +12 -4
  4. package/dist/chunk-2AB6ZQHC.mjs +0 -26
  5. package/dist/chunk-2AB6ZQHC.mjs.map +0 -1
  6. package/dist/chunk-4DJUHTQO.mjs +0 -55
  7. package/dist/chunk-4DJUHTQO.mjs.map +0 -1
  8. package/dist/chunk-4HWEQEHM.mjs +0 -20
  9. package/dist/chunk-4HWEQEHM.mjs.map +0 -1
  10. package/dist/chunk-4N72FQFX.mjs +0 -16
  11. package/dist/chunk-4N72FQFX.mjs.map +0 -1
  12. package/dist/chunk-4SWYJEN5.mjs +0 -82
  13. package/dist/chunk-4SWYJEN5.mjs.map +0 -1
  14. package/dist/chunk-4VZHB642.mjs +0 -37
  15. package/dist/chunk-4VZHB642.mjs.map +0 -1
  16. package/dist/chunk-ADJAEGCT.mjs +0 -21
  17. package/dist/chunk-ADJAEGCT.mjs.map +0 -1
  18. package/dist/chunk-AGTB4HMP.mjs +0 -11
  19. package/dist/chunk-AGTB4HMP.mjs.map +0 -1
  20. package/dist/chunk-BDA5LB4S.mjs +0 -29
  21. package/dist/chunk-BDA5LB4S.mjs.map +0 -1
  22. package/dist/chunk-BZOYP6X7.mjs +0 -134
  23. package/dist/chunk-BZOYP6X7.mjs.map +0 -1
  24. package/dist/chunk-CO2AFYVD.mjs +0 -43
  25. package/dist/chunk-CO2AFYVD.mjs.map +0 -1
  26. package/dist/chunk-D7UFAVDX.mjs +0 -54
  27. package/dist/chunk-D7UFAVDX.mjs.map +0 -1
  28. package/dist/chunk-DEFTEK45.mjs +0 -40
  29. package/dist/chunk-DEFTEK45.mjs.map +0 -1
  30. package/dist/chunk-DEJ7A5PY.mjs +0 -43
  31. package/dist/chunk-DEJ7A5PY.mjs.map +0 -1
  32. package/dist/chunk-DLA22ZCC.mjs +0 -20
  33. package/dist/chunk-DLA22ZCC.mjs.map +0 -1
  34. package/dist/chunk-DXQSIBC7.mjs +0 -13
  35. package/dist/chunk-DXQSIBC7.mjs.map +0 -1
  36. package/dist/chunk-ELDS3NWV.mjs +0 -23
  37. package/dist/chunk-ELDS3NWV.mjs.map +0 -1
  38. package/dist/chunk-ELUKCMQZ.mjs +0 -50
  39. package/dist/chunk-ELUKCMQZ.mjs.map +0 -1
  40. package/dist/chunk-FN7HN3YK.mjs +0 -58
  41. package/dist/chunk-FN7HN3YK.mjs.map +0 -1
  42. package/dist/chunk-GCY5A63A.mjs +0 -25
  43. package/dist/chunk-GCY5A63A.mjs.map +0 -1
  44. package/dist/chunk-GO66AIDJ.mjs +0 -76
  45. package/dist/chunk-GO66AIDJ.mjs.map +0 -1
  46. package/dist/chunk-GVTADDU5.mjs +0 -39
  47. package/dist/chunk-GVTADDU5.mjs.map +0 -1
  48. package/dist/chunk-GZIULZH2.mjs +0 -79
  49. package/dist/chunk-GZIULZH2.mjs.map +0 -1
  50. package/dist/chunk-HOVTNDHS.mjs +0 -297
  51. package/dist/chunk-HOVTNDHS.mjs.map +0 -1
  52. package/dist/chunk-HPM4L4MH.mjs +0 -20
  53. package/dist/chunk-HPM4L4MH.mjs.map +0 -1
  54. package/dist/chunk-HSOXY623.mjs +0 -53
  55. package/dist/chunk-HSOXY623.mjs.map +0 -1
  56. package/dist/chunk-IH4VU7UP.mjs +0 -31
  57. package/dist/chunk-IH4VU7UP.mjs.map +0 -1
  58. package/dist/chunk-JPWRHLXY.mjs +0 -51
  59. package/dist/chunk-JPWRHLXY.mjs.map +0 -1
  60. package/dist/chunk-L5KXXMUH.mjs +0 -46
  61. package/dist/chunk-L5KXXMUH.mjs.map +0 -1
  62. package/dist/chunk-L5ZI7SPN.mjs +0 -90
  63. package/dist/chunk-L5ZI7SPN.mjs.map +0 -1
  64. package/dist/chunk-LGLRWA42.mjs +0 -324
  65. package/dist/chunk-LGLRWA42.mjs.map +0 -1
  66. package/dist/chunk-LKTTPV6U.mjs +0 -70
  67. package/dist/chunk-LKTTPV6U.mjs.map +0 -1
  68. package/dist/chunk-LONFFS5R.mjs +0 -107
  69. package/dist/chunk-LONFFS5R.mjs.map +0 -1
  70. package/dist/chunk-LUHR6633.mjs +0 -54
  71. package/dist/chunk-LUHR6633.mjs.map +0 -1
  72. package/dist/chunk-MDXL65W4.mjs +0 -49
  73. package/dist/chunk-MDXL65W4.mjs.map +0 -1
  74. package/dist/chunk-N22QIDIK.mjs +0 -25
  75. package/dist/chunk-N22QIDIK.mjs.map +0 -1
  76. package/dist/chunk-NBYO2U6Q.mjs +0 -48
  77. package/dist/chunk-NBYO2U6Q.mjs.map +0 -1
  78. package/dist/chunk-NPCTXURR.mjs +0 -23
  79. package/dist/chunk-NPCTXURR.mjs.map +0 -1
  80. package/dist/chunk-OFGI5FLG.mjs +0 -11
  81. package/dist/chunk-OFGI5FLG.mjs.map +0 -1
  82. package/dist/chunk-OGLPG6DF.mjs +0 -18
  83. package/dist/chunk-OGLPG6DF.mjs.map +0 -1
  84. package/dist/chunk-OKPGJD64.mjs +0 -41
  85. package/dist/chunk-OKPGJD64.mjs.map +0 -1
  86. package/dist/chunk-OQNZEKWO.mjs +0 -24
  87. package/dist/chunk-OQNZEKWO.mjs.map +0 -1
  88. package/dist/chunk-OWLQ6U7M.mjs +0 -57
  89. package/dist/chunk-OWLQ6U7M.mjs.map +0 -1
  90. package/dist/chunk-P5MN5NGC.mjs +0 -24
  91. package/dist/chunk-P5MN5NGC.mjs.map +0 -1
  92. package/dist/chunk-PIRWVOO2.mjs +0 -7
  93. package/dist/chunk-PIRWVOO2.mjs.map +0 -1
  94. package/dist/chunk-PR6DFFCE.mjs +0 -94
  95. package/dist/chunk-PR6DFFCE.mjs.map +0 -1
  96. package/dist/chunk-QMASVXTD.mjs +0 -40
  97. package/dist/chunk-QMASVXTD.mjs.map +0 -1
  98. package/dist/chunk-QNNYTOR7.mjs +0 -142
  99. package/dist/chunk-QNNYTOR7.mjs.map +0 -1
  100. package/dist/chunk-RHOK5QZR.mjs +0 -175
  101. package/dist/chunk-RHOK5QZR.mjs.map +0 -1
  102. package/dist/chunk-RS7CT7BU.mjs +0 -20
  103. package/dist/chunk-RS7CT7BU.mjs.map +0 -1
  104. package/dist/chunk-RUFO75IB.mjs +0 -18
  105. package/dist/chunk-RUFO75IB.mjs.map +0 -1
  106. package/dist/chunk-RWGCMC6L.mjs +0 -164
  107. package/dist/chunk-RWGCMC6L.mjs.map +0 -1
  108. package/dist/chunk-SCVGZWV7.mjs +0 -35
  109. package/dist/chunk-SCVGZWV7.mjs.map +0 -1
  110. package/dist/chunk-SJ4YFZKO.mjs +0 -21
  111. package/dist/chunk-SJ4YFZKO.mjs.map +0 -1
  112. package/dist/chunk-SJGQU3OG.mjs +0 -15
  113. package/dist/chunk-SJGQU3OG.mjs.map +0 -1
  114. package/dist/chunk-SSROJBD5.mjs +0 -30
  115. package/dist/chunk-SSROJBD5.mjs.map +0 -1
  116. package/dist/chunk-SW2OCUH3.mjs +0 -10
  117. package/dist/chunk-SW2OCUH3.mjs.map +0 -1
  118. package/dist/chunk-TNZJKUDY.mjs +0 -45
  119. package/dist/chunk-TNZJKUDY.mjs.map +0 -1
  120. package/dist/chunk-UXADDXCJ.mjs +0 -68
  121. package/dist/chunk-UXADDXCJ.mjs.map +0 -1
  122. package/dist/chunk-UYDZZAEK.mjs +0 -11
  123. package/dist/chunk-UYDZZAEK.mjs.map +0 -1
  124. package/dist/chunk-VBZTERRM.mjs +0 -94
  125. package/dist/chunk-VBZTERRM.mjs.map +0 -1
  126. package/dist/chunk-WJZFE5NE.mjs +0 -17
  127. package/dist/chunk-WJZFE5NE.mjs.map +0 -1
  128. package/dist/chunk-WLTLSV2I.mjs +0 -20
  129. package/dist/chunk-WLTLSV2I.mjs.map +0 -1
  130. package/dist/chunk-WOSYMEQL.mjs +0 -60
  131. package/dist/chunk-WOSYMEQL.mjs.map +0 -1
  132. package/dist/chunk-WSBULPUZ.mjs +0 -30
  133. package/dist/chunk-WSBULPUZ.mjs.map +0 -1
  134. package/dist/chunk-WVTNXVBL.mjs +0 -56
  135. package/dist/chunk-WVTNXVBL.mjs.map +0 -1
  136. package/dist/chunk-ZHXKBOK2.mjs +0 -22
  137. package/dist/chunk-ZHXKBOK2.mjs.map +0 -1
  138. package/dist/chunk-ZPNFXK7Y.mjs +0 -36
  139. package/dist/chunk-ZPNFXK7Y.mjs.map +0 -1
  140. package/dist/data/Condition.mjs +0 -29
  141. package/dist/data/Condition.mjs.map +0 -1
  142. package/dist/data/DataProvider.mjs +0 -1
  143. package/dist/data/DataProvider.mjs.map +0 -1
  144. package/dist/data/Database.mjs +0 -23
  145. package/dist/data/Database.mjs.map +0 -1
  146. package/dist/data/Field.mjs +0 -47
  147. package/dist/data/Field.mjs.map +0 -1
  148. package/dist/data/InMemoryGateway.mjs +0 -70
  149. package/dist/data/InMemoryGateway.mjs.map +0 -1
  150. package/dist/data/Query.mjs +0 -1
  151. package/dist/data/Query.mjs.map +0 -1
  152. package/dist/data/QueryProvider.mjs +0 -1
  153. package/dist/data/QueryProvider.mjs.map +0 -1
  154. package/dist/domain/Audit.mjs +0 -36
  155. package/dist/domain/Audit.mjs.map +0 -1
  156. package/dist/domain/Child.mjs +0 -54
  157. package/dist/domain/Child.mjs.map +0 -1
  158. package/dist/domain/DateTime.mjs +0 -36
  159. package/dist/domain/DateTime.mjs.map +0 -1
  160. package/dist/domain/Entity.mjs +0 -71
  161. package/dist/domain/Entity.mjs.map +0 -1
  162. package/dist/domain/Repo.mjs +0 -96
  163. package/dist/domain/Repo.mjs.map +0 -1
  164. package/dist/domain/Struct.mjs +0 -33
  165. package/dist/domain/Struct.mjs.map +0 -1
  166. package/dist/domain/Typo.mjs +0 -114
  167. package/dist/domain/Typo.mjs.map +0 -1
  168. package/dist/http/CacheControl.mjs +0 -66
  169. package/dist/http/CacheControl.mjs.map +0 -1
  170. package/dist/http/ContentType.mjs +0 -21
  171. package/dist/http/ContentType.mjs.map +0 -1
  172. package/dist/http/HttpHeader.mjs +0 -8
  173. package/dist/http/HttpHeader.mjs.map +0 -1
  174. package/dist/http/HttpStatus.mjs +0 -25
  175. package/dist/http/HttpStatus.mjs.map +0 -1
  176. package/dist/http/HttpVerb.mjs +0 -21
  177. package/dist/http/HttpVerb.mjs.map +0 -1
  178. package/dist/http/LocalRequestStore.mjs +0 -29
  179. package/dist/http/LocalRequestStore.mjs.map +0 -1
  180. package/dist/http/Request.mjs +0 -1
  181. package/dist/http/Request.mjs.map +0 -1
  182. package/dist/http/RequestOptions.mjs +0 -30
  183. package/dist/http/RequestOptions.mjs.map +0 -1
  184. package/dist/http/RequestProvider.mjs +0 -1
  185. package/dist/http/RequestProvider.mjs.map +0 -1
  186. package/dist/http/Response.mjs +0 -13
  187. package/dist/http/Response.mjs.map +0 -1
  188. package/dist/http/RestResult.mjs +0 -34
  189. package/dist/http/RestResult.mjs.map +0 -1
  190. package/dist/http/toResponse.mjs +0 -33
  191. package/dist/http/toResponse.mjs.map +0 -1
  192. package/dist/process/App.mjs +0 -30
  193. package/dist/process/App.mjs.map +0 -1
  194. package/dist/process/Manage.mjs +0 -47
  195. package/dist/process/Manage.mjs.map +0 -1
  196. package/dist/process/Scope.mjs +0 -22
  197. package/dist/process/Scope.mjs.map +0 -1
  198. package/dist/process/Search.mjs +0 -31
  199. package/dist/process/Search.mjs.map +0 -1
  200. package/dist/process/UseCase.mjs +0 -53
  201. package/dist/process/UseCase.mjs.map +0 -1
  202. package/dist/resources/Req.mjs +0 -57
  203. package/dist/resources/Req.mjs.map +0 -1
  204. package/dist/security/Jwt.mjs +0 -77
  205. package/dist/security/Jwt.mjs.map +0 -1
  206. package/dist/services/Api.mjs +0 -44
  207. package/dist/services/Api.mjs.map +0 -1
  208. package/dist/services/ApiGateway.mjs +0 -45
  209. package/dist/services/ApiGateway.mjs.map +0 -1
  210. package/dist/services/AxiosProvider.mjs +0 -40
  211. package/dist/services/AxiosProvider.mjs.map +0 -1
  212. package/dist/services/MappedRouteGateway.mjs +0 -78
  213. package/dist/services/MappedRouteGateway.mjs.map +0 -1
  214. package/dist/services/RouteGateway.mjs +0 -46
  215. package/dist/services/RouteGateway.mjs.map +0 -1
  216. package/dist/services/ViewRouteGateway.mjs +0 -79
  217. package/dist/services/ViewRouteGateway.mjs.map +0 -1
  218. package/dist/sql/Clause.mjs +0 -24
  219. package/dist/sql/Clause.mjs.map +0 -1
  220. package/dist/sql/Column.mjs +0 -37
  221. package/dist/sql/Column.mjs.map +0 -1
  222. package/dist/sql/Count.mjs +0 -20
  223. package/dist/sql/Count.mjs.map +0 -1
  224. package/dist/sql/Delete.mjs +0 -19
  225. package/dist/sql/Delete.mjs.map +0 -1
  226. package/dist/sql/Insert.mjs +0 -21
  227. package/dist/sql/Insert.mjs.map +0 -1
  228. package/dist/sql/Join.mjs +0 -8
  229. package/dist/sql/Join.mjs.map +0 -1
  230. package/dist/sql/Select.mjs +0 -19
  231. package/dist/sql/Select.mjs.map +0 -1
  232. package/dist/sql/SqlQuery.mjs +0 -18
  233. package/dist/sql/SqlQuery.mjs.map +0 -1
  234. package/dist/sql/Table.mjs +0 -93
  235. package/dist/sql/Table.mjs.map +0 -1
  236. package/dist/sql/TableGateway.mjs +0 -72
  237. package/dist/sql/TableGateway.mjs.map +0 -1
  238. package/dist/sql/Update.mjs +0 -21
  239. package/dist/sql/Update.mjs.map +0 -1
  240. package/dist/types/AnyKey.mjs +0 -1
  241. package/dist/types/AnyKey.mjs.map +0 -1
  242. package/dist/types/Array.mjs +0 -16
  243. package/dist/types/Array.mjs.map +0 -1
  244. package/dist/types/Builder.mjs +0 -26
  245. package/dist/types/Builder.mjs.map +0 -1
  246. package/dist/types/Cache.mjs +0 -29
  247. package/dist/types/Cache.mjs.map +0 -1
  248. package/dist/types/CacheAge.mjs +0 -33
  249. package/dist/types/CacheAge.mjs.map +0 -1
  250. package/dist/types/Case.mjs +0 -29
  251. package/dist/types/Case.mjs.map +0 -1
  252. package/dist/types/Constructor.mjs +0 -23
  253. package/dist/types/Constructor.mjs.map +0 -1
  254. package/dist/types/Context.mjs +0 -28
  255. package/dist/types/Context.mjs.map +0 -1
  256. package/dist/types/Currency.mjs +0 -15
  257. package/dist/types/Currency.mjs.map +0 -1
  258. package/dist/types/Enum.mjs +0 -24
  259. package/dist/types/Enum.mjs.map +0 -1
  260. package/dist/types/Environment.mjs +0 -28
  261. package/dist/types/Environment.mjs.map +0 -1
  262. package/dist/types/ErrorOrigin.mjs +0 -1
  263. package/dist/types/ErrorOrigin.mjs.map +0 -1
  264. package/dist/types/Exception.mjs +0 -26
  265. package/dist/types/Exception.mjs.map +0 -1
  266. package/dist/types/Falsy.mjs +0 -10
  267. package/dist/types/Falsy.mjs.map +0 -1
  268. package/dist/types/Func.mjs +0 -8
  269. package/dist/types/Func.mjs.map +0 -1
  270. package/dist/types/Gateway.mjs +0 -24
  271. package/dist/types/Gateway.mjs.map +0 -1
  272. package/dist/types/Get.mjs +0 -13
  273. package/dist/types/Get.mjs.map +0 -1
  274. package/dist/types/Id.mjs +0 -13
  275. package/dist/types/Id.mjs.map +0 -1
  276. package/dist/types/IdName.mjs +0 -1
  277. package/dist/types/IdName.mjs.map +0 -1
  278. package/dist/types/Identity.mjs +0 -1
  279. package/dist/types/Identity.mjs.map +0 -1
  280. package/dist/types/Indexed.mjs +0 -15
  281. package/dist/types/Indexed.mjs.map +0 -1
  282. package/dist/types/Is.mjs +0 -42
  283. package/dist/types/Is.mjs.map +0 -1
  284. package/dist/types/IsA.mjs +0 -16
  285. package/dist/types/IsA.mjs.map +0 -1
  286. package/dist/types/IsDate.mjs +0 -14
  287. package/dist/types/IsDate.mjs.map +0 -1
  288. package/dist/types/IsEqual.mjs +0 -30
  289. package/dist/types/IsEqual.mjs.map +0 -1
  290. package/dist/types/Json.mjs +0 -29
  291. package/dist/types/Json.mjs.map +0 -1
  292. package/dist/types/List.mjs +0 -27
  293. package/dist/types/List.mjs.map +0 -1
  294. package/dist/types/Message.mjs +0 -11
  295. package/dist/types/Message.mjs.map +0 -1
  296. package/dist/types/Meta.mjs +0 -19
  297. package/dist/types/Meta.mjs.map +0 -1
  298. package/dist/types/Nullish.mjs +0 -8
  299. package/dist/types/Nullish.mjs.map +0 -1
  300. package/dist/types/Number.mjs +0 -30
  301. package/dist/types/Number.mjs.map +0 -1
  302. package/dist/types/Object.mjs +0 -24
  303. package/dist/types/Object.mjs.map +0 -1
  304. package/dist/types/PageList.mjs +0 -40
  305. package/dist/types/PageList.mjs.map +0 -1
  306. package/dist/types/Parser.mjs +0 -80
  307. package/dist/types/Parser.mjs.map +0 -1
  308. package/dist/types/Primitive.mjs +0 -9
  309. package/dist/types/Primitive.mjs.map +0 -1
  310. package/dist/types/Repository.mjs +0 -24
  311. package/dist/types/Repository.mjs.map +0 -1
  312. package/dist/types/Result.mjs +0 -23
  313. package/dist/types/Result.mjs.map +0 -1
  314. package/dist/types/Results.mjs +0 -26
  315. package/dist/types/Results.mjs.map +0 -1
  316. package/dist/types/Sort.mjs +0 -10
  317. package/dist/types/Sort.mjs.map +0 -1
  318. package/dist/types/Tag.mjs +0 -26
  319. package/dist/types/Tag.mjs.map +0 -1
  320. package/dist/types/Template.mjs +0 -21
  321. package/dist/types/Template.mjs.map +0 -1
  322. package/dist/types/Text.mjs +0 -21
  323. package/dist/types/Text.mjs.map +0 -1
  324. package/dist/types/ToText.mjs +0 -23
  325. package/dist/types/ToText.mjs.map +0 -1
  326. package/dist/types/Try.mjs +0 -31
  327. package/dist/types/Try.mjs.map +0 -1
  328. package/dist/types/TypeGuard.mjs +0 -1
  329. package/dist/types/TypeGuard.mjs.map +0 -1
  330. package/dist/types/Types.mjs +0 -1
  331. package/dist/types/Types.mjs.map +0 -1
  332. package/dist/types/Uri.mjs +0 -119
  333. package/dist/types/Uri.mjs.map +0 -1
  334. package/dist/types/Uuid.mjs +0 -16
  335. package/dist/types/Uuid.mjs.map +0 -1
  336. package/dist/types/Validatable.mjs +0 -13
  337. package/dist/types/Validatable.mjs.map +0 -1
  338. package/dist/types/Value.mjs +0 -14
  339. package/dist/types/Value.mjs.map +0 -1
  340. package/dist/utils/Base64.mjs +0 -12
  341. package/dist/utils/Base64.mjs.map +0 -1
  342. package/dist/utils/Convert.mjs +0 -14
  343. package/dist/utils/Convert.mjs.map +0 -1
  344. package/dist/utils/If.mjs +0 -25
  345. package/dist/utils/If.mjs.map +0 -1
  346. package/dist/utils/Loading.mjs +0 -11
  347. package/dist/utils/Loading.mjs.map +0 -1
  348. package/dist/utils/Log.mjs +0 -21
  349. package/dist/utils/Log.mjs.map +0 -1
  350. package/dist/utils/Mapper.mjs +0 -28
  351. package/dist/utils/Mapper.mjs.map +0 -1
  352. package/dist/utils/Promise.mjs +0 -35
  353. package/dist/utils/Promise.mjs.map +0 -1
  354. package/dist/utils/Property.mjs +0 -13
  355. package/dist/utils/Property.mjs.map +0 -1
  356. package/dist/utils/Seconds.mjs +0 -18
  357. package/dist/utils/Seconds.mjs.map +0 -1
  358. package/dist/utils/Sentence.mjs +0 -71
  359. package/dist/utils/Sentence.mjs.map +0 -1
  360. package/dist/utils/State.mjs +0 -12
  361. package/dist/utils/State.mjs.map +0 -1
  362. package/dist/utils/Traverse.mjs +0 -12
  363. package/dist/utils/Traverse.mjs.map +0 -1
  364. package/dist/utils/View.mjs +0 -41
  365. package/dist/utils/View.mjs.map +0 -1
  366. package/dist/utils/Wait.mjs +0 -17
  367. package/dist/utils/Wait.mjs.map +0 -1
  368. package/dist/validation/Contraints.mjs +0 -65
  369. package/dist/validation/Contraints.mjs.map +0 -1
  370. package/dist/validation/Validate.mjs +0 -35
  371. package/dist/validation/Validate.mjs.map +0 -1
  372. package/dist/validation/When.mjs +0 -31
  373. package/dist/validation/When.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/http/RequestOptions.ts"],"sourcesContent":["import { HttpHeader } from './HttpHeader';\nimport { ContentType } from './ContentType';\nimport { PageOptions } from '../types/PageList';\nimport { Optional } from '../types/Types';\nimport { Text } from '../types/Text';\nimport { Enum } from '../types/Enum';\nimport { CacheAge } from '../types/CacheAge';\nimport { ctx } from '../types/Context';\nimport { toUuid } from '../types/Uuid';\nimport { Id } from '../types/Id';\nimport { on } from '../types/Constructor';\nimport { asString } from '../types/Text';\nimport { isDefined, isNotEmpty } from '../types/Is';\n\nexport const toPageOptions = (options?: RequestOptions | PageOptions): Optional<PageOptions> =>\n options instanceof RequestOptions ? options.pageOptions : options;\n\nexport class RequestOptions extends Enum {\n public requestOptions: { maxRedirects?: number; validateStatus?: (status: number) => boolean; timeout?: CacheAge } = {};\n\n constructor(\n readonly type: ContentType = ContentType.Json,\n readonly headers: { [key: string]: any } = {},\n public pageOptions?: PageOptions\n ) {\n super(type.name);\n this.headers['Content-Type'] = type.id;\n this.headers[HttpHeader.Correlation] = ctx.request.correlationId ?? toUuid();\n }\n\n static get Form(): RequestOptions {\n return new RequestOptions(ContentType.Form);\n }\n\n static get Json(): RequestOptions {\n return new RequestOptions(ContentType.Json);\n }\n\n static get Stream(): RequestOptions {\n return new RequestOptions(ContentType.Stream);\n }\n\n static get Text(): RequestOptions {\n return new RequestOptions(ContentType.Text);\n }\n\n static get Xml(): RequestOptions {\n return new RequestOptions(ContentType.Xml);\n }\n\n page = (options: PageOptions): this => {\n this.pageOptions = options;\n return this;\n };\n\n authorization = (auth: string): this => this.setHeader('Authorization', auth);\n\n apiKey = (apiKey: string): this => this.setHeader('apiKey', apiKey);\n\n setHeader = (key: Text, value: Id | boolean): this => on(this, t => (t.headers[asString(key)] = value));\n\n setHeaderUnlessPresent = (key: string, value?: Id | boolean): this => (value ? this.setHeader(key, this.headers[key] ?? value) : this);\n\n accept = (type: ContentType): this => this.setHeader('Accept', type.id);\n\n bearer = (jwt: Text): this => {\n return isNotEmpty(jwt) ? this.authorization(`Bearer ${jwt}`) : this;\n };\n\n basic = (username: Text, password: Text): this => {\n const basicAuth = Buffer.from(`${username}:${password}`, 'utf8').toString('base64');\n return this.authorization(`Basic ${basicAuth}`);\n };\n\n maxRedirects = (max?: number): this => {\n this.requestOptions.maxRedirects = max;\n return this;\n };\n\n validateStatus = (validate?: (status: number) => boolean): this => {\n this.requestOptions.validateStatus = validate;\n return this;\n };\n\n timeout = (t?: CacheAge): this => {\n this.requestOptions.timeout = t;\n return this;\n };\n}\n\nexport const isRequestOptions = (o?: unknown): o is RequestOptions => isDefined(o) && o instanceof RequestOptions;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,IAAM,gBAAgB,CAAC,YAC5B,mBAAmB,iBAAiB,QAAQ,cAAc;AAErD,IAAM,iBAAN,MAAM,wBAAuB,KAAK;AAAA,EAGvC,YACW,OAAoB,YAAY,MAChC,UAAkC,CAAC,GACrC,aACP;AACA,UAAM,KAAK,IAAI;AAJN;AACA;AACF;AAGP,SAAK,QAAQ,cAAc,IAAI,KAAK;AACpC,SAAK,QAAQ,WAAW,WAAW,IAAI,IAAI,QAAQ,iBAAiB,OAAO;AAAA,EAC7E;AAAA,EAVO,iBAA8G,CAAC;AAAA,EAYtH,WAAW,OAAuB;AAChC,WAAO,IAAI,gBAAe,YAAY,IAAI;AAAA,EAC5C;AAAA,EAEA,WAAW,OAAuB;AAChC,WAAO,IAAI,gBAAe,YAAY,IAAI;AAAA,EAC5C;AAAA,EAEA,WAAW,SAAyB;AAClC,WAAO,IAAI,gBAAe,YAAY,MAAM;AAAA,EAC9C;AAAA,EAEA,WAAW,OAAuB;AAChC,WAAO,IAAI,gBAAe,YAAY,IAAI;AAAA,EAC5C;AAAA,EAEA,WAAW,MAAsB;AAC/B,WAAO,IAAI,gBAAe,YAAY,GAAG;AAAA,EAC3C;AAAA,EAEA,OAAO,CAAC,YAA+B;AACrC,SAAK,cAAc;AACnB,WAAO;AAAA,EACT;AAAA,EAEA,gBAAgB,CAAC,SAAuB,KAAK,UAAU,iBAAiB,IAAI;AAAA,EAE5E,SAAS,CAAC,WAAyB,KAAK,UAAU,UAAU,MAAM;AAAA,EAElE,YAAY,CAAC,KAAW,UAA8B,GAAG,MAAM,OAAM,EAAE,QAAQ,SAAS,GAAG,CAAC,IAAI,KAAM;AAAA,EAEtG,yBAAyB,CAAC,KAAa,UAAgC,QAAQ,KAAK,UAAU,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK,IAAI;AAAA,EAEjI,SAAS,CAAC,SAA4B,KAAK,UAAU,UAAU,KAAK,EAAE;AAAA,EAEtE,SAAS,CAAC,QAAoB;AAC5B,WAAO,WAAW,GAAG,IAAI,KAAK,cAAc,UAAU,GAAG,EAAE,IAAI;AAAA,EACjE;AAAA,EAEA,QAAQ,CAAC,UAAgB,aAAyB;AAChD,UAAM,YAAY,OAAO,KAAK,GAAG,QAAQ,IAAI,QAAQ,IAAI,MAAM,EAAE,SAAS,QAAQ;AAClF,WAAO,KAAK,cAAc,SAAS,SAAS,EAAE;AAAA,EAChD;AAAA,EAEA,eAAe,CAAC,QAAuB;AACrC,SAAK,eAAe,eAAe;AACnC,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB,CAAC,aAAiD;AACjE,SAAK,eAAe,iBAAiB;AACrC,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,CAAC,MAAuB;AAChC,SAAK,eAAe,UAAU;AAC9B,WAAO;AAAA,EACT;AACF;AAEO,IAAM,mBAAmB,CAAC,MAAqC,UAAU,CAAC,KAAK,aAAa;","names":[]}
@@ -1,324 +0,0 @@
1
- import {
2
- isValidatable
3
- } from "./chunk-OFGI5FLG.mjs";
4
- import {
5
- isResults,
6
- toResults
7
- } from "./chunk-SCVGZWV7.mjs";
8
- import {
9
- toResult
10
- } from "./chunk-RS7CT7BU.mjs";
11
- import {
12
- reject,
13
- resolve
14
- } from "./chunk-LUHR6633.mjs";
15
- import {
16
- Exception
17
- } from "./chunk-DEFTEK45.mjs";
18
- import {
19
- isValue
20
- } from "./chunk-WSBULPUZ.mjs";
21
- import {
22
- text
23
- } from "./chunk-RWGCMC6L.mjs";
24
- import {
25
- isEnum
26
- } from "./chunk-UXADDXCJ.mjs";
27
- import {
28
- meta
29
- } from "./chunk-FN7HN3YK.mjs";
30
- import {
31
- toList
32
- } from "./chunk-HOVTNDHS.mjs";
33
- import {
34
- toArray
35
- } from "./chunk-CO2AFYVD.mjs";
36
- import {
37
- asString
38
- } from "./chunk-BDA5LB4S.mjs";
39
- import {
40
- ofGet
41
- } from "./chunk-SJGQU3OG.mjs";
42
- import {
43
- ofConstruct,
44
- toName
45
- } from "./chunk-ZPNFXK7Y.mjs";
46
- import {
47
- isArray,
48
- isDefined,
49
- isEmpty,
50
- isFunction,
51
- isIn,
52
- isTrue
53
- } from "./chunk-DEJ7A5PY.mjs";
54
-
55
- // src/types/Try.ts
56
- var Try = class _Try {
57
- is = {
58
- defined: (prop) => this.filter((v) => isDefined(prop ? prop(v) : v)),
59
- empty: (prop) => this.filter((v) => isEmpty(prop ? prop(v) : v)),
60
- valid: (prop) => this.filter((v) => validate(prop ? prop(v) : v).isValid),
61
- true: (prop) => this.filter((v) => isTrue(prop ? prop(v) : v)),
62
- false: (prop) => this.filter((v) => !isTrue(prop ? prop(v) : v)),
63
- not: {
64
- defined: (prop) => this.filter((v) => !isDefined(prop ? prop(v) : v)),
65
- empty: (prop) => this.filter((v) => !isEmpty(prop ? prop(v) : v)),
66
- valid: (prop) => this.filter((v) => !validate(prop ? prop(v) : v).isValid)
67
- }
68
- };
69
- if = this.is;
70
- static of = (c, ...args) => {
71
- try {
72
- const out = ofGet(c, ...args);
73
- return new Success(out instanceof _Try ? out.value : out);
74
- } catch (e) {
75
- return new Failure(e);
76
- }
77
- };
78
- };
79
- var Success = class extends Try {
80
- constructor(value) {
81
- super();
82
- this.value = value;
83
- }
84
- get error() {
85
- throw new Error("No error found");
86
- }
87
- get isValid() {
88
- return true;
89
- }
90
- map(f) {
91
- return tryTo(f, this.value);
92
- }
93
- recover(f) {
94
- return this;
95
- }
96
- recoverFrom(type, f) {
97
- return this;
98
- }
99
- accept(f) {
100
- return tryTo(() => {
101
- f(this.value);
102
- return this;
103
- });
104
- }
105
- filter(predicate) {
106
- return tryTo(() => {
107
- if (predicate(this.value))
108
- return this;
109
- throw new Error(`Applying filter(${predicate.toString()}) failed.`);
110
- });
111
- }
112
- or(value) {
113
- return this.value;
114
- }
115
- orElse(value) {
116
- return this.value;
117
- }
118
- orThrow(_error) {
119
- return this.value;
120
- }
121
- };
122
- var Failure = class _Failure extends Try {
123
- constructor(error) {
124
- super();
125
- this.error = error;
126
- }
127
- get value() {
128
- throw this.error;
129
- }
130
- get isValid() {
131
- return false;
132
- }
133
- map(f) {
134
- return new _Failure(this.error);
135
- }
136
- recover(f) {
137
- return tryTo(f, this.error);
138
- }
139
- recoverFrom(type, f) {
140
- return tryTo(() => this.error instanceof type ? this.recover(f) : this);
141
- }
142
- accept(f) {
143
- return this;
144
- }
145
- filter(predicate) {
146
- return this;
147
- }
148
- or(value) {
149
- return ofGet(value);
150
- }
151
- orElse(value) {
152
- return ofGet(value);
153
- }
154
- orThrow(error) {
155
- throw ofConstruct(error);
156
- }
157
- };
158
- var tryTo = (c, ...args) => Try.of(c, ...args);
159
-
160
- // src/types/Case.ts
161
- var CaseBuilder = class {
162
- constructor(v) {
163
- this.v = v;
164
- }
165
- is = {
166
- defined: (prop, out) => new Case(this.v).case(isDefined(prop(this.v)), out),
167
- empty: (prop, out) => new Case(this.v).case(isEmpty(prop(this.v)), out),
168
- valid: (prop, out) => new Case(this.v).case(validate(prop(this.v)).isValid, out),
169
- in: (prop, out) => new Case(this.v).case(ofGet(prop, this.v).includes(this.v), out),
170
- not: {
171
- defined: (prop, out) => new Case(this.v).case(!isDefined(prop(this.v)), out),
172
- empty: (prop, out) => new Case(this.v).case(!isEmpty(prop(this.v)), out),
173
- valid: (prop, out) => new Case(this.v).case(!validate(prop(this.v)).isValid, out),
174
- in: (prop, out) => new Case(this.v).case(!ofGet(prop, this.v).includes(this.v), out)
175
- }
176
- };
177
- if = this.is;
178
- case(pred, out) {
179
- return new Case(this.v).case(pred, out);
180
- }
181
- type(guard, out) {
182
- return new Case(this.v).type(guard, out);
183
- }
184
- equals(value, out) {
185
- return new Case(this.v).equals(value, out);
186
- }
187
- };
188
- var Case = class _Case {
189
- constructor(value, outcome) {
190
- this.value = value;
191
- this.outcome = outcome;
192
- }
193
- is = {
194
- defined: (prop, out) => new _Case(this.value).case(isDefined(prop(this.value)), out),
195
- empty: (prop, out) => new _Case(this.value).case(isEmpty(prop(this.value)), out),
196
- valid: (prop, out) => new _Case(this.value).case(validate(prop(this.value)).isValid, out),
197
- in: (prop, out) => new _Case(this.value).case(ofGet(prop, this.value).includes(this.value), out),
198
- not: {
199
- defined: (prop, out) => new _Case(this.value).case(!isDefined(prop(this.value)), out),
200
- empty: (prop, out) => new _Case(this.value).case(!isEmpty(prop(this.value)), out),
201
- valid: (prop, out) => new _Case(this.value).case(!validate(prop(this.value)).isValid, out),
202
- in: (prop, out) => new _Case(this.value).case(!ofGet(prop, this.value).includes(this.value), out)
203
- }
204
- };
205
- if = this.is;
206
- case(pred, out) {
207
- return tryTo(pred, this.value).is.true().map(() => ofGet(out, this.value)).map((res) => new Found(this.value, res)).or(this);
208
- }
209
- type(guard, out) {
210
- return tryTo(guard, this.value).is.true().map(() => out(this.value)).map((res) => new Found(this.value, res)).or(this);
211
- }
212
- equals(value, out) {
213
- return this.case(this.value === value, out);
214
- }
215
- else(alt) {
216
- return ofGet(alt, this.value);
217
- }
218
- };
219
- var Found = class extends Case {
220
- constructor(value, outcome) {
221
- super(value, outcome);
222
- this.value = value;
223
- this.outcome = outcome;
224
- }
225
- is = {
226
- defined: (_prop, _out) => this,
227
- empty: (_prop, _out) => this,
228
- valid: (_prop, _out) => this,
229
- in: (_prop, _out) => this,
230
- not: {
231
- defined: (_prop, _out) => this,
232
- empty: (_prop, _out) => this,
233
- valid: (_prop, _out) => this,
234
- in: (_prop, _out) => this
235
- }
236
- };
237
- if = this.is;
238
- case(pred, out) {
239
- return this;
240
- }
241
- type(guard, out) {
242
- return this;
243
- }
244
- equals(value, out) {
245
- return this;
246
- }
247
- else(alt) {
248
- return this.outcome;
249
- }
250
- };
251
- var choose = (value) => new CaseBuilder(value);
252
-
253
- // src/validation/Validate.ts
254
- var asResults = (subject, template, options = {}) => toResults(toResult(text(template).parse(subject, options), toName(subject)));
255
- var validators = (subject) => meta(subject).keys("constraint").reduce((list, vs) => list.add(vs), toList());
256
- var runValidator = (v, subject) => {
257
- try {
258
- const actual = isFunction(subject[v.property]) ? subject[v.property]() : subject[v.property];
259
- const constraint = v.constraint(actual);
260
- return isResults(constraint) ? constraint : !constraint ? asResults(subject, v.text, {
261
- ...v,
262
- actual
263
- }) : toResults();
264
- } catch (e) {
265
- return asResults(subject, asString(e));
266
- }
267
- };
268
- var constraints = (subject) => validators(subject).map((vs) => runValidator(vs, subject)).reduce((rs, r) => rs.add(...r.results), toResults());
269
- var validate = (subject) => choose(subject).is.not.defined(
270
- (s) => s,
271
- () => toResults("Subject is not defined.")
272
- ).type(isEnum, (e) => e.isValid ? toResults() : asResults(e, "This is not a valid {type}.")).type(isValue, (v) => v.isValid ? toResults() : asResults(v, "This is not a valid {type}.")).type(isArray, (a) => a.map((i) => validate(i)).reduce((rs, r) => rs.add(...r.results), toResults())).type(isValidatable, (v) => constraints(v)).else(toResults());
273
- var validateReject = (subject) => when(subject).not.isValid.reject();
274
- var isValid = (t) => validate(t).isValid;
275
-
276
- // src/validation/When.ts
277
- var When = class _When {
278
- constructor(subject, valid = true, results) {
279
- this.subject = subject;
280
- this.valid = valid;
281
- this.results = results;
282
- }
283
- get not() {
284
- return this.clone(!this.valid);
285
- }
286
- get and() {
287
- return this.clone(this.valid);
288
- }
289
- get isDefined() {
290
- return this.clone(this.valid === isDefined(this.subject));
291
- }
292
- get isEmpty() {
293
- return this.clone(this.valid === isEmpty(this.subject));
294
- }
295
- get isTrue() {
296
- return this.clone(this.valid === !!this.subject);
297
- }
298
- get isValid() {
299
- this.results = validate(this.subject);
300
- return this.clone(this.valid === this.results.isValid);
301
- }
302
- isInstance = (c) => this.clone(this.valid === this.subject instanceof c);
303
- with = (pred) => this.clone(this.valid === ofGet(pred, this.subject));
304
- contains = (property) => this.clone(this.valid === isDefined(ofGet(property, this.subject)));
305
- in = (...items) => this.clone(this.valid === isIn(this.subject, toArray(...items)));
306
- is = (item) => this.clone(this.valid === (this.subject === item));
307
- reject = (error) => !this.valid ? resolve(this.subject) : reject(ofGet(error, this.subject) ?? this.results ?? Exception.Unknown);
308
- recover = (f) => resolve(!this.valid ? this.subject : f(this.subject));
309
- clone = (result = true) => new _When(this.subject, result, this.results);
310
- };
311
- var when = (subject) => new When(subject);
312
-
313
- export {
314
- When,
315
- when,
316
- asResults,
317
- validate,
318
- validateReject,
319
- isValid,
320
- Try,
321
- tryTo,
322
- choose
323
- };
324
- //# sourceMappingURL=chunk-LGLRWA42.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Try.ts","../src/types/Case.ts","../src/validation/Validate.ts","../src/validation/When.ts"],"sourcesContent":["import { isDefined, isEmpty, isTrue } from './Is';\nimport { validate } from '../validation/Validate';\nimport { Construct, Constructor, ofConstruct } from './Constructor';\nimport { Validatable } from './Validatable';\nimport { Get, ofGet } from './Get';\nimport { Func } from './Func';\nimport { Optional } from './Types';\n\nexport abstract class Try<T = unknown> implements Validatable {\n is = {\n defined: (prop?: Func<unknown, T>): Try<T> => this.filter(v => isDefined(prop ? prop(v) : v)),\n empty: (prop?: Func<unknown, T>): Try<T> => this.filter(v => isEmpty(prop ? prop(v) : v)),\n valid: (prop?: Func<unknown, T>): Try<T> => this.filter(v => validate(prop ? prop(v) : v).isValid),\n true: (prop?: Func<unknown, T>): Try<T> => this.filter(v => isTrue(prop ? prop(v) : v)),\n false: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !isTrue(prop ? prop(v) : v)),\n not: {\n defined: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !isDefined(prop ? prop(v) : v)),\n empty: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !isEmpty(prop ? prop(v) : v)),\n valid: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !validate(prop ? prop(v) : v).isValid),\n },\n };\n\n if = this.is;\n\n abstract get value(): T;\n\n abstract get error(): Error;\n\n abstract get isValid(): boolean;\n\n static of = <T>(c: Get<T | Try<T>>, ...args: unknown[]): Try<T> => {\n try {\n const out = ofGet(c, ...args);\n return new Success(out instanceof Try ? out.value : out);\n } catch (e) {\n return new Failure(e as Error);\n }\n };\n\n abstract map<U>(f: Func<U | Try<U>, T>): Try<U>;\n\n abstract recover(f: Func<T | Try<T>, Error>): Try<T>;\n\n abstract recoverFrom(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T>;\n\n abstract accept(f: Func<void, T>): Try<T>;\n\n abstract filter(predicate: Func<boolean, T>): Try<T>;\n\n abstract or(value: Get<T>): T;\n\n abstract orElse(value?: Get<T>): Optional<T>;\n\n abstract orThrow(error: Construct<Error>): T;\n}\n\nclass Success<T> extends Try<T> {\n constructor(readonly value: T) {\n super();\n }\n\n get error(): Error {\n throw new Error('No error found');\n }\n\n get isValid(): boolean {\n return true;\n }\n\n map<U>(f: Func<U | Try<U>, T>): Try<U> {\n return tryTo<U>(f, this.value);\n }\n\n recover(f: Func<T | Try<T>, Error>): Try<T> {\n return this;\n }\n\n recoverFrom(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T> {\n return this;\n }\n\n accept(f: Func<void, T>): Try<T> {\n return tryTo(() => {\n f(this.value);\n return this;\n });\n }\n\n filter(predicate: Func<boolean, T>): Try<T> {\n return tryTo(() => {\n if (predicate(this.value)) return this;\n throw new Error(`Applying filter(${predicate.toString()}) failed.`);\n });\n }\n\n or(value: Get<T>): T {\n return this.value;\n }\n\n orElse(value?: Get<T>): Optional<T> {\n return this.value;\n }\n\n orThrow(_error: Construct<Error>): T {\n return this.value;\n }\n}\n\nclass Failure<T> extends Try<T> {\n constructor(readonly error: Error) {\n super();\n }\n\n get value(): T {\n throw this.error;\n }\n\n get isValid(): boolean {\n return false;\n }\n\n map<U>(f: Func<U | Try<U>, T>): Try<U> {\n return new Failure<U>(this.error);\n }\n\n recover<U>(f: Func<U | Try<U>, Error>): Try<U> {\n return tryTo<U>(f, this.error);\n }\n\n recoverFrom<U>(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T> {\n return tryTo(() => (this.error instanceof type ? this.recover(f) : this));\n }\n\n accept(f: Func<void, T>): Try<T> {\n return this;\n }\n\n filter(predicate: Func<boolean, T>): Try<T> {\n return this;\n }\n\n or(value: Get<T>): T {\n return ofGet(value);\n }\n\n orElse(value?: Get<T>): Optional<T> {\n return ofGet(value);\n }\n\n orThrow(error: Construct<Error>): T {\n throw ofConstruct(error);\n }\n}\n\nexport const tryTo = <T>(c: Get<T | Try<T>>, ...args: unknown[]) => Try.of<T>(c, ...args);\n","import { Get, ofGet, Predicate } from './Get';\nimport { TypeGuard } from './TypeGuard';\nimport { Func } from './Func';\nimport { isDefined, isEmpty } from './Is';\nimport { validate } from '../validation/Validate';\nimport { tryTo } from './Try';\n\nclass CaseBuilder<V> {\n is = {\n defined: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(isDefined(prop(this.v)), out),\n empty: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(isEmpty(prop(this.v)), out),\n valid: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(validate(prop(this.v)).isValid, out),\n in: <T>(prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(ofGet(prop, this.v).includes(this.v), out),\n not: {\n defined: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!isDefined(prop(this.v)), out),\n empty: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!isEmpty(prop(this.v)), out),\n valid: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!validate(prop(this.v)).isValid, out),\n in: <T>(prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!ofGet(prop, this.v).includes(this.v), out),\n },\n };\n if = this.is;\n\n constructor(readonly v: V) {}\n\n case<T>(pred: Predicate<V>, out: Get<T, V>): Case<T, V> {\n return new Case<T, V>(this.v).case(pred, out);\n }\n\n type<T, U = unknown>(guard: TypeGuard<U>, out: Func<T, U>): Case<T, V> {\n return new Case<T, V>(this.v).type<U>(guard, out);\n }\n\n equals<T>(value: V, out: Get<T, V>): Case<T, V> {\n return new Case<T, V>(this.v).equals(value, out);\n }\n}\n\nclass Case<T, V = unknown> {\n is = {\n defined: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(isDefined(prop(this.value)), out),\n empty: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(isEmpty(prop(this.value)), out),\n valid: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(validate(prop(this.value)).isValid, out),\n in: (prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(ofGet(prop, this.value).includes(this.value), out),\n not: {\n defined: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!isDefined(prop(this.value)), out),\n empty: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!isEmpty(prop(this.value)), out),\n valid: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!validate(prop(this.value)).isValid, out),\n in: (prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!ofGet(prop, this.value).includes(this.value), out),\n },\n };\n if = this.is;\n\n constructor(\n protected value: V,\n protected outcome?: T\n ) {}\n\n case(pred: Predicate<V>, out: Get<T, V>): Case<T, V> {\n return tryTo(pred, this.value)\n .is.true()\n .map(() => ofGet(out, this.value))\n .map(res => new Found(this.value, res) as Case<T, V>)\n .or(this);\n }\n\n type<U>(guard: TypeGuard<U>, out: Func<T, U>): Case<T, V> {\n return tryTo(guard, this.value)\n .is.true()\n .map(() => out(this.value as unknown as U))\n .map(res => new Found(this.value, res) as Case<T, V>)\n .or(this);\n }\n\n equals(value: V, out: Get<T, V>): Case<T, V> {\n return this.case(this.value === value, out);\n }\n\n else(alt: Get<T, V>): T {\n return ofGet<T, V>(alt, this.value);\n }\n}\n\nclass Found<T, V> extends Case<T, V> {\n is = {\n defined: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n empty: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n valid: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n in: (_prop: Get<Array<V>, V>, _out: Get<T, V>): Case<T, V> => this,\n not: {\n defined: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n empty: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n valid: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n in: (_prop: Get<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n },\n };\n if = this.is;\n\n constructor(\n protected value: V,\n protected outcome: T\n ) {\n super(value, outcome);\n }\n\n case(pred: Predicate<V>, out: Get<T, V>): this {\n return this;\n }\n\n type<U>(guard: TypeGuard<U>, out: Func<T, U>): Case<T, V> {\n return this;\n }\n\n equals(value: V, out: Get<T, V>): Case<T, V> {\n return this;\n }\n\n else(alt: Get<T, V>): T {\n return this.outcome;\n }\n}\n\nexport const choose = <V>(value: V) => new CaseBuilder<V>(value);\n","import { Constraint } from './Contraints';\nimport { when } from './When';\nimport type { TemplateOptions } from '../types/Template';\nimport { isResults, Results, toResults } from '../types/Results';\nimport { toName } from '../types/Constructor';\nimport { toResult } from '../types/Result';\nimport { List, toList } from '../types/List';\nimport { meta } from '../types/Meta';\nimport { isArray, isFunction } from '../types/Is';\nimport type { Text } from '../types/Text';\nimport { asString } from '../types/Text';\nimport { choose } from '../types/Case';\nimport { isEnum } from '../types/Enum';\nimport { isValue } from '../types/Value';\nimport { isValidatable } from '../types/Validatable';\nimport { text } from '../types/ToText';\n\nexport type Validator = { property: string | symbol; constraint: Constraint; text: Text; actual?: Text };\n\nexport const asResults = (subject: unknown, template: Text, options: TemplateOptions = {}): Results =>\n toResults(toResult(text(template).parse(subject, options), toName(subject)));\n\nconst validators = (subject: unknown): List<Validator> =>\n meta(subject)\n .keys<List<Validator>>('constraint')\n .reduce((list, vs) => list.add(vs), toList<Validator>());\n\nconst runValidator = (v: Validator, subject?: unknown): Results => {\n try {\n const actual = isFunction((subject as any)[v.property]) ? (subject as any)[v.property]() : (subject as any)[v.property];\n const constraint = v.constraint(actual);\n return isResults(constraint)\n ? constraint\n : !constraint\n ? asResults(subject, v.text, {\n ...v,\n actual,\n })\n : toResults();\n } catch (e) {\n return asResults(subject, asString(e));\n }\n};\n\nconst constraints = (subject?: unknown): Results =>\n validators(subject)\n .map(vs => runValidator(vs, subject))\n .reduce((rs, r) => rs.add(...r.results), toResults());\n\nexport const validate = (subject?: unknown): Results =>\n choose(subject)\n .is.not.defined(\n s => s,\n () => toResults('Subject is not defined.')\n )\n .type(isEnum, e => (e.isValid ? toResults() : asResults(e, 'This is not a valid {type}.')))\n .type(isValue, v => (v.isValid ? toResults() : asResults(v, 'This is not a valid {type}.')))\n .type(isArray, a => a.map(i => validate(i)).reduce((rs, r) => rs.add(...r.results), toResults()))\n .type(isValidatable, v => constraints(v))\n .else(toResults());\n\nexport const validateReject = <T>(subject: T): Promise<T> => when(subject).not.isValid.reject();\n\nexport const isValid = <T>(t: T): boolean => validate(t).isValid;\n","import { validate } from './Validate';\nimport { Results } from '../types/Results';\nimport { Constructor } from '../types/Constructor';\nimport { Get, ofGet, Predicate } from '../types/Get';\nimport { isDefined, isEmpty, isIn } from '../types/Is';\nimport { toArray } from '../types/Array';\nimport { ErrorOrigin } from '../types/ErrorOrigin';\nimport { reject, resolve } from '../utils/Promise';\nimport { Exception } from '../types/Exception';\n\nexport class When<W> {\n constructor(\n readonly subject: W,\n readonly valid = true,\n private results?: Results\n ) {}\n\n get not(): When<W> {\n return this.clone(!this.valid);\n }\n\n get and(): When<W> {\n return this.clone(this.valid);\n }\n\n get isDefined(): When<W> {\n return this.clone(this.valid === isDefined(this.subject));\n }\n\n get isEmpty(): When<W> {\n return this.clone(this.valid === isEmpty(this.subject));\n }\n\n get isTrue(): When<W> {\n return this.clone(this.valid === !!this.subject);\n }\n\n get isValid(): When<W> {\n this.results = validate(this.subject);\n return this.clone(this.valid === this.results.isValid);\n }\n\n isInstance = <U>(c: Constructor<U>): When<W> => this.clone(this.valid === this.subject instanceof c);\n\n with = (pred: Predicate<W>): When<W> => this.clone(this.valid === ofGet(pred, this.subject));\n\n contains = (property: (w: W) => unknown): When<W> => this.clone(this.valid === isDefined(ofGet(property, this.subject)));\n\n in = (...items: W[]): When<W> => this.clone(this.valid === isIn(this.subject, toArray(...items)));\n\n is = (item: W): When<W> => this.clone(this.valid === (this.subject === item));\n\n reject = (error?: Get<ErrorOrigin, W>): Promise<NonNullable<W>> =>\n !this.valid ? resolve(this.subject as NonNullable<W>) : reject(ofGet(error, this.subject) ?? this.results ?? Exception.Unknown);\n\n recover = (f: (item: W) => W | Promise<W>): Promise<W> => resolve(!this.valid ? this.subject : f(this.subject));\n\n protected clone = (result = true): When<W> => new When(this.subject, result, this.results);\n}\n\nexport const when = <T>(subject: T): When<T> => new When<T>(subject);\n"],"mappings":"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","names":[]}
@@ -1,70 +0,0 @@
1
- import {
2
- entries
3
- } from "./chunk-4VZHB642.mjs";
4
- import {
5
- ifDefined
6
- } from "./chunk-HOVTNDHS.mjs";
7
- import {
8
- ofGet
9
- } from "./chunk-SJGQU3OG.mjs";
10
- import {
11
- isA
12
- } from "./chunk-ZHXKBOK2.mjs";
13
- import {
14
- isDefined,
15
- isEmpty,
16
- isObject
17
- } from "./chunk-DEJ7A5PY.mjs";
18
-
19
- // src/types/Json.ts
20
- var isJson = (subject) => isA(subject, "toJSON");
21
- var json = {
22
- parse: (subject) => JSON.parse(JSON.stringify(subject ?? {})),
23
- merge: (...subjects) => json.parse(subjects.map((s) => asJson(s, (s2) => json.parse(s2))).reduce((js, j) => ({ ...js, ...j }), {})),
24
- delete: (subject, key) => {
25
- ifDefined(subject, () => delete subject[key]);
26
- return subject;
27
- },
28
- set: (subject, key = "", value) => isEmpty(key) ? subject : value !== void 0 ? { ...subject, ...{ [key]: value } } : json.delete(subject, key),
29
- omit: (subject, ...keys) => keys.reduce((js, k) => json.delete(js, k), json.parse(subject)),
30
- pick: (subject, ...keys) => keys.reduce((js, k) => json.set(js, k, subject[k]), {}),
31
- defaults: (options = {}, defaults = {}) => json.merge(defaults, options),
32
- isSubset: (subject, subset) => !entries(subset).some(([k, v]) => subject[k] !== v),
33
- split: (t, keys, prop = "extracted") => {
34
- const extracted = {};
35
- const rest = { ...t };
36
- keys.forEach((key) => {
37
- if (key in t) {
38
- ifDefined(t[key], (v) => extracted[key] = v);
39
- delete rest[key];
40
- }
41
- });
42
- return { [prop]: extracted, ...rest };
43
- }
44
- };
45
- var toJson = json.merge;
46
- var asJson = (j, alt = {}) => isJson(j) ? j.toJSON() : isObject(j) ? j : ofGet(alt, j);
47
- var Any = class {
48
- constructor(value) {
49
- this.value = value;
50
- }
51
- merge = (...subjects) => any(json.merge(this.value, ...subjects));
52
- delete = (key) => any(json.delete(this.value, key));
53
- omit = (...keys) => any(json.omit(this.value, ...keys));
54
- set = (key, value) => any(json.set(this.value, key, value));
55
- toJSON() {
56
- return this.value;
57
- }
58
- };
59
- var takeFirstKey = (j, alt = "") => entries(asJson(j)).first(([, v]) => isDefined(v))?.[0] ?? alt;
60
- var any = (value) => new Any(value);
61
-
62
- export {
63
- isJson,
64
- json,
65
- toJson,
66
- asJson,
67
- takeFirstKey,
68
- any
69
- };
70
- //# sourceMappingURL=chunk-LKTTPV6U.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Json.ts"],"sourcesContent":["import { isA } from './IsA';\nimport { isDefined, isEmpty, isObject } from './Is';\nimport { Get, ofGet } from './Get';\nimport { ifDefined } from '../utils/If';\nimport { TypeGuard } from './TypeGuard';\nimport { entries } from './Object';\n\nexport type JsonValue = string | number | boolean | null | Json | JsonValue[];\nexport type Json = { [key: string]: JsonValue };\n\nexport const isJson: TypeGuard<{ toJSON: () => Json }> = (subject?: unknown): subject is { toJSON: () => Json } =>\n isA<{ toJSON: () => Json }>(subject, 'toJSON');\n\nexport const json = {\n parse: <T extends Json = Json>(subject: unknown): T => JSON.parse(JSON.stringify(subject ?? {})),\n merge: (...subjects: unknown[]): Json => json.parse(subjects.map(s => asJson(s, s => json.parse(s))).reduce((js, j) => ({ ...js, ...j }), {})),\n delete: <T extends Json = Json>(subject: T, key: string): T => {\n ifDefined(subject, () => delete (subject as any)[key]);\n return subject;\n },\n set: <T extends Json = Json>(subject: T, key = '', value?: unknown): T =>\n isEmpty(key) ? subject : value !== undefined ? { ...(subject as any), ...{ [key]: value as JsonValue } } : json.delete(subject, key),\n omit: <T extends Json = Json>(subject: T, ...keys: string[]): T => keys.reduce((js, k) => json.delete(js, k), json.parse<T>(subject)),\n pick: <T extends Json = Json>(subject: T, ...keys: string[]): T => keys.reduce((js, k) => json.set(js, k, (subject as any)[k]), {} as T),\n defaults: <T extends Json = Json>(options: Partial<T> = {}, defaults: Partial<T> = {}): T => json.merge(defaults, options) as T,\n isSubset: (subject: Json, subset: Json): boolean => !entries(subset).some(([k, v]) => subject[k] !== v),\n split: <T extends Record<string, unknown>, K extends string = 'extracted'>(\n t: T,\n keys: readonly (keyof T)[],\n prop: K = 'extracted' as K\n ): {\n [P in K]: Partial<T>;\n } => {\n const extracted = {} as Partial<T>;\n const rest = { ...t };\n keys.forEach(key => {\n if (key in t) {\n ifDefined(t[key], v => (extracted[key] = v));\n delete rest[key as string];\n }\n });\n return { [prop]: extracted, ...rest };\n },\n};\n\nexport const toJson = json.merge;\n\nexport const asJson = (j?: unknown, alt: Get<Json> = {}): Json => (isJson(j) ? j.toJSON() : isObject(j) ? (j as Json) : ofGet(alt, j));\n\nclass Any<T extends Json> {\n constructor(readonly value: T) {}\n\n merge = (...subjects: T[]): Any<T> => any<T>(json.merge(this.value, ...subjects) as T);\n delete = (key: keyof T): Any<T> => any<T>(json.delete<T>(this.value, key as string));\n omit = (...keys: (keyof T)[]): Any<T> => any<T>(json.omit<T>(this.value, ...(keys as string[])));\n set = (key: keyof T, value?: unknown): Any<T> => any<T>(json.set(this.value, key as string, value));\n\n toJSON(): Json {\n return this.value;\n }\n}\n\nexport const takeFirstKey = (j: unknown, alt: string = ''): string => entries(asJson(j)).first(([, v]) => isDefined(v))?.[0] ?? alt;\n\nexport const any = <T extends Json = Json>(value: T): Any<T> => new Any<T>(value);\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAUO,IAAM,SAA4C,CAAC,YACxD,IAA4B,SAAS,QAAQ;AAExC,IAAM,OAAO;AAAA,EAClB,OAAO,CAAwB,YAAwB,KAAK,MAAM,KAAK,UAAU,WAAW,CAAC,CAAC,CAAC;AAAA,EAC/F,OAAO,IAAI,aAA8B,KAAK,MAAM,SAAS,IAAI,OAAK,OAAO,GAAG,CAAAA,OAAK,KAAK,MAAMA,EAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAAA,EAC7I,QAAQ,CAAwB,SAAY,QAAmB;AAC7D,cAAU,SAAS,MAAM,OAAQ,QAAgB,GAAG,CAAC;AACrD,WAAO;AAAA,EACT;AAAA,EACA,KAAK,CAAwB,SAAY,MAAM,IAAI,UACjD,QAAQ,GAAG,IAAI,UAAU,UAAU,SAAY,EAAE,GAAI,SAAiB,GAAG,EAAE,CAAC,GAAG,GAAG,MAAmB,EAAE,IAAI,KAAK,OAAO,SAAS,GAAG;AAAA,EACrI,MAAM,CAAwB,YAAe,SAAsB,KAAK,OAAO,CAAC,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,GAAG,KAAK,MAAS,OAAO,CAAC;AAAA,EACpI,MAAM,CAAwB,YAAe,SAAsB,KAAK,OAAO,CAAC,IAAI,MAAM,KAAK,IAAI,IAAI,GAAI,QAAgB,CAAC,CAAC,GAAG,CAAC,CAAM;AAAA,EACvI,UAAU,CAAwB,UAAsB,CAAC,GAAG,WAAuB,CAAC,MAAS,KAAK,MAAM,UAAU,OAAO;AAAA,EACzH,UAAU,CAAC,SAAe,WAA0B,CAAC,QAAQ,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC;AAAA,EACtG,OAAO,CACL,GACA,MACA,OAAU,gBAGP;AACH,UAAM,YAAY,CAAC;AACnB,UAAM,OAAO,EAAE,GAAG,EAAE;AACpB,SAAK,QAAQ,SAAO;AAClB,UAAI,OAAO,GAAG;AACZ,kBAAU,EAAE,GAAG,GAAG,OAAM,UAAU,GAAG,IAAI,CAAE;AAC3C,eAAO,KAAK,GAAa;AAAA,MAC3B;AAAA,IACF,CAAC;AACD,WAAO,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,KAAK;AAAA,EACtC;AACF;AAEO,IAAM,SAAS,KAAK;AAEpB,IAAM,SAAS,CAAC,GAAa,MAAiB,CAAC,MAAa,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,IAAK,IAAa,MAAM,KAAK,CAAC;AAEpI,IAAM,MAAN,MAA0B;AAAA,EACxB,YAAqB,OAAU;AAAV;AAAA,EAAW;AAAA,EAEhC,QAAQ,IAAI,aAA0B,IAAO,KAAK,MAAM,KAAK,OAAO,GAAG,QAAQ,CAAM;AAAA,EACrF,SAAS,CAAC,QAAyB,IAAO,KAAK,OAAU,KAAK,OAAO,GAAa,CAAC;AAAA,EACnF,OAAO,IAAI,SAA8B,IAAO,KAAK,KAAQ,KAAK,OAAO,GAAI,IAAiB,CAAC;AAAA,EAC/F,MAAM,CAAC,KAAc,UAA4B,IAAO,KAAK,IAAI,KAAK,OAAO,KAAe,KAAK,CAAC;AAAA,EAElG,SAAe;AACb,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,eAAe,CAAC,GAAY,MAAc,OAAe,QAAQ,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK;AAEzH,IAAM,MAAM,CAAwB,UAAqB,IAAI,IAAO,KAAK;","names":["s"]}
@@ -1,107 +0,0 @@
1
- import {
2
- isEqual
3
- } from "./chunk-ELDS3NWV.mjs";
4
- import {
5
- isPageList,
6
- toPageList
7
- } from "./chunk-RHOK5QZR.mjs";
8
- import {
9
- asJson,
10
- json
11
- } from "./chunk-LKTTPV6U.mjs";
12
- import {
13
- choose
14
- } from "./chunk-LGLRWA42.mjs";
15
- import {
16
- isEnumConstructor
17
- } from "./chunk-UXADDXCJ.mjs";
18
- import {
19
- meta
20
- } from "./chunk-FN7HN3YK.mjs";
21
- import {
22
- ifDefined
23
- } from "./chunk-HOVTNDHS.mjs";
24
- import {
25
- traverse
26
- } from "./chunk-SSROJBD5.mjs";
27
- import {
28
- isConstructor,
29
- use
30
- } from "./chunk-ZPNFXK7Y.mjs";
31
- import {
32
- isArray,
33
- isBoolean,
34
- isFunction,
35
- isString
36
- } from "./chunk-DEJ7A5PY.mjs";
37
-
38
- // src/utils/View.ts
39
- var ignore = Symbol("view.ignore");
40
- var keep = Symbol("view.keep");
41
- var json2 = Symbol("view.json");
42
- var spread = "view.spread";
43
- var toViewer = (key, value) => choose(value).is.not.defined((v) => v, { key, f: () => void 0 }).type(isBoolean, (b) => ({ key, f: () => b })).equals(ignore, { key, f: () => void 0 }).equals(keep, { key, f: (a) => traverse(a, key) }).equals(json2, { key, f: (a) => asJson(traverse(a, key)) }).type(isString, (s) => ({ key, f: (a) => traverse(a, s) })).type(isEnumConstructor, (c) => ({
44
- key,
45
- f: (a, key2) => use(traverse(a, key2), (v) => isArray(v) ? c.byIds(v) : c.byId(v))
46
- })).type(isConstructor, (c) => ({
47
- key,
48
- f: (a, key2) => use(traverse(a, key2), (v) => isArray(v) ? v.map((i) => optional(c, i)) : optional(c, v))
49
- })).type(isSimpleView, (f) => ({ key, f: (a) => ifDefined(traverse(a, key), (v) => f.from(v)) })).type(isFunction, (f) => ({ key, f })).else((v) => ({ key, f: () => v }));
50
- var optional = (c, v) => ifDefined(
51
- v,
52
- (i) => new c(i),
53
- () => v
54
- );
55
- var toViewers = (views2) => meta(views2).entries().map(([k, v]) => toViewer(k, v));
56
- var View = class _View {
57
- constructor(views2 = {}, startsFrom = "scratch", viewers = toViewers(views2)) {
58
- this.views = views2;
59
- this.startsFrom = startsFrom;
60
- this.viewers = viewers;
61
- }
62
- get fromSource() {
63
- return new _View(this.views, "source", this.viewers);
64
- }
65
- from(source) {
66
- if (isPageList(source))
67
- return toPageList(
68
- source.map((s) => this.reduce(s)),
69
- source.options
70
- );
71
- if (isArray(source))
72
- return source.map((s) => this.reduce(s));
73
- return this.reduce(source);
74
- }
75
- same = (one, another) => isEqual(this.from(one), this.from(another));
76
- reduce = (source) => use(
77
- asJson(source),
78
- (src) => this.viewers.reduce(
79
- (acc, v) => v.key === spread ? { ...acc, ...asJson(v.f(src, v.key)) } : json.set(acc, v.key, v.f(src, v.key)),
80
- this.startsFrom === "scratch" ? {} : src
81
- )
82
- );
83
- };
84
- var isSimpleView = (a) => a instanceof View;
85
- var view = (views2) => new View(views2);
86
- var views = {
87
- ignore,
88
- keep,
89
- json: json2,
90
- spread,
91
- skip: ignore,
92
- value: (value) => () => value,
93
- or: {
94
- key: (altKey) => (a, key) => traverse(a, key) ?? traverse(a, altKey),
95
- value: (altValue) => (a, key) => traverse(a, key) ?? altValue,
96
- func: (altFunc) => (a, key) => traverse(a, key) ?? altFunc(a, key)
97
- }
98
- };
99
-
100
- export {
101
- toViewer,
102
- View,
103
- isSimpleView,
104
- view,
105
- views
106
- };
107
- //# sourceMappingURL=chunk-LONFFS5R.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/View.ts"],"sourcesContent":["import { traverse } from './Traverse';\nimport { ifDefined } from './If';\nimport { Primitive } from '../types/Primitive';\nimport { Constructor, isConstructor, use } from '../types/Constructor';\nimport { asJson, json as typesJson } from '../types/Json';\nimport { choose } from '../types/Case';\nimport { isArray, isBoolean, isFunction, isString } from '../types/Is';\nimport { meta } from '../types/Meta';\nimport { isPageList, PageList, toPageList } from '../types/PageList';\nimport { List } from '../types/List';\nimport { isEqual } from '../types/IsEqual';\nimport { DontInfer } from '../types/Types';\nimport { EnumConstructor, isEnumConstructor } from '../types/Enum';\nimport { Id } from '../types/Id';\n\ntype Func<T = unknown> = (a: any, key?: string) => T;\ntype Viewer = { key: string; f: Func };\n\ntype ViewType<V = any> = Primitive | EnumConstructor | Constructor | Func | View<V> | undefined;\ntype ViewRecord<V = any> = Partial<Record<keyof V, ViewType>>;\n\nconst ignore = Symbol('view.ignore');\nconst keep = Symbol('view.keep');\nconst json = Symbol('view.json');\nconst spread = 'view.spread';\n\nexport const toViewer = (key: string, value: ViewType): Viewer =>\n choose(value)\n .is.not.defined(v => v, { key, f: () => undefined } as Viewer)\n .type(isBoolean, b => ({ key, f: () => b }))\n .equals(ignore, { key, f: () => undefined })\n .equals(keep, { key, f: (a: any) => traverse(a, key) })\n .equals(json, { key, f: (a: any) => asJson(traverse(a, key)) })\n .type(isString, s => ({ key, f: (a: any) => traverse(a, s) }))\n .type(isEnumConstructor, c => ({\n key,\n f: (a, key) => use(traverse(a, key), v => (isArray(v) ? c.byIds(v) : c.byId(v as Id))),\n }))\n .type(isConstructor, c => ({\n key,\n f: (a, key) => use(traverse(a, key), v => (isArray(v) ? v.map(i => optional(c, i)) : optional(c, v))),\n }))\n .type(isSimpleView, f => ({ key, f: (a: any) => ifDefined(traverse(a, key), v => f.from(v)) }))\n .type(isFunction, f => ({ key, f }))\n .else(v => ({ key, f: () => v }));\n\nconst optional = (c: Constructor, v: any) =>\n ifDefined(\n v,\n i => new c(i),\n () => v\n );\n\nconst toViewers = (views: ViewRecord): Viewer[] =>\n meta(views)\n .entries<ViewType>()\n .map(([k, v]) => toViewer(k, v));\n\nexport class View<V = any> {\n constructor(\n private views = {} as ViewRecord<V>,\n readonly startsFrom: 'scratch' | 'source' = 'scratch',\n readonly viewers: Viewer[] = toViewers(views)\n ) {}\n\n get fromSource(): View<V> {\n return new View(this.views, 'source', this.viewers);\n }\n\n from<T = unknown>(source: PageList<T>): PageList<V>;\n from<T = unknown>(source: List<T>): List<V>;\n from<T = unknown>(source: T[]): V[];\n from<T = unknown>(source: T): V;\n from<T = unknown>(source: PageList<T> | List<T> | T[] | T): PageList<V> | List<V> | V[] | V {\n if (isPageList(source))\n return toPageList(\n source.map(s => this.reduce(s)),\n source.options\n );\n if (isArray(source)) return source.map(s => this.reduce(s));\n return this.reduce(source);\n }\n\n same = (one?: unknown, another?: unknown): boolean => isEqual(this.from(one), this.from(another));\n\n private reduce = (source: any): any =>\n use(asJson(source), src =>\n this.viewers.reduce(\n (acc, v) => (v.key === spread ? { ...acc, ...asJson(v.f(src, v.key)) } : typesJson.set(acc, v.key, v.f(src, v.key))),\n this.startsFrom === 'scratch' ? {} : src\n )\n );\n}\n\nexport const isSimpleView = (a: unknown): a is View => a instanceof View;\n\nexport const view = <V = any>(views: ViewRecord<DontInfer<V>>): View<V> => new View<V>(views);\n\nexport const views = {\n ignore,\n keep,\n json,\n spread,\n skip: ignore,\n value: (value: unknown) => () => value,\n or: {\n key: (altKey: string) => (a: unknown, key?: string) => traverse(a, key) ?? traverse(a, altKey),\n value: (altValue: unknown) => (a: unknown, key?: string) => traverse(a, key) ?? altValue,\n func: (altFunc: Func) => (a: unknown, key?: string) => traverse(a, key) ?? altFunc(a, key),\n },\n};\n\n// spread: (a: any, key: string) => ({...a, ...(use(traverse(a, key), v => isObject(v) ? v : ({[key]: v})))}),\n"],"mappings":"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","names":["json","key","views"]}
@@ -1,54 +0,0 @@
1
- import {
2
- keys,
3
- values
4
- } from "./chunk-4VZHB642.mjs";
5
- import {
6
- toList
7
- } from "./chunk-HOVTNDHS.mjs";
8
- import {
9
- toArray
10
- } from "./chunk-CO2AFYVD.mjs";
11
- import {
12
- asString
13
- } from "./chunk-BDA5LB4S.mjs";
14
- import {
15
- on,
16
- use
17
- } from "./chunk-ZPNFXK7Y.mjs";
18
-
19
- // src/utils/Promise.ts
20
- var resolve = (subject) => Promise.resolve(subject);
21
- var reject = (e) => Promise.reject(e);
22
- var tuple = {
23
- 2: (first, second) => Promise.all([first, second]),
24
- 3: (first, second, third) => Promise.all([first, second, third]),
25
- 4: (first, second, third, forth) => Promise.all([first, second, third, forth]),
26
- 5: (first, second, third, forth, fifth) => Promise.all([first, second, third, forth, fifth]),
27
- all: (first, second) => Promise.all([first, Promise.all(second)]),
28
- spread: (first, ...second) => Promise.all([first, Promise.all(toArray(second))]),
29
- list: (list) => Promise.all([...list]).then(toList),
30
- settled: (list) => Promise.allSettled([...list]).then((rs) => ({
31
- fulfilled: toList(...rs.filter((r) => r.status === "fulfilled").map((r) => r.value)),
32
- rejected: toList(...rs.filter((r) => r.status === "rejected").map((r) => asString(r.reason)))
33
- })),
34
- object: (obj) => use(keys(obj), (ks) => tuple.list(values(obj)).then((vs) => vs.reduce((acc, v, i) => on(acc, (a) => a[ks[i]] = v), {})))
35
- };
36
- var tuple2 = tuple[2];
37
- var tuple3 = tuple[3];
38
- var tuple4 = tuple[4];
39
- var tuple5 = tuple[5];
40
- var tupleO = tuple.object;
41
- var settled = tuple.settled;
42
-
43
- export {
44
- resolve,
45
- reject,
46
- tuple,
47
- tuple2,
48
- tuple3,
49
- tuple4,
50
- tuple5,
51
- tupleO,
52
- settled
53
- };
54
- //# sourceMappingURL=chunk-LUHR6633.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/Promise.ts"],"sourcesContent":["import { toArray } from '../types/Array';\nimport { ErrorOrigin } from '../types/ErrorOrigin';\nimport { List, toList } from '../types/List';\nimport { asString } from '../types/Text';\nimport { on, use } from '../types/Constructor';\nimport { keys, values } from '../types/Object';\n\ntype Pro<A> = A | PromiseLike<A>;\ntype Aw<A> = Awaited<A>;\n\nexport const resolve = <S = unknown>(subject: S | PromiseLike<S>): Promise<S> => Promise.resolve(subject);\nexport const reject = <S = never>(e: ErrorOrigin): Promise<S> => Promise.reject(e);\n\nexport const tuple = {\n 2: <F, S>(first: Pro<F>, second: Pro<S>): Promise<[Aw<F>, Aw<S>]> => Promise.all([first, second]),\n 3: <F, S, T>(first: Pro<F>, second: Pro<S>, third: Pro<T>): Promise<[Aw<F>, Aw<S>, Aw<T>]> => Promise.all([first, second, third]),\n 4: <F, S, T, Fo>(first: Pro<F>, second: Pro<S>, third: Pro<T>, forth: Pro<Fo>): Promise<[Aw<F>, Aw<S>, Aw<T>, Aw<Fo>]> =>\n Promise.all([first, second, third, forth]),\n 5: <F, S, T, Fo, Fi>(first: Pro<F>, second: Pro<S>, third: Pro<T>, forth: Pro<Fo>, fifth: Pro<Fi>): Promise<[Aw<F>, Aw<S>, Aw<T>, Aw<Fo>, Aw<Fi>]> =>\n Promise.all([first, second, third, forth, fifth]),\n all: <F, S>(first: Pro<F>, second: Pro<S>[]): Promise<[Aw<F>, Aw<S[]>]> => Promise.all([first, Promise.all(second)]),\n spread: <F, S>(first: Pro<F>, ...second: Pro<S>[]): Promise<[Aw<F>, Aw<S[]>]> => Promise.all([first, Promise.all(toArray(second))]),\n list: <T>(list: Pro<T>[]): Promise<List<Aw<T>>> => Promise.all([...list]).then(toList),\n settled: <T>(list: Pro<T>[]): Promise<{ fulfilled: List<Aw<T>>; rejected: List<string> }> =>\n Promise.allSettled([...list]).then(rs => ({\n fulfilled: toList(...rs.filter(r => r.status === 'fulfilled').map(r => r.value)),\n rejected: toList(...rs.filter(r => r.status === 'rejected').map(r => asString(r.reason))),\n })),\n object: <T extends Record<string, unknown>>(obj: T): Promise<{ [K in keyof T]: Aw<T[K]> }> =>\n use(keys(obj), ks => tuple.list(values(obj)).then(vs => vs.reduce((acc: any, v, i) => on(acc, a => (a[ks[i]] = v)), {}) as { [K in keyof T]: Aw<T[K]> })),\n};\n\nexport const tuple2 = tuple[2];\nexport const tuple3 = tuple[3];\nexport const tuple4 = tuple[4];\nexport const tuple5 = tuple[5];\nexport const tupleO = tuple.object;\nexport const settled = tuple.settled;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAUO,IAAM,UAAU,CAAc,YAA4C,QAAQ,QAAQ,OAAO;AACjG,IAAM,SAAS,CAAY,MAA+B,QAAQ,OAAO,CAAC;AAE1E,IAAM,QAAQ;AAAA,EACnB,GAAG,CAAO,OAAe,WAA4C,QAAQ,IAAI,CAAC,OAAO,MAAM,CAAC;AAAA,EAChG,GAAG,CAAU,OAAe,QAAgB,UAAkD,QAAQ,IAAI,CAAC,OAAO,QAAQ,KAAK,CAAC;AAAA,EAChI,GAAG,CAAc,OAAe,QAAgB,OAAe,UAC7D,QAAQ,IAAI,CAAC,OAAO,QAAQ,OAAO,KAAK,CAAC;AAAA,EAC3C,GAAG,CAAkB,OAAe,QAAgB,OAAe,OAAgB,UACjF,QAAQ,IAAI,CAAC,OAAO,QAAQ,OAAO,OAAO,KAAK,CAAC;AAAA,EAClD,KAAK,CAAO,OAAe,WAAgD,QAAQ,IAAI,CAAC,OAAO,QAAQ,IAAI,MAAM,CAAC,CAAC;AAAA,EACnH,QAAQ,CAAO,UAAkB,WAAgD,QAAQ,IAAI,CAAC,OAAO,QAAQ,IAAI,QAAQ,MAAM,CAAC,CAAC,CAAC;AAAA,EAClI,MAAM,CAAI,SAAyC,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,MAAM;AAAA,EACrF,SAAS,CAAI,SACX,QAAQ,WAAW,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,SAAO;AAAA,IACxC,WAAW,OAAO,GAAG,GAAG,OAAO,OAAK,EAAE,WAAW,WAAW,EAAE,IAAI,OAAK,EAAE,KAAK,CAAC;AAAA,IAC/E,UAAU,OAAO,GAAG,GAAG,OAAO,OAAK,EAAE,WAAW,UAAU,EAAE,IAAI,OAAK,SAAS,EAAE,MAAM,CAAC,CAAC;AAAA,EAC1F,EAAE;AAAA,EACJ,QAAQ,CAAoC,QAC1C,IAAI,KAAK,GAAG,GAAG,QAAM,MAAM,KAAK,OAAO,GAAG,CAAC,EAAE,KAAK,QAAM,GAAG,OAAO,CAAC,KAAU,GAAG,MAAM,GAAG,KAAK,OAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAE,GAAG,CAAC,CAAC,CAAiC,CAAC;AAC5J;AAEO,IAAM,SAAS,MAAM,CAAC;AACtB,IAAM,SAAS,MAAM,CAAC;AACtB,IAAM,SAAS,MAAM,CAAC;AACtB,IAAM,SAAS,MAAM,CAAC;AACtB,IAAM,SAAS,MAAM;AACrB,IAAM,UAAU,MAAM;","names":[]}