@thisisagile/easy 15.8.6 → 15.8.7

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 (744) hide show
  1. package/dist/chunk-4N72FQFX.mjs +16 -0
  2. package/dist/chunk-4N72FQFX.mjs.map +1 -0
  3. package/dist/data/Condition.d.ts +25 -0
  4. package/dist/data/Condition.js +71 -0
  5. package/dist/data/Condition.js.map +1 -0
  6. package/dist/data/Condition.mjs +44 -0
  7. package/dist/data/Condition.mjs.map +1 -0
  8. package/dist/data/DataProvider.d.ts +1 -0
  9. package/dist/data/DataProvider.js +17 -0
  10. package/dist/data/DataProvider.js.map +1 -0
  11. package/dist/data/DataProvider.mjs +1 -0
  12. package/dist/data/DataProvider.mjs.map +1 -0
  13. package/dist/data/Database.d.ts +22 -0
  14. package/dist/data/Database.js +42 -0
  15. package/dist/data/Database.js.map +1 -0
  16. package/dist/data/Database.mjs +18 -0
  17. package/dist/data/Database.mjs.map +1 -0
  18. package/dist/data/Field.d.ts +17 -0
  19. package/dist/data/Field.js +48 -0
  20. package/dist/data/Field.js.map +1 -0
  21. package/dist/data/Field.mjs +24 -0
  22. package/dist/data/Field.mjs.map +1 -0
  23. package/dist/data/InMemoryGateway.d.ts +12 -0
  24. package/dist/data/InMemoryGateway.js +59 -0
  25. package/dist/data/InMemoryGateway.js.map +1 -0
  26. package/dist/data/InMemoryGateway.mjs +36 -0
  27. package/dist/data/InMemoryGateway.mjs.map +1 -0
  28. package/dist/data/Query.d.ts +2 -0
  29. package/dist/data/Query.js +17 -0
  30. package/dist/data/Query.js.map +1 -0
  31. package/dist/data/Query.mjs +1 -0
  32. package/dist/data/Query.mjs.map +1 -0
  33. package/dist/data/QueryProvider.d.ts +7 -0
  34. package/dist/data/QueryProvider.js +17 -0
  35. package/dist/data/QueryProvider.js.map +1 -0
  36. package/dist/data/QueryProvider.mjs +1 -0
  37. package/dist/data/QueryProvider.mjs.map +1 -0
  38. package/dist/data/index.d.ts +7 -0
  39. package/dist/data/index.js +35 -0
  40. package/dist/data/index.js.map +1 -0
  41. package/dist/data/index.mjs +8 -0
  42. package/dist/data/index.mjs.map +1 -0
  43. package/dist/domain/Audit.d.ts +11 -0
  44. package/dist/domain/Audit.js +59 -0
  45. package/dist/domain/Audit.js.map +1 -0
  46. package/dist/domain/Audit.mjs +29 -0
  47. package/dist/domain/Audit.mjs.map +1 -0
  48. package/dist/domain/Child.d.ts +6 -0
  49. package/dist/domain/Child.js +49 -0
  50. package/dist/domain/Child.js.map +1 -0
  51. package/dist/domain/Child.mjs +19 -0
  52. package/dist/domain/Child.mjs.map +1 -0
  53. package/dist/domain/Entity.d.ts +9 -0
  54. package/dist/domain/Entity.js +62 -0
  55. package/dist/domain/Entity.js.map +1 -0
  56. package/dist/domain/Entity.mjs +32 -0
  57. package/dist/domain/Entity.mjs.map +1 -0
  58. package/dist/domain/Repo.d.ts +23 -0
  59. package/dist/domain/Repo.js +81 -0
  60. package/dist/domain/Repo.js.map +1 -0
  61. package/dist/domain/Repo.mjs +58 -0
  62. package/dist/domain/Repo.mjs.map +1 -0
  63. package/dist/domain/Struct.d.ts +11 -0
  64. package/dist/domain/Struct.js +55 -0
  65. package/dist/domain/Struct.js.map +1 -0
  66. package/dist/domain/Struct.mjs +31 -0
  67. package/dist/domain/Struct.mjs.map +1 -0
  68. package/dist/domain/Typo.d.ts +16 -0
  69. package/dist/domain/Typo.js +62 -0
  70. package/dist/domain/Typo.js.map +1 -0
  71. package/dist/domain/Typo.mjs +39 -0
  72. package/dist/domain/Typo.mjs.map +1 -0
  73. package/dist/domain/enums/Country.d.ts +256 -0
  74. package/dist/domain/enums/Country.js +290 -0
  75. package/dist/domain/enums/Country.js.map +1 -0
  76. package/dist/domain/enums/Country.mjs +267 -0
  77. package/dist/domain/enums/Country.mjs.map +1 -0
  78. package/dist/domain/enums/Currency.d.ts +127 -0
  79. package/dist/domain/enums/Currency.js +159 -0
  80. package/dist/domain/enums/Currency.js.map +1 -0
  81. package/dist/domain/enums/Currency.mjs +136 -0
  82. package/dist/domain/enums/Currency.mjs.map +1 -0
  83. package/dist/domain/enums/Environment.d.ts +7 -0
  84. package/dist/domain/enums/Environment.js +35 -0
  85. package/dist/domain/enums/Environment.js.map +1 -0
  86. package/dist/domain/enums/Environment.mjs +12 -0
  87. package/dist/domain/enums/Environment.mjs.map +1 -0
  88. package/dist/domain/enums/Locale.d.ts +571 -0
  89. package/dist/domain/enums/Locale.js +605 -0
  90. package/dist/domain/enums/Locale.js.map +1 -0
  91. package/dist/domain/enums/Locale.mjs +582 -0
  92. package/dist/domain/enums/Locale.mjs.map +1 -0
  93. package/dist/domain/enums/UnitOfMeasurement.d.ts +10 -0
  94. package/dist/domain/enums/UnitOfMeasurement.js +40 -0
  95. package/dist/domain/enums/UnitOfMeasurement.js.map +1 -0
  96. package/dist/domain/enums/UnitOfMeasurement.mjs +17 -0
  97. package/dist/domain/enums/UnitOfMeasurement.mjs.map +1 -0
  98. package/dist/domain/enums/UnitOfWeight.d.ts +8 -0
  99. package/dist/domain/enums/UnitOfWeight.js +38 -0
  100. package/dist/domain/enums/UnitOfWeight.js.map +1 -0
  101. package/dist/domain/enums/UnitOfWeight.mjs +15 -0
  102. package/dist/domain/enums/UnitOfWeight.mjs.map +1 -0
  103. package/dist/domain/enums/index.d.ts +6 -0
  104. package/dist/domain/enums/index.js +33 -0
  105. package/dist/domain/enums/index.js.map +1 -0
  106. package/dist/domain/enums/index.mjs +7 -0
  107. package/dist/domain/enums/index.mjs.map +1 -0
  108. package/dist/domain/index.d.ts +9 -0
  109. package/dist/domain/index.js +39 -0
  110. package/dist/domain/index.js.map +1 -0
  111. package/dist/domain/index.mjs +10 -0
  112. package/dist/domain/index.mjs.map +1 -0
  113. package/dist/domain/structs/Address.d.ts +12 -0
  114. package/dist/domain/structs/Address.js +73 -0
  115. package/dist/domain/structs/Address.js.map +1 -0
  116. package/dist/domain/structs/Address.mjs +42 -0
  117. package/dist/domain/structs/Address.mjs.map +1 -0
  118. package/dist/domain/structs/Box.d.ts +15 -0
  119. package/dist/domain/structs/Box.js +70 -0
  120. package/dist/domain/structs/Box.js.map +1 -0
  121. package/dist/domain/structs/Box.mjs +40 -0
  122. package/dist/domain/structs/Box.mjs.map +1 -0
  123. package/dist/domain/structs/Dimension.d.ts +10 -0
  124. package/dist/domain/structs/Dimension.js +61 -0
  125. package/dist/domain/structs/Dimension.js.map +1 -0
  126. package/dist/domain/structs/Dimension.mjs +31 -0
  127. package/dist/domain/structs/Dimension.mjs.map +1 -0
  128. package/dist/domain/structs/Money.d.ts +12 -0
  129. package/dist/domain/structs/Money.js +71 -0
  130. package/dist/domain/structs/Money.js.map +1 -0
  131. package/dist/domain/structs/Money.mjs +39 -0
  132. package/dist/domain/structs/Money.mjs.map +1 -0
  133. package/dist/domain/structs/Name.d.ts +9 -0
  134. package/dist/domain/structs/Name.js +57 -0
  135. package/dist/domain/structs/Name.js.map +1 -0
  136. package/dist/domain/structs/Name.mjs +26 -0
  137. package/dist/domain/structs/Name.mjs.map +1 -0
  138. package/dist/domain/structs/Weight.d.ts +13 -0
  139. package/dist/domain/structs/Weight.js +71 -0
  140. package/dist/domain/structs/Weight.js.map +1 -0
  141. package/dist/domain/structs/Weight.mjs +40 -0
  142. package/dist/domain/structs/Weight.mjs.map +1 -0
  143. package/dist/domain/structs/index.d.ts +6 -0
  144. package/dist/domain/structs/index.js +33 -0
  145. package/dist/domain/structs/index.js.map +1 -0
  146. package/dist/domain/structs/index.mjs +7 -0
  147. package/dist/domain/structs/index.mjs.map +1 -0
  148. package/dist/domain/values/DateTime.d.ts +34 -0
  149. package/dist/domain/values/DateTime.js +117 -0
  150. package/dist/domain/values/DateTime.js.map +1 -0
  151. package/dist/domain/values/DateTime.mjs +92 -0
  152. package/dist/domain/values/DateTime.mjs.map +1 -0
  153. package/dist/domain/values/EAN.d.ts +5 -0
  154. package/dist/domain/values/EAN.js +50 -0
  155. package/dist/domain/values/EAN.js.map +1 -0
  156. package/dist/domain/values/EAN.mjs +16 -0
  157. package/dist/domain/values/EAN.mjs.map +1 -0
  158. package/dist/domain/values/Email.d.ts +8 -0
  159. package/dist/domain/values/Email.js +57 -0
  160. package/dist/domain/values/Email.js.map +1 -0
  161. package/dist/domain/values/Email.mjs +22 -0
  162. package/dist/domain/values/Email.mjs.map +1 -0
  163. package/dist/domain/values/IBAN.d.ts +5 -0
  164. package/dist/domain/values/IBAN.js +50 -0
  165. package/dist/domain/values/IBAN.js.map +1 -0
  166. package/dist/domain/values/IBAN.mjs +16 -0
  167. package/dist/domain/values/IBAN.mjs.map +1 -0
  168. package/dist/domain/values/PostalCode.d.ts +8 -0
  169. package/dist/domain/values/PostalCode.js +53 -0
  170. package/dist/domain/values/PostalCode.js.map +1 -0
  171. package/dist/domain/values/PostalCode.mjs +19 -0
  172. package/dist/domain/values/PostalCode.mjs.map +1 -0
  173. package/dist/domain/values/Url.d.ts +22 -0
  174. package/dist/domain/values/Url.js +57 -0
  175. package/dist/domain/values/Url.js.map +1 -0
  176. package/dist/domain/values/Url.mjs +22 -0
  177. package/dist/domain/values/Url.mjs.map +1 -0
  178. package/dist/domain/values/index.d.ts +6 -0
  179. package/dist/domain/values/index.js +33 -0
  180. package/dist/domain/values/index.js.map +1 -0
  181. package/dist/domain/values/index.mjs +7 -0
  182. package/dist/domain/values/index.mjs.map +1 -0
  183. package/dist/health/HealthResource.d.ts +5 -0
  184. package/dist/health/HealthResource.js +49 -0
  185. package/dist/health/HealthResource.js.map +1 -0
  186. package/dist/health/HealthResource.mjs +19 -0
  187. package/dist/health/HealthResource.mjs.map +1 -0
  188. package/dist/health/HealthUri.d.ts +5 -0
  189. package/dist/health/HealthUri.js +33 -0
  190. package/dist/health/HealthUri.js.map +1 -0
  191. package/dist/health/HealthUri.mjs +10 -0
  192. package/dist/health/HealthUri.mjs.map +1 -0
  193. package/dist/health/index.d.ts +2 -0
  194. package/dist/health/index.js +25 -0
  195. package/dist/health/index.js.map +1 -0
  196. package/dist/health/index.mjs +3 -0
  197. package/dist/health/index.mjs.map +1 -0
  198. package/dist/http/CacheControl.d.ts +24 -0
  199. package/dist/http/CacheControl.js +56 -0
  200. package/dist/http/CacheControl.js.map +1 -0
  201. package/dist/http/CacheControl.mjs +33 -0
  202. package/dist/http/CacheControl.mjs.map +1 -0
  203. package/dist/http/ContentType.d.ts +12 -0
  204. package/dist/http/ContentType.js +53 -0
  205. package/dist/http/ContentType.js.map +1 -0
  206. package/dist/http/ContentType.mjs +20 -0
  207. package/dist/http/ContentType.mjs.map +1 -0
  208. package/dist/http/HttpHeader.d.ts +4 -0
  209. package/dist/http/HttpHeader.js +32 -0
  210. package/dist/http/HttpHeader.js.map +1 -0
  211. package/dist/http/HttpHeader.mjs +9 -0
  212. package/dist/http/HttpHeader.mjs.map +1 -0
  213. package/dist/http/HttpStatus.d.ts +72 -0
  214. package/dist/http/HttpStatus.js +112 -0
  215. package/dist/http/HttpStatus.js.map +1 -0
  216. package/dist/http/HttpStatus.mjs +87 -0
  217. package/dist/http/HttpStatus.mjs.map +1 -0
  218. package/dist/http/HttpVerb.d.ts +9 -0
  219. package/dist/http/HttpVerb.js +39 -0
  220. package/dist/http/HttpVerb.js.map +1 -0
  221. package/dist/http/HttpVerb.mjs +16 -0
  222. package/dist/http/HttpVerb.mjs.map +1 -0
  223. package/dist/http/LocalRequestStore.d.ts +7 -0
  224. package/dist/http/LocalRequestStore.js +36 -0
  225. package/dist/http/LocalRequestStore.js.map +1 -0
  226. package/dist/http/LocalRequestStore.mjs +13 -0
  227. package/dist/http/LocalRequestStore.mjs.map +1 -0
  228. package/dist/http/OriginatedError.d.ts +9 -0
  229. package/dist/http/OriginatedError.js +42 -0
  230. package/dist/http/OriginatedError.js.map +1 -0
  231. package/dist/http/OriginatedError.mjs +17 -0
  232. package/dist/http/OriginatedError.mjs.map +1 -0
  233. package/dist/http/Request.d.ts +11 -0
  234. package/dist/http/Request.js +17 -0
  235. package/dist/http/Request.js.map +1 -0
  236. package/dist/http/Request.mjs +1 -0
  237. package/dist/http/Request.mjs.map +1 -0
  238. package/dist/http/RequestOptions.d.ts +35 -0
  239. package/dist/http/RequestOptions.js +91 -0
  240. package/dist/http/RequestOptions.js.map +1 -0
  241. package/dist/http/RequestOptions.mjs +66 -0
  242. package/dist/http/RequestOptions.mjs.map +1 -0
  243. package/dist/http/RequestProvider.d.ts +5 -0
  244. package/dist/http/RequestProvider.js +17 -0
  245. package/dist/http/RequestProvider.js.map +1 -0
  246. package/dist/http/RequestProvider.mjs +1 -0
  247. package/dist/http/RequestProvider.mjs.map +1 -0
  248. package/dist/http/Response.d.ts +14 -0
  249. package/dist/http/Response.js +39 -0
  250. package/dist/http/Response.js.map +1 -0
  251. package/dist/http/Response.mjs +15 -0
  252. package/dist/http/Response.mjs.map +1 -0
  253. package/dist/http/RestResult.d.ts +23 -0
  254. package/dist/http/RestResult.js +56 -0
  255. package/dist/http/RestResult.js.map +1 -0
  256. package/dist/http/RestResult.mjs +32 -0
  257. package/dist/http/RestResult.mjs.map +1 -0
  258. package/dist/http/Verb.d.ts +20 -0
  259. package/dist/http/Verb.js +61 -0
  260. package/dist/http/Verb.js.map +1 -0
  261. package/dist/http/Verb.mjs +31 -0
  262. package/dist/http/Verb.mjs.map +1 -0
  263. package/dist/http/index.d.ts +12 -0
  264. package/dist/http/index.js +45 -0
  265. package/dist/http/index.js.map +1 -0
  266. package/dist/http/index.mjs +13 -0
  267. package/dist/http/index.mjs.map +1 -0
  268. package/dist/index.d.ts +12 -2821
  269. package/dist/index.js +45 -1
  270. package/dist/index.js.map +1 -0
  271. package/dist/index.mjs +13 -1
  272. package/dist/index.mjs.map +1 -0
  273. package/dist/process/App.d.ts +5 -0
  274. package/dist/process/App.js +35 -0
  275. package/dist/process/App.js.map +1 -0
  276. package/dist/process/App.mjs +12 -0
  277. package/dist/process/App.mjs.map +1 -0
  278. package/dist/process/Manage.d.ts +8 -0
  279. package/dist/process/Manage.js +43 -0
  280. package/dist/process/Manage.js.map +1 -0
  281. package/dist/process/Manage.mjs +20 -0
  282. package/dist/process/Manage.mjs.map +1 -0
  283. package/dist/process/Scope.d.ts +5 -0
  284. package/dist/process/Scope.js +38 -0
  285. package/dist/process/Scope.js.map +1 -0
  286. package/dist/process/Scope.mjs +15 -0
  287. package/dist/process/Scope.mjs.map +1 -0
  288. package/dist/process/Search.d.ts +14 -0
  289. package/dist/process/Search.js +62 -0
  290. package/dist/process/Search.js.map +1 -0
  291. package/dist/process/Search.mjs +39 -0
  292. package/dist/process/Search.mjs.map +1 -0
  293. package/dist/process/UseCase.d.ts +10 -0
  294. package/dist/process/UseCase.js +48 -0
  295. package/dist/process/UseCase.js.map +1 -0
  296. package/dist/process/UseCase.mjs +25 -0
  297. package/dist/process/UseCase.mjs.map +1 -0
  298. package/dist/process/index.d.ts +5 -0
  299. package/dist/process/index.js +31 -0
  300. package/dist/process/index.js.map +1 -0
  301. package/dist/process/index.mjs +6 -0
  302. package/dist/process/index.mjs.map +1 -0
  303. package/dist/resources/AppProvider.d.ts +9 -0
  304. package/dist/resources/AppProvider.js +17 -0
  305. package/dist/resources/AppProvider.js.map +1 -0
  306. package/dist/resources/AppProvider.mjs +1 -0
  307. package/dist/resources/AppProvider.mjs.map +1 -0
  308. package/dist/resources/Req.d.ts +23 -0
  309. package/dist/resources/Req.js +54 -0
  310. package/dist/resources/Req.js.map +1 -0
  311. package/dist/resources/Req.mjs +30 -0
  312. package/dist/resources/Req.mjs.map +1 -0
  313. package/dist/resources/Requires.d.ts +8 -0
  314. package/dist/resources/Requires.js +48 -0
  315. package/dist/resources/Requires.js.map +1 -0
  316. package/dist/resources/Requires.mjs +24 -0
  317. package/dist/resources/Requires.mjs.map +1 -0
  318. package/dist/resources/Resource.d.ts +1 -0
  319. package/dist/resources/Resource.js +17 -0
  320. package/dist/resources/Resource.js.map +1 -0
  321. package/dist/resources/Resource.mjs +1 -0
  322. package/dist/resources/Resource.mjs.map +1 -0
  323. package/dist/resources/Route.d.ts +26 -0
  324. package/dist/resources/Route.js +62 -0
  325. package/dist/resources/Route.js.map +1 -0
  326. package/dist/resources/Route.mjs +38 -0
  327. package/dist/resources/Route.mjs.map +1 -0
  328. package/dist/resources/Service.d.ts +15 -0
  329. package/dist/resources/Service.js +49 -0
  330. package/dist/resources/Service.js.map +1 -0
  331. package/dist/resources/Service.mjs +26 -0
  332. package/dist/resources/Service.mjs.map +1 -0
  333. package/dist/resources/index.d.ts +7 -0
  334. package/dist/resources/index.js +35 -0
  335. package/dist/resources/index.js.map +1 -0
  336. package/dist/resources/index.mjs +8 -0
  337. package/dist/resources/index.mjs.map +1 -0
  338. package/dist/security/Jwt.d.ts +15 -0
  339. package/dist/security/Jwt.js +48 -0
  340. package/dist/security/Jwt.js.map +1 -0
  341. package/dist/security/Jwt.mjs +25 -0
  342. package/dist/security/Jwt.mjs.map +1 -0
  343. package/dist/security/index.d.ts +1 -0
  344. package/dist/security/index.js +23 -0
  345. package/dist/security/index.js.map +1 -0
  346. package/dist/security/index.mjs +2 -0
  347. package/dist/security/index.mjs.map +1 -0
  348. package/dist/services/Api.d.ts +16 -0
  349. package/dist/services/Api.js +93 -0
  350. package/dist/services/Api.js.map +1 -0
  351. package/dist/services/Api.mjs +69 -0
  352. package/dist/services/Api.mjs.map +1 -0
  353. package/dist/services/ApiGateway.d.ts +14 -0
  354. package/dist/services/ApiGateway.js +57 -0
  355. package/dist/services/ApiGateway.js.map +1 -0
  356. package/dist/services/ApiGateway.mjs +34 -0
  357. package/dist/services/ApiGateway.mjs.map +1 -0
  358. package/dist/services/AxiosProvider.d.ts +7 -0
  359. package/dist/services/AxiosProvider.js +61 -0
  360. package/dist/services/AxiosProvider.js.map +1 -0
  361. package/dist/services/AxiosProvider.mjs +28 -0
  362. package/dist/services/AxiosProvider.mjs.map +1 -0
  363. package/dist/services/MappedRouteGateway.d.ts +16 -0
  364. package/dist/services/MappedRouteGateway.js +52 -0
  365. package/dist/services/MappedRouteGateway.js.map +1 -0
  366. package/dist/services/MappedRouteGateway.mjs +29 -0
  367. package/dist/services/MappedRouteGateway.mjs.map +1 -0
  368. package/dist/services/RouteGateway.d.ts +19 -0
  369. package/dist/services/RouteGateway.js +70 -0
  370. package/dist/services/RouteGateway.js.map +1 -0
  371. package/dist/services/RouteGateway.mjs +47 -0
  372. package/dist/services/RouteGateway.mjs.map +1 -0
  373. package/dist/services/ViewRouteGateway.d.ts +21 -0
  374. package/dist/services/ViewRouteGateway.js +55 -0
  375. package/dist/services/ViewRouteGateway.js.map +1 -0
  376. package/dist/services/ViewRouteGateway.mjs +32 -0
  377. package/dist/services/ViewRouteGateway.mjs.map +1 -0
  378. package/dist/services/index.d.ts +6 -0
  379. package/dist/services/index.js +33 -0
  380. package/dist/services/index.js.map +1 -0
  381. package/dist/services/index.mjs +7 -0
  382. package/dist/services/index.mjs.map +1 -0
  383. package/dist/sql/Clause.d.ts +17 -0
  384. package/dist/sql/Clause.js +58 -0
  385. package/dist/sql/Clause.js.map +1 -0
  386. package/dist/sql/Clause.mjs +31 -0
  387. package/dist/sql/Clause.mjs.map +1 -0
  388. package/dist/sql/Column.d.ts +41 -0
  389. package/dist/sql/Column.js +96 -0
  390. package/dist/sql/Column.js.map +1 -0
  391. package/dist/sql/Column.mjs +71 -0
  392. package/dist/sql/Column.mjs.map +1 -0
  393. package/dist/sql/Count.d.ts +7 -0
  394. package/dist/sql/Count.js +38 -0
  395. package/dist/sql/Count.js.map +1 -0
  396. package/dist/sql/Count.mjs +15 -0
  397. package/dist/sql/Count.mjs.map +1 -0
  398. package/dist/sql/Delete.d.ts +4 -0
  399. package/dist/sql/Delete.js +35 -0
  400. package/dist/sql/Delete.js.map +1 -0
  401. package/dist/sql/Delete.mjs +12 -0
  402. package/dist/sql/Delete.mjs.map +1 -0
  403. package/dist/sql/Insert.d.ts +9 -0
  404. package/dist/sql/Insert.js +40 -0
  405. package/dist/sql/Insert.js.map +1 -0
  406. package/dist/sql/Insert.mjs +17 -0
  407. package/dist/sql/Insert.mjs.map +1 -0
  408. package/dist/sql/Join.d.ts +12 -0
  409. package/dist/sql/Join.js +46 -0
  410. package/dist/sql/Join.js.map +1 -0
  411. package/dist/sql/Join.mjs +23 -0
  412. package/dist/sql/Join.mjs.map +1 -0
  413. package/dist/sql/Select.d.ts +21 -0
  414. package/dist/sql/Select.js +68 -0
  415. package/dist/sql/Select.js.map +1 -0
  416. package/dist/sql/Select.mjs +45 -0
  417. package/dist/sql/Select.mjs.map +1 -0
  418. package/dist/sql/SqlQuery.d.ts +8 -0
  419. package/dist/sql/SqlQuery.js +39 -0
  420. package/dist/sql/SqlQuery.js.map +1 -0
  421. package/dist/sql/SqlQuery.mjs +16 -0
  422. package/dist/sql/SqlQuery.mjs.map +1 -0
  423. package/dist/sql/Table.d.ts +34 -0
  424. package/dist/sql/Table.js +63 -0
  425. package/dist/sql/Table.js.map +1 -0
  426. package/dist/sql/Table.mjs +40 -0
  427. package/dist/sql/Table.mjs.map +1 -0
  428. package/dist/sql/TableGateway.d.ts +18 -0
  429. package/dist/sql/TableGateway.js +62 -0
  430. package/dist/sql/TableGateway.js.map +1 -0
  431. package/dist/sql/TableGateway.mjs +39 -0
  432. package/dist/sql/TableGateway.mjs.map +1 -0
  433. package/dist/sql/Update.d.ts +9 -0
  434. package/dist/sql/Update.js +41 -0
  435. package/dist/sql/Update.js.map +1 -0
  436. package/dist/sql/Update.mjs +18 -0
  437. package/dist/sql/Update.mjs.map +1 -0
  438. package/dist/sql/index.d.ts +10 -0
  439. package/dist/sql/index.js +41 -0
  440. package/dist/sql/index.js.map +1 -0
  441. package/dist/sql/index.mjs +11 -0
  442. package/dist/sql/index.mjs.map +1 -0
  443. package/dist/types/Array.d.ts +9 -0
  444. package/dist/types/Array.js +54 -0
  445. package/dist/types/Array.js.map +1 -0
  446. package/dist/types/Array.mjs +29 -0
  447. package/dist/types/Array.mjs.map +1 -0
  448. package/dist/types/Builder.d.ts +6 -0
  449. package/dist/types/Builder.js +43 -0
  450. package/dist/types/Builder.js.map +1 -0
  451. package/dist/types/Builder.mjs +19 -0
  452. package/dist/types/Builder.mjs.map +1 -0
  453. package/dist/types/Cache.d.ts +12 -0
  454. package/dist/types/Cache.js +38 -0
  455. package/dist/types/Cache.js.map +1 -0
  456. package/dist/types/Cache.mjs +14 -0
  457. package/dist/types/Cache.mjs.map +1 -0
  458. package/dist/types/CacheAge.d.ts +5 -0
  459. package/dist/types/CacheAge.js +64 -0
  460. package/dist/types/CacheAge.js.map +1 -0
  461. package/dist/types/CacheAge.mjs +41 -0
  462. package/dist/types/CacheAge.mjs.map +1 -0
  463. package/dist/types/Case.d.ts +59 -0
  464. package/dist/types/Case.js +115 -0
  465. package/dist/types/Case.js.map +1 -0
  466. package/dist/types/Case.mjs +92 -0
  467. package/dist/types/Case.mjs.map +1 -0
  468. package/dist/types/Constructor.d.ts +15 -0
  469. package/dist/types/Constructor.js +50 -0
  470. package/dist/types/Constructor.js.map +1 -0
  471. package/dist/types/Constructor.mjs +22 -0
  472. package/dist/types/Constructor.mjs.map +1 -0
  473. package/dist/types/Context.d.ts +63 -0
  474. package/dist/types/Context.js +117 -0
  475. package/dist/types/Context.js.map +1 -0
  476. package/dist/types/Context.mjs +90 -0
  477. package/dist/types/Context.mjs.map +1 -0
  478. package/dist/types/Enum.d.ts +24 -0
  479. package/dist/types/Enum.js +76 -0
  480. package/dist/types/Enum.js.map +1 -0
  481. package/dist/types/Enum.mjs +52 -0
  482. package/dist/types/Enum.mjs.map +1 -0
  483. package/dist/types/ErrorOrigin.d.ts +6 -0
  484. package/dist/types/ErrorOrigin.js +17 -0
  485. package/dist/types/ErrorOrigin.js.map +1 -0
  486. package/dist/types/ErrorOrigin.mjs +1 -0
  487. package/dist/types/ErrorOrigin.mjs.map +1 -0
  488. package/dist/types/Exception.d.ts +20 -0
  489. package/dist/types/Exception.js +54 -0
  490. package/dist/types/Exception.js.map +1 -0
  491. package/dist/types/Exception.mjs +29 -0
  492. package/dist/types/Exception.mjs.map +1 -0
  493. package/dist/types/Falsy.d.ts +4 -0
  494. package/dist/types/Falsy.js +32 -0
  495. package/dist/types/Falsy.js.map +1 -0
  496. package/dist/types/Falsy.mjs +8 -0
  497. package/dist/types/Falsy.mjs.map +1 -0
  498. package/dist/types/Func.d.ts +2 -0
  499. package/dist/types/Func.js +29 -0
  500. package/dist/types/Func.js.map +1 -0
  501. package/dist/types/Func.mjs +6 -0
  502. package/dist/types/Func.mjs.map +1 -0
  503. package/dist/types/Gateway.d.ts +18 -0
  504. package/dist/types/Gateway.js +62 -0
  505. package/dist/types/Gateway.js.map +1 -0
  506. package/dist/types/Gateway.mjs +39 -0
  507. package/dist/types/Gateway.mjs.map +1 -0
  508. package/dist/types/Get.d.ts +7 -0
  509. package/dist/types/Get.js +36 -0
  510. package/dist/types/Get.js.map +1 -0
  511. package/dist/types/Get.mjs +11 -0
  512. package/dist/types/Get.mjs.map +1 -0
  513. package/dist/types/Id.d.ts +7 -0
  514. package/dist/types/Id.js +30 -0
  515. package/dist/types/Id.js.map +1 -0
  516. package/dist/types/Id.mjs +7 -0
  517. package/dist/types/Id.mjs.map +1 -0
  518. package/dist/types/Identity.d.ts +5 -0
  519. package/dist/types/Identity.js +17 -0
  520. package/dist/types/Identity.js.map +1 -0
  521. package/dist/types/Identity.mjs +1 -0
  522. package/dist/types/Identity.mjs.map +1 -0
  523. package/dist/types/Is.d.ts +20 -0
  524. package/dist/types/Is.js +85 -0
  525. package/dist/types/Is.js.map +1 -0
  526. package/dist/types/Is.mjs +44 -0
  527. package/dist/types/Is.mjs.map +1 -0
  528. package/dist/types/IsA.d.ts +2 -0
  529. package/dist/types/IsA.js +33 -0
  530. package/dist/types/IsA.js.map +1 -0
  531. package/dist/types/IsA.mjs +9 -0
  532. package/dist/types/IsA.mjs.map +1 -0
  533. package/dist/types/IsDate.d.ts +9 -0
  534. package/dist/types/IsDate.js +46 -0
  535. package/dist/types/IsDate.js.map +1 -0
  536. package/dist/types/IsDate.mjs +20 -0
  537. package/dist/types/IsDate.mjs.map +1 -0
  538. package/dist/types/IsEqual.d.ts +1 -0
  539. package/dist/types/IsEqual.js +39 -0
  540. package/dist/types/IsEqual.js.map +1 -0
  541. package/dist/types/IsEqual.mjs +16 -0
  542. package/dist/types/IsEqual.mjs.map +1 -0
  543. package/dist/types/Json.d.ts +30 -0
  544. package/dist/types/Json.js +67 -0
  545. package/dist/types/Json.js.map +1 -0
  546. package/dist/types/Json.mjs +40 -0
  547. package/dist/types/Json.mjs.map +1 -0
  548. package/dist/types/List.d.ts +52 -0
  549. package/dist/types/List.js +180 -0
  550. package/dist/types/List.js.map +1 -0
  551. package/dist/types/List.mjs +154 -0
  552. package/dist/types/List.mjs.map +1 -0
  553. package/dist/types/Message.d.ts +3 -0
  554. package/dist/types/Message.js +30 -0
  555. package/dist/types/Message.js.map +1 -0
  556. package/dist/types/Message.mjs +7 -0
  557. package/dist/types/Message.mjs.map +1 -0
  558. package/dist/types/Meta.d.ts +33 -0
  559. package/dist/types/Meta.js +71 -0
  560. package/dist/types/Meta.js.map +1 -0
  561. package/dist/types/Meta.mjs +47 -0
  562. package/dist/types/Meta.mjs.map +1 -0
  563. package/dist/types/Nullish.d.ts +2 -0
  564. package/dist/types/Nullish.js +29 -0
  565. package/dist/types/Nullish.js.map +1 -0
  566. package/dist/types/Nullish.mjs +6 -0
  567. package/dist/types/Nullish.mjs.map +1 -0
  568. package/dist/types/Number.d.ts +2 -0
  569. package/dist/types/Number.js +33 -0
  570. package/dist/types/Number.js.map +1 -0
  571. package/dist/types/Number.mjs +10 -0
  572. package/dist/types/Number.mjs.map +1 -0
  573. package/dist/types/PageList.d.ts +68 -0
  574. package/dist/types/PageList.js +156 -0
  575. package/dist/types/PageList.js.map +1 -0
  576. package/dist/types/PageList.mjs +128 -0
  577. package/dist/types/PageList.mjs.map +1 -0
  578. package/dist/types/Primitive.d.ts +2 -0
  579. package/dist/types/Primitive.js +32 -0
  580. package/dist/types/Primitive.js.map +1 -0
  581. package/dist/types/Primitive.mjs +9 -0
  582. package/dist/types/Primitive.mjs.map +1 -0
  583. package/dist/types/Repository.d.ts +15 -0
  584. package/dist/types/Repository.js +68 -0
  585. package/dist/types/Repository.js.map +1 -0
  586. package/dist/types/Repository.mjs +45 -0
  587. package/dist/types/Repository.mjs.map +1 -0
  588. package/dist/types/Result.d.ts +9 -0
  589. package/dist/types/Result.js +38 -0
  590. package/dist/types/Result.js.map +1 -0
  591. package/dist/types/Result.mjs +14 -0
  592. package/dist/types/Result.mjs.map +1 -0
  593. package/dist/types/Results.d.ts +12 -0
  594. package/dist/types/Results.js +51 -0
  595. package/dist/types/Results.js.map +1 -0
  596. package/dist/types/Results.mjs +26 -0
  597. package/dist/types/Results.mjs.map +1 -0
  598. package/dist/types/Sort.d.ts +8 -0
  599. package/dist/types/Sort.js +32 -0
  600. package/dist/types/Sort.js.map +1 -0
  601. package/dist/types/Sort.mjs +8 -0
  602. package/dist/types/Sort.mjs.map +1 -0
  603. package/dist/types/Tag.d.ts +2 -0
  604. package/dist/types/Tag.js +35 -0
  605. package/dist/types/Tag.js.map +1 -0
  606. package/dist/types/Tag.mjs +11 -0
  607. package/dist/types/Tag.mjs.map +1 -0
  608. package/dist/types/Template.d.ts +7 -0
  609. package/dist/types/Template.js +62 -0
  610. package/dist/types/Template.js.map +1 -0
  611. package/dist/types/Template.mjs +39 -0
  612. package/dist/types/Template.mjs.map +1 -0
  613. package/dist/types/Text.d.ts +45 -0
  614. package/dist/types/Text.js +127 -0
  615. package/dist/types/Text.js.map +1 -0
  616. package/dist/types/Text.mjs +99 -0
  617. package/dist/types/Text.mjs.map +1 -0
  618. package/dist/types/Try.d.ts +44 -0
  619. package/dist/types/Try.js +137 -0
  620. package/dist/types/Try.js.map +1 -0
  621. package/dist/types/Try.mjs +113 -0
  622. package/dist/types/Try.mjs.map +1 -0
  623. package/dist/types/TypeGuard.d.ts +1 -0
  624. package/dist/types/TypeGuard.js +17 -0
  625. package/dist/types/TypeGuard.js.map +1 -0
  626. package/dist/types/TypeGuard.mjs +1 -0
  627. package/dist/types/TypeGuard.mjs.map +1 -0
  628. package/dist/types/Types.d.ts +5 -0
  629. package/dist/types/Types.js +17 -0
  630. package/dist/types/Types.js.map +1 -0
  631. package/dist/types/Types.mjs +1 -0
  632. package/dist/types/Types.mjs.map +1 -0
  633. package/dist/types/Uri.d.ts +69 -0
  634. package/dist/types/Uri.js +104 -0
  635. package/dist/types/Uri.js.map +1 -0
  636. package/dist/types/Uri.mjs +79 -0
  637. package/dist/types/Uri.mjs.map +1 -0
  638. package/dist/types/Uuid.d.ts +3 -0
  639. package/dist/types/Uuid.js +35 -0
  640. package/dist/types/Uuid.js.map +1 -0
  641. package/dist/types/Uuid.mjs +11 -0
  642. package/dist/types/Uuid.mjs.map +1 -0
  643. package/dist/types/Validatable.d.ts +5 -0
  644. package/dist/types/Validatable.js +30 -0
  645. package/dist/types/Validatable.js.map +1 -0
  646. package/dist/types/Validatable.mjs +7 -0
  647. package/dist/types/Validatable.mjs.map +1 -0
  648. package/dist/types/Value.d.ts +9 -0
  649. package/dist/types/Value.js +47 -0
  650. package/dist/types/Value.js.map +1 -0
  651. package/dist/types/Value.mjs +23 -0
  652. package/dist/types/Value.mjs.map +1 -0
  653. package/dist/types/index.d.ts +42 -0
  654. package/dist/types/index.js +105 -0
  655. package/dist/types/index.js.map +1 -0
  656. package/dist/types/index.mjs +43 -0
  657. package/dist/types/index.mjs.map +1 -0
  658. package/dist/utils/Convert.d.ts +19 -0
  659. package/dist/utils/Convert.js +69 -0
  660. package/dist/utils/Convert.js.map +1 -0
  661. package/dist/utils/Convert.mjs +45 -0
  662. package/dist/utils/Convert.mjs.map +1 -0
  663. package/dist/utils/If.d.ts +10 -0
  664. package/dist/utils/If.js +47 -0
  665. package/dist/utils/If.js.map +1 -0
  666. package/dist/utils/If.mjs +21 -0
  667. package/dist/utils/If.mjs.map +1 -0
  668. package/dist/utils/Loading.d.ts +1 -0
  669. package/dist/utils/Loading.js +30 -0
  670. package/dist/utils/Loading.js.map +1 -0
  671. package/dist/utils/Loading.mjs +7 -0
  672. package/dist/utils/Loading.mjs.map +1 -0
  673. package/dist/utils/Log.d.ts +2 -0
  674. package/dist/utils/Log.js +37 -0
  675. package/dist/utils/Log.js.map +1 -0
  676. package/dist/utils/Log.mjs +14 -0
  677. package/dist/utils/Log.mjs.map +1 -0
  678. package/dist/utils/Mapper.d.ts +48 -0
  679. package/dist/utils/Mapper.js +133 -0
  680. package/dist/utils/Mapper.js.map +1 -0
  681. package/dist/utils/Mapper.mjs +108 -0
  682. package/dist/utils/Mapper.mjs.map +1 -0
  683. package/dist/utils/Promise.d.ts +18 -0
  684. package/dist/utils/Promise.js +55 -0
  685. package/dist/utils/Promise.js.map +1 -0
  686. package/dist/utils/Promise.mjs +26 -0
  687. package/dist/utils/Promise.mjs.map +1 -0
  688. package/dist/utils/Property.d.ts +16 -0
  689. package/dist/utils/Property.js +42 -0
  690. package/dist/utils/Property.js.map +1 -0
  691. package/dist/utils/Property.mjs +19 -0
  692. package/dist/utils/Property.mjs.map +1 -0
  693. package/dist/utils/Sentence.d.ts +48 -0
  694. package/dist/utils/Sentence.js +80 -0
  695. package/dist/utils/Sentence.js.map +1 -0
  696. package/dist/utils/Sentence.mjs +56 -0
  697. package/dist/utils/Sentence.mjs.map +1 -0
  698. package/dist/utils/State.d.ts +7 -0
  699. package/dist/utils/State.js +36 -0
  700. package/dist/utils/State.js.map +1 -0
  701. package/dist/utils/State.mjs +13 -0
  702. package/dist/utils/State.mjs.map +1 -0
  703. package/dist/utils/Traverse.d.ts +1 -0
  704. package/dist/utils/Traverse.js +33 -0
  705. package/dist/utils/Traverse.js.map +1 -0
  706. package/dist/utils/Traverse.mjs +10 -0
  707. package/dist/utils/Traverse.mjs.map +1 -0
  708. package/dist/utils/View.d.ts +36 -0
  709. package/dist/utils/View.js +86 -0
  710. package/dist/utils/View.js.map +1 -0
  711. package/dist/utils/View.mjs +73 -0
  712. package/dist/utils/View.mjs.map +1 -0
  713. package/dist/utils/Wait.d.ts +5 -0
  714. package/dist/utils/Wait.js +39 -0
  715. package/dist/utils/Wait.js.map +1 -0
  716. package/dist/utils/Wait.mjs +15 -0
  717. package/dist/utils/Wait.mjs.map +1 -0
  718. package/dist/utils/index.d.ts +12 -0
  719. package/dist/utils/index.js +45 -0
  720. package/dist/utils/index.js.map +1 -0
  721. package/dist/utils/index.mjs +13 -0
  722. package/dist/utils/index.mjs.map +1 -0
  723. package/dist/validation/Contraints.d.ts +19 -0
  724. package/dist/validation/Contraints.js +88 -0
  725. package/dist/validation/Contraints.js.map +1 -0
  726. package/dist/validation/Contraints.mjs +49 -0
  727. package/dist/validation/Contraints.mjs.map +1 -0
  728. package/dist/validation/Validate.d.ts +11 -0
  729. package/dist/validation/Validate.js +43 -0
  730. package/dist/validation/Validate.js.map +1 -0
  731. package/dist/validation/Validate.mjs +34 -0
  732. package/dist/validation/Validate.mjs.map +1 -0
  733. package/dist/validation/When.d.ts +22 -0
  734. package/dist/validation/When.js +68 -0
  735. package/dist/validation/When.js.map +1 -0
  736. package/dist/validation/When.mjs +44 -0
  737. package/dist/validation/When.mjs.map +1 -0
  738. package/dist/validation/index.d.ts +3 -0
  739. package/dist/validation/index.js +27 -0
  740. package/dist/validation/index.js.map +1 -0
  741. package/dist/validation/index.mjs +4 -0
  742. package/dist/validation/index.mjs.map +1 -0
  743. package/package.json +4 -4
  744. package/dist/index.d.mts +0 -2821
