@procedures/client 0.0.0-stage → 0.1.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 (762) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE +21 -0
  3. package/README.md +832 -2
  4. package/dist/.tsbuildinfo +1 -0
  5. package/dist/adapters/http/client/index.d.ts +11 -0
  6. package/dist/adapters/http/client/index.d.ts.map +1 -0
  7. package/dist/adapters/http/client/index.js +18 -0
  8. package/dist/adapters/http/client/index.js.map +1 -0
  9. package/dist/adapters/http/client/transport.d.ts +72 -0
  10. package/dist/adapters/http/client/transport.d.ts.map +1 -0
  11. package/dist/adapters/http/client/transport.js +282 -0
  12. package/dist/adapters/http/client/transport.js.map +1 -0
  13. package/dist/adapters/http/client/types.d.ts +27 -0
  14. package/dist/adapters/http/client/types.d.ts.map +1 -0
  15. package/dist/adapters/http/client/types.js +8 -0
  16. package/dist/adapters/http/client/types.js.map +1 -0
  17. package/dist/adapters/http/index.d.ts +7 -0
  18. package/dist/adapters/http/index.d.ts.map +1 -0
  19. package/dist/adapters/http/index.js +7 -0
  20. package/dist/adapters/http/index.js.map +1 -0
  21. package/dist/adapters/http/server/index.d.ts +9 -0
  22. package/dist/adapters/http/server/index.d.ts.map +1 -0
  23. package/dist/adapters/http/server/index.js +10 -0
  24. package/dist/adapters/http/server/index.js.map +1 -0
  25. package/dist/adapters/http/server/strategies.d.ts +39 -0
  26. package/dist/adapters/http/server/strategies.d.ts.map +1 -0
  27. package/dist/adapters/http/server/strategies.js +90 -0
  28. package/dist/adapters/http/server/strategies.js.map +1 -0
  29. package/dist/adapters/http/server/transport.d.ts +66 -0
  30. package/dist/adapters/http/server/transport.d.ts.map +1 -0
  31. package/dist/adapters/http/server/transport.js +561 -0
  32. package/dist/adapters/http/server/transport.js.map +1 -0
  33. package/dist/adapters/http/server/types.d.ts +71 -0
  34. package/dist/adapters/http/server/types.d.ts.map +1 -0
  35. package/dist/adapters/http/server/types.js +7 -0
  36. package/dist/adapters/http/server/types.js.map +1 -0
  37. package/dist/adapters/http/shared/constants.d.ts +95 -0
  38. package/dist/adapters/http/shared/constants.d.ts.map +1 -0
  39. package/dist/adapters/http/shared/constants.js +102 -0
  40. package/dist/adapters/http/shared/constants.js.map +1 -0
  41. package/dist/adapters/http/shared/errors.d.ts +78 -0
  42. package/dist/adapters/http/shared/errors.d.ts.map +1 -0
  43. package/dist/adapters/http/shared/errors.js +151 -0
  44. package/dist/adapters/http/shared/errors.js.map +1 -0
  45. package/dist/adapters/http/shared/headers.d.ts +122 -0
  46. package/dist/adapters/http/shared/headers.d.ts.map +1 -0
  47. package/dist/adapters/http/shared/headers.js +216 -0
  48. package/dist/adapters/http/shared/headers.js.map +1 -0
  49. package/dist/adapters/http/shared/index.d.ts +12 -0
  50. package/dist/adapters/http/shared/index.d.ts.map +1 -0
  51. package/dist/adapters/http/shared/index.js +17 -0
  52. package/dist/adapters/http/shared/index.js.map +1 -0
  53. package/dist/adapters/http/shared/status-codes.d.ts +92 -0
  54. package/dist/adapters/http/shared/status-codes.d.ts.map +1 -0
  55. package/dist/adapters/http/shared/status-codes.js +189 -0
  56. package/dist/adapters/http/shared/status-codes.js.map +1 -0
  57. package/dist/adapters/http/shared/strategies.d.ts +90 -0
  58. package/dist/adapters/http/shared/strategies.d.ts.map +1 -0
  59. package/dist/adapters/http/shared/strategies.js +180 -0
  60. package/dist/adapters/http/shared/strategies.js.map +1 -0
  61. package/dist/adapters/local/client/index.d.ts +8 -0
  62. package/dist/adapters/local/client/index.d.ts.map +1 -0
  63. package/dist/adapters/local/client/index.js +8 -0
  64. package/dist/adapters/local/client/index.js.map +1 -0
  65. package/dist/adapters/local/client/transport.d.ts +81 -0
  66. package/dist/adapters/local/client/transport.d.ts.map +1 -0
  67. package/dist/adapters/local/client/transport.js +172 -0
  68. package/dist/adapters/local/client/transport.js.map +1 -0
  69. package/dist/adapters/local/client/types.d.ts +39 -0
  70. package/dist/adapters/local/client/types.d.ts.map +1 -0
  71. package/dist/adapters/local/client/types.js +13 -0
  72. package/dist/adapters/local/client/types.js.map +1 -0
  73. package/dist/adapters/metadata.d.ts +10 -0
  74. package/dist/adapters/metadata.d.ts.map +1 -0
  75. package/dist/adapters/metadata.js +19 -0
  76. package/dist/adapters/metadata.js.map +1 -0
  77. package/dist/adapters/mock/client/builder.d.ts +35 -0
  78. package/dist/adapters/mock/client/builder.d.ts.map +1 -0
  79. package/dist/adapters/mock/client/builder.js +58 -0
  80. package/dist/adapters/mock/client/builder.js.map +1 -0
  81. package/dist/adapters/mock/client/index.d.ts +9 -0
  82. package/dist/adapters/mock/client/index.d.ts.map +1 -0
  83. package/dist/adapters/mock/client/index.js +10 -0
  84. package/dist/adapters/mock/client/index.js.map +1 -0
  85. package/dist/adapters/mock/client/transport.d.ts +149 -0
  86. package/dist/adapters/mock/client/transport.d.ts.map +1 -0
  87. package/dist/adapters/mock/client/transport.js +289 -0
  88. package/dist/adapters/mock/client/transport.js.map +1 -0
  89. package/dist/adapters/mock/client/types.d.ts +86 -0
  90. package/dist/adapters/mock/client/types.d.ts.map +1 -0
  91. package/dist/adapters/mock/client/types.js +7 -0
  92. package/dist/adapters/mock/client/types.js.map +1 -0
  93. package/dist/adapters/websocket/client/index.d.ts +9 -0
  94. package/dist/adapters/websocket/client/index.d.ts.map +1 -0
  95. package/dist/adapters/websocket/client/index.js +9 -0
  96. package/dist/adapters/websocket/client/index.js.map +1 -0
  97. package/dist/adapters/websocket/client/transport.d.ts +106 -0
  98. package/dist/adapters/websocket/client/transport.d.ts.map +1 -0
  99. package/dist/adapters/websocket/client/transport.js +647 -0
  100. package/dist/adapters/websocket/client/transport.js.map +1 -0
  101. package/dist/adapters/websocket/client/types.d.ts +192 -0
  102. package/dist/adapters/websocket/client/types.d.ts.map +1 -0
  103. package/dist/adapters/websocket/client/types.js +17 -0
  104. package/dist/adapters/websocket/client/types.js.map +1 -0
  105. package/dist/adapters/websocket/index.d.ts +8 -0
  106. package/dist/adapters/websocket/index.d.ts.map +1 -0
  107. package/dist/adapters/websocket/index.js +8 -0
  108. package/dist/adapters/websocket/index.js.map +1 -0
  109. package/dist/adapters/websocket/server/index.d.ts +8 -0
  110. package/dist/adapters/websocket/server/index.d.ts.map +1 -0
  111. package/dist/adapters/websocket/server/index.js +8 -0
  112. package/dist/adapters/websocket/server/index.js.map +1 -0
  113. package/dist/adapters/websocket/server/transport.d.ts +112 -0
  114. package/dist/adapters/websocket/server/transport.d.ts.map +1 -0
  115. package/dist/adapters/websocket/server/transport.js +619 -0
  116. package/dist/adapters/websocket/server/transport.js.map +1 -0
  117. package/dist/adapters/websocket/server/types.d.ts +140 -0
  118. package/dist/adapters/websocket/server/types.d.ts.map +1 -0
  119. package/dist/adapters/websocket/server/types.js +7 -0
  120. package/dist/adapters/websocket/server/types.js.map +1 -0
  121. package/dist/browser.d.ts +48 -0
  122. package/dist/browser.d.ts.map +1 -0
  123. package/dist/browser.js +86 -0
  124. package/dist/browser.js.map +1 -0
  125. package/dist/client/batch-executor.d.ts +160 -0
  126. package/dist/client/batch-executor.d.ts.map +1 -0
  127. package/dist/client/batch-executor.js +397 -0
  128. package/dist/client/batch-executor.js.map +1 -0
  129. package/dist/client/call-types.d.ts +271 -0
  130. package/dist/client/call-types.d.ts.map +1 -0
  131. package/dist/client/call-types.js +208 -0
  132. package/dist/client/call-types.js.map +1 -0
  133. package/dist/client/client.d.ts +517 -0
  134. package/dist/client/client.d.ts.map +1 -0
  135. package/dist/client/client.js +990 -0
  136. package/dist/client/client.js.map +1 -0
  137. package/dist/client/consumption.d.ts +191 -0
  138. package/dist/client/consumption.d.ts.map +1 -0
  139. package/dist/client/consumption.js +98 -0
  140. package/dist/client/consumption.js.map +1 -0
  141. package/dist/client/context.d.ts +116 -0
  142. package/dist/client/context.d.ts.map +1 -0
  143. package/dist/client/context.js +111 -0
  144. package/dist/client/context.js.map +1 -0
  145. package/dist/client/errors/codes.d.ts +71 -0
  146. package/dist/client/errors/codes.d.ts.map +1 -0
  147. package/dist/client/errors/codes.js +81 -0
  148. package/dist/client/errors/codes.js.map +1 -0
  149. package/dist/client/errors/factory.d.ts +102 -0
  150. package/dist/client/errors/factory.d.ts.map +1 -0
  151. package/dist/client/errors/factory.js +210 -0
  152. package/dist/client/errors/factory.js.map +1 -0
  153. package/dist/client/errors/http-errors.d.ts +47 -0
  154. package/dist/client/errors/http-errors.d.ts.map +1 -0
  155. package/dist/client/errors/http-errors.js +548 -0
  156. package/dist/client/errors/http-errors.js.map +1 -0
  157. package/dist/client/errors/http-status.d.ts +73 -0
  158. package/dist/client/errors/http-status.d.ts.map +1 -0
  159. package/dist/client/errors/http-status.js +79 -0
  160. package/dist/client/errors/http-status.js.map +1 -0
  161. package/dist/client/errors/index.d.ts +36 -0
  162. package/dist/client/errors/index.d.ts.map +1 -0
  163. package/dist/client/errors/index.js +40 -0
  164. package/dist/client/errors/index.js.map +1 -0
  165. package/dist/client/errors/registry.d.ts +38 -0
  166. package/dist/client/errors/registry.d.ts.map +1 -0
  167. package/dist/client/errors/registry.js +535 -0
  168. package/dist/client/errors/registry.js.map +1 -0
  169. package/dist/client/errors/types.d.ts +112 -0
  170. package/dist/client/errors/types.d.ts.map +1 -0
  171. package/dist/client/errors/types.js +45 -0
  172. package/dist/client/errors/types.js.map +1 -0
  173. package/dist/client/index.d.ts +44 -0
  174. package/dist/client/index.d.ts.map +1 -0
  175. package/dist/client/index.js +36 -0
  176. package/dist/client/index.js.map +1 -0
  177. package/dist/client/middleware/auth.d.ts +90 -0
  178. package/dist/client/middleware/auth.d.ts.map +1 -0
  179. package/dist/client/middleware/auth.js +98 -0
  180. package/dist/client/middleware/auth.js.map +1 -0
  181. package/dist/client/middleware/batching.d.ts +102 -0
  182. package/dist/client/middleware/batching.d.ts.map +1 -0
  183. package/dist/client/middleware/batching.js +245 -0
  184. package/dist/client/middleware/batching.js.map +1 -0
  185. package/dist/client/middleware/cache.d.ts +124 -0
  186. package/dist/client/middleware/cache.d.ts.map +1 -0
  187. package/dist/client/middleware/cache.js +208 -0
  188. package/dist/client/middleware/cache.js.map +1 -0
  189. package/dist/client/middleware/circuit-breaker.d.ts +113 -0
  190. package/dist/client/middleware/circuit-breaker.d.ts.map +1 -0
  191. package/dist/client/middleware/circuit-breaker.js +236 -0
  192. package/dist/client/middleware/circuit-breaker.js.map +1 -0
  193. package/dist/client/middleware/contexts.d.ts +199 -0
  194. package/dist/client/middleware/contexts.d.ts.map +1 -0
  195. package/dist/client/middleware/contexts.js +74 -0
  196. package/dist/client/middleware/contexts.js.map +1 -0
  197. package/dist/client/middleware/items.d.ts +37 -0
  198. package/dist/client/middleware/items.d.ts.map +1 -0
  199. package/dist/client/middleware/items.js +100 -0
  200. package/dist/client/middleware/items.js.map +1 -0
  201. package/dist/client/middleware/lru.d.ts +32 -0
  202. package/dist/client/middleware/lru.d.ts.map +1 -0
  203. package/dist/client/middleware/lru.js +62 -0
  204. package/dist/client/middleware/lru.js.map +1 -0
  205. package/dist/client/middleware/pagination.d.ts +114 -0
  206. package/dist/client/middleware/pagination.d.ts.map +1 -0
  207. package/dist/client/middleware/pagination.js +148 -0
  208. package/dist/client/middleware/pagination.js.map +1 -0
  209. package/dist/client/middleware/rate-limit.d.ts +105 -0
  210. package/dist/client/middleware/rate-limit.d.ts.map +1 -0
  211. package/dist/client/middleware/rate-limit.js +222 -0
  212. package/dist/client/middleware/rate-limit.js.map +1 -0
  213. package/dist/client/middleware/retry.d.ts +100 -0
  214. package/dist/client/middleware/retry.d.ts.map +1 -0
  215. package/dist/client/middleware/retry.js +150 -0
  216. package/dist/client/middleware/retry.js.map +1 -0
  217. package/dist/client/middleware/timeout.d.ts +91 -0
  218. package/dist/client/middleware/timeout.d.ts.map +1 -0
  219. package/dist/client/middleware/timeout.js +253 -0
  220. package/dist/client/middleware/timeout.js.map +1 -0
  221. package/dist/client/middleware/tracing.d.ts +118 -0
  222. package/dist/client/middleware/tracing.d.ts.map +1 -0
  223. package/dist/client/middleware/tracing.js +152 -0
  224. package/dist/client/middleware/tracing.js.map +1 -0
  225. package/dist/client/route-resolver.d.ts +181 -0
  226. package/dist/client/route-resolver.d.ts.map +1 -0
  227. package/dist/client/route-resolver.js +300 -0
  228. package/dist/client/route-resolver.js.map +1 -0
  229. package/dist/client/typed-method.d.ts +29 -0
  230. package/dist/client/typed-method.d.ts.map +1 -0
  231. package/dist/client/typed-method.js +36 -0
  232. package/dist/client/typed-method.js.map +1 -0
  233. package/dist/client/typed.d.ts +102 -0
  234. package/dist/client/typed.d.ts.map +1 -0
  235. package/dist/client/typed.js +52 -0
  236. package/dist/client/typed.js.map +1 -0
  237. package/dist/client/types.d.ts +296 -0
  238. package/dist/client/types.d.ts.map +1 -0
  239. package/dist/client/types.js +26 -0
  240. package/dist/client/types.js.map +1 -0
  241. package/dist/client/validation/index.d.ts +34 -0
  242. package/dist/client/validation/index.d.ts.map +1 -0
  243. package/dist/client/validation/index.js +36 -0
  244. package/dist/client/validation/index.js.map +1 -0
  245. package/dist/client/validation/middleware.d.ts +82 -0
  246. package/dist/client/validation/middleware.d.ts.map +1 -0
  247. package/dist/client/validation/middleware.js +138 -0
  248. package/dist/client/validation/middleware.js.map +1 -0
  249. package/dist/client/validation/types.d.ts +118 -0
  250. package/dist/client/validation/types.d.ts.map +1 -0
  251. package/dist/client/validation/types.js +59 -0
  252. package/dist/client/validation/types.js.map +1 -0
  253. package/dist/collections/async/async-queue.d.ts +144 -0
  254. package/dist/collections/async/async-queue.d.ts.map +1 -0
  255. package/dist/collections/async/async-queue.js +347 -0
  256. package/dist/collections/async/async-queue.js.map +1 -0
  257. package/dist/collections/async/channels.d.ts +188 -0
  258. package/dist/collections/async/channels.d.ts.map +1 -0
  259. package/dist/collections/async/channels.js +312 -0
  260. package/dist/collections/async/channels.js.map +1 -0
  261. package/dist/collections/behaviors/bounded.d.ts +79 -0
  262. package/dist/collections/behaviors/bounded.d.ts.map +1 -0
  263. package/dist/collections/behaviors/bounded.js +384 -0
  264. package/dist/collections/behaviors/bounded.js.map +1 -0
  265. package/dist/collections/behaviors/evented.d.ts +154 -0
  266. package/dist/collections/behaviors/evented.d.ts.map +1 -0
  267. package/dist/collections/behaviors/evented.js +299 -0
  268. package/dist/collections/behaviors/evented.js.map +1 -0
  269. package/dist/collections/behaviors/lru.d.ts +84 -0
  270. package/dist/collections/behaviors/lru.d.ts.map +1 -0
  271. package/dist/collections/behaviors/lru.js +330 -0
  272. package/dist/collections/behaviors/lru.js.map +1 -0
  273. package/dist/collections/behaviors/readonly.d.ts +73 -0
  274. package/dist/collections/behaviors/readonly.d.ts.map +1 -0
  275. package/dist/collections/behaviors/readonly.js +158 -0
  276. package/dist/collections/behaviors/readonly.js.map +1 -0
  277. package/dist/collections/behaviors/safe.d.ts +163 -0
  278. package/dist/collections/behaviors/safe.d.ts.map +1 -0
  279. package/dist/collections/behaviors/safe.js +172 -0
  280. package/dist/collections/behaviors/safe.js.map +1 -0
  281. package/dist/collections/behaviors/synchronized.d.ts +88 -0
  282. package/dist/collections/behaviors/synchronized.d.ts.map +1 -0
  283. package/dist/collections/behaviors/synchronized.js +294 -0
  284. package/dist/collections/behaviors/synchronized.js.map +1 -0
  285. package/dist/collections/behaviors/ttl.d.ts +118 -0
  286. package/dist/collections/behaviors/ttl.d.ts.map +1 -0
  287. package/dist/collections/behaviors/ttl.js +338 -0
  288. package/dist/collections/behaviors/ttl.js.map +1 -0
  289. package/dist/collections/core/effects.d.ts +176 -0
  290. package/dist/collections/core/effects.d.ts.map +1 -0
  291. package/dist/collections/core/effects.js +180 -0
  292. package/dist/collections/core/effects.js.map +1 -0
  293. package/dist/collections/core/events.d.ts +192 -0
  294. package/dist/collections/core/events.d.ts.map +1 -0
  295. package/dist/collections/core/events.js +291 -0
  296. package/dist/collections/core/events.js.map +1 -0
  297. package/dist/collections/core/middleware.d.ts +231 -0
  298. package/dist/collections/core/middleware.d.ts.map +1 -0
  299. package/dist/collections/core/middleware.js +161 -0
  300. package/dist/collections/core/middleware.js.map +1 -0
  301. package/dist/collections/core/policies.d.ts +220 -0
  302. package/dist/collections/core/policies.d.ts.map +1 -0
  303. package/dist/collections/core/policies.js +48 -0
  304. package/dist/collections/core/policies.js.map +1 -0
  305. package/dist/collections/core/traits.d.ts +142 -0
  306. package/dist/collections/core/traits.d.ts.map +1 -0
  307. package/dist/collections/core/traits.js +8 -0
  308. package/dist/collections/core/traits.js.map +1 -0
  309. package/dist/collections/examples.d.ts +13 -0
  310. package/dist/collections/examples.d.ts.map +1 -0
  311. package/dist/collections/examples.js +302 -0
  312. package/dist/collections/examples.js.map +1 -0
  313. package/dist/collections/fx/collectors.d.ts +190 -0
  314. package/dist/collections/fx/collectors.d.ts.map +1 -0
  315. package/dist/collections/fx/collectors.js +369 -0
  316. package/dist/collections/fx/collectors.js.map +1 -0
  317. package/dist/collections/fx/iter.d.ts +166 -0
  318. package/dist/collections/fx/iter.d.ts.map +1 -0
  319. package/dist/collections/fx/iter.js +421 -0
  320. package/dist/collections/fx/iter.js.map +1 -0
  321. package/dist/collections/impl/array-deque.d.ts +107 -0
  322. package/dist/collections/impl/array-deque.d.ts.map +1 -0
  323. package/dist/collections/impl/array-deque.js +381 -0
  324. package/dist/collections/impl/array-deque.js.map +1 -0
  325. package/dist/collections/impl/array-list.d.ts +101 -0
  326. package/dist/collections/impl/array-list.d.ts.map +1 -0
  327. package/dist/collections/impl/array-list.js +387 -0
  328. package/dist/collections/impl/array-list.js.map +1 -0
  329. package/dist/collections/impl/hash-map.d.ts +141 -0
  330. package/dist/collections/impl/hash-map.d.ts.map +1 -0
  331. package/dist/collections/impl/hash-map.js +450 -0
  332. package/dist/collections/impl/hash-map.js.map +1 -0
  333. package/dist/collections/impl/hash-set.d.ts +125 -0
  334. package/dist/collections/impl/hash-set.d.ts.map +1 -0
  335. package/dist/collections/impl/hash-set.js +264 -0
  336. package/dist/collections/impl/hash-set.js.map +1 -0
  337. package/dist/collections/impl/linked-hash-map.d.ts +141 -0
  338. package/dist/collections/impl/linked-hash-map.d.ts.map +1 -0
  339. package/dist/collections/impl/linked-hash-map.js +472 -0
  340. package/dist/collections/impl/linked-hash-map.js.map +1 -0
  341. package/dist/collections/impl/linked-list.d.ts +109 -0
  342. package/dist/collections/impl/linked-list.d.ts.map +1 -0
  343. package/dist/collections/impl/linked-list.js +491 -0
  344. package/dist/collections/impl/linked-list.js.map +1 -0
  345. package/dist/collections/impl/priority-queue.d.ts +134 -0
  346. package/dist/collections/impl/priority-queue.d.ts.map +1 -0
  347. package/dist/collections/impl/priority-queue.js +336 -0
  348. package/dist/collections/impl/priority-queue.js.map +1 -0
  349. package/dist/collections/impl/tree-map.d.ts +146 -0
  350. package/dist/collections/impl/tree-map.d.ts.map +1 -0
  351. package/dist/collections/impl/tree-map.js +781 -0
  352. package/dist/collections/impl/tree-map.js.map +1 -0
  353. package/dist/collections/impl/tree-set.d.ts +112 -0
  354. package/dist/collections/impl/tree-set.d.ts.map +1 -0
  355. package/dist/collections/impl/tree-set.js +374 -0
  356. package/dist/collections/impl/tree-set.js.map +1 -0
  357. package/dist/collections/index.d.ts +105 -0
  358. package/dist/collections/index.d.ts.map +1 -0
  359. package/dist/collections/index.js +135 -0
  360. package/dist/collections/index.js.map +1 -0
  361. package/dist/collections/interfaces/collection.d.ts +119 -0
  362. package/dist/collections/interfaces/collection.d.ts.map +1 -0
  363. package/dist/collections/interfaces/collection.js +8 -0
  364. package/dist/collections/interfaces/collection.js.map +1 -0
  365. package/dist/collections/interfaces/list.d.ts +247 -0
  366. package/dist/collections/interfaces/list.d.ts.map +1 -0
  367. package/dist/collections/interfaces/list.js +8 -0
  368. package/dist/collections/interfaces/list.js.map +1 -0
  369. package/dist/collections/interfaces/map.d.ts +344 -0
  370. package/dist/collections/interfaces/map.d.ts.map +1 -0
  371. package/dist/collections/interfaces/map.js +8 -0
  372. package/dist/collections/interfaces/map.js.map +1 -0
  373. package/dist/collections/interfaces/queue.d.ts +304 -0
  374. package/dist/collections/interfaces/queue.d.ts.map +1 -0
  375. package/dist/collections/interfaces/queue.js +8 -0
  376. package/dist/collections/interfaces/queue.js.map +1 -0
  377. package/dist/collections/interfaces/set.d.ts +137 -0
  378. package/dist/collections/interfaces/set.d.ts.map +1 -0
  379. package/dist/collections/interfaces/set.js +8 -0
  380. package/dist/collections/interfaces/set.js.map +1 -0
  381. package/dist/collections/storage/api.d.ts +109 -0
  382. package/dist/collections/storage/api.d.ts.map +1 -0
  383. package/dist/collections/storage/api.js +182 -0
  384. package/dist/collections/storage/api.js.map +1 -0
  385. package/dist/collections/storage/hybrid.d.ts +164 -0
  386. package/dist/collections/storage/hybrid.d.ts.map +1 -0
  387. package/dist/collections/storage/hybrid.js +416 -0
  388. package/dist/collections/storage/hybrid.js.map +1 -0
  389. package/dist/collections/storage/index.d.ts +16 -0
  390. package/dist/collections/storage/index.d.ts.map +1 -0
  391. package/dist/collections/storage/index.js +13 -0
  392. package/dist/collections/storage/index.js.map +1 -0
  393. package/dist/collections/storage/interface.d.ts +141 -0
  394. package/dist/collections/storage/interface.d.ts.map +1 -0
  395. package/dist/collections/storage/interface.js +23 -0
  396. package/dist/collections/storage/interface.js.map +1 -0
  397. package/dist/collections/storage/memory.d.ts +68 -0
  398. package/dist/collections/storage/memory.d.ts.map +1 -0
  399. package/dist/collections/storage/memory.js +154 -0
  400. package/dist/collections/storage/memory.js.map +1 -0
  401. package/dist/collections/utils/defaults.d.ts +135 -0
  402. package/dist/collections/utils/defaults.d.ts.map +1 -0
  403. package/dist/collections/utils/defaults.js +322 -0
  404. package/dist/collections/utils/defaults.js.map +1 -0
  405. package/dist/collections/utils/factories.d.ts +144 -0
  406. package/dist/collections/utils/factories.d.ts.map +1 -0
  407. package/dist/collections/utils/factories.js +293 -0
  408. package/dist/collections/utils/factories.js.map +1 -0
  409. package/dist/collections/utils/helpers.d.ts +137 -0
  410. package/dist/collections/utils/helpers.d.ts.map +1 -0
  411. package/dist/collections/utils/helpers.js +221 -0
  412. package/dist/collections/utils/helpers.js.map +1 -0
  413. package/dist/collections.d.ts +12 -0
  414. package/dist/collections.d.ts.map +1 -0
  415. package/dist/collections.js +10 -0
  416. package/dist/collections.js.map +1 -0
  417. package/dist/components/define.d.ts +134 -0
  418. package/dist/components/define.d.ts.map +1 -0
  419. package/dist/components/define.js +486 -0
  420. package/dist/components/define.js.map +1 -0
  421. package/dist/components/index.d.ts +39 -0
  422. package/dist/components/index.d.ts.map +1 -0
  423. package/dist/components/index.js +38 -0
  424. package/dist/components/index.js.map +1 -0
  425. package/dist/components/types.d.ts +264 -0
  426. package/dist/components/types.d.ts.map +1 -0
  427. package/dist/components/types.js +46 -0
  428. package/dist/components/types.js.map +1 -0
  429. package/dist/events/bus.d.ts +193 -0
  430. package/dist/events/bus.d.ts.map +1 -0
  431. package/dist/events/bus.js +511 -0
  432. package/dist/events/bus.js.map +1 -0
  433. package/dist/events/index.d.ts +34 -0
  434. package/dist/events/index.d.ts.map +1 -0
  435. package/dist/events/index.js +36 -0
  436. package/dist/events/index.js.map +1 -0
  437. package/dist/events/types.d.ts +242 -0
  438. package/dist/events/types.d.ts.map +1 -0
  439. package/dist/events/types.js +8 -0
  440. package/dist/events/types.js.map +1 -0
  441. package/dist/index.d.ts +17 -0
  442. package/dist/index.d.ts.map +1 -0
  443. package/dist/index.js +17 -0
  444. package/dist/index.js.map +1 -0
  445. package/dist/middleware/compose.d.ts +88 -0
  446. package/dist/middleware/compose.d.ts.map +1 -0
  447. package/dist/middleware/compose.js +108 -0
  448. package/dist/middleware/compose.js.map +1 -0
  449. package/dist/middleware/index.d.ts +12 -0
  450. package/dist/middleware/index.d.ts.map +1 -0
  451. package/dist/middleware/index.js +11 -0
  452. package/dist/middleware/index.js.map +1 -0
  453. package/dist/middleware/types.d.ts +112 -0
  454. package/dist/middleware/types.d.ts.map +1 -0
  455. package/dist/middleware/types.js +14 -0
  456. package/dist/middleware/types.js.map +1 -0
  457. package/dist/procedures/cli/announce.d.ts +67 -0
  458. package/dist/procedures/cli/announce.d.ts.map +1 -0
  459. package/dist/procedures/cli/announce.js +392 -0
  460. package/dist/procedures/cli/announce.js.map +1 -0
  461. package/dist/procedures/cli/discover.d.ts +66 -0
  462. package/dist/procedures/cli/discover.d.ts.map +1 -0
  463. package/dist/procedures/cli/discover.js +310 -0
  464. package/dist/procedures/cli/discover.js.map +1 -0
  465. package/dist/procedures/cli/index.d.ts +13 -0
  466. package/dist/procedures/cli/index.d.ts.map +1 -0
  467. package/dist/procedures/cli/index.js +201 -0
  468. package/dist/procedures/cli/index.js.map +1 -0
  469. package/dist/procedures/cli/init.d.ts +17 -0
  470. package/dist/procedures/cli/init.d.ts.map +1 -0
  471. package/dist/procedures/cli/init.js +336 -0
  472. package/dist/procedures/cli/init.js.map +1 -0
  473. package/dist/procedures/collection/index.d.ts +10 -0
  474. package/dist/procedures/collection/index.d.ts.map +1 -0
  475. package/dist/procedures/collection/index.js +10 -0
  476. package/dist/procedures/collection/index.js.map +1 -0
  477. package/dist/procedures/collection/procedures.d.ts +21 -0
  478. package/dist/procedures/collection/procedures.d.ts.map +1 -0
  479. package/dist/procedures/collection/procedures.js +198 -0
  480. package/dist/procedures/collection/procedures.js.map +1 -0
  481. package/dist/procedures/collection/schemas.d.ts +131 -0
  482. package/dist/procedures/collection/schemas.d.ts.map +1 -0
  483. package/dist/procedures/collection/schemas.js +422 -0
  484. package/dist/procedures/collection/schemas.js.map +1 -0
  485. package/dist/procedures/collection/storage.d.ts +53 -0
  486. package/dist/procedures/collection/storage.d.ts.map +1 -0
  487. package/dist/procedures/collection/storage.js +2 -0
  488. package/dist/procedures/collection/storage.js.map +1 -0
  489. package/dist/procedures/core/array.d.ts +276 -0
  490. package/dist/procedures/core/array.d.ts.map +1 -0
  491. package/dist/procedures/core/array.js +637 -0
  492. package/dist/procedures/core/array.js.map +1 -0
  493. package/dist/procedures/core/comparison.d.ts +85 -0
  494. package/dist/procedures/core/comparison.d.ts.map +1 -0
  495. package/dist/procedures/core/comparison.js +156 -0
  496. package/dist/procedures/core/comparison.js.map +1 -0
  497. package/dist/procedures/core/index.d.ts +261 -0
  498. package/dist/procedures/core/index.d.ts.map +1 -0
  499. package/dist/procedures/core/index.js +585 -0
  500. package/dist/procedures/core/index.js.map +1 -0
  501. package/dist/procedures/core/logic.d.ts +144 -0
  502. package/dist/procedures/core/logic.d.ts.map +1 -0
  503. package/dist/procedures/core/logic.js +169 -0
  504. package/dist/procedures/core/logic.js.map +1 -0
  505. package/dist/procedures/core/math.d.ts +139 -0
  506. package/dist/procedures/core/math.d.ts.map +1 -0
  507. package/dist/procedures/core/math.js +273 -0
  508. package/dist/procedures/core/math.js.map +1 -0
  509. package/dist/procedures/core/meta.d.ts +111 -0
  510. package/dist/procedures/core/meta.d.ts.map +1 -0
  511. package/dist/procedures/core/meta.js +239 -0
  512. package/dist/procedures/core/meta.js.map +1 -0
  513. package/dist/procedures/core/object.d.ts +109 -0
  514. package/dist/procedures/core/object.d.ts.map +1 -0
  515. package/dist/procedures/core/object.js +270 -0
  516. package/dist/procedures/core/object.js.map +1 -0
  517. package/dist/procedures/core/operands.d.ts +51 -0
  518. package/dist/procedures/core/operands.d.ts.map +1 -0
  519. package/dist/procedures/core/operands.js +90 -0
  520. package/dist/procedures/core/operands.js.map +1 -0
  521. package/dist/procedures/core/outputs.d.ts +28 -0
  522. package/dist/procedures/core/outputs.d.ts.map +1 -0
  523. package/dist/procedures/core/outputs.js +42 -0
  524. package/dist/procedures/core/outputs.js.map +1 -0
  525. package/dist/procedures/core/results.d.ts +202 -0
  526. package/dist/procedures/core/results.d.ts.map +1 -0
  527. package/dist/procedures/core/results.js +106 -0
  528. package/dist/procedures/core/results.js.map +1 -0
  529. package/dist/procedures/core/schemas.d.ts +48 -0
  530. package/dist/procedures/core/schemas.d.ts.map +1 -0
  531. package/dist/procedures/core/schemas.js +102 -0
  532. package/dist/procedures/core/schemas.js.map +1 -0
  533. package/dist/procedures/core/string.d.ts +138 -0
  534. package/dist/procedures/core/string.d.ts.map +1 -0
  535. package/dist/procedures/core/string.js +268 -0
  536. package/dist/procedures/core/string.js.map +1 -0
  537. package/dist/procedures/core/type.d.ts +101 -0
  538. package/dist/procedures/core/type.d.ts.map +1 -0
  539. package/dist/procedures/core/type.js +208 -0
  540. package/dist/procedures/core/type.js.map +1 -0
  541. package/dist/procedures/define-procedure.d.ts +187 -0
  542. package/dist/procedures/define-procedure.d.ts.map +1 -0
  543. package/dist/procedures/define-procedure.js +356 -0
  544. package/dist/procedures/define-procedure.js.map +1 -0
  545. package/dist/procedures/define.d.ts +228 -0
  546. package/dist/procedures/define.d.ts.map +1 -0
  547. package/dist/procedures/define.js +300 -0
  548. package/dist/procedures/define.js.map +1 -0
  549. package/dist/procedures/discovery.d.ts +57 -0
  550. package/dist/procedures/discovery.d.ts.map +1 -0
  551. package/dist/procedures/discovery.js +68 -0
  552. package/dist/procedures/discovery.js.map +1 -0
  553. package/dist/procedures/index.d.ts +24 -0
  554. package/dist/procedures/index.d.ts.map +1 -0
  555. package/dist/procedures/index.js +69 -0
  556. package/dist/procedures/index.js.map +1 -0
  557. package/dist/procedures/interceptors.d.ts +82 -0
  558. package/dist/procedures/interceptors.d.ts.map +1 -0
  559. package/dist/procedures/interceptors.js +193 -0
  560. package/dist/procedures/interceptors.js.map +1 -0
  561. package/dist/procedures/invoke.d.ts +127 -0
  562. package/dist/procedures/invoke.d.ts.map +1 -0
  563. package/dist/procedures/invoke.js +277 -0
  564. package/dist/procedures/invoke.js.map +1 -0
  565. package/dist/procedures/module.d.ts +49 -0
  566. package/dist/procedures/module.d.ts.map +1 -0
  567. package/dist/procedures/module.js +93 -0
  568. package/dist/procedures/module.js.map +1 -0
  569. package/dist/procedures/policy.d.ts +70 -0
  570. package/dist/procedures/policy.d.ts.map +1 -0
  571. package/dist/procedures/policy.js +138 -0
  572. package/dist/procedures/policy.js.map +1 -0
  573. package/dist/procedures/ref.d.ts +606 -0
  574. package/dist/procedures/ref.d.ts.map +1 -0
  575. package/dist/procedures/ref.js +895 -0
  576. package/dist/procedures/ref.js.map +1 -0
  577. package/dist/procedures/registry.d.ts +208 -0
  578. package/dist/procedures/registry.d.ts.map +1 -0
  579. package/dist/procedures/registry.js +402 -0
  580. package/dist/procedures/registry.js.map +1 -0
  581. package/dist/procedures/schema.d.ts +126 -0
  582. package/dist/procedures/schema.d.ts.map +1 -0
  583. package/dist/procedures/schema.js +108 -0
  584. package/dist/procedures/schema.js.map +1 -0
  585. package/dist/procedures/storage/adapter.d.ts +148 -0
  586. package/dist/procedures/storage/adapter.d.ts.map +1 -0
  587. package/dist/procedures/storage/adapter.js +214 -0
  588. package/dist/procedures/storage/adapter.js.map +1 -0
  589. package/dist/procedures/storage/api.d.ts +125 -0
  590. package/dist/procedures/storage/api.d.ts.map +1 -0
  591. package/dist/procedures/storage/api.js +220 -0
  592. package/dist/procedures/storage/api.js.map +1 -0
  593. package/dist/procedures/storage/factory.d.ts +134 -0
  594. package/dist/procedures/storage/factory.d.ts.map +1 -0
  595. package/dist/procedures/storage/factory.js +166 -0
  596. package/dist/procedures/storage/factory.js.map +1 -0
  597. package/dist/procedures/storage/hybrid.d.ts +193 -0
  598. package/dist/procedures/storage/hybrid.d.ts.map +1 -0
  599. package/dist/procedures/storage/hybrid.js +519 -0
  600. package/dist/procedures/storage/hybrid.js.map +1 -0
  601. package/dist/procedures/storage/index.d.ts +17 -0
  602. package/dist/procedures/storage/index.d.ts.map +1 -0
  603. package/dist/procedures/storage/index.js +17 -0
  604. package/dist/procedures/storage/index.js.map +1 -0
  605. package/dist/procedures/storage/procedures.d.ts +39 -0
  606. package/dist/procedures/storage/procedures.d.ts.map +1 -0
  607. package/dist/procedures/storage/procedures.js +261 -0
  608. package/dist/procedures/storage/procedures.js.map +1 -0
  609. package/dist/procedures/storage/serialization.d.ts +123 -0
  610. package/dist/procedures/storage/serialization.d.ts.map +1 -0
  611. package/dist/procedures/storage/serialization.js +216 -0
  612. package/dist/procedures/storage/serialization.js.map +1 -0
  613. package/dist/procedures/storage/synced-registry.d.ts +246 -0
  614. package/dist/procedures/storage/synced-registry.d.ts.map +1 -0
  615. package/dist/procedures/storage/synced-registry.js +575 -0
  616. package/dist/procedures/storage/synced-registry.js.map +1 -0
  617. package/dist/procedures/storage/types.d.ts +130 -0
  618. package/dist/procedures/storage/types.d.ts.map +1 -0
  619. package/dist/procedures/storage/types.js +8 -0
  620. package/dist/procedures/storage/types.js.map +1 -0
  621. package/dist/procedures/types.d.ts +370 -0
  622. package/dist/procedures/types.d.ts.map +1 -0
  623. package/dist/procedures/types.js +23 -0
  624. package/dist/procedures/types.js.map +1 -0
  625. package/dist/server/browser-guard.d.ts +69 -0
  626. package/dist/server/browser-guard.d.ts.map +1 -0
  627. package/dist/server/browser-guard.js +103 -0
  628. package/dist/server/browser-guard.js.map +1 -0
  629. package/dist/server/host-policy.d.ts +59 -0
  630. package/dist/server/host-policy.d.ts.map +1 -0
  631. package/dist/server/host-policy.js +82 -0
  632. package/dist/server/host-policy.js.map +1 -0
  633. package/dist/server/index.d.ts +46 -0
  634. package/dist/server/index.d.ts.map +1 -0
  635. package/dist/server/index.js +42 -0
  636. package/dist/server/index.js.map +1 -0
  637. package/dist/server/method.d.ts +24 -0
  638. package/dist/server/method.d.ts.map +1 -0
  639. package/dist/server/method.js +29 -0
  640. package/dist/server/method.js.map +1 -0
  641. package/dist/server/procedure-server.d.ts +212 -0
  642. package/dist/server/procedure-server.d.ts.map +1 -0
  643. package/dist/server/procedure-server.js +323 -0
  644. package/dist/server/procedure-server.js.map +1 -0
  645. package/dist/server/server.d.ts +161 -0
  646. package/dist/server/server.d.ts.map +1 -0
  647. package/dist/server/server.js +279 -0
  648. package/dist/server/server.js.map +1 -0
  649. package/dist/server/types.d.ts +106 -0
  650. package/dist/server/types.d.ts.map +1 -0
  651. package/dist/server/types.js +29 -0
  652. package/dist/server/types.js.map +1 -0
  653. package/package.json +115 -3
  654. package/src/adapters/http/client/index.ts +51 -0
  655. package/src/adapters/http/client/transport.ts +338 -0
  656. package/src/adapters/http/client/types.ts +33 -0
  657. package/src/adapters/http/index.ts +7 -0
  658. package/src/adapters/http/server/index.ts +14 -0
  659. package/src/adapters/http/server/strategies.ts +105 -0
  660. package/src/adapters/http/server/transport.ts +622 -0
  661. package/src/adapters/http/server/types.ts +81 -0
  662. package/src/adapters/http/shared/constants.ts +108 -0
  663. package/src/adapters/http/shared/errors.ts +199 -0
  664. package/src/adapters/http/shared/headers.ts +291 -0
  665. package/src/adapters/http/shared/index.ts +21 -0
  666. package/src/adapters/http/shared/status-codes.ts +212 -0
  667. package/src/adapters/http/shared/strategies.ts +255 -0
  668. package/src/adapters/local/client/index.ts +11 -0
  669. package/src/adapters/local/client/transport.ts +188 -0
  670. package/src/adapters/local/client/types.ts +50 -0
  671. package/src/adapters/metadata.ts +17 -0
  672. package/src/adapters/mock/client/builder.ts +64 -0
  673. package/src/adapters/mock/client/index.ts +19 -0
  674. package/src/adapters/mock/client/transport.ts +352 -0
  675. package/src/adapters/mock/client/types.ts +99 -0
  676. package/src/adapters/websocket/client/index.ts +18 -0
  677. package/src/adapters/websocket/client/transport.ts +733 -0
  678. package/src/adapters/websocket/client/types.ts +235 -0
  679. package/src/adapters/websocket/index.ts +24 -0
  680. package/src/adapters/websocket/server/index.ts +18 -0
  681. package/src/adapters/websocket/server/transport.ts +705 -0
  682. package/src/adapters/websocket/server/types.ts +169 -0
  683. package/src/browser.ts +373 -0
  684. package/src/client/batch-executor.ts +514 -0
  685. package/src/client/call-types.ts +491 -0
  686. package/src/client/client.ts +1202 -0
  687. package/src/client/consumption.ts +288 -0
  688. package/src/client/context.ts +228 -0
  689. package/src/client/errors/README.md +279 -0
  690. package/src/client/errors/codes.ts +88 -0
  691. package/src/client/errors/factory.ts +263 -0
  692. package/src/client/errors/http-errors.ts +601 -0
  693. package/src/client/errors/http-status.ts +82 -0
  694. package/src/client/errors/index.ts +72 -0
  695. package/src/client/errors/registry.ts +595 -0
  696. package/src/client/errors/types.ts +139 -0
  697. package/src/client/index.ts +124 -0
  698. package/src/client/middleware/auth.ts +132 -0
  699. package/src/client/middleware/cache.ts +316 -0
  700. package/src/client/middleware/circuit-breaker.ts +339 -0
  701. package/src/client/middleware/contexts.ts +319 -0
  702. package/src/client/middleware/items.ts +114 -0
  703. package/src/client/middleware/lru.ts +66 -0
  704. package/src/client/middleware/pagination.ts +213 -0
  705. package/src/client/middleware/rate-limit.ts +315 -0
  706. package/src/client/middleware/retry.ts +236 -0
  707. package/src/client/middleware/timeout.ts +308 -0
  708. package/src/client/middleware/tracing.ts +191 -0
  709. package/src/client/route-resolver.ts +407 -0
  710. package/src/client/typed-method.ts +65 -0
  711. package/src/client/typed.ts +140 -0
  712. package/src/client/types.ts +361 -0
  713. package/src/client/validation/index.ts +56 -0
  714. package/src/client/validation/middleware.ts +254 -0
  715. package/src/client/validation/types.ts +162 -0
  716. package/src/events/bus.ts +594 -0
  717. package/src/events/index.ts +67 -0
  718. package/src/events/types.ts +263 -0
  719. package/src/index.ts +33 -0
  720. package/src/middleware/compose.ts +159 -0
  721. package/src/middleware/index.ts +28 -0
  722. package/src/middleware/types.ts +166 -0
  723. package/src/procedures/cli/announce.ts +470 -0
  724. package/src/procedures/cli/discover.ts +390 -0
  725. package/src/procedures/cli/index.ts +229 -0
  726. package/src/procedures/cli/init.ts +370 -0
  727. package/src/procedures/collection/index.ts +51 -0
  728. package/src/procedures/collection/procedures.ts +245 -0
  729. package/src/procedures/collection/schemas.ts +550 -0
  730. package/src/procedures/collection/storage.ts +53 -0
  731. package/src/procedures/core/array.ts +1024 -0
  732. package/src/procedures/core/comparison.ts +263 -0
  733. package/src/procedures/core/index.ts +895 -0
  734. package/src/procedures/core/logic.ts +225 -0
  735. package/src/procedures/core/math.ts +469 -0
  736. package/src/procedures/core/meta.ts +384 -0
  737. package/src/procedures/core/object.ts +427 -0
  738. package/src/procedures/core/operands.ts +119 -0
  739. package/src/procedures/core/outputs.ts +48 -0
  740. package/src/procedures/core/results.ts +296 -0
  741. package/src/procedures/core/schemas.ts +123 -0
  742. package/src/procedures/core/string.ts +458 -0
  743. package/src/procedures/core/type.ts +344 -0
  744. package/src/procedures/define-procedure.ts +531 -0
  745. package/src/procedures/define.ts +387 -0
  746. package/src/procedures/discovery.ts +76 -0
  747. package/src/procedures/index.ts +228 -0
  748. package/src/procedures/interceptors.ts +272 -0
  749. package/src/procedures/invoke.ts +413 -0
  750. package/src/procedures/module.ts +107 -0
  751. package/src/procedures/policy.ts +171 -0
  752. package/src/procedures/ref.ts +1305 -0
  753. package/src/procedures/registry.ts +473 -0
  754. package/src/procedures/schema.ts +225 -0
  755. package/src/procedures/types.ts +485 -0
  756. package/src/server/browser-guard.ts +147 -0
  757. package/src/server/host-policy.ts +121 -0
  758. package/src/server/index.ts +70 -0
  759. package/src/server/method.ts +33 -0
  760. package/src/server/procedure-server.ts +417 -0
  761. package/src/server/server.ts +364 -0
  762. package/src/server/types.ts +147 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collections/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Collections Framework - A comprehensive Java Collections-inspired library for TypeScript.
