@thisisagile/easy 17.25.2 → 17.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/index.mjs +3476 -115
  2. package/dist/index.mjs.map +1 -1
  3. package/package.json +1 -1
  4. package/dist/chunk-27MBNT3X.mjs +0 -25
  5. package/dist/chunk-27MBNT3X.mjs.map +0 -1
  6. package/dist/chunk-35SXXNQO.mjs +0 -20
  7. package/dist/chunk-35SXXNQO.mjs.map +0 -1
  8. package/dist/chunk-3M6NLHSO.mjs +0 -18
  9. package/dist/chunk-3M6NLHSO.mjs.map +0 -1
  10. package/dist/chunk-4CRBLF44.mjs +0 -56
  11. package/dist/chunk-4CRBLF44.mjs.map +0 -1
  12. package/dist/chunk-4K4X43SV.mjs +0 -164
  13. package/dist/chunk-4K4X43SV.mjs.map +0 -1
  14. package/dist/chunk-4LVZOQ6O.mjs +0 -58
  15. package/dist/chunk-4LVZOQ6O.mjs.map +0 -1
  16. package/dist/chunk-4N72FQFX.mjs +0 -16
  17. package/dist/chunk-4N72FQFX.mjs.map +0 -1
  18. package/dist/chunk-5AV36UKS.mjs +0 -20
  19. package/dist/chunk-5AV36UKS.mjs.map +0 -1
  20. package/dist/chunk-5DJPREIN.mjs +0 -142
  21. package/dist/chunk-5DJPREIN.mjs.map +0 -1
  22. package/dist/chunk-5ZHEIMZ7.mjs +0 -79
  23. package/dist/chunk-5ZHEIMZ7.mjs.map +0 -1
  24. package/dist/chunk-6QFV73AS.mjs +0 -55
  25. package/dist/chunk-6QFV73AS.mjs.map +0 -1
  26. package/dist/chunk-7DNADCD4.mjs +0 -53
  27. package/dist/chunk-7DNADCD4.mjs.map +0 -1
  28. package/dist/chunk-ABGKS4KE.mjs +0 -297
  29. package/dist/chunk-ABGKS4KE.mjs.map +0 -1
  30. package/dist/chunk-ADJAEGCT.mjs +0 -21
  31. package/dist/chunk-ADJAEGCT.mjs.map +0 -1
  32. package/dist/chunk-AGTB4HMP.mjs +0 -11
  33. package/dist/chunk-AGTB4HMP.mjs.map +0 -1
  34. package/dist/chunk-AINW2476.mjs +0 -90
  35. package/dist/chunk-AINW2476.mjs.map +0 -1
  36. package/dist/chunk-BDA5LB4S.mjs +0 -29
  37. package/dist/chunk-BDA5LB4S.mjs.map +0 -1
  38. package/dist/chunk-BIEWRRM7.mjs +0 -26
  39. package/dist/chunk-BIEWRRM7.mjs.map +0 -1
  40. package/dist/chunk-BIHKQLEE.mjs +0 -40
  41. package/dist/chunk-BIHKQLEE.mjs.map +0 -1
  42. package/dist/chunk-CO2AFYVD.mjs +0 -43
  43. package/dist/chunk-CO2AFYVD.mjs.map +0 -1
  44. package/dist/chunk-CSAPGLC7.mjs +0 -94
  45. package/dist/chunk-CSAPGLC7.mjs.map +0 -1
  46. package/dist/chunk-CSHFNF34.mjs +0 -35
  47. package/dist/chunk-CSHFNF34.mjs.map +0 -1
  48. package/dist/chunk-CWWAGBYB.mjs +0 -46
  49. package/dist/chunk-CWWAGBYB.mjs.map +0 -1
  50. package/dist/chunk-DEJ7A5PY.mjs +0 -43
  51. package/dist/chunk-DEJ7A5PY.mjs.map +0 -1
  52. package/dist/chunk-DXQSIBC7.mjs +0 -13
  53. package/dist/chunk-DXQSIBC7.mjs.map +0 -1
  54. package/dist/chunk-F34HSIZ5.mjs +0 -68
  55. package/dist/chunk-F34HSIZ5.mjs.map +0 -1
  56. package/dist/chunk-GADZDWP3.mjs +0 -20
  57. package/dist/chunk-GADZDWP3.mjs.map +0 -1
  58. package/dist/chunk-GB2P3UEO.mjs +0 -82
  59. package/dist/chunk-GB2P3UEO.mjs.map +0 -1
  60. package/dist/chunk-GCY5A63A.mjs +0 -25
  61. package/dist/chunk-GCY5A63A.mjs.map +0 -1
  62. package/dist/chunk-HL2BC7Z2.mjs +0 -76
  63. package/dist/chunk-HL2BC7Z2.mjs.map +0 -1
  64. package/dist/chunk-HULI73W2.mjs +0 -37
  65. package/dist/chunk-HULI73W2.mjs.map +0 -1
  66. package/dist/chunk-J3DYDXXF.mjs +0 -175
  67. package/dist/chunk-J3DYDXXF.mjs.map +0 -1
  68. package/dist/chunk-JMIXHXWM.mjs +0 -23
  69. package/dist/chunk-JMIXHXWM.mjs.map +0 -1
  70. package/dist/chunk-KJVTSC6I.mjs +0 -24
  71. package/dist/chunk-KJVTSC6I.mjs.map +0 -1
  72. package/dist/chunk-L63NPT4K.mjs +0 -39
  73. package/dist/chunk-L63NPT4K.mjs.map +0 -1
  74. package/dist/chunk-LYRXR6GZ.mjs +0 -54
  75. package/dist/chunk-LYRXR6GZ.mjs.map +0 -1
  76. package/dist/chunk-MBRLKMEQ.mjs +0 -54
  77. package/dist/chunk-MBRLKMEQ.mjs.map +0 -1
  78. package/dist/chunk-MDXL65W4.mjs +0 -49
  79. package/dist/chunk-MDXL65W4.mjs.map +0 -1
  80. package/dist/chunk-O2YZM3KB.mjs +0 -70
  81. package/dist/chunk-O2YZM3KB.mjs.map +0 -1
  82. package/dist/chunk-OFGI5FLG.mjs +0 -11
  83. package/dist/chunk-OFGI5FLG.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-PIQ5Z4RB.mjs +0 -18
  89. package/dist/chunk-PIQ5Z4RB.mjs.map +0 -1
  90. package/dist/chunk-PIRWVOO2.mjs +0 -7
  91. package/dist/chunk-PIRWVOO2.mjs.map +0 -1
  92. package/dist/chunk-QBHHLIZY.mjs +0 -51
  93. package/dist/chunk-QBHHLIZY.mjs.map +0 -1
  94. package/dist/chunk-RNLFG4YX.mjs +0 -20
  95. package/dist/chunk-RNLFG4YX.mjs.map +0 -1
  96. package/dist/chunk-S6WR4MXU.mjs +0 -324
  97. package/dist/chunk-S6WR4MXU.mjs.map +0 -1
  98. package/dist/chunk-SDO3B3BQ.mjs +0 -45
  99. package/dist/chunk-SDO3B3BQ.mjs.map +0 -1
  100. package/dist/chunk-SJ4YFZKO.mjs +0 -21
  101. package/dist/chunk-SJ4YFZKO.mjs.map +0 -1
  102. package/dist/chunk-SJGQU3OG.mjs +0 -15
  103. package/dist/chunk-SJGQU3OG.mjs.map +0 -1
  104. package/dist/chunk-SSROJBD5.mjs +0 -30
  105. package/dist/chunk-SSROJBD5.mjs.map +0 -1
  106. package/dist/chunk-SW2OCUH3.mjs +0 -10
  107. package/dist/chunk-SW2OCUH3.mjs.map +0 -1
  108. package/dist/chunk-TCQRHKGS.mjs +0 -20
  109. package/dist/chunk-TCQRHKGS.mjs.map +0 -1
  110. package/dist/chunk-TNHYFGFF.mjs +0 -60
  111. package/dist/chunk-TNHYFGFF.mjs.map +0 -1
  112. package/dist/chunk-TYODLVCG.mjs +0 -23
  113. package/dist/chunk-TYODLVCG.mjs.map +0 -1
  114. package/dist/chunk-U5VBBUQ2.mjs +0 -48
  115. package/dist/chunk-U5VBBUQ2.mjs.map +0 -1
  116. package/dist/chunk-UYDZZAEK.mjs +0 -11
  117. package/dist/chunk-UYDZZAEK.mjs.map +0 -1
  118. package/dist/chunk-VIPHIYGL.mjs +0 -107
  119. package/dist/chunk-VIPHIYGL.mjs.map +0 -1
  120. package/dist/chunk-VXVOY44M.mjs +0 -40
  121. package/dist/chunk-VXVOY44M.mjs.map +0 -1
  122. package/dist/chunk-W64ACIZO.mjs +0 -50
  123. package/dist/chunk-W64ACIZO.mjs.map +0 -1
  124. package/dist/chunk-WJZFE5NE.mjs +0 -17
  125. package/dist/chunk-WJZFE5NE.mjs.map +0 -1
  126. package/dist/chunk-WM2FXAWF.mjs +0 -134
  127. package/dist/chunk-WM2FXAWF.mjs.map +0 -1
  128. package/dist/chunk-WSBULPUZ.mjs +0 -30
  129. package/dist/chunk-WSBULPUZ.mjs.map +0 -1
  130. package/dist/chunk-WSG55HKA.mjs +0 -94
  131. package/dist/chunk-WSG55HKA.mjs.map +0 -1
  132. package/dist/chunk-YPVIK4SP.mjs +0 -57
  133. package/dist/chunk-YPVIK4SP.mjs.map +0 -1
  134. package/dist/chunk-ZHXKBOK2.mjs +0 -22
  135. package/dist/chunk-ZHXKBOK2.mjs.map +0 -1
  136. package/dist/chunk-ZPNFXK7Y.mjs +0 -36
  137. package/dist/chunk-ZPNFXK7Y.mjs.map +0 -1
  138. package/dist/chunk-ZSLYORET.mjs +0 -31
  139. package/dist/chunk-ZSLYORET.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,324 +0,0 @@