@@ -0,0 +1,40 @@
1
+ import "../chunk-4N72FQFX.mjs";
2
+ import { isA } from "./IsA";
3
+ import { isEmpty, isObject } from "./Is";
4
+ import { ofGet } from "./Get";
5
+ import { ifDefined } from "../utils";
6
+ const isJson = (subject) => isA(subject, "toJSON");
7
+ const json = {
8
+ parse: (subject) => JSON.parse(JSON.stringify(subject ?? {})),
9
+ merge: (...subjects) => json.parse(subjects.map((s) => asJson(s, (s2) => json.parse(s2))).reduce((js, j) => ({ ...js, ...j }), {})),
10
+ delete: (subject, key) => {
11
+ ifDefined(subject, () => delete subject[key]);
12
+ return subject;
13
+ },
14
+ set: (subject, key = "", value) => isEmpty(key) ? subject : value !== void 0 ? { ...subject, ...{ [key]: value } } : json.delete(subject, key),
15
+ omit: (subject, ...keys) => keys.reduce((js, k) => json.delete(js, k), json.parse(subject)),
16
+ defaults: (options = {}, defaults = {}) => json.merge(defaults, options)
17
+ };
18
+ const toJson = json.merge;
19
+ const asJson = (j, alt = {}) => isJson(j) ? j.toJSON() : isObject(j) ? j : ofGet(alt, j);
20
+ class Any {
21
+ constructor(value) {
22
+ this.value = value;
23
+ }
24
+ merge = (...subjects) => any(json.merge(this.value, ...subjects));
25
+ delete = (key) => any(json.delete(this.value, key));
26
+ omit = (...keys) => any(json.omit(this.value, ...keys));
27
+ set = (key, value) => any(json.set(this.value, key, value));
28
+ toJSON() {
29
+ return this.value;
30
+ }
31
+ }
32
+ const any = (value) => new Any(value);
33
+ export {
34
+ any,
35
+ asJson,
36
+ isJson,
37
+ json,
38
+ toJson
39
+ };
40
+ //# sourceMappingURL=Json.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/Json.ts"],"sourcesContent":["import { isA } from './IsA';\nimport { isEmpty, isObject } from './Is';\nimport { Get, ofGet } from './Get';\nimport { ifDefined } from '../utils';\nimport { TypeGuard } from './TypeGuard';\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 defaults: <T extends Json = Json>(options: Partial<T> = {}, defaults: Partial<T> = {}): T => json.merge(defaults, options) as T,\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 any = <T extends Json = Json>(value: T): Any<T> => new Any<T>(value);\n"],"mappings":";AAAA,SAAS,WAAW;AACpB,SAAS,SAAS,gBAAgB;AAClC,SAAc,aAAa;AAC3B,SAAS,iBAAiB;AAMnB,MAAM,SAA4C,CAAC,YACxD,IAA4B,SAAS,QAAQ;AAExC,MAAM,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,UAAU,CAAwB,UAAsB,CAAC,GAAG,WAAuB,CAAC,MAAS,KAAK,MAAM,UAAU,OAAO;AAC3H;AAEO,MAAM,SAAS,KAAK;AAEpB,MAAM,SAAS,CAAC,GAAa,MAAiB,CAAC,MAAa,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,IAAK,IAAa,MAAM,KAAK,CAAC;AAEpI,MAAM,IAAoB;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,MAAM,MAAM,CAAwB,UAAqB,IAAI,IAAO,KAAK;","names":["s"]}
@@ -0,0 +1,52 @@
1
+ import { ArrayLike } from './Array';
2
+ import { Constructor } from './Constructor';
3
+ import { Json } from './Json';
4
+ import { Get, GetProperty } from './Get';
5
+ import { Id } from './Id';
6
+ import { Optional } from './Types';
7
+ export declare class List<T = unknown> extends Array<T> {
8
+ asc(p: GetProperty<T, any>): List<T>;
9
+ desc(p: GetProperty<T, any>): List<T>;
10
+ first(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T;
11
+ firstValue<V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V>;
12
+ isFirst(value: T): boolean;
13
+ next(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T;
14
+ prev(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T;
15
+ last(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T;
16
+ isLast(value: T): boolean;
17
+ overlaps(...items: ArrayLike<T>): boolean;
18
+ diff(others: ArrayLike<T>): List<T>;
19
+ diffByKey(others: ArrayLike<T>, key: keyof T): List<T>;
20
+ intersect(others: ArrayLike<T>): List<T>;
21
+ intersectByKey(others: ArrayLike<T>, key: keyof T): List<T>;
22
+ toJSON(): Json[];
23
+ map<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<U>;
24
+ flatMap<U, This = unknown>(f: (this: This, value: T, index: number, array: T[]) => ReadonlyArray<U> | U, params?: This): List<U>;
25
+ mapDefined<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<NonNullable<U>>;
26
+ mapAsync(f: (i: T) => Promise<T>): Promise<List<T>>;
27
+ distinct(): List<T>;
28
+ distinctByKey(key: keyof T): List<T>;
29
+ filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): List<T>;
30
+ sum(p: (t: T) => number): number;
31
+ byId(id: Id): T;
32
+ add(...items: ArrayLike<T>): this;
33
+ concat(...items: ConcatArray<T>[]): List<T>;
34
+ concat(...items: (T | ConcatArray<T>)[]): List<T>;
35
+ reverse(): List<T>;
36
+ splice(start: number, deleteCount?: number): List<T>;
37
+ splice(start: number, deleteCount: number, ...items: T[]): List<T>;
38
+ remove(item: T): List<T>;
39
+ replace(key: keyof T, item: T): List<T>;
40
+ switch(item: T): List<T>;
41
+ defined(): List<NonNullable<T>>;
42
+ toObject(key: keyof T, options?: {
43
+ deleteKey?: boolean;
44
+ }): Record<string | number | symbol, T>;
45
+ toObjectList(key: keyof T): Record<string | number | symbol, List<T>>;
46
+ orElse(...alt: ArrayLike<T>): Optional<List<T>>;
47
+ weave(insertFrom: T[], interval: number): this;
48
+ slice(start?: number, end?: number): List<T>;
49
+ }
50
+ export declare const toList: <T = unknown>(...items: ArrayLike<T>) => List<T>;
51
+ export declare const isList: <T>(l?: unknown) => l is List<T>;
52
+ export declare const asList: <T>(c: Constructor<T>, items?: unknown | unknown[]) => List<T>;
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var List_exports = {};
20
+ __export(List_exports, {
21
+ List: () => List,
22
+ asList: () => asList,
23
+ isList: () => isList,
24
+ toList: () => toList
25
+ });
26
+ module.exports = __toCommonJS(List_exports);
27
+ var import_Array = require("./Array");
28
+ var import_Json = require("./Json");
29
+ var import_Is = require("./Is");
30
+ var import_IsA = require("./IsA");
31
+ var import_Get = require("./Get");
32
+ var import_Text = require("./Text");
33
+ var import_Try = require("./Try");
34
+ var import_Meta = require("./Meta");
35
+ class List extends Array {
36
+ asc(p) {
37
+ return this.sort((e1, e2) => (0, import_Get.ofProperty)(e1, p) > (0, import_Get.ofProperty)(e2, p) ? 1 : -1);
38
+ }
39
+ desc(p) {
40
+ return this.sort((e1, e2) => (0, import_Get.ofProperty)(e1, p) < (0, import_Get.ofProperty)(e2, p) ? 1 : -1);
41
+ }
42
+ first(p, params) {
43
+ return p ? this.find(p, params) : this[0];
44
+ }
45
+ firstValue(f, alt) {
46
+ return (0, import_Try.tryTo)(() => this.first((t) => !!f(t))).map((i) => i ? f(i) : (0, import_Get.ofGet)(alt, i)).value;
47
+ }
48
+ isFirst(value) {
49
+ return value === this.first();
50
+ }
51
+ next(p, params) {
52
+ return p ? this[this.findIndex(p, params) + 1] : this[0];
53
+ }
54
+ prev(p, params) {
55
+ return p ? this[this.findIndex(p, params) - 1] : this[0];
56
+ }
57
+ last(p, params) {
58
+ return p ? this.filter(p, params).last() : this[this.length - 1];
59
+ }
60
+ isLast(value) {
61
+ return value === this.last();
62
+ }
63
+ overlaps(...items) {
64
+ return toList(...items).some((i) => this.some((t) => i === t));
65
+ }
66
+ diff(others) {
67
+ return this.filter((i) => !others.includes(i));
68
+ }
69
+ diffByKey(others, key) {
70
+ return this.filter((i) => !others.some((o) => o[key] === i[key]));
71
+ }
72
+ intersect(others) {
73
+ return this.filter((i) => others.includes(i));
74
+ }
75
+ intersectByKey(others, key) {
76
+ return this.filter((i) => others.some((o) => o[key] === i[key]));
77
+ }
78
+ toJSON() {
79
+ return this.reduce((a, i) => {
80
+ a.push(import_Json.json.parse(i));
81
+ return a;
82
+ }, new Array());
83
+ }
84
+ map(f, params) {
85
+ return toList(super.map(f, params));
86
+ }
87
+ flatMap(f, params) {
88
+ return toList(super.flatMap(f, params));
89
+ }
90
+ mapDefined(f, params) {
91
+ return this.map(f, params).defined();
92
+ }
93
+ mapAsync(f) {
94
+ return Promise.all(super.map((e) => f(e))).then((a) => toList(a));
95
+ }
96
+ distinct() {
97
+ return this.filter((i, index) => this.indexOf(i) === index);
98
+ }
99
+ distinctByKey(key) {
100
+ return (0, import_Meta.meta)(this.toObject(key)).values();
101
+ }
102
+ filter(p, params) {
103
+ return toList(super.filter(p, params));
104
+ }
105
+ sum(p) {
106
+ return this.reduce((sum, i) => sum + p(i), 0);
107
+ }
108
+ byId(id) {
109
+ return this.first((i) => (0, import_Text.asString)(i.id) === (0, import_Text.asString)(id));
110
+ }
111
+ add(...items) {
112
+ super.push(...(0, import_Array.toArray)(...items));
113
+ return this;
114
+ }
115
+ concat(...items) {
116
+ return toList(super.concat(...items));
117
+ }
118
+ reverse() {
119
+ return toList(super.reverse());
120
+ }
121
+ splice(start, deleteCount, ...items) {
122
+ return toList(super.splice(start, deleteCount, ...items));
123
+ }
124
+ remove(item) {
125
+ const index = this.indexOf(item);
126
+ if (index > -1) {
127
+ this.splice(index, 1);
128
+ }
129
+ return this;
130
+ }
131
+ replace(key, item) {
132
+ (0, import_Try.tryTo)(() => item[key]).map((k) => this.findIndex((i) => i[key] === k)).filter((i) => i > -1).map((i) => this[i] = item);
133
+ return this;
134
+ }
135
+ switch(item) {
136
+ return this.includes(item) ? this.remove(item) : this.add(item);
137
+ }
138
+ defined() {
139
+ return this.reduce((l, v) => (0, import_Is.isDefined)(v) ? l.add(v) : l, toList());
140
+ }
141
+ toObject(key, options = {}) {
142
+ return this.reduce((o, i) => {
143
+ o[i[key]] = i;
144
+ if (options.deleteKey)
145
+ delete o[i[key]][key];
146
+ return o;
147
+ }, {});
148
+ }
149
+ toObjectList(key) {
150
+ return this.reduce((a, t) => {
151
+ const k = t[key];
152
+ a[k] = a[k] ?? toList();
153
+ a[k].push(t);
154
+ return a;
155
+ }, {});
156
+ }
157
+ orElse(...alt) {
158
+ return !(0, import_Is.isEmpty)(this) ? this : !(0, import_Is.isEmpty)(...alt) ? toList(...alt) : void 0;
159
+ }
160
+ weave(insertFrom, interval) {
161
+ for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {
162
+ this.splice(i, 0, insertFrom[n++]);
163
+ }
164
+ return this;
165
+ }
166
+ slice(start, end) {
167
+ return toList(super.slice(start, end));
168
+ }
169
+ }
170
+ const toList = (...items) => new List().add(...items);
171
+ const isList = (l) => (0, import_Is.isDefined)(l) && (0, import_Is.isArray)(l) && (0, import_IsA.isA)(l, "first", "last", "asc", "desc");
172
+ const asList = (c, items = []) => toList((0, import_Array.toArray)(items).map((i) => new c(i)));
173
+ // Annotate the CommonJS export names for ESM import in node:
174
+ 0 && (module.exports = {
175
+ List,
176
+ asList,
177
+ isList,
178
+ toList
179
+ });
180
+ //# sourceMappingURL=List.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/List.ts"],"sourcesContent":["import { ArrayLike, toArray } from './Array';\nimport { Constructor } from './Constructor';\nimport { json, Json } from './Json';\nimport { isArray, isDefined, isEmpty } from './Is';\nimport { isA } from './IsA';\nimport { Get, GetProperty, ofGet, ofProperty } from './Get';\nimport { Id } from './Id';\nimport { asString } from './Text';\nimport { tryTo } from './Try';\nimport { meta } from './Meta';\nimport { Optional } from './Types';\n\nexport class List<T = unknown> extends Array<T> {\n asc(p: GetProperty<T, any>): List<T> {\n return this.sort((e1, e2) => (ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1));\n }\n\n desc(p: GetProperty<T, any>): List<T> {\n return this.sort((e1, e2) => (ofProperty(e1, p) < ofProperty(e2, p) ? 1 : -1));\n }\n\n first(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return (p ? this.find(p, params) : this[0]) as T;\n }\n\n firstValue<V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V> {\n return tryTo(() => this.first(t => !!f(t))).map(i => (i ? f(i) : ofGet(alt, i))).value;\n }\n\n isFirst(value: T): boolean {\n return value === this.first();\n }\n\n next(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this[this.findIndex(p, params) + 1] : this[0];\n }\n\n prev(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this[this.findIndex(p, params) - 1] : this[0];\n }\n\n last(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this.filter(p, params).last() : this[this.length - 1];\n }\n\n isLast(value: T): boolean {\n return value === this.last();\n }\n\n overlaps(...items: ArrayLike<T>): boolean {\n return toList<T>(...items).some(i => this.some(t => i === t));\n }\n\n diff(others: ArrayLike<T>): List<T> {\n return this.filter(i => !others.includes(i));\n }\n\n diffByKey(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.filter((i: any) => !others.some((o: any) => o[key] === i[key]));\n }\n\n intersect(others: ArrayLike<T>): List<T> {\n return this.filter(i => others.includes(i));\n }\n\n intersectByKey(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.filter((i: any) => others.some((o: any) => o[key] === i[key]));\n }\n\n toJSON(): Json[] {\n return this.reduce((a, i) => {\n a.push(json.parse(i));\n return a;\n }, new Array<Json>());\n }\n\n map<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<U> {\n return toList<U>(super.map(f, params));\n }\n\n flatMap<U, This = unknown>(f: (this: This, value: T, index: number, array: T[]) => ReadonlyArray<U> | U, params?: This): List<U> {\n return toList<U>(super.flatMap(f, params));\n }\n\n mapDefined<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<NonNullable<U>> {\n return this.map(f, params).defined();\n }\n\n mapAsync(f: (i: T) => Promise<T>): Promise<List<T>> {\n return Promise.all(super.map(e => f(e))).then(a => toList<T>(a));\n }\n\n distinct(): List<T> {\n return this.filter((i, index) => this.indexOf(i) === index);\n }\n\n distinctByKey(key: keyof T): List<T> {\n return meta(this.toObject(key)).values();\n }\n\n filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): List<T> {\n return toList<T>(super.filter(p, params));\n }\n\n sum(p: (t: T) => number): number {\n return this.reduce((sum: number, i) => sum + p(i), 0);\n }\n\n byId(id: Id): T {\n return this.first(i => asString((i as any).id) === asString(id));\n }\n\n add(...items: ArrayLike<T>): this {\n super.push(...toArray(...items));\n return this;\n }\n\n concat(...items: ConcatArray<T>[]): List<T>;\n concat(...items: (T | ConcatArray<T>)[]): List<T>;\n concat(...items: (T | ConcatArray<T>)[]): List<T> {\n return toList<T>(super.concat(...items));\n }\n\n reverse(): List<T> {\n return toList<T>(super.reverse());\n }\n\n splice(start: number, deleteCount?: number): List<T>;\n splice(start: number, deleteCount: number, ...items: T[]): List<T>;\n splice(start: number, deleteCount: number, ...items: T[]): List<T> {\n return toList<T>(super.splice(start, deleteCount, ...items));\n }\n\n remove(item: T): List<T> {\n const index = this.indexOf(item);\n if (index > -1) {\n this.splice(index, 1);\n }\n return this;\n }\n\n replace(key: keyof T, item: T): List<T> {\n tryTo(() => item[key])\n .map(k => this.findIndex(i => i[key] === k))\n .filter(i => i > -1)\n .map(i => (this[i] = item));\n return this;\n }\n\n switch(item: T): List<T> {\n return this.includes(item) ? this.remove(item) : this.add(item);\n }\n\n defined(): List<NonNullable<T>> {\n return this.reduce((l, v) => (isDefined(v) ? l.add(v) : l), toList<NonNullable<T>>());\n }\n\n toObject(key: keyof T, options: { deleteKey?: boolean } = {}): Record<string | number | symbol, T> {\n return this.reduce((o: any, i) => {\n o[i[key]] = i;\n if (options.deleteKey) delete o[i[key]][key];\n return o;\n }, {});\n }\n\n toObjectList(key: keyof T): Record<string | number | symbol, List<T>> {\n return this.reduce((a, t) => {\n const k = t[key] as unknown as string | number | symbol;\n a[k] = a[k] ?? toList();\n a[k].push(t);\n return a;\n }, {} as Record<string | number | symbol, List<T>>);\n }\n\n orElse(...alt: ArrayLike<T>): Optional<List<T>> {\n return !isEmpty(this) ? this : !isEmpty(...alt) ? toList<T>(...alt) : undefined;\n }\n\n weave(insertFrom: T[], interval: number): this {\n for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {\n this.splice(i, 0, insertFrom[n++]);\n }\n return this;\n }\n\n slice(start?: number, end?: number): List<T> {\n return toList(super.slice(start, end));\n }\n}\n\nexport const toList = <T = unknown>(...items: ArrayLike<T>): List<T> => new List<T>().add(...items);\n\nexport const isList = <T>(l?: unknown): l is List<T> => isDefined(l) && isArray(l) && isA<List<T>>(l, 'first', 'last', 'asc', 'desc');\n\nexport const asList = <T>(c: Constructor<T>, items: unknown | unknown[] = []): List<T> => toList<T>(toArray(items).map(i => new c(i)));\n"],"mappings":"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","names":[]}
@@ -0,0 +1,154 @@
1
+ import "../chunk-4N72FQFX.mjs";
2
+ import { toArray } from "./Array";
3
+ import { json } from "./Json";
4
+ import { isArray, isDefined, isEmpty } from "./Is";
5
+ import { isA } from "./IsA";
6
+ import { ofGet, ofProperty } from "./Get";
7
+ import { asString } from "./Text";
8
+ import { tryTo } from "./Try";
9
+ import { meta } from "./Meta";
10
+ class List extends Array {
11
+ asc(p) {
12
+ return this.sort((e1, e2) => ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1);
13
+ }
14
+ desc(p) {
15
+ return this.sort((e1, e2) => ofProperty(e1, p) < ofProperty(e2, p) ? 1 : -1);
16
+ }
17
+ first(p, params) {
18
+ return p ? this.find(p, params) : this[0];
19
+ }
20
+ firstValue(f, alt) {
21
+ return tryTo(() => this.first((t) => !!f(t))).map((i) => i ? f(i) : ofGet(alt, i)).value;
22
+ }
23
+ isFirst(value) {
24
+ return value === this.first();
25
+ }
26
+ next(p, params) {
27
+ return p ? this[this.findIndex(p, params) + 1] : this[0];
28
+ }
29
+ prev(p, params) {
30
+ return p ? this[this.findIndex(p, params) - 1] : this[0];
31
+ }
32
+ last(p, params) {
33
+ return p ? this.filter(p, params).last() : this[this.length - 1];
34
+ }
35
+ isLast(value) {
36
+ return value === this.last();
37
+ }
38
+ overlaps(...items) {
39
+ return toList(...items).some((i) => this.some((t) => i === t));
40
+ }
41
+ diff(others) {
42
+ return this.filter((i) => !others.includes(i));
43
+ }
44
+ diffByKey(others, key) {
45
+ return this.filter((i) => !others.some((o) => o[key] === i[key]));
46
+ }
47
+ intersect(others) {
48
+ return this.filter((i) => others.includes(i));
49
+ }
50
+ intersectByKey(others, key) {
51
+ return this.filter((i) => others.some((o) => o[key] === i[key]));
52
+ }
53
+ toJSON() {
54
+ return this.reduce((a, i) => {
55
+ a.push(json.parse(i));
56
+ return a;
57
+ }, new Array());
58
+ }
59
+ map(f, params) {
60
+ return toList(super.map(f, params));
61
+ }
62
+ flatMap(f, params) {
63
+ return toList(super.flatMap(f, params));
64
+ }
65
+ mapDefined(f, params) {
66
+ return this.map(f, params).defined();
67
+ }
68
+ mapAsync(f) {
69
+ return Promise.all(super.map((e) => f(e))).then((a) => toList(a));
70
+ }
71
+ distinct() {
72
+ return this.filter((i, index) => this.indexOf(i) === index);
73
+ }
74
+ distinctByKey(key) {
75
+ return meta(this.toObject(key)).values();
76
+ }
77
+ filter(p, params) {
78
+ return toList(super.filter(p, params));
79
+ }
80
+ sum(p) {
81
+ return this.reduce((sum, i) => sum + p(i), 0);
82
+ }
83
+ byId(id) {
84
+ return this.first((i) => asString(i.id) === asString(id));
85
+ }
86
+ add(...items) {
87
+ super.push(...toArray(...items));
88
+ return this;
89
+ }
90
+ concat(...items) {
91
+ return toList(super.concat(...items));
92
+ }
93
+ reverse() {
94
+ return toList(super.reverse());
95
+ }
96
+ splice(start, deleteCount, ...items) {
97
+ return toList(super.splice(start, deleteCount, ...items));
98
+ }
99
+ remove(item) {
100
+ const index = this.indexOf(item);
101
+ if (index > -1) {
102
+ this.splice(index, 1);
103
+ }
104
+ return this;
105
+ }
106
+ replace(key, item) {
107
+ tryTo(() => item[key]).map((k) => this.findIndex((i) => i[key] === k)).filter((i) => i > -1).map((i) => this[i] = item);
108
+ return this;
109
+ }
110
+ switch(item) {
111
+ return this.includes(item) ? this.remove(item) : this.add(item);
112
+ }
113
+ defined() {
114
+ return this.reduce((l, v) => isDefined(v) ? l.add(v) : l, toList());
115
+ }
116
+ toObject(key, options = {}) {
117
+ return this.reduce((o, i) => {
118
+ o[i[key]] = i;
119
+ if (options.deleteKey)
120
+ delete o[i[key]][key];
121
+ return o;
122
+ }, {});
123
+ }
124
+ toObjectList(key) {
125
+ return this.reduce((a, t) => {
126
+ const k = t[key];
127
+ a[k] = a[k] ?? toList();
128
+ a[k].push(t);
129
+ return a;
130
+ }, {});
131
+ }
132
+ orElse(...alt) {
133
+ return !isEmpty(this) ? this : !isEmpty(...alt) ? toList(...alt) : void 0;
134
+ }
135
+ weave(insertFrom, interval) {
136
+ for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {
137
+ this.splice(i, 0, insertFrom[n++]);
138
+ }
139
+ return this;
140
+ }
141
+ slice(start, end) {
142
+ return toList(super.slice(start, end));
143
+ }
144
+ }
145
+ const toList = (...items) => new List().add(...items);
146
+ const isList = (l) => isDefined(l) && isArray(l) && isA(l, "first", "last", "asc", "desc");
147
+ const asList = (c, items = []) => toList(toArray(items).map((i) => new c(i)));
148
+ export {
149
+ List,
150
+ asList,
151
+ isList,
152
+ toList
153
+ };
154
+ //# sourceMappingURL=List.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/List.ts"],"sourcesContent":["import { ArrayLike, toArray } from './Array';\nimport { Constructor } from './Constructor';\nimport { json, Json } from './Json';\nimport { isArray, isDefined, isEmpty } from './Is';\nimport { isA } from './IsA';\nimport { Get, GetProperty, ofGet, ofProperty } from './Get';\nimport { Id } from './Id';\nimport { asString } from './Text';\nimport { tryTo } from './Try';\nimport { meta } from './Meta';\nimport { Optional } from './Types';\n\nexport class List<T = unknown> extends Array<T> {\n asc(p: GetProperty<T, any>): List<T> {\n return this.sort((e1, e2) => (ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1));\n }\n\n desc(p: GetProperty<T, any>): List<T> {\n return this.sort((e1, e2) => (ofProperty(e1, p) < ofProperty(e2, p) ? 1 : -1));\n }\n\n first(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return (p ? this.find(p, params) : this[0]) as T;\n }\n\n firstValue<V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V> {\n return tryTo(() => this.first(t => !!f(t))).map(i => (i ? f(i) : ofGet(alt, i))).value;\n }\n\n isFirst(value: T): boolean {\n return value === this.first();\n }\n\n next(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this[this.findIndex(p, params) + 1] : this[0];\n }\n\n prev(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this[this.findIndex(p, params) - 1] : this[0];\n }\n\n last(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {\n return p ? this.filter(p, params).last() : this[this.length - 1];\n }\n\n isLast(value: T): boolean {\n return value === this.last();\n }\n\n overlaps(...items: ArrayLike<T>): boolean {\n return toList<T>(...items).some(i => this.some(t => i === t));\n }\n\n diff(others: ArrayLike<T>): List<T> {\n return this.filter(i => !others.includes(i));\n }\n\n diffByKey(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.filter((i: any) => !others.some((o: any) => o[key] === i[key]));\n }\n\n intersect(others: ArrayLike<T>): List<T> {\n return this.filter(i => others.includes(i));\n }\n\n intersectByKey(others: ArrayLike<T>, key: keyof T): List<T> {\n return this.filter((i: any) => others.some((o: any) => o[key] === i[key]));\n }\n\n toJSON(): Json[] {\n return this.reduce((a, i) => {\n a.push(json.parse(i));\n return a;\n }, new Array<Json>());\n }\n\n map<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<U> {\n return toList<U>(super.map(f, params));\n }\n\n flatMap<U, This = unknown>(f: (this: This, value: T, index: number, array: T[]) => ReadonlyArray<U> | U, params?: This): List<U> {\n return toList<U>(super.flatMap(f, params));\n }\n\n mapDefined<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<NonNullable<U>> {\n return this.map(f, params).defined();\n }\n\n mapAsync(f: (i: T) => Promise<T>): Promise<List<T>> {\n return Promise.all(super.map(e => f(e))).then(a => toList<T>(a));\n }\n\n distinct(): List<T> {\n return this.filter((i, index) => this.indexOf(i) === index);\n }\n\n distinctByKey(key: keyof T): List<T> {\n return meta(this.toObject(key)).values();\n }\n\n filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): List<T> {\n return toList<T>(super.filter(p, params));\n }\n\n sum(p: (t: T) => number): number {\n return this.reduce((sum: number, i) => sum + p(i), 0);\n }\n\n byId(id: Id): T {\n return this.first(i => asString((i as any).id) === asString(id));\n }\n\n add(...items: ArrayLike<T>): this {\n super.push(...toArray(...items));\n return this;\n }\n\n concat(...items: ConcatArray<T>[]): List<T>;\n concat(...items: (T | ConcatArray<T>)[]): List<T>;\n concat(...items: (T | ConcatArray<T>)[]): List<T> {\n return toList<T>(super.concat(...items));\n }\n\n reverse(): List<T> {\n return toList<T>(super.reverse());\n }\n\n splice(start: number, deleteCount?: number): List<T>;\n splice(start: number, deleteCount: number, ...items: T[]): List<T>;\n splice(start: number, deleteCount: number, ...items: T[]): List<T> {\n return toList<T>(super.splice(start, deleteCount, ...items));\n }\n\n remove(item: T): List<T> {\n const index = this.indexOf(item);\n if (index > -1) {\n this.splice(index, 1);\n }\n return this;\n }\n\n replace(key: keyof T, item: T): List<T> {\n tryTo(() => item[key])\n .map(k => this.findIndex(i => i[key] === k))\n .filter(i => i > -1)\n .map(i => (this[i] = item));\n return this;\n }\n\n switch(item: T): List<T> {\n return this.includes(item) ? this.remove(item) : this.add(item);\n }\n\n defined(): List<NonNullable<T>> {\n return this.reduce((l, v) => (isDefined(v) ? l.add(v) : l), toList<NonNullable<T>>());\n }\n\n toObject(key: keyof T, options: { deleteKey?: boolean } = {}): Record<string | number | symbol, T> {\n return this.reduce((o: any, i) => {\n o[i[key]] = i;\n if (options.deleteKey) delete o[i[key]][key];\n return o;\n }, {});\n }\n\n toObjectList(key: keyof T): Record<string | number | symbol, List<T>> {\n return this.reduce((a, t) => {\n const k = t[key] as unknown as string | number | symbol;\n a[k] = a[k] ?? toList();\n a[k].push(t);\n return a;\n }, {} as Record<string | number | symbol, List<T>>);\n }\n\n orElse(...alt: ArrayLike<T>): Optional<List<T>> {\n return !isEmpty(this) ? this : !isEmpty(...alt) ? toList<T>(...alt) : undefined;\n }\n\n weave(insertFrom: T[], interval: number): this {\n for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {\n this.splice(i, 0, insertFrom[n++]);\n }\n return this;\n }\n\n slice(start?: number, end?: number): List<T> {\n return toList(super.slice(start, end));\n }\n}\n\nexport const toList = <T = unknown>(...items: ArrayLike<T>): List<T> => new List<T>().add(...items);\n\nexport const isList = <T>(l?: unknown): l is List<T> => isDefined(l) && isArray(l) && isA<List<T>>(l, 'first', 'last', 'asc', 'desc');\n\nexport const asList = <T>(c: Constructor<T>, items: unknown | unknown[] = []): List<T> => toList<T>(toArray(items).map(i => new c(i)));\n"],"mappings":";AAAA,SAAoB,eAAe;AAEnC,SAAS,YAAkB;AAC3B,SAAS,SAAS,WAAW,eAAe;AAC5C,SAAS,WAAW;AACpB,SAA2B,OAAO,kBAAkB;AAEpD,SAAS,gBAAgB;AACzB,SAAS,aAAa;AACtB,SAAS,YAAY;AAGd,MAAM,aAA0B,MAAS;AAAA,EAC9C,IAAI,GAAiC;AACnC,WAAO,KAAK,KAAK,CAAC,IAAI,OAAQ,WAAW,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,IAAI,EAAG;AAAA,EAC/E;AAAA,EAEA,KAAK,GAAiC;AACpC,WAAO,KAAK,KAAK,CAAC,IAAI,OAAQ,WAAW,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,IAAI,EAAG;AAAA,EAC/E;AAAA,EAEA,MAAM,GAAsD,QAAqB;AAC/E,WAAQ,IAAI,KAAK,KAAK,GAAG,MAAM,IAAI,KAAK,CAAC;AAAA,EAC3C;AAAA,EAEA,WAAc,GAAgB,KAA8B;AAC1D,WAAO,MAAM,MAAM,KAAK,MAAM,OAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAM,IAAI,EAAE,CAAC,IAAI,MAAM,KAAK,CAAC,CAAE,EAAE;AAAA,EACnF;AAAA,EAEA,QAAQ,OAAmB;AACzB,WAAO,UAAU,KAAK,MAAM;AAAA,EAC9B;AAAA,EAEA,KAAK,GAAsD,QAAqB;AAC9E,WAAO,IAAI,KAAK,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC;AAAA,EACzD;AAAA,EAEA,KAAK,GAAsD,QAAqB;AAC9E,WAAO,IAAI,KAAK,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC;AAAA,EACzD;AAAA,EAEA,KAAK,GAAsD,QAAqB;AAC9E,WAAO,IAAI,KAAK,OAAO,GAAG,MAAM,EAAE,KAAK,IAAI,KAAK,KAAK,SAAS,CAAC;AAAA,EACjE;AAAA,EAEA,OAAO,OAAmB;AACxB,WAAO,UAAU,KAAK,KAAK;AAAA,EAC7B;AAAA,EAEA,YAAY,OAA8B;AACxC,WAAO,OAAU,GAAG,KAAK,EAAE,KAAK,OAAK,KAAK,KAAK,OAAK,MAAM,CAAC,CAAC;AAAA,EAC9D;AAAA,EAEA,KAAK,QAA+B;AAClC,WAAO,KAAK,OAAO,OAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAAA,EAC7C;AAAA,EAEA,UAAU,QAAsB,KAAuB;AACrD,WAAO,KAAK,OAAO,CAAC,MAAW,CAAC,OAAO,KAAK,CAAC,MAAW,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;AAAA,EAC5E;AAAA,EAEA,UAAU,QAA+B;AACvC,WAAO,KAAK,OAAO,OAAK,OAAO,SAAS,CAAC,CAAC;AAAA,EAC5C;AAAA,EAEA,eAAe,QAAsB,KAAuB;AAC1D,WAAO,KAAK,OAAO,CAAC,MAAW,OAAO,KAAK,CAAC,MAAW,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;AAAA,EAC3E;AAAA,EAEA,SAAiB;AACf,WAAO,KAAK,OAAO,CAAC,GAAG,MAAM;AAC3B,QAAE,KAAK,KAAK,MAAM,CAAC,CAAC;AACpB,aAAO;AAAA,IACT,GAAG,IAAI,MAAY,CAAC;AAAA,EACtB;AAAA,EAEA,IAAO,GAA+C,QAA2B;AAC/E,WAAO,OAAU,MAAM,IAAI,GAAG,MAAM,CAAC;AAAA,EACvC;AAAA,EAEA,QAA2B,GAA8E,QAAwB;AAC/H,WAAO,OAAU,MAAM,QAAQ,GAAG,MAAM,CAAC;AAAA,EAC3C;AAAA,EAEA,WAAc,GAA+C,QAAwC;AACnG,WAAO,KAAK,IAAI,GAAG,MAAM,EAAE,QAAQ;AAAA,EACrC;AAAA,EAEA,SAAS,GAA2C;AAClD,WAAO,QAAQ,IAAI,MAAM,IAAI,OAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAK,OAAU,CAAC,CAAC;AAAA,EACjE;AAAA,EAEA,WAAoB;AAClB,WAAO,KAAK,OAAO,CAAC,GAAG,UAAU,KAAK,QAAQ,CAAC,MAAM,KAAK;AAAA,EAC5D;AAAA,EAEA,cAAc,KAAuB;AACnC,WAAO,KAAK,KAAK,SAAS,GAAG,CAAC,EAAE,OAAO;AAAA,EACzC;AAAA,EAEA,OAAO,GAAqD,QAA2B;AACrF,WAAO,OAAU,MAAM,OAAO,GAAG,MAAM,CAAC;AAAA,EAC1C;AAAA,EAEA,IAAI,GAA6B;AAC/B,WAAO,KAAK,OAAO,CAAC,KAAa,MAAM,MAAM,EAAE,CAAC,GAAG,CAAC;AAAA,EACtD;AAAA,EAEA,KAAK,IAAW;AACd,WAAO,KAAK,MAAM,OAAK,SAAU,EAAU,EAAE,MAAM,SAAS,EAAE,CAAC;AAAA,EACjE;AAAA,EAEA,OAAO,OAA2B;AAChC,UAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAC/B,WAAO;AAAA,EACT;AAAA,EAIA,UAAU,OAAwC;AAChD,WAAO,OAAU,MAAM,OAAO,GAAG,KAAK,CAAC;AAAA,EACzC;AAAA,EAEA,UAAmB;AACjB,WAAO,OAAU,MAAM,QAAQ,CAAC;AAAA,EAClC;AAAA,EAIA,OAAO,OAAe,gBAAwB,OAAqB;AACjE,WAAO,OAAU,MAAM,OAAO,OAAO,aAAa,GAAG,KAAK,CAAC;AAAA,EAC7D;AAAA,EAEA,OAAO,MAAkB;AACvB,UAAM,QAAQ,KAAK,QAAQ,IAAI;AAC/B,QAAI,QAAQ,IAAI;AACd,WAAK,OAAO,OAAO,CAAC;AAAA,IACtB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ,KAAc,MAAkB;AACtC,UAAM,MAAM,KAAK,GAAG,CAAC,EAClB,IAAI,OAAK,KAAK,UAAU,OAAK,EAAE,GAAG,MAAM,CAAC,CAAC,EAC1C,OAAO,OAAK,IAAI,EAAE,EAClB,IAAI,OAAM,KAAK,CAAC,IAAI,IAAK;AAC5B,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,MAAkB;AACvB,WAAO,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,IAAI,IAAI;AAAA,EAChE;AAAA,EAEA,UAAgC;AAC9B,WAAO,KAAK,OAAO,CAAC,GAAG,MAAO,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,OAAuB,CAAC;AAAA,EACtF;AAAA,EAEA,SAAS,KAAc,UAAmC,CAAC,GAAwC;AACjG,WAAO,KAAK,OAAO,CAAC,GAAQ,MAAM;AAChC,QAAE,EAAE,GAAG,CAAC,IAAI;AACZ,UAAI,QAAQ;AAAW,eAAO,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG;AAC3C,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP;AAAA,EAEA,aAAa,KAAyD;AACpE,WAAO,KAAK,OAAO,CAAC,GAAG,MAAM;AAC3B,YAAM,IAAI,EAAE,GAAG;AACf,QAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO;AACtB,QAAE,CAAC,EAAE,KAAK,CAAC;AACX,aAAO;AAAA,IACT,GAAG,CAAC,CAA8C;AAAA,EACpD;AAAA,EAEA,UAAU,KAAsC;AAC9C,WAAO,CAAC,QAAQ,IAAI,IAAI,OAAO,CAAC,QAAQ,GAAG,GAAG,IAAI,OAAU,GAAG,GAAG,IAAI;AAAA,EACxE;AAAA,EAEA,MAAM,YAAiB,UAAwB;AAC7C,aAAS,IAAI,UAAU,IAAI,GAAG,KAAK,KAAK,UAAU,IAAI,WAAW,QAAQ,KAAK,WAAW,GAAG;AAC1F,WAAK,OAAO,GAAG,GAAG,WAAW,GAAG,CAAC;AAAA,IACnC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,OAAgB,KAAuB;AAC3C,WAAO,OAAO,MAAM,MAAM,OAAO,GAAG,CAAC;AAAA,EACvC;AACF;AAEO,MAAM,SAAS,IAAiB,UAAiC,IAAI,KAAQ,EAAE,IAAI,GAAG,KAAK;AAE3F,MAAM,SAAS,CAAI,MAA8B,UAAU,CAAC,KAAK,QAAQ,CAAC,KAAK,IAAa,GAAG,SAAS,QAAQ,OAAO,MAAM;AAE7H,MAAM,SAAS,CAAI,GAAmB,QAA6B,CAAC,MAAe,OAAU,QAAQ,KAAK,EAAE,IAAI,OAAK,IAAI,EAAE,CAAC,CAAC,CAAC;","names":[]}
@@ -0,0 +1,3 @@
1
+ import { Func } from './Func';
2
+ export type Message<Args> = string | Func<string, Args>;
3
+ export declare const ofMessage: <Args>(g: Message<Args>, ...params: Args[]) => string;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Message_exports = {};
20
+ __export(Message_exports, {
21
+ ofMessage: () => ofMessage
22
+ });
23
+ module.exports = __toCommonJS(Message_exports);
24
+ var import_Func = require("./Func");
25
+ const ofMessage = (g, ...params) => (0, import_Func.isFunc)(g) ? g(...params) : g;
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ ofMessage
29
+ });
30
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/Message.ts"],"sourcesContent":["import { Func, isFunc } from './Func';\n\nexport type Message<Args> = string | Func<string, Args>;\n\nexport const ofMessage = <Args>(g: Message<Args>, ...params: Args[]): string => (isFunc<string, Args>(g) ? g(...params) : g);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B;AAItB,MAAM,YAAY,CAAO,MAAqB,eAA4B,oBAAqB,CAAC,IAAI,EAAE,GAAG,MAAM,IAAI;","names":[]}
@@ -0,0 +1,7 @@
1
+ import "../chunk-4N72FQFX.mjs";
2
+ import { isFunc } from "./Func";
3
+ const ofMessage = (g, ...params) => isFunc(g) ? g(...params) : g;
4
+ export {
5
+ ofMessage
6
+ };
7
+ //# sourceMappingURL=Message.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/Message.ts"],"sourcesContent":["import { Func, isFunc } from './Func';\n\nexport type Message<Args> = string | Func<string, Args>;\n\nexport const ofMessage = <Args>(g: Message<Args>, ...params: Args[]): string => (isFunc<string, Args>(g) ? g(...params) : g);\n"],"mappings":";AAAA,SAAe,cAAc;AAItB,MAAM,YAAY,CAAO,MAAqB,WAA4B,OAAqB,CAAC,IAAI,EAAE,GAAG,MAAM,IAAI;","names":[]}
@@ -0,0 +1,33 @@
1
+ import 'reflect-metadata';
2
+ import { List } from './List';
3
+ import { Optional } from './Types';
4
+ type MetaParseOptions = {
5
+ initial?: any;
6
+ skipUndefined?: boolean;
7
+ };
8
+ type Entry<T = unknown> = [key: string, value: T];
9
+ declare class ClassMeta {
10
+ readonly subject: any;
11
+ private readonly data;
12
+ constructor(subject: any, data?: any);
13
+ get: <T>(key: string) => T;
14
+ set: <T>(key: string, value: T) => T;
15
+ entries: <T = unknown>() => List<Entry<T>>;
16
+ parse: <Out, Value>(f: (v: Value) => Out, options?: MetaParseOptions) => Record<string, Out>;
17
+ properties: (key?: string) => List<PropertyMeta>;
18
+ keys: <T = any>(key: string) => List<T>;
19
+ values: <T = unknown>() => List<T>;
20
+ property: (property: string | symbol) => PropertyMeta;
21
+ }
22
+ declare class PropertyMeta {
23
+ readonly subject: any;
24
+ readonly property: string | symbol;
25
+ private readonly data;
26
+ constructor(subject: any, property: string | symbol, data?: any);
27
+ get value(): any;
28
+ get: <T>(key: string) => Optional<T>;
29
+ set: <T>(key: string, value: T) => T;
30
+ }
31
+ export declare const meta: (subject: unknown) => ClassMeta;
32
+ export declare const entries: <T = unknown>(subject: Record<string, T>) => List<Entry<T>>;
33
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Meta_exports = {};
20
+ __export(Meta_exports, {
21
+ entries: () => entries,
22
+ meta: () => meta
23
+ });
24
+ module.exports = __toCommonJS(Meta_exports);
25
+ var import_reflect_metadata = require("reflect-metadata");
26
+ var import_List = require("./List");
27
+ var import_Is = require("./Is");
28
+ var import_Constructor = require("./Constructor");
29
+ class ClassMeta {
30
+ constructor(subject, data = (subject.prototype ?? subject).constructor) {
31
+ this.subject = subject;
32
+ this.data = data;
33
+ }
34
+ get = (key) => Reflect.getMetadata(key, this.data);
35
+ set = (key, value) => {
36
+ Reflect.defineMetadata(key, value, this.data);
37
+ return value;
38
+ };
39
+ entries = () => (0, import_List.toList)([...Object.entries(this.subject), ...Object.entries(Object.getPrototypeOf(this.subject))]);
40
+ parse = (f, options = {}) => {
41
+ const { initial = {}, skipUndefined = false } = options;
42
+ return this.entries().reduce((a, [k, val]) => (0, import_Constructor.use)(f(val), (v) => (0, import_Is.isDefined)(v) || !skipUndefined ? (0, import_Constructor.on)(a, (a2) => a2[k] = v) : a), initial);
43
+ };
44
+ properties = (key) => (0, import_List.toList)([...Object.getOwnPropertyNames(this.subject), ...Object.getOwnPropertyNames(Object.getPrototypeOf(this.subject))]).map((p) => this.property(p)).filter((p) => key ? p.get(key) : p);
45
+ keys = (key) => this.properties().map((p) => p.get(key)).reduce((list, u) => u ? list.add(u) : list, (0, import_List.toList)());
46
+ values = () => (0, import_List.toList)([...Object.values(this.subject), ...Object.values(Object.getPrototypeOf(this.subject))]);
47
+ property = (property) => new PropertyMeta(this.subject, property);
48
+ }
49
+ class PropertyMeta {
50
+ constructor(subject, property, data = Reflect.getMetadata(property, subject)) {
51
+ this.subject = subject;
52
+ this.property = property;
53
+ this.data = data;
54
+ }
55
+ get value() {
56
+ return this.subject[this.property];
57
+ }
58
+ get = (key) => (0, import_Is.isDefined)(this.data) && (0, import_Is.isDefined)(this.data[key]) ? this.data[key] : void 0;
59
+ set = (key, value) => {
60
+ Reflect.defineMetadata(this.property, { ...this.data, [key]: value }, this.subject);
61
+ return value;
62
+ };
63
+ }
64
+ const meta = (subject) => new ClassMeta(subject ?? {});
65
+ const entries = (subject) => meta(subject).entries();
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ entries,
69
+ meta
70
+ });
71
+ //# sourceMappingURL=Meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/Meta.ts"],"sourcesContent":["import 'reflect-metadata';\nimport { List, toList } from './List';\nimport { isDefined } from './Is';\nimport { on, use } from './Constructor';\nimport { Optional } from './Types';\n\ntype MetaParseOptions = { initial?: any; skipUndefined?: boolean };\n\ntype Entry<T = unknown> = [key: string, value: T];\n\nclass ClassMeta {\n constructor(readonly subject: any, private readonly data: any = (subject.prototype ?? subject).constructor) {}\n\n get = <T>(key: string): T => Reflect.getMetadata(key, this.data) as T;\n\n set = <T>(key: string, value: T): T => {\n Reflect.defineMetadata(key, value, this.data);\n return value;\n };\n\n entries = <T = unknown>(): List<Entry<T>> =>\n toList([...Object.entries(this.subject), ...Object.entries(Object.getPrototypeOf(this.subject))]) as List<Entry<T>>;\n\n parse = <Out, Value>(f: (v: Value) => Out, options: MetaParseOptions = {}): Record<string, Out> => {\n const { initial = {}, skipUndefined = false } = options;\n return this.entries<Value>().reduce((a, [k, val]) => use(f(val), v => (isDefined(v) || !skipUndefined ? on(a, a => (a[k] = v)) : a)), initial);\n };\n\n properties = (key?: string): List<PropertyMeta> =>\n toList([...Object.getOwnPropertyNames(this.subject), ...Object.getOwnPropertyNames(Object.getPrototypeOf(this.subject))])\n .map(p => this.property(p))\n .filter(p => (key ? p.get(key) : p));\n\n keys = <T = any>(key: string): List<T> =>\n this.properties()\n .map(p => p.get<T>(key))\n .reduce((list, u) => (u ? list.add(u) : list), toList<T>());\n\n values = <T = unknown>(): List<T> => toList([...Object.values<T>(this.subject), ...Object.values<T>(Object.getPrototypeOf(this.subject))]);\n\n property = (property: string | symbol): PropertyMeta => new PropertyMeta(this.subject, property);\n}\n\nclass PropertyMeta {\n constructor(readonly subject: any, readonly property: string | symbol, private readonly data = Reflect.getMetadata(property, subject)) {}\n\n get value(): any {\n return this.subject[this.property];\n }\n\n get = <T>(key: string): Optional<T> => (isDefined(this.data) && isDefined(this.data[key]) ? (this.data[key] as T) : undefined);\n\n set = <T>(key: string, value: T): T => {\n Reflect.defineMetadata(this.property, { ...this.data, [key]: value }, this.subject);\n return value;\n };\n}\n\nexport const meta = (subject: unknown): ClassMeta => new ClassMeta(subject ?? {});\n\nexport const entries = <T = unknown>(subject: Record<string, T>): List<Entry<T>> => meta(subject).entries<T>();\n\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAO;AACP,kBAA6B;AAC7B,gBAA0B;AAC1B,yBAAwB;AAOxB,MAAM,UAAU;AAAA,EACd,YAAqB,SAA+B,QAAa,QAAQ,aAAa,SAAS,aAAa;AAAvF;AAA+B;AAAA,EAAyD;AAAA,EAE7G,MAAM,CAAI,QAAmB,QAAQ,YAAY,KAAK,KAAK,IAAI;AAAA,EAE/D,MAAM,CAAI,KAAa,UAAgB;AACrC,YAAQ,eAAe,KAAK,OAAO,KAAK,IAAI;AAC5C,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,UACR,oBAAO,CAAC,GAAG,OAAO,QAAQ,KAAK,OAAO,GAAG,GAAG,OAAO,QAAQ,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC;AAAA,EAElG,QAAQ,CAAa,GAAsB,UAA4B,CAAC,MAA2B;AACjG,UAAM,EAAE,UAAU,CAAC,GAAG,gBAAgB,MAAM,IAAI;AAChD,WAAO,KAAK,QAAe,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,UAAM,wBAAI,EAAE,GAAG,GAAG,WAAM,qBAAU,CAAC,KAAK,CAAC,oBAAgB,uBAAG,GAAG,CAAAA,OAAMA,GAAE,CAAC,IAAI,CAAE,IAAI,CAAE,GAAG,OAAO;AAAA,EAC/I;AAAA,EAEA,aAAa,CAAC,YACZ,oBAAO,CAAC,GAAG,OAAO,oBAAoB,KAAK,OAAO,GAAG,GAAG,OAAO,oBAAoB,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EACrH,IAAI,OAAK,KAAK,SAAS,CAAC,CAAC,EACzB,OAAO,OAAM,MAAM,EAAE,IAAI,GAAG,IAAI,CAAE;AAAA,EAEvC,OAAO,CAAU,QACf,KAAK,WAAW,EACb,IAAI,OAAK,EAAE,IAAO,GAAG,CAAC,EACtB,OAAO,CAAC,MAAM,MAAO,IAAI,KAAK,IAAI,CAAC,IAAI,UAAO,oBAAU,CAAC;AAAA,EAE9D,SAAS,UAA4B,oBAAO,CAAC,GAAG,OAAO,OAAU,KAAK,OAAO,GAAG,GAAG,OAAO,OAAU,OAAO,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC;AAAA,EAEzI,WAAW,CAAC,aAA4C,IAAI,aAAa,KAAK,SAAS,QAAQ;AACjG;AAEA,MAAM,aAAa;AAAA,EACjB,YAAqB,SAAuB,UAA4C,OAAO,QAAQ,YAAY,UAAU,OAAO,GAAG;AAAlH;AAAuB;AAA4C;AAAA,EAAgD;AAAA,EAExI,IAAI,QAAa;AACf,WAAO,KAAK,QAAQ,KAAK,QAAQ;AAAA,EACnC;AAAA,EAEA,MAAM,CAAI,YAA8B,qBAAU,KAAK,IAAI,SAAK,qBAAU,KAAK,KAAK,GAAG,CAAC,IAAK,KAAK,KAAK,GAAG,IAAU;AAAA,EAEpH,MAAM,CAAI,KAAa,UAAgB;AACrC,YAAQ,eAAe,KAAK,UAAU,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,GAAG,MAAM,GAAG,KAAK,OAAO;AAClF,WAAO;AAAA,EACT;AACF;AAEO,MAAM,OAAO,CAAC,YAAgC,IAAI,UAAU,WAAW,CAAC,CAAC;AAEzE,MAAM,UAAU,CAAc,YAA+C,KAAK,OAAO,EAAE,QAAW;","names":["a"]}