3
+ *
4
+ * Provides:
5
+ * - Core collection interfaces (List, Set, Queue, Map, etc.)
6
+ * - Rich implementations (ArrayList, LinkedList, HashSet, HashMap, PriorityQueue, etc.)
7
+ * - Composable behaviors (bounded, readonly, safe, evented, synchronized, LRU, TTL)
8
+ * - Functional error handling (Option, Result)
9
+ * - Event-driven collections with typed events
10
+ * - Async/concurrent collections (AsyncQueue, Channels with CSP patterns)
11
+ * - Lazy functional operations (map, filter, reduce, etc.)
12
+ * - Stream-style collectors (groupBy, counting, summarizing, etc.)
13
+ * - Pluggable equality/hashing/comparison
14
+ *
15
+ * @example
16
+ * // Composable behaviors
17
+ * import { arrayList, compose, boundedList, eventedList } from '@common/collections'
18
+ *
19
+ * const list = compose(
20
+ * eventedList(),
21
+ * boundedList({ capacity: 100, policy: 'drop-oldest' })
22
+ * )(arrayList<number>())
23
+ *
24
+ * list.on('add', ({ value }) => console.log('Added:', value))
25
+ * list.add(42)
26
+ *
27
+ * @example
28
+ * // Functional operations with lazy evaluation
29
+ * import { pipe, map, filter, take, collect, toList } from '@common/collections'
30
+ *
31
+ * const result = pipe(
32
+ * [1, 2, 3, 4, 5],
33
+ * (it) => map(it, x => x * 2),
34
+ * (it) => filter(it, x => x > 5),
35
+ * (it) => take(it, 2),
36
+ * (it) => collect(it, toList())
37
+ * )
38
+ *
39
+ * @example
40
+ * // Async channels with Go-style CSP
41
+ * import { channel, select, timeout, pipeline } from '@common/collections'
42
+ *
43
+ * const ch = channel<number>()
44
+ * await ch.send(42)
45
+ * const value = await select(
46
+ * ch.case(v => v),
47
+ * timeout(1000).case(() => null)
48
+ * )
49
+ */
50
+ // ============================================================================
51
+ // Core types and utilities
52
+ // ============================================================================
53
+ export * from "./core/traits.js";
54
+ export * from "./core/effects.js";
55
+ export * from "./core/policies.js";
56
+ export * from "./core/middleware.js";
57
+ export * from "./core/events.js";
58
+ // ============================================================================
59
+ // Interfaces
60
+ // ============================================================================
61
+ export * from "./interfaces/collection.js";
62
+ export * from "./interfaces/list.js";
63
+ export * from "./interfaces/map.js";
64
+ export * from "./interfaces/set.js";
65
+ // ============================================================================
66
+ // Implementations
67
+ // ============================================================================
68
+ export * from "./impl/array-list.js";
69
+ export * from "./impl/array-deque.js";
70
+ export * from "./impl/hash-map.js";
71
+ export * from "./impl/linked-hash-map.js";
72
+ export * from "./impl/tree-map.js";
73
+ export * from "./impl/tree-set.js";
74
+ export * from "./impl/linked-list.js";
75
+ export * from "./impl/hash-set.js";
76
+ export * from "./impl/priority-queue.js";
77
+ // ============================================================================
78
+ // Behaviors
79
+ // ============================================================================
80
+ // Export bounded behaviors (excluding duplicate BoundedCollection interface)
81
+ export { boundedList, boundedQueue, boundedDeque, boundedMap, bounded, } from "./behaviors/bounded.js";
82
+ export * from "./behaviors/readonly.js";
83
+ export * from "./behaviors/safe.js";
84
+ export * from "./behaviors/evented.js";
85
+ export * from "./behaviors/synchronized.js";
86
+ export * from "./behaviors/lru.js";
87
+ export * from "./behaviors/ttl.js";
88
+ // ============================================================================
89
+ // Async/Concurrent
90
+ // ============================================================================
91
+ export * from "./async/async-queue.js";
92
+ export * from "./async/channels.js";
93
+ // ============================================================================
94
+ // Functional Operations
95
+ // ============================================================================
96
+ export * from "./fx/iter.js";
97
+ export * from "./fx/collectors.js";
98
+ // ============================================================================
99
+ // Utilities
100
+ // ============================================================================
101
+ export * from "./utils/defaults.js";
102
+ export * from "./utils/factories.js";
103
+ export * from "./utils/helpers.js";
104
+ // ============================================================================
105
+ // Re-exports for convenience
106
+ // ============================================================================
107
+ // Most commonly used exports
108
+ export { compose, bundle } from "./core/middleware.js";
109
+ export { arrayList } from "./impl/array-list.js";
110
+ export { arrayDeque } from "./impl/array-deque.js";
111
+ export { hashMap } from "./impl/hash-map.js";
112
+ export { linkedHashMap } from "./impl/linked-hash-map.js";
113
+ export { treeMap } from "./impl/tree-map.js";
114
+ export { treeSet } from "./impl/tree-set.js";
115
+ export { linkedList } from "./impl/linked-list.js";
116
+ export { hashSet } from "./impl/hash-set.js";
117
+ export { priorityQueue } from "./impl/priority-queue.js";
118
+ // Common behaviors
119
+ export { readonly, readonlyList, readonlyMap } from "./behaviors/readonly.js";
120
+ export { safeList, safeQueue, safeMap } from "./behaviors/safe.js";
121
+ export { eventedList, eventedQueue, eventedMap } from "./behaviors/evented.js";
122
+ export { synchronized } from "./behaviors/synchronized.js";
123
+ export { lruMap, lruCache, LRUCache } from "./behaviors/lru.js";
124
+ export { ttlMap, ttlCache, TTLCache, ttlCollection } from "./behaviors/ttl.js";
125
+ // Async/Concurrent
126
+ export { asyncQueue, AsyncQueue } from "./async/async-queue.js";
127
+ export { channel, Channel, select, timeout, ticker, pipeline, fanOut, fanIn, merge, workerPool, } from "./async/channels.js";
128
+ // Functional operations
129
+ export { map, filter, flatMap, flatten, take, skip, takeWhile, skipWhile, concat, zip, enumerate, chunk, window, partition, reduce, scan, sort, reverse, distinct, distinctConsecutive, tap, some, every, none, find, count, min, max, sum, average, toArray, toSet, toMap as iterToMap, pipe, } from "./fx/iter.js";
130
+ export { collect, toList as collectToList, toArray as collectToArray, toSet as collectToSet, toMap as collectToMap, groupingBy, groupingByWith, partitioningBy, counting, summingNumber, averagingNumber, minBy, maxBy, joining, mapping, filtering, flatMapping, reducing, reducingWith, teeing, first, last, summarizingNumber, } from "./fx/collectors.js";
131
+ // Common factories
132
+ export { emptyList, emptyMap, emptyQueue, singletonList, singletonMap, nCopies, listOf, mapOf, range, rangeTo, toList, toMap, groupBy, } from "./utils/factories.js";
133
+ // Effects
134
+ export { None, Some, Ok, Err, isSome, isNone, isOk, isErr, getOrElse, unwrap, } from "./core/effects.js";
135
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/collections/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Base collection interfaces that mirror Java Collections Framework.
3
+ *
4
+ * These form the root of the collection hierarchy and define the
5
+ * fundamental operations common to all collections.
6
+ */
7
+ import type { Eq } from "../core/traits.js";
8
+ /**
9
+ * ReadonlyCollection<T> - The root interface for readonly collections.
10
+ *
11
+ * Mirrors java.util.Collection but without mutation operations.
12
+ * All collections should extend this or a more specific readonly interface.
13
+ */
14
+ export interface ReadonlyCollection<T> extends Iterable<T> {
15
+ /**
16
+ * Returns the number of elements in this collection.
17
+ */
18
+ readonly size: number;
19
+ /**
20
+ * Returns true if this collection contains no elements.
21
+ */
22
+ readonly isEmpty: boolean;
23
+ /**
24
+ * Returns true if this collection contains the specified element.
25
+ * Uses the collection's equality function to compare elements.
26
+ *
27
+ * @param element The element to check for
28
+ */
29
+ contains(element: T): boolean;
30
+ /**
31
+ * Returns true if this collection contains all elements in the specified collection.
32
+ *
33
+ * @param other The collection whose elements to check for
34
+ */
35
+ containsAll(other: Iterable<T>): boolean;
36
+ /**
37
+ * Returns an array containing all elements in this collection.
38
+ * The returned array is safe to modify (it's a copy).
39
+ */
40
+ toArray(): T[];
41
+ /**
42
+ * Performs the given action for each element.
43
+ *
44
+ * @param action The action to perform for each element
45
+ */
46
+ forEach(action: (element: T, index: number) => void): void;
47
+ /**
48
+ * Returns the equality function used by this collection.
49
+ */
50
+ readonly eq: Eq<T>;
51
+ }
52
+ /**
53
+ * Collection<T> - The root interface for mutable collections.
54
+ *
55
+ * Mirrors java.util.Collection with mutation operations.
56
+ * All mutable collections should extend this or a more specific interface.
57
+ */
58
+ export interface Collection<T> extends ReadonlyCollection<T> {
59
+ /**
60
+ * Adds an element to this collection.
61
+ *
62
+ * Returns true if the collection was modified as a result of this call.
63
+ * Some collections (like Set) may return false if the element already exists.
64
+ *
65
+ * @param element The element to add
66
+ * @returns true if the collection changed
67
+ * @throws Error if collection is full (bounded) and policy is 'throw'
68
+ */
69
+ add(element: T): boolean;
70
+ /**
71
+ * Adds all elements from the specified collection to this collection.
72
+ *
73
+ * @param other The collection whose elements to add
74
+ * @returns true if the collection changed
75
+ */
76
+ addAll(other: Iterable<T>): boolean;
77
+ /**
78
+ * Removes a single instance of the specified element from this collection.
79
+ *
80
+ * Returns true if an element was removed as a result of this call.
81
+ *
82
+ * @param element The element to remove
83
+ * @returns true if an element was removed
84
+ */
85
+ remove(element: T): boolean;
86
+ /**
87
+ * Removes all elements from this collection that are also in the specified collection.
88
+ *
89
+ * @param other The collection whose elements to remove
90
+ * @returns true if the collection changed
91
+ */
92
+ removeAll(other: Iterable<T>): boolean;
93
+ /**
94
+ * Retains only the elements in this collection that are in the specified collection.
95
+ * In other words, removes all elements not in the specified collection.
96
+ *
97
+ * @param other The collection of elements to retain
98
+ * @returns true if the collection changed
99
+ */
100
+ retainAll(other: Iterable<T>): boolean;
101
+ /**
102
+ * Removes all elements from this collection.
103
+ * The collection will be empty after this call returns.
104
+ */
105
+ clear(): void;
106
+ }
107
+ /**
108
+ * Utility type to check if a collection is readonly.
109
+ */
110
+ export type IsReadonly<C> = C extends ReadonlyCollection<any> ? C extends Collection<any> ? false : true : false;
111
+ /**
112
+ * Extract element type from a collection.
113
+ */
114
+ export type ElementOf<C> = C extends ReadonlyCollection<infer T> ? T : never;
115
+ /**
116
+ * Make a collection readonly by removing mutation methods.
117
+ */
118
+ export type Readonly<C extends Collection<any>> = C extends Collection<infer T> ? ReadonlyCollection<T> : never;
119
+ //# sourceMappingURL=collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/collections/interfaces/collection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IACxD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAEzC;;;OAGG;IACH,OAAO,IAAI,CAAC,EAAE,CAAC;IAEf;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IAC1D;;;;;;;;;OASG;IACH,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAEpC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAEvC;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAEvC;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,GACzD,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,GACvB,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAC3E,kBAAkB,CAAC,CAAC,CAAC,GACrB,KAAK,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Base collection interfaces that mirror Java Collections Framework.
3
+ *
4
+ * These form the root of the collection hierarchy and define the
5
+ * fundamental operations common to all collections.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/collections/interfaces/collection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * List interfaces that mirror Java's List interface.
3
+ *
4
+ * Lists are ordered collections that allow duplicate elements
5
+ * and provide positional (indexed) access to elements.
6
+ */
7
+ import type { Collection, ReadonlyCollection } from "./collection.js";
8
+ import type { Compare } from "../core/traits.js";
9
+ /**
10
+ * ReadonlyList<T> - Readonly ordered collection with indexed access.
11
+ *
12
+ * Mirrors java.util.List but without mutation operations.
13
+ * Elements maintain their insertion order and can be accessed by index.
14
+ */
15
+ export interface ReadonlyList<T> extends ReadonlyCollection<T> {
16
+ /**
17
+ * Returns the element at the specified position.
18
+ *
19
+ * @param index The index of the element to return (0-based)
20
+ * @returns The element at the specified position
21
+ * @throws RangeError if index is out of bounds
22
+ */
23
+ get(index: number): T;
24
+ /**
25
+ * Returns the index of the first occurrence of the specified element,
26
+ * or -1 if not found.
27
+ *
28
+ * @param element The element to search for
29
+ * @param fromIndex Optional starting index for the search
30
+ */
31
+ indexOf(element: T, fromIndex?: number): number;
32
+ /**
33
+ * Returns the index of the last occurrence of the specified element,
34
+ * or -1 if not found.
35
+ *
36
+ * @param element The element to search for
37
+ * @param fromIndex Optional starting index for backwards search
38
+ */
39
+ lastIndexOf(element: T, fromIndex?: number): number;
40
+ /**
41
+ * Returns a view of the portion of this list between fromIndex (inclusive)
42
+ * and toIndex (exclusive).
43
+ *
44
+ * Changes to the sublist are reflected in the original list.
45
+ *
46
+ * @param fromIndex Start index (inclusive)
47
+ * @param toIndex End index (exclusive)
48
+ */
49
+ subList(fromIndex: number, toIndex: number): ReadonlyList<T>;
50
+ /**
51
+ * Returns the first element in the list.
52
+ *
53
+ * @throws Error if list is empty
54
+ */
55
+ first(): T;
56
+ /**
57
+ * Returns the last element in the list.
58
+ *
59
+ * @throws Error if list is empty
60
+ */
61
+ last(): T;
62
+ }
63
+ /**
64
+ * List<T> - Mutable ordered collection with indexed access.
65
+ *
66
+ * Mirrors java.util.List with full mutation capabilities.
67
+ * Provides methods to insert, replace, and remove elements by index.
68
+ */
69
+ export interface List<T> extends ReadonlyList<T>, Collection<T> {
70
+ /**
71
+ * Replaces the element at the specified position.
72
+ *
73
+ * @param index The index of the element to replace
74
+ * @param element The new element
75
+ * @returns The element previously at the specified position
76
+ * @throws RangeError if index is out of bounds
77
+ */
78
+ set(index: number, element: T): T;
79
+ /**
80
+ * Inserts an element at the specified position.
81
+ * Shifts elements at and after the position to the right.
82
+ *
83
+ * @param index The index at which to insert
84
+ * @param element The element to insert
85
+ * @throws RangeError if index is out of bounds (0 to size inclusive)
86
+ */
87
+ insert(index: number, element: T): void;
88
+ /**
89
+ * Inserts all elements from the specified collection at the specified position.
90
+ *
91
+ * @param index The index at which to insert
92
+ * @param other The collection whose elements to insert
93
+ * @returns true if the list changed
94
+ */
95
+ insertAll(index: number, other: Iterable<T>): boolean;
96
+ /**
97
+ * Removes the element at the specified position.
98
+ * Shifts elements after the position to the left.
99
+ *
100
+ * @param index The index of the element to remove
101
+ * @returns The element that was removed
102
+ * @throws RangeError if index is out of bounds
103
+ */
104
+ removeAt(index: number): T;
105
+ /**
106
+ * Removes elements in the specified index range.
107
+ *
108
+ * @param fromIndex Start index (inclusive)
109
+ * @param toIndex End index (exclusive)
110
+ */
111
+ removeRange(fromIndex: number, toIndex: number): void;
112
+ /**
113
+ * Sorts this list according to the specified comparator.
114
+ *
115
+ * @param compare The comparison function
116
+ */
117
+ sort(compare?: Compare<T>): void;
118
+ /**
119
+ * Reverses the order of elements in this list.
120
+ */
121
+ reverse(): void;
122
+ /**
123
+ * Returns a mutable sublist view.
124
+ *
125
+ * @param fromIndex Start index (inclusive)
126
+ * @param toIndex End index (exclusive)
127
+ */
128
+ subList(fromIndex: number, toIndex: number): List<T>;
129
+ /**
130
+ * Appends an element to the end of this list.
131
+ * Equivalent to add() but doesn't return boolean.
132
+ *
133
+ * @param element The element to append
134
+ */
135
+ push(element: T): void;
136
+ /**
137
+ * Removes and returns the last element in this list.
138
+ *
139
+ * @returns The last element
140
+ * @throws Error if list is empty
141
+ */
142
+ pop(): T;
143
+ /**
144
+ * Removes and returns the first element in this list.
145
+ *
146
+ * @returns The first element
147
+ * @throws Error if list is empty
148
+ */
149
+ shift(): T;
150
+ /**
151
+ * Prepends an element to the beginning of this list.
152
+ *
153
+ * @param element The element to prepend
154
+ */
155
+ unshift(element: T): void;
156
+ }
157
+ /**
158
+ * RandomAccess - Marker interface for lists with O(1) indexed access.
159
+ *
160
+ * Indicates that the list provides fast (constant-time) random access.
161
+ * Examples: ArrayList (yes), LinkedList (no).
162
+ */
163
+ export interface RandomAccess {
164
+ /**
165
+ * Marker property to indicate random access capability.
166
+ * Always true for collections implementing this interface.
167
+ */
168
+ readonly supportsRandomAccess: true;
169
+ }
170
+ /**
171
+ * Stack<T> - LIFO (Last-In-First-Out) collection.
172
+ *
173
+ * A stack of elements with push/pop operations.
174
+ * Can be implemented as a specialized list or standalone.
175
+ */
176
+ export interface Stack<T> extends Iterable<T> {
177
+ /** Number of elements */
178
+ readonly size: number;
179
+ /** True if empty */
180
+ readonly isEmpty: boolean;
181
+ /**
182
+ * Pushes an element onto the stack.
183
+ */
184
+ push(element: T): void;
185
+ /**
186
+ * Removes and returns the top element.
187
+ *
188
+ * @throws Error if stack is empty
189
+ */
190
+ pop(): T;
191
+ /**
192
+ * Returns the top element without removing it.
193
+ *
194
+ * @throws Error if stack is empty
195
+ */
196
+ peek(): T;
197
+ /**
198
+ * Removes all elements.
199
+ */
200
+ clear(): void;
201
+ /**
202
+ * Searches for an element and returns its distance from the top.
203
+ * Returns -1 if not found.
204
+ */
205
+ search(element: T): number;
206
+ }
207
+ /**
208
+ * Vector<T> - Synchronized growable array.
209
+ *
210
+ * Like ArrayList but with synchronized access.
211
+ * Legacy interface from Java; in our framework, use compose(synchronized())(arrayList()) instead.
212
+ */
213
+ export interface Vector<T> extends List<T> {
214
+ /**
215
+ * Current capacity of the underlying array.
216
+ */
217
+ readonly capacity: number;
218
+ /**
219
+ * Trims capacity to current size to minimize memory usage.
220
+ */
221
+ trimToSize(): void;
222
+ /**
223
+ * Increases capacity to ensure it can hold at least the specified number of elements.
224
+ */
225
+ ensureCapacity(minCapacity: number): void;
226
+ }
227
+ /**
228
+ * CircularList<T> - List with circular/ring buffer behavior.
229
+ *
230
+ * When capacity is reached, oldest elements are overwritten.
231
+ * Useful for fixed-size buffers like logs or history.
232
+ */
233
+ export interface CircularList<T> extends List<T> {
234
+ /**
235
+ * Maximum capacity of the circular list.
236
+ */
237
+ readonly capacity: number;
238
+ /**
239
+ * Returns true if the list has reached capacity.
240
+ */
241
+ readonly isFull: boolean;
242
+ /**
243
+ * Number of elements that have been overwritten.
244
+ */
245
+ readonly overwriteCount: number;
246
+ }
247
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/collections/interfaces/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * List interfaces that mirror Java's List interface.
3
+ *
4
+ * Lists are ordered collections that allow duplicate elements
5
+ * and provide positional (indexed) access to elements.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/collections/interfaces/list.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}