1
- import {
2
- isValidatable
3
- } from "./chunk-OFGI5FLG.mjs";
4
- import {
5
- isResults,
6
- toResults
7
- } from "./chunk-CSHFNF34.mjs";
8
- import {
9
- toResult
10
- } from "./chunk-RNLFG4YX.mjs";
11
- import {
12
- reject,
13
- resolve
14
- } from "./chunk-MBRLKMEQ.mjs";
15
- import {
16
- Exception
17
- } from "./chunk-BIHKQLEE.mjs";
18
- import {
19
- isValue
20
- } from "./chunk-WSBULPUZ.mjs";
21
- import {
22
- text
23
- } from "./chunk-4K4X43SV.mjs";
24
- import {
25
- isEnum
26
- } from "./chunk-F34HSIZ5.mjs";
27
- import {
28
- meta
29
- } from "./chunk-4LVZOQ6O.mjs";
30
- import {
31
- toList
32
- } from "./chunk-ABGKS4KE.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
- Try,
317
- tryTo,
318
- choose,
319
- asResults,
320
- validate,
321
- validateReject,
322
- isValid
323
- };
324
- //# sourceMappingURL=chunk-S6WR4MXU.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,IAAe,MAAf,MAAe,KAAwC;AAAA,EAC5D,KAAK;AAAA,IACH,SAAS,CAAC,SAAoC,KAAK,OAAO,OAAK,UAAU,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,IAC5F,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,IACxF,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,SAAS,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO;AAAA,IACjG,MAAM,CAAC,SAAoC,KAAK,OAAO,OAAK,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,IACtF,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,CAAC,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,IACxF,KAAK;AAAA,MACH,SAAS,CAAC,SAAoC,KAAK,OAAO,OAAK,CAAC,UAAU,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,MAC7F,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,MACzF,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,CAAC,SAAS,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO;AAAA,IACpG;AAAA,EACF;AAAA,EAEA,KAAK,KAAK;AAAA,EAQV,OAAO,KAAK,CAAI,MAAuB,SAA4B;AACjE,QAAI;AACF,YAAM,MAAM,MAAM,GAAG,GAAG,IAAI;AAC5B,aAAO,IAAI,QAAQ,eAAe,OAAM,IAAI,QAAQ,GAAG;AAAA,IACzD,SAAS,GAAG;AACV,aAAO,IAAI,QAAQ,CAAU;AAAA,IAC/B;AAAA,EACF;AAiBF;AAEA,IAAM,UAAN,cAAyB,IAAO;AAAA,EAC9B,YAAqB,OAAU;AAC7B,UAAM;AADa;AAAA,EAErB;AAAA,EAEA,IAAI,QAAe;AACjB,UAAM,IAAI,MAAM,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,IAAO,GAAgC;AACrC,WAAO,MAAS,GAAG,KAAK,KAAK;AAAA,EAC/B;AAAA,EAEA,QAAQ,GAAoC;AAC1C,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,MAA0B,GAAoC;AACxE,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,GAA0B;AAC/B,WAAO,MAAM,MAAM;AACjB,QAAE,KAAK,KAAK;AACZ,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,WAAqC;AAC1C,WAAO,MAAM,MAAM;AACjB,UAAI,UAAU,KAAK,KAAK;AAAG,eAAO;AAClC,YAAM,IAAI,MAAM,mBAAmB,UAAU,SAAS,CAAC,WAAW;AAAA,IACpE,CAAC;AAAA,EACH;AAAA,EAEA,GAAG,OAAkB;AACnB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,OAAO,OAA6B;AAClC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAQ,QAA6B;AACnC,WAAO,KAAK;AAAA,EACd;AACF;AAEA,IAAM,UAAN,MAAM,iBAAmB,IAAO;AAAA,EAC9B,YAAqB,OAAc;AACjC,UAAM;AADa;AAAA,EAErB;AAAA,EAEA,IAAI,QAAW;AACb,UAAM,KAAK;AAAA,EACb;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,IAAO,GAAgC;AACrC,WAAO,IAAI,SAAW,KAAK,KAAK;AAAA,EAClC;AAAA,EAEA,QAAW,GAAoC;AAC7C,WAAO,MAAS,GAAG,KAAK,KAAK;AAAA,EAC/B;AAAA,EAEA,YAAe,MAA0B,GAAoC;AAC3E,WAAO,MAAM,MAAO,KAAK,iBAAiB,OAAO,KAAK,QAAQ,CAAC,IAAI,IAAK;AAAA,EAC1E;AAAA,EAEA,OAAO,GAA0B;AAC/B,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,WAAqC;AAC1C,WAAO;AAAA,EACT;AAAA,EAEA,GAAG,OAAkB;AACnB,WAAO,MAAM,KAAK;AAAA,EACpB;AAAA,EAEA,OAAO,OAA6B;AAClC,WAAO,MAAM,KAAK;AAAA,EACpB;AAAA,EAEA,QAAQ,OAA4B;AAClC,UAAM,YAAY,KAAK;AAAA,EACzB;AACF;AAEO,IAAM,QAAQ,CAAI,MAAuB,SAAoB,IAAI,GAAM,GAAG,GAAG,IAAI;;;ACnJxF,IAAM,cAAN,MAAqB;AAAA,EAenB,YAAqB,GAAM;AAAN;AAAA,EAAO;AAAA,EAd5B,KAAK;AAAA,IACH,SAAS,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,UAAU,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG;AAAA,IAC5H,OAAO,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG;AAAA,IACxH,OAAO,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG;AAAA,IACjI,IAAI,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,MAAM,MAAM,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,GAAG,GAAG;AAAA,IACpI,KAAK;AAAA,MACH,SAAS,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG;AAAA,MAC7H,OAAO,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG;AAAA,MACzH,OAAO,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG;AAAA,MAClI,IAAI,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,GAAG,GAAG;AAAA,IACvI;AAAA,EACF;AAAA,EACA,KAAK,KAAK;AAAA,EAIV,KAAQ,MAAoB,KAA4B;AACtD,WAAO,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,MAAM,GAAG;AAAA,EAC9C;AAAA,EAEA,KAAqB,OAAqB,KAA6B;AACrE,WAAO,IAAI,KAAW,KAAK,CAAC,EAAE,KAAQ,OAAO,GAAG;AAAA,EAClD;AAAA,EAEA,OAAU,OAAU,KAA4B;AAC9C,WAAO,IAAI,KAAW,KAAK,CAAC,EAAE,OAAO,OAAO,GAAG;AAAA,EACjD;AACF;AAEA,IAAM,OAAN,MAAM,MAAqB;AAAA,EAezB,YACY,OACA,SACV;AAFU;AACA;AAAA,EACT;AAAA,EAjBH,KAAK;AAAA,IACH,SAAS,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,UAAU,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG;AAAA,IACjI,OAAO,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,QAAQ,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG;AAAA,IAC7H,OAAO,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,SAAS,KAAK,KAAK,KAAK,CAAC,EAAE,SAAS,GAAG;AAAA,IACtI,IAAI,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,MAAM,MAAM,KAAK,KAAK,EAAE,SAAS,KAAK,KAAK,GAAG,GAAG;AAAA,IAC7I,KAAK;AAAA,MACH,SAAS,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG;AAAA,MAClI,OAAO,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,CAAC,QAAQ,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG;AAAA,MAC9H,OAAO,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,KAAK,CAAC,EAAE,SAAS,GAAG;AAAA,MACvI,IAAI,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,KAAK,KAAK,EAAE,SAAS,KAAK,KAAK,GAAG,GAAG;AAAA,IAChJ;AAAA,EACF;AAAA,EACA,KAAK,KAAK;AAAA,EAOV,KAAK,MAAoB,KAA4B;AACnD,WAAO,MAAM,MAAM,KAAK,KAAK,EAC1B,GAAG,KAAK,EACR,IAAI,MAAM,MAAM,KAAK,KAAK,KAAK,CAAC,EAChC,IAAI,SAAO,IAAI,MAAM,KAAK,OAAO,GAAG,CAAe,EACnD,GAAG,IAAI;AAAA,EACZ;AAAA,EAEA,KAAQ,OAAqB,KAA6B;AACxD,WAAO,MAAM,OAAO,KAAK,KAAK,EAC3B,GAAG,KAAK,EACR,IAAI,MAAM,IAAI,KAAK,KAAqB,CAAC,EACzC,IAAI,SAAO,IAAI,MAAM,KAAK,OAAO,GAAG,CAAe,EACnD,GAAG,IAAI;AAAA,EACZ;AAAA,EAEA,OAAO,OAAU,KAA4B;AAC3C,WAAO,KAAK,KAAK,KAAK,UAAU,OAAO,GAAG;AAAA,EAC5C;AAAA,EAEA,KAAK,KAAmB;AACtB,WAAO,MAAY,KAAK,KAAK,KAAK;AAAA,EACpC;AACF;AAEA,IAAM,QAAN,cAA0B,KAAW;AAAA,EAenC,YACY,OACA,SACV;AACA,UAAM,OAAO,OAAO;AAHV;AACA;AAAA,EAGZ;AAAA,EAnBA,KAAK;AAAA,IACH,SAAS,CAAC,OAAyB,SAAgC;AAAA,IACnE,OAAO,CAAC,OAAyB,SAAgC;AAAA,IACjE,OAAO,CAAC,OAAyB,SAAgC;AAAA,IACjE,IAAI,CAAC,OAAyB,SAAgC;AAAA,IAC9D,KAAK;AAAA,MACH,SAAS,CAAC,OAAyB,SAAgC;AAAA,MACnE,OAAO,CAAC,OAAyB,SAAgC;AAAA,MACjE,OAAO,CAAC,OAAyB,SAAgC;AAAA,MACjE,IAAI,CAAC,OAAwB,SAAgC;AAAA,IAC/D;AAAA,EACF;AAAA,EACA,KAAK,KAAK;AAAA,EASV,KAAK,MAAoB,KAAsB;AAC7C,WAAO;AAAA,EACT;AAAA,EAEA,KAAQ,OAAqB,KAA6B;AACxD,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAU,KAA4B;AAC3C,WAAO;AAAA,EACT;AAAA,EAEA,KAAK,KAAmB;AACtB,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,SAAS,CAAI,UAAa,IAAI,YAAe,KAAK;;;ACtGxD,IAAM,YAAY,CAAC,SAAkB,UAAgB,UAA2B,CAAC,MACtF,UAAU,SAAS,KAAK,QAAQ,EAAE,MAAM,SAAS,OAAO,GAAG,OAAO,OAAO,CAAC,CAAC;AAE7E,IAAM,aAAa,CAAC,YAClB,KAAK,OAAO,EACT,KAAsB,YAAY,EAClC,OAAO,CAAC,MAAM,OAAO,KAAK,IAAI,EAAE,GAAG,OAAkB,CAAC;AAE3D,IAAM,eAAe,CAAC,GAAc,YAA+B;AACjE,MAAI;AACF,UAAM,SAAS,WAAY,QAAgB,EAAE,QAAQ,CAAC,IAAK,QAAgB,EAAE,QAAQ,EAAE,IAAK,QAAgB,EAAE,QAAQ;AACtH,UAAM,aAAa,EAAE,WAAW,MAAM;AACtC,WAAO,UAAU,UAAU,IACvB,aACA,CAAC,aACC,UAAU,SAAS,EAAE,MAAM;AAAA,MACzB,GAAG;AAAA,MACH;AAAA,IACF,CAAC,IACD,UAAU;AAAA,EAClB,SAAS,GAAG;AACV,WAAO,UAAU,SAAS,SAAS,CAAC,CAAC;AAAA,EACvC;AACF;AAEA,IAAM,cAAc,CAAC,YACnB,WAAW,OAAO,EACf,IAAI,QAAM,aAAa,IAAI,OAAO,CAAC,EACnC,OAAO,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC;AAEjD,IAAM,WAAW,CAAC,YACvB,OAAO,OAAO,EACX,GAAG,IAAI;AAAA,EACN,OAAK;AAAA,EACL,MAAM,UAAU,yBAAyB;AAC3C,EACC,KAAK,QAAQ,OAAM,EAAE,UAAU,UAAU,IAAI,UAAU,GAAG,6BAA6B,CAAE,EACzF,KAAK,SAAS,OAAM,EAAE,UAAU,UAAU,IAAI,UAAU,GAAG,6BAA6B,CAAE,EAC1F,KAAK,SAAS,OAAK,EAAE,IAAI,OAAK,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC,EAC/F,KAAK,eAAe,OAAK,YAAY,CAAC,CAAC,EACvC,KAAK,UAAU,CAAC;AAEd,IAAM,iBAAiB,CAAI,YAA2B,KAAK,OAAO,EAAE,IAAI,QAAQ,OAAO;AAEvF,IAAM,UAAU,CAAI,MAAkB,SAAS,CAAC,EAAE;;;ACrDlD,IAAM,OAAN,MAAM,MAAQ;AAAA,EACnB,YACW,SACA,QAAQ,MACT,SACR;AAHS;AACA;AACD;AAAA,EACP;AAAA,EAEH,IAAI,MAAe;AACjB,WAAO,KAAK,MAAM,CAAC,KAAK,KAAK;AAAA,EAC/B;AAAA,EAEA,IAAI,MAAe;AACjB,WAAO,KAAK,MAAM,KAAK,KAAK;AAAA,EAC9B;AAAA,EAEA,IAAI,YAAqB;AACvB,WAAO,KAAK,MAAM,KAAK,UAAU,UAAU,KAAK,OAAO,CAAC;AAAA,EAC1D;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO,KAAK,MAAM,KAAK,UAAU,QAAQ,KAAK,OAAO,CAAC;AAAA,EACxD;AAAA,EAEA,IAAI,SAAkB;AACpB,WAAO,KAAK,MAAM,KAAK,UAAU,CAAC,CAAC,KAAK,OAAO;AAAA,EACjD;AAAA,EAEA,IAAI,UAAmB;AACrB,SAAK,UAAU,SAAS,KAAK,OAAO;AACpC,WAAO,KAAK,MAAM,KAAK,UAAU,KAAK,QAAQ,OAAO;AAAA,EACvD;AAAA,EAEA,aAAa,CAAI,MAA+B,KAAK,MAAM,KAAK,UAAU,KAAK,mBAAmB,CAAC;AAAA,EAEnG,OAAO,CAAC,SAAgC,KAAK,MAAM,KAAK,UAAU,MAAM,MAAM,KAAK,OAAO,CAAC;AAAA,EAE3F,WAAW,CAAC,aAAyC,KAAK,MAAM,KAAK,UAAU,UAAU,MAAM,UAAU,KAAK,OAAO,CAAC,CAAC;AAAA,EAEvH,KAAK,IAAI,UAAwB,KAAK,MAAM,KAAK,UAAU,KAAK,KAAK,SAAS,QAAQ,GAAG,KAAK,CAAC,CAAC;AAAA,EAEhG,KAAK,CAAC,SAAqB,KAAK,MAAM,KAAK,WAAW,KAAK,YAAY,KAAK;AAAA,EAE5E,SAAS,CAAC,UACR,CAAC,KAAK,QAAQ,QAAQ,KAAK,OAAyB,IAAI,OAAO,MAAM,OAAO,KAAK,OAAO,KAAK,KAAK,WAAW,UAAU,OAAO;AAAA,EAEhI,UAAU,CAAC,MAA+C,QAAQ,CAAC,KAAK,QAAQ,KAAK,UAAU,EAAE,KAAK,OAAO,CAAC;AAAA,EAEpG,QAAQ,CAAC,SAAS,SAAkB,IAAI,MAAK,KAAK,SAAS,QAAQ,KAAK,OAAO;AAC3F;AAEO,IAAM,OAAO,CAAI,YAAwB,IAAI,KAAQ,OAAO;","names":[]}
@@ -1,45 +0,0 @@
1
- import {
2
- reject
3
- } from "./chunk-MBRLKMEQ.mjs";
4
- import {
5
- Exception
6
- } from "./chunk-BIHKQLEE.mjs";
7
-
8
- // src/types/Gateway.ts
9
- var Gateway = class {
10
- all(options) {
11
- return reject(Exception.IsNotImplemented);
12
- }
13
- byId(id, options) {
14
- return reject(Exception.IsNotImplemented);
15
- }
16
- by(_key, _value, _options) {
17
- return reject(Exception.IsNotImplemented);
18
- }
19
- byIds(..._ids) {
20
- return reject(Exception.IsNotImplemented);
21
- }
22
- search(q, options) {
23
- return reject(Exception.IsNotImplemented);
24
- }
25
- filter(options) {
26
- return reject(Exception.IsNotImplemented);
27
- }
28
- exists(id, options) {
29
- return reject(Exception.IsNotImplemented);
30
- }
31
- add(item, options) {
32
- return reject(Exception.IsNotImplemented);
33
- }
34
- update(item, options) {
35
- return reject(Exception.IsNotImplemented);
36
- }
37
- remove(id, options) {
38
- return reject(Exception.IsNotImplemented);
39
- }
40
- };
41
-
42
- export {
43
- Gateway
44
- };
45
- //# sourceMappingURL=chunk-SDO3B3BQ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Gateway.ts"],"sourcesContent":["import { Json, JsonValue } from './Json';\nimport { Id } from './Id';\nimport { Exception } from './Exception';\nimport { PageList, PageOptions } from './PageList';\nimport { List } from './List';\nimport { Optional } from './Types';\nimport { reject } from '../utils/Promise';\n\nexport type FetchOptions = PageOptions;\n\nexport abstract class Gateway<Options = FetchOptions> {\n all(options?: Options): Promise<PageList<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n byId(id: Id, options?: Options): Promise<Optional<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n by(_key: string, _value: JsonValue, _options?: Options): Promise<PageList<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n byIds(..._ids: Id[]): Promise<List<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n filter(options?: Options): Promise<PageList<Json>> {\n return reject(Exception.IsNotImplemented);\n }\n\n exists(id: Id, options?: Options): Promise<boolean> {\n return reject(Exception.IsNotImplemented);\n }\n\n add(item: Json, options?: Options): Promise<Json> {\n return reject(Exception.IsNotImplemented);\n }\n\n update(item: Json, options?: Options): Promise<Json> {\n return reject(Exception.IsNotImplemented);\n }\n\n remove(id: Id, options?: Options): Promise<boolean> {\n return reject(Exception.IsNotImplemented);\n }\n}\n"],"mappings":";;;;;;;;AAUO,IAAe,UAAf,MAA+C;AAAA,EACpD,IAAI,SAA4C;AAC9C,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,KAAK,IAAQ,SAA4C;AACvD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,GAAG,MAAc,QAAmB,UAA6C;AAC/E,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,SAAS,MAAiC;AACxC,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,GAAc,SAA4C;AAC/D,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,SAA4C;AACjD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAAQ,SAAqC;AAClD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,IAAI,MAAY,SAAkC;AAChD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,MAAY,SAAkC;AACnD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAAQ,SAAqC;AAClD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AACF;","names":[]}
@@ -1,21 +0,0 @@
1
- import {
2
- asString
3
- } from "./chunk-BDA5LB4S.mjs";
4
- import {
5
- isString
6
- } from "./chunk-DEJ7A5PY.mjs";
7
-
8
- // src/types/Uuid.ts
9
- import { v4 as uuid } from "uuid";
10
- var toUuid = () => uuid();
11
- var isValidUuid = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i);
12
- var isUuid = (id) => isString(id) && isValidUuid.test(id);
13
- var includeUuid = new RegExp(/\b[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\b/i);
14
- var includesUuid = (value) => includeUuid.test(asString(value));
15
-
16
- export {
17
- toUuid,
18
- isUuid,
19
- includesUuid
20
- };
21
- //# sourceMappingURL=chunk-SJ4YFZKO.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Uuid.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid';\nimport { isString } from './Is';\nimport { asString } from './Text';\n\nexport type Uuid = string;\nexport const toUuid = (): Uuid => uuid();\n\nconst isValidUuid = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i);\nexport const isUuid = (id?: unknown): id is Uuid => isString(id) && isValidUuid.test(id);\n\nconst includeUuid = new RegExp(/\\b[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\\b/i);\nexport const includesUuid = (value?: unknown): boolean => includeUuid.test(asString(value));\n"],"mappings":";;;;;;;;AAAA,SAAS,MAAM,YAAY;AAKpB,IAAM,SAAS,MAAY,KAAK;AAEvC,IAAM,cAAc,IAAI,OAAO,iEAAiE;AACzF,IAAM,SAAS,CAAC,OAA6B,SAAS,EAAE,KAAK,YAAY,KAAK,EAAE;AAEvF,IAAM,cAAc,IAAI,OAAO,8EAA8E;AACtG,IAAM,eAAe,CAAC,UAA6B,YAAY,KAAK,SAAS,KAAK,CAAC;","names":[]}
@@ -1,15 +0,0 @@
1
- import {
2
- isFunc
3
- } from "./chunk-PIRWVOO2.mjs";
4
-
5
- // src/types/Get.ts
6
- var ofGet = (g, ...args) => isFunc(g) ? g(...args) : g;
7
- var ifGet = (pred, valid, invalid) => ofGet(pred) ? ofGet(valid) : ofGet(invalid);
8
- var ofProperty = (t, p) => isFunc(p) ? p(t) : t[p];
9
-
10
- export {
11
- ofGet,
12
- ifGet,
13
- ofProperty
14
- };
15
- //# sourceMappingURL=chunk-SJGQU3OG.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Get.ts"],"sourcesContent":["import { Func, isFunc } from './Func';\n\nexport type Get<T = any, Args = any> = Func<T, Args> | T;\nexport type Predicate<Args = unknown> = Get<boolean, Args>;\nexport const ofGet = <T, Args = any>(g: Get<T, Args>, ...args: Args[]): T => (isFunc<T, Args>(g) ? g(...args) : g);\nexport const ifGet = <T>(pred: Get, valid: Get<T>, invalid: Get<T>): T => (ofGet(pred) ? ofGet(valid) : ofGet(invalid));\nexport type GetProperty<T, Prop> = keyof T | Func<Prop, T>;\nexport const ofProperty = <T, Prop>(t: T, p: GetProperty<T, Prop>): Prop => (isFunc<Prop, T>(p) ? p(t) : ((t as any)[p] as Prop));\n"],"mappings":";;;;;AAIO,IAAM,QAAQ,CAAgB,MAAoB,SAAqB,OAAgB,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI;AACzG,IAAM,QAAQ,CAAI,MAAW,OAAe,YAAwB,MAAM,IAAI,IAAI,MAAM,KAAK,IAAI,MAAM,OAAO;AAE9G,IAAM,aAAa,CAAU,GAAM,MAAmC,OAAgB,CAAC,IAAI,EAAE,CAAC,IAAM,EAAU,CAAC;","names":[]}
@@ -1,30 +0,0 @@
1
- // src/utils/Traverse.ts
2
- var traverse = (subject, property = "") => {
3
- subject ??= {};
4
- const props = property.split(".");
5
- const p = props.shift();
6
- return props.length === 0 ? subject[p] : traverse(subject[p], props.join("."));
7
- };
8
- var traverseSet = (subject, property, value) => {
9
- const props = property.split(".");
10
- const p = props.shift();
11
- return {
12
- ...subject,
13
- [p]: props.length === 0 ? value : traverseSet(subject[p], props.join("."), value)
14
- };
15
- };
16
- var accumulate = (items, ...keys) => items.map((t, i, arr) => {
17
- const acc = keys.reduce(
18
- (acc2, v) => traverseSet(acc2, v, i === 0 ? traverse(t, v) : traverse(arr[i - 1], v) + traverse(t, v)),
19
- t
20
- );
21
- arr[i] = acc;
22
- return acc;
23
- });
24
-
25
- export {
26
- traverse,
27
- traverseSet,
28
- accumulate
29
- };
30
- //# sourceMappingURL=chunk-SSROJBD5.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/Traverse.ts"],"sourcesContent":["import { AnyKey } from '../types/AnyKey';\n\nexport const traverse = (subject: unknown, property = ''): unknown => {\n subject ??= {};\n const props = property.split('.');\n const p = props.shift() as string;\n return props.length === 0 ? (subject as any)[p] : traverse((subject as any)[p], props.join('.'));\n};\n\nexport const traverseSet = <T>(subject: T, property: AnyKey<T>, value: unknown): unknown => {\n const props = property.split('.');\n const p = props.shift() as string;\n return {\n ...(subject as any),\n [p]: props.length === 0 ? value : traverseSet((subject as any)[p], props.join('.'), value),\n } as T;\n};\n\nexport const accumulate = <T>(items: T[], ...keys: AnyKey<T>[]): T[] =>\n items.map((t, i, arr) => {\n const acc = keys.reduce(\n (acc, v) => traverseSet(acc, v, i === 0 ? traverse(t, v) : (traverse(arr[i - 1], v) as number) + (traverse(t, v) as number)) as T,\n t\n );\n arr[i] = acc;\n return acc;\n });\n"],"mappings":";AAEO,IAAM,WAAW,CAAC,SAAkB,WAAW,OAAgB;AACpE,cAAY,CAAC;AACb,QAAM,QAAQ,SAAS,MAAM,GAAG;AAChC,QAAM,IAAI,MAAM,MAAM;AACtB,SAAO,MAAM,WAAW,IAAK,QAAgB,CAAC,IAAI,SAAU,QAAgB,CAAC,GAAG,MAAM,KAAK,GAAG,CAAC;AACjG;AAEO,IAAM,cAAc,CAAI,SAAY,UAAqB,UAA4B;AAC1F,QAAM,QAAQ,SAAS,MAAM,GAAG;AAChC,QAAM,IAAI,MAAM,MAAM;AACtB,SAAO;AAAA,IACL,GAAI;AAAA,IACJ,CAAC,CAAC,GAAG,MAAM,WAAW,IAAI,QAAQ,YAAa,QAAgB,CAAC,GAAG,MAAM,KAAK,GAAG,GAAG,KAAK;AAAA,EAC3F;AACF;AAEO,IAAM,aAAa,CAAI,UAAe,SAC3C,MAAM,IAAI,CAAC,GAAG,GAAG,QAAQ;AACvB,QAAM,MAAM,KAAK;AAAA,IACf,CAACA,MAAK,MAAM,YAAYA,MAAK,GAAG,MAAM,IAAI,SAAS,GAAG,CAAC,IAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAgB,SAAS,GAAG,CAAC,CAAY;AAAA,IAC3H;AAAA,EACF;AACA,MAAI,CAAC,IAAI;AACT,SAAO;AACT,CAAC;","names":["acc"]}
@@ -1,10 +0,0 @@
1
- // src/http/HttpHeader.ts
2
- var HttpHeader = {
3
- ContentType: "Content-Type",
4
- Correlation: "X-Correlation-Id"
5
- };
6
-
7
- export {
8
- HttpHeader
9
- };
10
- //# sourceMappingURL=chunk-SW2OCUH3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/http/HttpHeader.ts"],"sourcesContent":["export const HttpHeader = {\n ContentType: 'Content-Type',\n Correlation: 'X-Correlation-Id',\n};\n"],"mappings":";AAAO,IAAM,aAAa;AAAA,EACxB,aAAa;AAAA,EACb,aAAa;AACf;","names":[]}
@@ -1,20 +0,0 @@
1
- import {
2
- toList
3
- } from "./chunk-ABGKS4KE.mjs";
4
-
5
- // src/sql/SqlQuery.ts
6
- var SqlQuery = class {
7
- constructor(table, clauses = toList()) {
8
- this.table = table;
9
- this.clauses = clauses;
10
- }
11
- where = (...clauses) => {
12
- this.clauses.add(clauses);
13
- return this;
14
- };
15
- };
16
-
17
- export {
18
- SqlQuery
19
- };
20
- //# sourceMappingURL=chunk-TCQRHKGS.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/sql/SqlQuery.ts"],"sourcesContent":["import { Query } from '../data/Query';\nimport { Table } from './Table';\nimport { Join } from './Join';\nimport { List, toList } from '../types/List';\nimport { Clause } from './Clause';\n\nexport class SqlQuery implements Query {\n constructor(\n protected table: Table | Join,\n readonly clauses: List<Clause> = toList()\n ) {}\n\n where = (...clauses: Clause[]): this => {\n this.clauses.add(clauses);\n return this;\n };\n}\n"],"mappings":";;;;;AAMO,IAAM,WAAN,MAAgC;AAAA,EACrC,YACY,OACD,UAAwB,OAAO,GACxC;AAFU;AACD;AAAA,EACR;AAAA,EAEH,QAAQ,IAAI,YAA4B;AACtC,SAAK,QAAQ,IAAI,OAAO;AACxB,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1,60 +0,0 @@
1
- import {
2
- ApiGateway
3
- } from "./chunk-CWWAGBYB.mjs";
4
- import {
5
- Api
6
- } from "./chunk-5ZHEIMZ7.mjs";
7
- import {
8
- HttpStatus
9
- } from "./chunk-WSG55HKA.mjs";
10
- import {
11
- toArray
12
- } from "./chunk-CO2AFYVD.mjs";
13
- import {
14
- isDefined
15
- } from "./chunk-DEJ7A5PY.mjs";
16
-
17
- // src/services/RouteGateway.ts
18
- var RouteGateway = class extends ApiGateway {
19
- constructor(route, routeId, api = new Api()) {
20
- super(api);
21
- this.route = route;
22
- this.routeId = routeId;
23
- this.api = api;
24
- }
25
- all(options) {
26
- return this.get(this.route().expand(options ?? {}), options);
27
- }
28
- byId(id) {
29
- return this.getOne(this.routeId().id(id));
30
- }
31
- byIds(...ids) {
32
- return this.get(this.route().ids(toArray(...ids)));
33
- }
34
- search(q, options) {
35
- return this.get(this.route().expand({ ...options, q }));
36
- }
37
- exists(id) {
38
- return this.byId(id).then((r) => isDefined(r)).catch((r) => HttpStatus.NotFound.equals(r.status) ? false : Promise.reject(r));
39
- }
40
- add(item) {
41
- return this.post(this.route(), item);
42
- }
43
- filter(options) {
44
- return this.postSearch(this.route().expand(options ?? {}));
45
- }
46
- update(item) {
47
- return this.patch(this.routeId().id(item.id), item);
48
- }
49
- upsert(item) {
50
- return this.put(this.routeId().id(item.id), item);
51
- }
52
- remove(id) {
53
- return this.delete(this.routeId().id(id));
54
- }
55
- };
56
-
57
- export {
58
- RouteGateway
59
- };
60
- //# sourceMappingURL=chunk-TNHYFGFF.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/services/RouteGateway.ts"],"sourcesContent":["import { Api } from './Api';\nimport { ApiGateway } from './ApiGateway';\nimport { Func } from '../types/Func';\nimport { Uri, UriExpandProps } from '../types/Uri';\nimport { PageList } from '../types/PageList';\nimport { Json, JsonValue } from '../types/Json';\nimport { Id } from '../types/Id';\nimport { Optional } from '../types/Types';\nimport { List } from '../types/List';\nimport { toArray } from '../types/Array';\nimport { HttpStatus } from '../http/HttpStatus';\nimport { isDefined } from '../types/Is';\n\nexport class RouteGateway<Props extends UriExpandProps = UriExpandProps> extends ApiGateway {\n constructor(\n readonly route: Func<Uri<Props>>,\n readonly routeId: Func<Uri<Props>>,\n readonly api: Api = new Api()\n ) {\n super(api);\n }\n\n all(options?: Props): Promise<PageList<Json>> {\n return this.get(this.route().expand(options ?? {}) as Uri, options);\n }\n\n byId(id: Id): Promise<Optional<Json>> {\n return this.getOne(this.routeId().id(id) as Uri);\n }\n\n byIds(...ids: Id[]): Promise<List<Json>> {\n return this.get(this.route().ids(toArray(...ids)) as Uri);\n }\n\n search(q: JsonValue, options?: Props): Promise<PageList<Json>> {\n return this.get(this.route().expand({ ...options, q } as Props) as Uri);\n }\n\n exists(id: Id): Promise<boolean> {\n return this.byId(id)\n .then(r => isDefined(r))\n .catch(r => (HttpStatus.NotFound.equals(r.status) ? false : Promise.reject(r)));\n }\n\n add(item: Json): Promise<Json> {\n return this.post(this.route() as Uri, item);\n }\n\n filter(options?: Props): Promise<PageList<Json>> {\n return this.postSearch(this.route().expand(options ?? {}) as Uri);\n }\n\n update(item: Json): Promise<Json> {\n return this.patch(this.routeId().id(item.id) as Uri, item);\n }\n\n upsert(item: Json): Promise<Json> {\n return this.put(this.routeId().id(item.id) as Uri, item);\n }\n\n remove(id: Id): Promise<boolean> {\n return this.delete(this.routeId().id(id) as Uri);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAaO,IAAM,eAAN,cAA0E,WAAW;AAAA,EAC1F,YACW,OACA,SACA,MAAW,IAAI,IAAI,GAC5B;AACA,UAAM,GAAG;AAJA;AACA;AACA;AAAA,EAGX;AAAA,EAEA,IAAI,SAA0C;AAC5C,WAAO,KAAK,IAAI,KAAK,MAAM,EAAE,OAAO,WAAW,CAAC,CAAC,GAAU,OAAO;AAAA,EACpE;AAAA,EAEA,KAAK,IAAiC;AACpC,WAAO,KAAK,OAAO,KAAK,QAAQ,EAAE,GAAG,EAAE,CAAQ;AAAA,EACjD;AAAA,EAEA,SAAS,KAAgC;AACvC,WAAO,KAAK,IAAI,KAAK,MAAM,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAQ;AAAA,EAC1D;AAAA,EAEA,OAAO,GAAc,SAA0C;AAC7D,WAAO,KAAK,IAAI,KAAK,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAU,CAAQ;AAAA,EACxE;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,KAAK,KAAK,EAAE,EAChB,KAAK,OAAK,UAAU,CAAC,CAAC,EACtB,MAAM,OAAM,WAAW,SAAS,OAAO,EAAE,MAAM,IAAI,QAAQ,QAAQ,OAAO,CAAC,CAAE;AAAA,EAClF;AAAA,EAEA,IAAI,MAA2B;AAC7B,WAAO,KAAK,KAAK,KAAK,MAAM,GAAU,IAAI;AAAA,EAC5C;AAAA,EAEA,OAAO,SAA0C;AAC/C,WAAO,KAAK,WAAW,KAAK,MAAM,EAAE,OAAO,WAAW,CAAC,CAAC,CAAQ;AAAA,EAClE;AAAA,EAEA,OAAO,MAA2B;AAChC,WAAO,KAAK,MAAM,KAAK,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAU,IAAI;AAAA,EAC3D;AAAA,EAEA,OAAO,MAA2B;AAChC,WAAO,KAAK,IAAI,KAAK,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAU,IAAI;AAAA,EACzD;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,KAAK,OAAO,KAAK,QAAQ,EAAE,GAAG,EAAE,CAAQ;AAAA,EACjD;AACF;","names":[]}
@@ -1,23 +0,0 @@
1
- import {
2
- choose
3
- } from "./chunk-S6WR4MXU.mjs";
4
- import {
5
- isArray,
6
- isObject
7
- } from "./chunk-DEJ7A5PY.mjs";
8
-
9
- // src/types/IsEqual.ts
10
- var isEqualArray = (one, another) => choose([one, another]).case(([o, a]) => !isArray(o) || !isArray(a), false).case(([o, a]) => o?.length !== a?.length, false).else(([o, a]) => !o.some((v, i) => !isEqual(v, a[i])));
11
- var isEqualObject = (one, another) => choose([Object.keys(one), Object.keys(another)]).case(([keysO, keysA]) => keysO.length !== keysA.length, false).case(([keysO, keysA]) => keysO.some((k) => !keysA.includes(k)), false).case(([keysO]) => keysO.some((k) => !isEqual(one[k], another[k])), false).else(true);
12
- var isEqual = (one, another) => choose([one, another]).case(([o, a]) => o === a, true).case(
13
- ([o, a]) => isArray(o) || isArray(a),
14
- ([o, a]) => isEqualArray(o, a)
15
- ).case(
16
- ([o, a]) => o == null || a == null || !isObject(o) && !isObject(a),
17
- ([o, a]) => o !== o && a !== a
18
- ).else(([o, a]) => isEqualObject(o, a));
19
-
20
- export {
21
- isEqual
22
- };
23
- //# sourceMappingURL=chunk-TYODLVCG.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/IsEqual.ts"],"sourcesContent":["import { isArray, isObject } from './Is';\nimport { choose } from './Case';\n\nconst isEqualArray = (one: unknown[], another: unknown[]): boolean =>\n choose([one, another])\n .case(([o, a]) => !isArray(o) || !isArray(a), false)\n .case(([o, a]) => o?.length !== a?.length, false)\n .else(([o, a]) => !o.some((v, i) => !isEqual(v, a[i])));\n\nconst isEqualObject = (one: any, another: any): boolean =>\n choose([Object.keys(one), Object.keys(another)])\n .case(([keysO, keysA]) => keysO.length !== keysA.length, false)\n .case(([keysO, keysA]) => keysO.some(k => !keysA.includes(k)), false)\n .case(([keysO]) => keysO.some(k => !isEqual(one[k], another[k])), false)\n .else(true);\n\nexport const isEqual = (one?: unknown, another?: unknown): boolean =>\n choose([one, another])\n .case(([o, a]) => o === a, true)\n .case(\n ([o, a]) => isArray(o) || isArray(a),\n ([o, a]) => isEqualArray(o as [], a as [])\n )\n .case(\n ([o, a]) => o == null || a == null || (!isObject(o) && !isObject(a)),\n ([o, a]) => o !== o && a !== a\n )\n .else(([o, a]) => isEqualObject(o, a));\n"],"mappings":";;;;;;;;;AAGA,IAAM,eAAe,CAAC,KAAgB,YACpC,OAAO,CAAC,KAAK,OAAO,CAAC,EAClB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,EAClD,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,GAAG,QAAQ,KAAK,EAC/C,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1D,IAAM,gBAAgB,CAAC,KAAU,YAC/B,OAAO,CAAC,OAAO,KAAK,GAAG,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,EAC5C,KAAK,CAAC,CAAC,OAAO,KAAK,MAAM,MAAM,WAAW,MAAM,QAAQ,KAAK,EAC7D,KAAK,CAAC,CAAC,OAAO,KAAK,MAAM,MAAM,KAAK,OAAK,CAAC,MAAM,SAAS,CAAC,CAAC,GAAG,KAAK,EACnE,KAAK,CAAC,CAAC,KAAK,MAAM,MAAM,KAAK,OAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,EACtE,KAAK,IAAI;AAEP,IAAM,UAAU,CAAC,KAAe,YACrC,OAAO,CAAC,KAAK,OAAO,CAAC,EAClB,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,EAC9B;AAAA,EACC,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,QAAQ,CAAC;AAAA,EACnC,CAAC,CAAC,GAAG,CAAC,MAAM,aAAa,GAAS,CAAO;AAC3C,EACC;AAAA,EACC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,KAAK,QAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;AAAA,EAClE,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,KAAK,MAAM;AAC/B,EACC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;","names":[]}