@aztec/foundation 0.76.4 → 0.77.0-testnet-ignition.21

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 (459) hide show
  1. package/dest/array/array.d.ts +1 -1
  2. package/dest/array/array.d.ts.map +1 -1
  3. package/dest/array/array.js +19 -26
  4. package/dest/array/index.js +0 -1
  5. package/dest/async-map/index.js +2 -4
  6. package/dest/async-pool/index.js +6 -9
  7. package/dest/bigint-buffer/index.js +6 -13
  8. package/dest/buffer/buffer32.d.ts +1 -1
  9. package/dest/buffer/buffer32.d.ts.map +1 -1
  10. package/dest/buffer/buffer32.js +53 -66
  11. package/dest/buffer/index.js +0 -1
  12. package/dest/collection/array.d.ts +1 -1
  13. package/dest/collection/array.d.ts.map +1 -1
  14. package/dest/collection/array.js +47 -59
  15. package/dest/collection/index.js +0 -1
  16. package/dest/collection/object.js +9 -9
  17. package/dest/committable/committable.js +15 -20
  18. package/dest/committable/index.js +0 -1
  19. package/dest/config/env_var.d.ts +1 -1
  20. package/dest/config/env_var.d.ts.map +1 -1
  21. package/dest/config/env_var.js +1 -2
  22. package/dest/config/index.d.ts +1 -1
  23. package/dest/config/index.d.ts.map +1 -1
  24. package/dest/config/index.js +31 -36
  25. package/dest/crypto/aes128/index.d.ts +34 -0
  26. package/dest/crypto/aes128/index.d.ts.map +1 -0
  27. package/dest/crypto/aes128/index.js +49 -0
  28. package/dest/crypto/ecdsa/index.d.ts +39 -0
  29. package/dest/crypto/ecdsa/index.d.ts.map +1 -0
  30. package/dest/crypto/ecdsa/index.js +88 -0
  31. package/dest/crypto/ecdsa/signature.d.ts +71 -0
  32. package/dest/crypto/ecdsa/signature.d.ts.map +1 -0
  33. package/dest/crypto/ecdsa/signature.js +92 -0
  34. package/dest/crypto/grumpkin/index.d.ts +47 -0
  35. package/dest/crypto/grumpkin/index.d.ts.map +1 -0
  36. package/dest/crypto/grumpkin/index.js +154 -0
  37. package/dest/crypto/index.d.ts +6 -0
  38. package/dest/crypto/index.d.ts.map +1 -1
  39. package/dest/crypto/index.js +6 -1
  40. package/dest/crypto/keccak/index.js +60 -69
  41. package/dest/crypto/keys/index.js +2 -3
  42. package/dest/crypto/pedersen/index.js +0 -1
  43. package/dest/crypto/pedersen/pedersen.elliptic.js +153 -146
  44. package/dest/crypto/pedersen/pedersen.noble.js +140 -142
  45. package/dest/crypto/pedersen/pedersen.wasm.js +17 -16
  46. package/dest/crypto/poseidon/index.js +15 -19
  47. package/dest/crypto/random/index.js +7 -12
  48. package/dest/crypto/random/randomness_singleton.js +12 -12
  49. package/dest/crypto/schnorr/index.d.ts +30 -0
  50. package/dest/crypto/schnorr/index.d.ts.map +1 -0
  51. package/dest/crypto/schnorr/index.js +68 -0
  52. package/dest/crypto/schnorr/signature.d.ts +70 -0
  53. package/dest/crypto/schnorr/signature.d.ts.map +1 -0
  54. package/dest/crypto/schnorr/signature.js +93 -0
  55. package/dest/crypto/secp256k1/index.d.ts +32 -0
  56. package/dest/crypto/secp256k1/index.d.ts.map +1 -0
  57. package/dest/crypto/secp256k1/index.js +116 -0
  58. package/dest/crypto/secp256k1-signer/index.js +0 -1
  59. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +2 -2
  60. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  61. package/dest/crypto/secp256k1-signer/secp256k1_signer.js +8 -9
  62. package/dest/crypto/secp256k1-signer/utils.js +11 -16
  63. package/dest/crypto/serialize.d.ts +53 -0
  64. package/dest/crypto/serialize.d.ts.map +1 -0
  65. package/dest/crypto/serialize.js +68 -0
  66. package/dest/crypto/sha256/index.js +80 -30
  67. package/dest/crypto/sha512/index.js +2 -4
  68. package/dest/crypto/signature/index.d.ts +19 -0
  69. package/dest/crypto/signature/index.d.ts.map +1 -0
  70. package/dest/crypto/signature/index.js +3 -0
  71. package/dest/crypto/sync/index.js +1 -2
  72. package/dest/crypto/sync/pedersen/index.js +14 -13
  73. package/dest/crypto/sync/poseidon/index.js +10 -14
  74. package/dest/decorators/index.js +0 -1
  75. package/dest/decorators/memoize.js +1 -2
  76. package/dest/error/index.js +6 -19
  77. package/dest/eth-address/index.js +92 -113
  78. package/dest/eth-signature/eth_signature.js +21 -27
  79. package/dest/eth-signature/index.js +0 -1
  80. package/dest/fields/coordinate.d.ts +1 -1
  81. package/dest/fields/coordinate.d.ts.map +1 -1
  82. package/dest/fields/coordinate.js +47 -46
  83. package/dest/fields/fields.d.ts.map +1 -1
  84. package/dest/fields/fields.js +112 -126
  85. package/dest/fields/index.js +0 -1
  86. package/dest/fields/point.js +119 -129
  87. package/dest/fs/index.js +0 -1
  88. package/dest/fs/run_in_dir.d.ts +1 -1
  89. package/dest/fs/run_in_dir.d.ts.map +1 -1
  90. package/dest/fs/run_in_dir.js +16 -7
  91. package/dest/index.d.ts +0 -2
  92. package/dest/index.d.ts.map +1 -1
  93. package/dest/index.js +0 -3
  94. package/dest/iterable/all.js +3 -4
  95. package/dest/iterable/filter.js +10 -11
  96. package/dest/iterable/index.js +0 -1
  97. package/dest/iterable/isAsyncIt.js +1 -3
  98. package/dest/iterable/map.js +10 -11
  99. package/dest/iterable/peek.js +14 -14
  100. package/dest/iterable/sort.js +4 -5
  101. package/dest/iterable/take.js +6 -7
  102. package/dest/iterable/toArray.js +1 -2
  103. package/dest/jest/setup.js +7 -0
  104. package/dest/json-rpc/client/fetch.js +25 -20
  105. package/dest/json-rpc/client/index.js +0 -1
  106. package/dest/json-rpc/client/safe_json_rpc_client.js +20 -9
  107. package/dest/json-rpc/client/undici.d.ts +1 -1
  108. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  109. package/dest/json-rpc/client/undici.js +16 -17
  110. package/dest/json-rpc/convert.d.ts +1 -1
  111. package/dest/json-rpc/convert.d.ts.map +1 -1
  112. package/dest/json-rpc/convert.js +10 -20
  113. package/dest/json-rpc/fixtures/class_a.js +8 -5
  114. package/dest/json-rpc/fixtures/class_b.js +8 -5
  115. package/dest/json-rpc/fixtures/test_state.js +53 -40
  116. package/dest/json-rpc/index.js +0 -1
  117. package/dest/json-rpc/js_utils.js +2 -5
  118. package/dest/json-rpc/server/index.js +0 -1
  119. package/dest/json-rpc/server/safe_json_rpc_server.js +145 -101
  120. package/dest/json-rpc/server/telemetry.js +0 -2
  121. package/dest/json-rpc/test/index.js +0 -1
  122. package/dest/json-rpc/test/integration.d.ts +1 -1
  123. package/dest/json-rpc/test/integration.d.ts.map +1 -1
  124. package/dest/json-rpc/test/integration.js +11 -5
  125. package/dest/log/console.d.ts +1 -1
  126. package/dest/log/console.d.ts.map +1 -1
  127. package/dest/log/console.js +14 -16
  128. package/dest/log/debug.d.ts +1 -1
  129. package/dest/log/debug.d.ts.map +1 -1
  130. package/dest/log/debug.js +9 -18
  131. package/dest/log/gcloud-logger-config.js +17 -15
  132. package/dest/log/index.d.ts +1 -0
  133. package/dest/log/index.d.ts.map +1 -1
  134. package/dest/log/index.js +1 -1
  135. package/dest/log/libp2p_logger.d.ts +7 -0
  136. package/dest/log/libp2p_logger.d.ts.map +1 -0
  137. package/dest/log/libp2p_logger.js +55 -0
  138. package/dest/log/log-filters.js +14 -13
  139. package/dest/log/log-levels.js +10 -2
  140. package/dest/log/log_fn.js +1 -2
  141. package/dest/log/log_history.js +21 -25
  142. package/dest/log/pino-logger.d.ts +8 -4
  143. package/dest/log/pino-logger.d.ts.map +1 -1
  144. package/dest/log/pino-logger.js +92 -74
  145. package/dest/message/index.js +7 -3
  146. package/dest/mutex/index.d.ts +1 -1
  147. package/dest/mutex/index.d.ts.map +1 -1
  148. package/dest/mutex/index.js +34 -32
  149. package/dest/mutex/mutex_database.js +4 -2
  150. package/dest/noir/index.js +0 -1
  151. package/dest/noir/noir_package_config.js +13 -8
  152. package/dest/promise/index.js +0 -1
  153. package/dest/promise/running-promise.d.ts +8 -2
  154. package/dest/promise/running-promise.d.ts.map +1 -1
  155. package/dest/promise/running-promise.js +44 -31
  156. package/dest/promise/utils.js +3 -5
  157. package/dest/queue/base_memory_queue.js +51 -59
  158. package/dest/queue/batch_queue.js +34 -27
  159. package/dest/queue/bounded_serial_queue.js +41 -51
  160. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  161. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  162. package/dest/queue/fifo_memory_queue.js +4 -8
  163. package/dest/queue/index.js +0 -1
  164. package/dest/queue/priority_memory_queue.js +3 -4
  165. package/dest/queue/priority_queue.js +5 -5
  166. package/dest/queue/semaphore.js +15 -19
  167. package/dest/queue/serial_queue.js +37 -47
  168. package/dest/retry/index.js +21 -18
  169. package/dest/running-promise/index.js +0 -1
  170. package/dest/schemas/api.d.ts +2 -2
  171. package/dest/schemas/api.d.ts.map +1 -1
  172. package/dest/schemas/api.js +2 -7
  173. package/dest/schemas/index.d.ts +1 -1
  174. package/dest/schemas/index.d.ts.map +1 -1
  175. package/dest/schemas/index.js +1 -2
  176. package/dest/schemas/parse.js +4 -8
  177. package/dest/schemas/schemas.d.ts +1 -16
  178. package/dest/schemas/schemas.d.ts.map +1 -1
  179. package/dest/schemas/schemas.js +28 -56
  180. package/dest/schemas/types.d.ts +1 -1
  181. package/dest/schemas/types.d.ts.map +1 -1
  182. package/dest/schemas/types.js +1 -2
  183. package/dest/schemas/utils.d.ts +1 -1
  184. package/dest/schemas/utils.d.ts.map +1 -1
  185. package/dest/schemas/utils.js +18 -31
  186. package/dest/serialize/buffer_reader.d.ts +1 -1
  187. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  188. package/dest/serialize/buffer_reader.js +164 -188
  189. package/dest/serialize/field_reader.d.ts +1 -1
  190. package/dest/serialize/field_reader.d.ts.map +1 -1
  191. package/dest/serialize/field_reader.js +70 -79
  192. package/dest/serialize/free_funcs.d.ts +1 -1
  193. package/dest/serialize/free_funcs.d.ts.map +1 -1
  194. package/dest/serialize/free_funcs.js +40 -37
  195. package/dest/serialize/index.js +0 -1
  196. package/dest/serialize/serialize.js +72 -83
  197. package/dest/serialize/type_registry.js +10 -14
  198. package/dest/serialize/types.js +4 -5
  199. package/dest/sleep/index.js +25 -29
  200. package/dest/string/index.js +0 -1
  201. package/dest/testing/files/index.js +3 -7
  202. package/dest/testing/index.js +0 -1
  203. package/dest/testing/port_allocator.js +7 -10
  204. package/dest/testing/snapshot_serializer.d.ts +1 -1
  205. package/dest/testing/snapshot_serializer.d.ts.map +1 -1
  206. package/dest/testing/snapshot_serializer.js +14 -9
  207. package/dest/testing/test_data.js +7 -8
  208. package/dest/timer/date.js +9 -7
  209. package/dest/timer/elapsed.js +10 -7
  210. package/dest/timer/index.js +0 -1
  211. package/dest/timer/timeout.js +34 -34
  212. package/dest/timer/timer.js +17 -21
  213. package/dest/transport/browser/index.js +0 -1
  214. package/dest/transport/browser/message_port_socket.d.ts +1 -1
  215. package/dest/transport/browser/message_port_socket.d.ts.map +1 -1
  216. package/dest/transport/browser/message_port_socket.js +26 -30
  217. package/dest/transport/browser/shared_worker_connector.d.ts +1 -1
  218. package/dest/transport/browser/shared_worker_connector.d.ts.map +1 -1
  219. package/dest/transport/browser/shared_worker_connector.js +8 -10
  220. package/dest/transport/browser/shared_worker_listener.d.ts +1 -1
  221. package/dest/transport/browser/shared_worker_listener.d.ts.map +1 -1
  222. package/dest/transport/browser/shared_worker_listener.js +13 -17
  223. package/dest/transport/browser/worker_connector.d.ts +1 -1
  224. package/dest/transport/browser/worker_connector.d.ts.map +1 -1
  225. package/dest/transport/browser/worker_connector.js +12 -12
  226. package/dest/transport/browser/worker_listener.d.ts +1 -1
  227. package/dest/transport/browser/worker_listener.d.ts.map +1 -1
  228. package/dest/transport/browser/worker_listener.js +13 -17
  229. package/dest/transport/dispatch/create_dispatch_fn.js +2 -4
  230. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +2 -2
  231. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  232. package/dest/transport/dispatch/create_dispatch_proxy.js +16 -13
  233. package/dest/transport/dispatch/messages.js +4 -3
  234. package/dest/transport/index.js +0 -1
  235. package/dest/transport/interface/connector.d.ts +1 -1
  236. package/dest/transport/interface/connector.d.ts.map +1 -1
  237. package/dest/transport/interface/connector.js +3 -2
  238. package/dest/transport/interface/listener.d.ts +1 -1
  239. package/dest/transport/interface/listener.d.ts.map +1 -1
  240. package/dest/transport/interface/listener.js +4 -2
  241. package/dest/transport/interface/socket.js +7 -2
  242. package/dest/transport/interface/transferable.js +7 -9
  243. package/dest/transport/node/index.js +0 -1
  244. package/dest/transport/node/node_connector.d.ts +2 -2
  245. package/dest/transport/node/node_connector.d.ts.map +1 -1
  246. package/dest/transport/node/node_connector.js +9 -11
  247. package/dest/transport/node/node_connector_socket.d.ts +2 -2
  248. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  249. package/dest/transport/node/node_connector_socket.js +21 -25
  250. package/dest/transport/node/node_listener.d.ts +1 -1
  251. package/dest/transport/node/node_listener.d.ts.map +1 -1
  252. package/dest/transport/node/node_listener.js +11 -15
  253. package/dest/transport/node/node_listener_socket.d.ts +2 -2
  254. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  255. package/dest/transport/node/node_listener_socket.js +23 -27
  256. package/dest/transport/transport_client.d.ts +1 -1
  257. package/dest/transport/transport_client.d.ts.map +1 -1
  258. package/dest/transport/transport_client.js +47 -46
  259. package/dest/transport/transport_server.d.ts +1 -1
  260. package/dest/transport/transport_server.d.ts.map +1 -1
  261. package/dest/transport/transport_server.js +68 -55
  262. package/dest/trees/hasher.d.ts +39 -0
  263. package/dest/trees/hasher.d.ts.map +1 -0
  264. package/dest/trees/hasher.js +5 -0
  265. package/dest/trees/index.d.ts +8 -56
  266. package/dest/trees/index.d.ts.map +1 -1
  267. package/dest/trees/index.js +8 -1
  268. package/dest/trees/indexed_merkle_tree.d.ts +13 -0
  269. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -0
  270. package/dest/trees/indexed_merkle_tree.js +27 -0
  271. package/dest/trees/indexed_merkle_tree_calculator.d.ts +23 -0
  272. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -0
  273. package/dest/trees/indexed_merkle_tree_calculator.js +83 -0
  274. package/dest/trees/indexed_tree_leaf.d.ts +57 -0
  275. package/dest/trees/indexed_tree_leaf.d.ts.map +1 -0
  276. package/dest/trees/indexed_tree_leaf.js +5 -0
  277. package/dest/trees/membership_witness.d.ts +62 -0
  278. package/dest/trees/membership_witness.d.ts.map +1 -0
  279. package/dest/trees/membership_witness.js +70 -0
  280. package/dest/trees/merkle_tree.d.ts +18 -0
  281. package/dest/trees/merkle_tree.d.ts.map +1 -0
  282. package/dest/trees/merkle_tree.js +58 -0
  283. package/dest/trees/merkle_tree_calculator.d.ts +16 -0
  284. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -0
  285. package/dest/trees/merkle_tree_calculator.js +61 -0
  286. package/dest/trees/sibling_path.d.ts +132 -0
  287. package/dest/trees/sibling_path.d.ts.map +1 -0
  288. package/dest/trees/sibling_path.js +144 -0
  289. package/dest/trees/unbalanced_merkle_tree.d.ts +1 -1
  290. package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
  291. package/dest/trees/unbalanced_merkle_tree.js +28 -18
  292. package/dest/trees/unbalanced_tree_store.js +43 -29
  293. package/dest/types/index.js +1 -3
  294. package/dest/url/index.js +4 -8
  295. package/dest/validation/index.js +2 -5
  296. package/dest/wasm/empty_wasi_sdk.js +142 -160
  297. package/dest/wasm/index.d.ts +1 -1
  298. package/dest/wasm/index.d.ts.map +1 -1
  299. package/dest/wasm/index.js +0 -1
  300. package/dest/wasm/wasm_module.js +80 -90
  301. package/dest/worker/browser/index.js +0 -1
  302. package/dest/worker/browser/start_web_module.d.ts +1 -1
  303. package/dest/worker/browser/start_web_module.d.ts.map +1 -1
  304. package/dest/worker/browser/start_web_module.js +9 -5
  305. package/dest/worker/browser/web_data_store.d.ts +1 -1
  306. package/dest/worker/browser/web_data_store.d.ts.map +1 -1
  307. package/dest/worker/browser/web_data_store.js +12 -15
  308. package/dest/worker/browser/web_worker.d.ts +1 -1
  309. package/dest/worker/browser/web_worker.d.ts.map +1 -1
  310. package/dest/worker/browser/web_worker.js +6 -5
  311. package/dest/worker/data_store.js +3 -2
  312. package/dest/worker/index.d.ts +1 -1
  313. package/dest/worker/index.d.ts.map +1 -1
  314. package/dest/worker/index.js +0 -1
  315. package/dest/worker/node/index.js +0 -1
  316. package/dest/worker/node/node_data_store.d.ts +1 -1
  317. package/dest/worker/node/node_data_store.d.ts.map +1 -1
  318. package/dest/worker/node/node_data_store.js +4 -5
  319. package/dest/worker/node/node_worker.d.ts +1 -1
  320. package/dest/worker/node/node_worker.d.ts.map +1 -1
  321. package/dest/worker/node/node_worker.js +6 -5
  322. package/dest/worker/node/start_node_module.d.ts +1 -1
  323. package/dest/worker/node/start_node_module.d.ts.map +1 -1
  324. package/dest/worker/node/start_node_module.js +9 -5
  325. package/dest/worker/wasm_worker.d.ts +2 -2
  326. package/dest/worker/wasm_worker.d.ts.map +1 -1
  327. package/dest/worker/wasm_worker.js +3 -2
  328. package/dest/worker/worker_pool.d.ts +1 -1
  329. package/dest/worker/worker_pool.d.ts.map +1 -1
  330. package/dest/worker/worker_pool.js +32 -43
  331. package/package.json +5 -5
  332. package/src/array/array.ts +1 -1
  333. package/src/buffer/buffer32.ts +1 -1
  334. package/src/collection/array.ts +1 -1
  335. package/src/config/env_var.ts +7 -5
  336. package/src/config/index.ts +1 -1
  337. package/src/crypto/aes128/index.ts +59 -0
  338. package/src/crypto/ecdsa/index.ts +70 -0
  339. package/src/crypto/ecdsa/signature.ts +100 -0
  340. package/src/crypto/grumpkin/index.ts +97 -0
  341. package/src/crypto/index.ts +6 -0
  342. package/src/crypto/keys/index.ts +1 -1
  343. package/src/crypto/pedersen/pedersen.wasm.ts +3 -3
  344. package/src/crypto/poseidon/index.ts +5 -5
  345. package/src/crypto/schnorr/index.ts +55 -0
  346. package/src/crypto/schnorr/signature.ts +116 -0
  347. package/src/crypto/secp256k1/index.ts +57 -0
  348. package/src/crypto/secp256k1-signer/secp256k1_signer.ts +2 -2
  349. package/src/crypto/serialize.ts +85 -0
  350. package/src/crypto/signature/index.ts +17 -0
  351. package/src/crypto/sync/index.ts +1 -1
  352. package/src/fields/coordinate.ts +1 -1
  353. package/src/fields/fields.ts +2 -1
  354. package/src/fs/run_in_dir.ts +8 -1
  355. package/src/index.ts +0 -2
  356. package/src/json-rpc/client/undici.ts +1 -1
  357. package/src/json-rpc/convert.ts +1 -1
  358. package/src/json-rpc/server/safe_json_rpc_server.ts +1 -1
  359. package/src/json-rpc/test/integration.ts +1 -1
  360. package/src/log/console.ts +1 -1
  361. package/src/log/debug.ts +1 -1
  362. package/src/log/gcloud-logger-config.ts +1 -1
  363. package/src/log/index.ts +1 -0
  364. package/src/log/libp2p_logger.ts +67 -0
  365. package/src/log/pino-logger.ts +16 -16
  366. package/src/mutex/index.ts +1 -1
  367. package/src/promise/running-promise.ts +24 -5
  368. package/src/queue/fifo_memory_queue.ts +1 -1
  369. package/src/schemas/api.ts +2 -2
  370. package/src/schemas/index.ts +1 -1
  371. package/src/schemas/schemas.ts +2 -26
  372. package/src/schemas/types.ts +1 -1
  373. package/src/schemas/utils.ts +1 -1
  374. package/src/serialize/buffer_reader.ts +1 -1
  375. package/src/serialize/field_reader.ts +1 -1
  376. package/src/serialize/free_funcs.ts +1 -1
  377. package/src/testing/snapshot_serializer.ts +1 -1
  378. package/src/transport/browser/message_port_socket.ts +1 -1
  379. package/src/transport/browser/shared_worker_connector.ts +1 -1
  380. package/src/transport/browser/shared_worker_listener.ts +1 -1
  381. package/src/transport/browser/worker_connector.ts +1 -1
  382. package/src/transport/browser/worker_listener.ts +1 -1
  383. package/src/transport/dispatch/create_dispatch_proxy.ts +2 -2
  384. package/src/transport/interface/connector.ts +1 -1
  385. package/src/transport/interface/listener.ts +1 -1
  386. package/src/transport/node/node_connector.ts +2 -2
  387. package/src/transport/node/node_connector_socket.ts +2 -2
  388. package/src/transport/node/node_listener.ts +1 -1
  389. package/src/transport/node/node_listener_socket.ts +2 -2
  390. package/src/transport/transport_client.ts +2 -2
  391. package/src/transport/transport_server.ts +3 -3
  392. package/src/trees/hasher.ts +39 -0
  393. package/src/trees/index.ts +8 -57
  394. package/src/trees/indexed_merkle_tree.ts +36 -0
  395. package/src/trees/indexed_merkle_tree_calculator.ts +94 -0
  396. package/src/trees/indexed_tree_leaf.ts +56 -0
  397. package/src/trees/membership_witness.ts +99 -0
  398. package/src/trees/merkle_tree.ts +72 -0
  399. package/src/trees/merkle_tree_calculator.ts +67 -0
  400. package/src/trees/sibling_path.ts +183 -0
  401. package/src/trees/unbalanced_merkle_tree.ts +2 -2
  402. package/src/wasm/index.ts +1 -1
  403. package/src/worker/browser/start_web_module.ts +1 -1
  404. package/src/worker/browser/web_data_store.ts +1 -1
  405. package/src/worker/browser/web_worker.ts +1 -1
  406. package/src/worker/index.ts +1 -1
  407. package/src/worker/node/node_data_store.ts +1 -1
  408. package/src/worker/node/node_worker.ts +1 -1
  409. package/src/worker/node/start_node_module.ts +1 -1
  410. package/src/worker/wasm_worker.ts +2 -2
  411. package/src/worker/worker_pool.ts +1 -1
  412. package/dest/abi/abi.d.ts +0 -853
  413. package/dest/abi/abi.d.ts.map +0 -1
  414. package/dest/abi/abi.js +0 -214
  415. package/dest/abi/buffer.d.ts +0 -18
  416. package/dest/abi/buffer.d.ts.map +0 -1
  417. package/dest/abi/buffer.js +0 -34
  418. package/dest/abi/decoder.d.ts +0 -58
  419. package/dest/abi/decoder.d.ts.map +0 -1
  420. package/dest/abi/decoder.js +0 -180
  421. package/dest/abi/encoder.d.ts +0 -16
  422. package/dest/abi/encoder.d.ts.map +0 -1
  423. package/dest/abi/encoder.js +0 -174
  424. package/dest/abi/event_selector.d.ts +0 -52
  425. package/dest/abi/event_selector.d.ts.map +0 -1
  426. package/dest/abi/event_selector.js +0 -76
  427. package/dest/abi/function_selector.d.ts +0 -65
  428. package/dest/abi/function_selector.d.ts.map +0 -1
  429. package/dest/abi/function_selector.js +0 -92
  430. package/dest/abi/index.d.ts +0 -10
  431. package/dest/abi/index.d.ts.map +0 -1
  432. package/dest/abi/index.js +0 -10
  433. package/dest/abi/note_selector.d.ts +0 -42
  434. package/dest/abi/note_selector.d.ts.map +0 -1
  435. package/dest/abi/note_selector.js +0 -63
  436. package/dest/abi/selector.d.ts +0 -42
  437. package/dest/abi/selector.d.ts.map +0 -1
  438. package/dest/abi/selector.js +0 -57
  439. package/dest/abi/u128.d.ts +0 -13
  440. package/dest/abi/u128.d.ts.map +0 -1
  441. package/dest/abi/u128.js +0 -58
  442. package/dest/abi/utils.d.ts +0 -44
  443. package/dest/abi/utils.d.ts.map +0 -1
  444. package/dest/abi/utils.js +0 -72
  445. package/dest/aztec-address/index.d.ts +0 -57
  446. package/dest/aztec-address/index.d.ts.map +0 -1
  447. package/dest/aztec-address/index.js +0 -114
  448. package/src/abi/abi.ts +0 -504
  449. package/src/abi/buffer.ts +0 -36
  450. package/src/abi/decoder.ts +0 -195
  451. package/src/abi/encoder.ts +0 -170
  452. package/src/abi/event_selector.ts +0 -92
  453. package/src/abi/function_selector.ts +0 -124
  454. package/src/abi/index.ts +0 -9
  455. package/src/abi/note_selector.ts +0 -78
  456. package/src/abi/selector.ts +0 -64
  457. package/src/abi/u128.ts +0 -71
  458. package/src/abi/utils.ts +0 -86
  459. package/src/aztec-address/index.ts +0 -146
@@ -13,10 +13,9 @@ import { isTransferDescriptor } from '../interface/transferable.js';
13
13
  * invocation in a custom logic (e.g., sending a message to another thread).
14
14
  * @returns An object whose methods match those of the original class, but whose execution is
15
15
  * delegated to the provided request function.
16
- */
17
- export function createDispatchProxyFromFn(class_, requestFn) {
16
+ */ export function createDispatchProxyFromFn(class_, requestFn) {
18
17
  const proxy = class_.prototype instanceof EventEmitter ? new EventEmitter() : {};
19
- for (const fn of Object.getOwnPropertyNames(class_.prototype)) {
18
+ for (const fn of Object.getOwnPropertyNames(class_.prototype)){
20
19
  if (fn === 'constructor') {
21
20
  continue;
22
21
  }
@@ -33,18 +32,23 @@ export function createDispatchProxyFromFn(class_, requestFn) {
33
32
  * @param class_ - The constructor function of the class to create the proxy for.
34
33
  * @param transportClient - The TransportClient instance used to handle communication between proxies.
35
34
  * @returns A proxified version of the given class with methods dispatched over the transport client.
36
- */
37
- export function createDispatchProxy(class_, transportClient) {
35
+ */ export function createDispatchProxy(class_, transportClient) {
38
36
  // Create a proxy of class_ that passes along methods over our transportClient
39
- const proxy = createDispatchProxyFromFn(class_, (fn) => (...args) => {
40
- // Pass our proxied function name and arguments over our transport client
41
- const transfer = args.reduce((acc, a) => (isTransferDescriptor(a) ? [...acc, ...a.transferables] : acc), []);
42
- args = args.map(a => (isTransferDescriptor(a) ? a.send : a));
43
- return transportClient.request({ fn, args }, transfer);
44
- });
37
+ const proxy = createDispatchProxyFromFn(class_, (fn)=>(...args)=>{
38
+ // Pass our proxied function name and arguments over our transport client
39
+ const transfer = args.reduce((acc, a)=>isTransferDescriptor(a) ? [
40
+ ...acc,
41
+ ...a.transferables
42
+ ] : acc, []);
43
+ args = args.map((a)=>isTransferDescriptor(a) ? a.send : a);
44
+ return transportClient.request({
45
+ fn,
46
+ args
47
+ }, transfer);
48
+ });
45
49
  if (proxy instanceof EventEmitter) {
46
50
  // Handle proxied 'emit' calls if our proxy object is an EventEmitter
47
- transportClient.on('event_msg', ({ fn, args }) => {
51
+ transportClient.on('event_msg', ({ fn, args })=>{
48
52
  if (fn === 'emit') {
49
53
  const [eventName, ...restArgs] = args;
50
54
  proxy.emit(eventName, ...restArgs);
@@ -53,4 +57,3 @@ export function createDispatchProxy(class_, transportClient) {
53
57
  }
54
58
  return proxy;
55
59
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2Rpc3BhdGNoX3Byb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zcG9ydC9kaXNwYXRjaC9jcmVhdGVfZGlzcGF0Y2hfcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV0QyxPQUFPLEVBQTJCLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUE0RTdGOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLE1BQW1DLEVBQ25DLFNBQTJEO0lBRTNELE1BQU0sS0FBSyxHQUFRLE1BQU0sQ0FBQyxTQUFTLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdEYsS0FBSyxNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDOUQsSUFBSSxFQUFFLEtBQUssYUFBYSxFQUFFLENBQUM7WUFDekIsU0FBUztRQUNYLENBQUM7UUFDRCxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLE1BQW1DLEVBQ25DLGVBQTZDO0lBRTdDLDhFQUE4RTtJQUM5RSxNQUFNLEtBQUssR0FBRyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRTtRQUNqRix5RUFBeUU7UUFDekUsTUFBTSxRQUFRLEdBQW1CLElBQUksQ0FBQyxNQUFNLENBQzFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQzFFLEVBQW9CLENBQ3JCLENBQUM7UUFDRixJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsT0FBTyxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxLQUFLLFlBQVksWUFBWSxFQUFFLENBQUM7UUFDbEMscUVBQXFFO1FBQ3JFLGVBQWUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUMvQyxJQUFJLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDbEIsTUFBTSxDQUFDLFNBQVMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIn0=
@@ -1,12 +1,13 @@
1
1
  /**
2
+ * Represents a request message.
3
+ * Contains a unique identifier (msgId) and a payload object.
4
+ */ /**
2
5
  * Determines if the given 'msg' is an EventMessage by checking if its 'msgId' property is undefined.
3
6
  * Returns true if the input message is of type EventMessage, otherwise false. This utility function can be used
4
7
  * to differentiate between instances of ResponseMessage and EventMessage that share a common Payload type.
5
8
  *
6
9
  * @param msg - The message object that can be either a ResponseMessage or EventMessage with a specific payload.
7
10
  * @returns A boolean value indicating whether the input message is an EventMessage (true) or not (false).
8
- */
9
- export function isEventMessage(msg) {
11
+ */ export function isEventMessage(msg) {
10
12
  return msg.msgId === undefined;
11
13
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwb3J0L2Rpc3BhdGNoL21lc3NhZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsR0FBcUQ7SUFFckQsT0FBUSxHQUFnQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDL0QsQ0FBQyJ9
@@ -9,4 +9,3 @@ export * from './transport_client.js';
9
9
  export * from './transport_server.js';
10
10
  export * from './browser/index.js';
11
11
  export * from './node/index.js';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJhbnNwb3J0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQyJ9
@@ -1,4 +1,4 @@
1
- import { type Socket } from './socket.js';
1
+ import type { Socket } from './socket.js';
2
2
  /**
3
3
  * Opens a socket with corresponding TransportListener.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/transport/interface/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,SAAS;IAExB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/transport/interface/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,SAAS;IAExB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC"}
@@ -1,2 +1,3 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zcG9ydC9pbnRlcmZhY2UvY29ubmVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
1
+ /**
2
+ * Opens a socket with corresponding TransportListener.
3
+ */ export { };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import type EventEmitter from 'events';
3
- import { type Socket } from './socket.js';
3
+ import type { Socket } from './socket.js';
4
4
  /**
5
5
  * Once opened, an implementation of a TransportListener will emit `new_socket` events as new clients connect.
6
6
  * Possible implementations could include MessageChannels or WebSockets.
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../src/transport/interface/listener.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,YAAY;IAE5C,IAAI,IAAI,IAAI,CAAC;IAEb,KAAK,IAAI,IAAI,CAAC;IAEd,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CAC5D"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../src/transport/interface/listener.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,YAAY;IAE5C,IAAI,IAAI,IAAI,CAAC;IAEb,KAAK,IAAI,IAAI,CAAC;IAEd,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CAC5D"}
@@ -1,2 +1,4 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwb3J0L2ludGVyZmFjZS9saXN0ZW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
1
+ /**
2
+ * Once opened, an implementation of a TransportListener will emit `new_socket` events as new clients connect.
3
+ * Possible implementations could include MessageChannels or WebSockets.
4
+ */ export { };
@@ -1,2 +1,7 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zcG9ydC9pbnRlcmZhY2Uvc29ja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
1
+ /**
2
+ * Represents one end of a socket connection.
3
+ * A message sent via `send` will be handled by the corresponding Socket's handler function at the other end.
4
+ * Implementations could use e.g. MessagePorts for communication between browser workers,
5
+ * or WebSockets for communication between processes.
6
+ * If `registerHandler` callback receives `undefined` that signals the other end closed.
7
+ */ export { };
@@ -13,8 +13,7 @@ const $transferable = Symbol('thread.transferable');
13
13
  *
14
14
  * @param thing - The object to check for transferability.
15
15
  * @returns A boolean indicating whether the object is transferable.
16
- */
17
- function isTransferable(thing) {
16
+ */ function isTransferable(thing) {
18
17
  if (!thing || typeof thing !== 'object') {
19
18
  return false;
20
19
  }
@@ -30,8 +29,7 @@ function isTransferable(thing) {
30
29
  *
31
30
  * @param thing - The object to be checked for being a TransferDescriptor.
32
31
  * @returns True if the object is a TransferDescriptor, false otherwise.
33
- */
34
- export function isTransferDescriptor(thing) {
32
+ */ export function isTransferDescriptor(thing) {
35
33
  return thing && typeof thing === 'object' && thing[$transferable];
36
34
  }
37
35
  /**
@@ -48,18 +46,18 @@ export function isTransferDescriptor(thing) {
48
46
  * @returns A TransferDescriptor<T> containing the payload and transferables, marked as transferable.
49
47
  * @throws Error if payload is not transferable and transferables array is not provided.
50
48
  * @see https://developers.google.com/web/updates/2011/12/Transferable-Objects-Lightning-Fast
51
- */
52
- export function Transfer(payload, transferables) {
49
+ */ export function Transfer(payload, transferables) {
53
50
  if (!transferables) {
54
51
  if (!isTransferable(payload)) {
55
52
  throw Error();
56
53
  }
57
- transferables = [payload];
54
+ transferables = [
55
+ payload
56
+ ];
58
57
  }
59
58
  return {
60
59
  [$transferable]: true,
61
60
  send: payload,
62
- transferables,
61
+ transferables
63
62
  };
64
63
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zcG9ydC9pbnRlcmZhY2UvdHJhbnNmZXJhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBc0JwRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILFNBQVMsY0FBYyxDQUFDLEtBQVU7SUFDaEMsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCwrRkFBK0Y7SUFDL0YsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQVU7SUFDN0MsT0FBTyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBdUNEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBSSxPQUFVLEVBQUUsYUFBOEI7SUFDcEUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLEtBQUssRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxhQUFhLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTztRQUNMLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSTtRQUNyQixJQUFJLEVBQUUsT0FBTztRQUNiLGFBQWE7S0FDZCxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,3 +1,2 @@
1
1
  export * from './node_connector.js';
2
2
  export * from './node_listener.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwb3J0L25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDIn0=
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
- import { type Worker } from 'worker_threads';
3
- import { type Connector } from '../interface/connector.js';
2
+ import type { Worker } from 'worker_threads';
3
+ import type { Connector } from '../interface/connector.js';
4
4
  import { NodeConnectorSocket } from './node_connector_socket.js';
5
5
  /**
6
6
  * The NodeConnector class is a concrete implementation of the Connector interface, utilizing worker_threads for
@@ -1 +1 @@
1
- {"version":3,"file":"node_connector.d.ts","sourceRoot":"","sources":["../../../src/transport/node/node_connector.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,SAAS;IACjC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;OAMG;IACH,YAAY;CAGb"}
1
+ {"version":3,"file":"node_connector.d.ts","sourceRoot":"","sources":["../../../src/transport/node/node_connector.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,SAAS;IACjC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;OAMG;IACH,YAAY;CAGb"}
@@ -9,20 +9,18 @@ import { NodeConnectorSocket } from './node_connector_socket.js';
9
9
  * const nodeConnector = new NodeConnector(worker);
10
10
  * const socket = await nodeConnector.createSocket();
11
11
  * socket.send('Hello from main thread!');
12
- */
13
- export class NodeConnector {
14
- constructor(worker) {
12
+ */ export class NodeConnector {
13
+ worker;
14
+ constructor(worker){
15
15
  this.worker = worker;
16
16
  }
17
17
  /**
18
- * Creates a new instance of NodeConnectorSocket using the worker provided in the constructor.
19
- * The createSocket method is used to establish connections using the worker_threads module,
20
- * allowing for efficient and fast communication between different parts of the application.
21
- *
22
- * @returns A Promise that resolves to a newly created NodeConnectorSocket instance.
23
- */
24
- createSocket() {
18
+ * Creates a new instance of NodeConnectorSocket using the worker provided in the constructor.
19
+ * The createSocket method is used to establish connections using the worker_threads module,
20
+ * allowing for efficient and fast communication between different parts of the application.
21
+ *
22
+ * @returns A Promise that resolves to a newly created NodeConnectorSocket instance.
23
+ */ createSocket() {
25
24
  return Promise.resolve(new NodeConnectorSocket(this.worker));
26
25
  }
27
26
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9jb25uZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwb3J0L25vZGUvbm9kZV9jb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0Qzs7Ozs7O09BTUc7SUFDSCxZQUFZO1FBQ1YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGIn0=
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
- import { type Worker } from 'worker_threads';
3
- import { type Socket } from '../interface/socket.js';
2
+ import type { Worker } from 'worker_threads';
3
+ import type { Socket } from '../interface/socket.js';
4
4
  /**
5
5
  * NodeConnectorSocket is a wrapper class that implements the Socket interface for messaging between
6
6
  * the main thread and worker threads in a Node.js environment. It uses the Worker API for
@@ -1 +1 @@
1
- {"version":3,"file":"node_connector_socket.d.ts","sourceRoot":"","sources":["../../../src/transport/node/node_connector_socket.ts"],"names":[],"mappings":";AAAA,OAAO,EAAyB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,MAAM;IACpC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,GAAE,YAAY,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAI5C;;;OAGG;IACH,KAAK;CAIN"}
1
+ {"version":3,"file":"node_connector_socket.d.ts","sourceRoot":"","sources":["../../../src/transport/node/node_connector_socket.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAoB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,MAAM;IACpC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,GAAE,YAAY,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAI5C;;;OAGG;IACH,KAAK;CAIN"}
@@ -7,42 +7,38 @@
7
7
  * The send method sends messages to the worker thread, and the registerHandler method registers a
8
8
  * callback function to handle incoming messages from the worker. The close method cleans up
9
9
  * resources when the socket is no longer needed.
10
- */
11
- export class NodeConnectorSocket {
12
- constructor(worker) {
10
+ */ export class NodeConnectorSocket {
11
+ worker;
12
+ constructor(worker){
13
13
  this.worker = worker;
14
14
  }
15
15
  /**
16
- * Sends a message from the NodeConnectorSocket instance to the associated worker thread.
17
- * The 'msg' can be any data type and 'transfer' is an optional array of transferable objects
18
- * that can be transferred with zero-copy semantics. The function returns a resolved Promise
19
- * once the message has been posted.
20
- *
21
- * @param msg - The message to send to the worker thread.
22
- * @param transfer - Optional array of Transferable objects to transfer ownership alongside the message.
23
- * @returns A Promise that resolves when the message has been posted.
24
- */
25
- send(msg, transfer = []) {
16
+ * Sends a message from the NodeConnectorSocket instance to the associated worker thread.
17
+ * The 'msg' can be any data type and 'transfer' is an optional array of transferable objects
18
+ * that can be transferred with zero-copy semantics. The function returns a resolved Promise
19
+ * once the message has been posted.
20
+ *
21
+ * @param msg - The message to send to the worker thread.
22
+ * @param transfer - Optional array of Transferable objects to transfer ownership alongside the message.
23
+ * @returns A Promise that resolves when the message has been posted.
24
+ */ send(msg, transfer = []) {
26
25
  this.worker.postMessage(msg, transfer);
27
26
  return Promise.resolve();
28
27
  }
29
28
  /**
30
- * Registers a callback function to handle incoming messages from the worker.
31
- * The provided callback will be executed whenever a message is received from
32
- * the worker, passing the message as its single argument.
33
- *
34
- * @param cb - The callback function to be called when a message is received.
35
- */
36
- registerHandler(cb) {
29
+ * Registers a callback function to handle incoming messages from the worker.
30
+ * The provided callback will be executed whenever a message is received from
31
+ * the worker, passing the message as its single argument.
32
+ *
33
+ * @param cb - The callback function to be called when a message is received.
34
+ */ registerHandler(cb) {
37
35
  this.worker.on('message', cb);
38
36
  }
39
37
  /**
40
- * Closes the worker connection and removes all event listeners.
41
- * Sends an undefined message to the worker for graceful termination.
42
- */
43
- close() {
38
+ * Closes the worker connection and removes all event listeners.
39
+ * Sends an undefined message to the worker for graceful termination.
40
+ */ close() {
44
41
  void this.send(undefined);
45
42
  this.worker.removeAllListeners();
46
43
  }
47
44
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9jb25uZWN0b3Jfc29ja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zcG9ydC9ub2RlL25vZGVfY29ubmVjdG9yX3NvY2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0Qzs7Ozs7Ozs7O09BU0c7SUFDSCxJQUFJLENBQUMsR0FBUSxFQUFFLFdBQTJCLEVBQUU7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFFBQThCLENBQUMsQ0FBQztRQUM3RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZUFBZSxDQUFDLEVBQXFCO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSztRQUNILEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbkMsQ0FBQztDQUNGIn0=
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import EventEmitter from 'events';
3
- import { type Listener } from '../interface/listener.js';
3
+ import type { Listener } from '../interface/listener.js';
4
4
  /**
5
5
  * NodeListener is an event-driven class that extends EventEmitter and implements the Listener interface.
6
6
  * It provides methods to open and close communication with a worker thread using the NodeListenerSocket.
@@ -1 +1 @@
1
- {"version":3,"file":"node_listener.d.ts","sourceRoot":"","sources":["../../../src/transport/node/node_listener.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,YAAa,YAAW,QAAQ;;IAKhE;;;;;OAKG;IACH,IAAI;IAIJ;;;;OAIG;IACH,KAAK;CACN"}
1
+ {"version":3,"file":"node_listener.d.ts","sourceRoot":"","sources":["../../../src/transport/node/node_listener.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAGlC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,YAAa,YAAW,QAAQ;;IAKhE;;;;;OAKG;IACH,IAAI;IAIJ;;;;OAIG;IACH,KAAK;CACN"}
@@ -6,25 +6,21 @@ import { NodeListenerSocket } from './node_listener_socket.js';
6
6
  * It provides methods to open and close communication with a worker thread using the NodeListenerSocket.
7
7
  * The 'new_socket' event is emitted when a new NodeListenerSocket instance is created, allowing for
8
8
  * efficient processing of incoming messages from the parent thread.
9
- */
10
- export class NodeListener extends EventEmitter {
11
- constructor() {
9
+ */ export class NodeListener extends EventEmitter {
10
+ constructor(){
12
11
  super();
13
12
  }
14
13
  /**
15
- * Opens a new connection to a parent worker thread and emits an event with the created NodeListenerSocket instance.
16
- * The 'new_socket' event can be listened for, providing access to the newly created NodeListenerSocket.
17
- *
18
- * Fires NodeListener#new_socket.
19
- */
20
- open() {
14
+ * Opens a new connection to a parent worker thread and emits an event with the created NodeListenerSocket instance.
15
+ * The 'new_socket' event can be listened for, providing access to the newly created NodeListenerSocket.
16
+ *
17
+ * Fires NodeListener#new_socket.
18
+ */ open() {
21
19
  this.emit('new_socket', new NodeListenerSocket(parentPort));
22
20
  }
23
21
  /**
24
- * Closes the NodeListener instance.
25
- * This method currently has no implementation, as there is no need to perform any actions
26
- * when closing a NodeListener. It exists for compatibility with the Listener interface.
27
- */
28
- close() { }
22
+ * Closes the NodeListener instance.
23
+ * This method currently has no implementation, as there is no need to perform any actions
24
+ * when closing a NodeListener. It exists for compatibility with the Listener interface.
25
+ */ close() {}
29
26
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9saXN0ZW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc3BvcnQvbm9kZS9ub2RlX2xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFL0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLFlBQVk7SUFDNUM7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFVBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxLQUFJLENBQUM7Q0FDWCJ9
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
- import { type MessagePort } from 'worker_threads';
3
- import { type Socket } from '../interface/socket.js';
2
+ import type { MessagePort } from 'worker_threads';
3
+ import type { Socket } from '../interface/socket.js';
4
4
  /**
5
5
  * An implementation of a TransportSocket using MessagePorts.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"node_listener_socket.d.ts","sourceRoot":"","sources":["../../../src/transport/node/node_listener_socket.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;GAEG;AACH,qBAAa,kBAAmB,YAAW,MAAM;IACnC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAErC;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,GAAE,YAAY,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAI5C;;;;OAIG;IACH,KAAK;CAKN"}
1
+ {"version":3,"file":"node_listener_socket.d.ts","sourceRoot":"","sources":["../../../src/transport/node/node_listener_socket.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;GAEG;AACH,qBAAa,kBAAmB,YAAW,MAAM;IACnC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAErC;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,GAAE,YAAY,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAI5C;;;;OAIG;IACH,KAAK;CAKN"}
@@ -1,44 +1,40 @@
1
1
  /**
2
2
  * An implementation of a TransportSocket using MessagePorts.
3
- */
4
- export class NodeListenerSocket {
5
- constructor(port) {
3
+ */ export class NodeListenerSocket {
4
+ port;
5
+ constructor(port){
6
6
  this.port = port;
7
7
  }
8
8
  /**
9
- * Sends a message through the MessagePort along with any provided Transferables.
10
- * The transfer list allows for efficient sending of certain types of data,
11
- * such as ArrayBuffer, ImageBitmap, and MessagePort.
12
- * The Promise resolves once the message has been successfully sent.
13
- *
14
- * @param msg - The message to be sent through the MessagePort.
15
- * @param transfer - An optional array of Transferable objects to be transferred.
16
- * @returns A Promise that resolves once the message has been sent.
17
- */
18
- send(msg, transfer = []) {
9
+ * Sends a message through the MessagePort along with any provided Transferables.
10
+ * The transfer list allows for efficient sending of certain types of data,
11
+ * such as ArrayBuffer, ImageBitmap, and MessagePort.
12
+ * The Promise resolves once the message has been successfully sent.
13
+ *
14
+ * @param msg - The message to be sent through the MessagePort.
15
+ * @param transfer - An optional array of Transferable objects to be transferred.
16
+ * @returns A Promise that resolves once the message has been sent.
17
+ */ send(msg, transfer = []) {
19
18
  this.port.postMessage(msg, transfer);
20
19
  return Promise.resolve();
21
20
  }
22
21
  /**
23
- * Registers a callback function to handle incoming messages from the MessagePort.
24
- * When a message is received, the provided callback function will be invoked with
25
- * the received message as its argument. This method allows for efficient and
26
- * dynamic handling of incoming data in a NodeListenerSocket instance.
27
- *
28
- * @param cb - The callback function to process incoming messages.
29
- */
30
- registerHandler(cb) {
22
+ * Registers a callback function to handle incoming messages from the MessagePort.
23
+ * When a message is received, the provided callback function will be invoked with
24
+ * the received message as its argument. This method allows for efficient and
25
+ * dynamic handling of incoming data in a NodeListenerSocket instance.
26
+ *
27
+ * @param cb - The callback function to process incoming messages.
28
+ */ registerHandler(cb) {
31
29
  this.port.on('message', cb);
32
30
  }
33
31
  /**
34
- * Closes the NodeListenerSocket instance, removing all listeners and closing the underlying MessagePort.
35
- * Sends an undefined message to notify any connected ports about the closure before removing event listeners
36
- * and cleaning up resources. This method should be called when the socket is no longer needed to avoid memory leaks.
37
- */
38
- close() {
32
+ * Closes the NodeListenerSocket instance, removing all listeners and closing the underlying MessagePort.
33
+ * Sends an undefined message to notify any connected ports about the closure before removing event listeners
34
+ * and cleaning up resources. This method should be called when the socket is no longer needed to avoid memory leaks.
35
+ */ close() {
39
36
  void this.send(undefined);
40
37
  this.port.removeAllListeners();
41
38
  this.port.close();
42
39
  }
43
40
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9saXN0ZW5lcl9zb2NrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwb3J0L25vZGUvbm9kZV9saXN0ZW5lcl9zb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW9CLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7SUFBRyxDQUFDO0lBRXpDOzs7Ozs7Ozs7T0FTRztJQUNILElBQUksQ0FBQyxHQUFRLEVBQUUsV0FBMkIsRUFBRTtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsUUFBOEIsQ0FBQyxDQUFDO1FBQzNELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsZUFBZSxDQUFDLEVBQXFCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUs7UUFDSCxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEIsQ0FBQztDQUNGIn0=
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import EventEmitter from 'events';
3
- import { type Connector } from './interface/connector.js';
3
+ import type { Connector } from './interface/connector.js';
4
4
  /**
5
5
  * Represents a transport client for communication between TransportServer and clients.
6
6
  * Provides request/response functionality, event handling, and multiplexing support
@@ -1 +1 @@
1
- {"version":3,"file":"transport_client.d.ts","sourceRoot":"","sources":["../../src/transport/transport_client.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAKlC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAqB1D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,CAAE,SAAQ,YAAY;IAE7D,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAEjE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,eAAe,CAAC,OAAO,CAAE,SAAQ,YAAY;IAK5C,OAAO,CAAC,gBAAgB;IAJpC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEJ,gBAAgB,EAAE,SAAS;IAI/C;;;;;;;;OAQG;IACG,IAAI;IAKV;;;;;OAKG;IACH,KAAK;IAML;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE;IAanD;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAsB5B"}
1
+ {"version":3,"file":"transport_client.d.ts","sourceRoot":"","sources":["../../src/transport/transport_client.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAKlC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAqB1D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,CAAE,SAAQ,YAAY;IAE7D,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAEjE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,eAAe,CAAC,OAAO,CAAE,SAAQ,YAAY;IAK5C,OAAO,CAAC,gBAAgB;IAJpC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEJ,gBAAgB,EAAE,SAAS;IAI/C;;;;;;;;OAQG;IACG,IAAI;IAKV;;;;;OAKG;IACH,KAAK;IAML;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE;IAanD;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAsB5B"}
@@ -8,67 +8,70 @@ const log = createLogger('foundation:transport_client');
8
8
  * If `broadcast` is called on TransportServer, TransportClients will emit an `event_msg`.
9
9
  * The `request` method will block until a response is returned from the TransportServer's dispatch function.
10
10
  * Request multiplexing is supported.
11
- */
12
- export class TransportClient extends EventEmitter {
13
- constructor(transportConnect) {
14
- super();
15
- this.transportConnect = transportConnect;
16
- this.msgId = 0;
17
- this.pendingRequests = [];
11
+ */ export class TransportClient extends EventEmitter {
12
+ transportConnect;
13
+ msgId;
14
+ pendingRequests;
15
+ socket;
16
+ constructor(transportConnect){
17
+ super(), this.transportConnect = transportConnect, this.msgId = 0, this.pendingRequests = [];
18
18
  }
19
19
  /**
20
- * Initializes and opens the socket connection for the TransportClient.
21
- * This method creates a new Socket instance using the provided Connector,
22
- * registers a handler for incoming messages, and establishes the connection.
23
- * It should be called before making any requests or handling events.
24
- *
25
- * @throws An error if the socket is already open or there's an issue opening the connection.
26
- * @returns A Promise that resolves when the socket connection is successfully opened.
27
- */
28
- async open() {
20
+ * Initializes and opens the socket connection for the TransportClient.
21
+ * This method creates a new Socket instance using the provided Connector,
22
+ * registers a handler for incoming messages, and establishes the connection.
23
+ * It should be called before making any requests or handling events.
24
+ *
25
+ * @throws An error if the socket is already open or there's an issue opening the connection.
26
+ * @returns A Promise that resolves when the socket connection is successfully opened.
27
+ */ async open() {
29
28
  this.socket = await this.transportConnect.createSocket();
30
- this.socket.registerHandler(msg => this.handleSocketMessage(msg));
29
+ this.socket.registerHandler((msg)=>this.handleSocketMessage(msg));
31
30
  }
32
31
  /**
33
- * Close the transport client's socket connection and remove all event listeners.
34
- * This method should be called when the client is no longer needed to ensure proper cleanup
35
- * and prevent potential memory leaks. Once closed, the client cannot be reused and a new
36
- * instance must be created if another connection is needed.
37
- */
38
- close() {
32
+ * Close the transport client's socket connection and remove all event listeners.
33
+ * This method should be called when the client is no longer needed to ensure proper cleanup
34
+ * and prevent potential memory leaks. Once closed, the client cannot be reused and a new
35
+ * instance must be created if another connection is needed.
36
+ */ close() {
39
37
  this.socket?.close();
40
38
  this.socket = undefined;
41
39
  this.removeAllListeners();
42
40
  }
43
41
  /**
44
- * Sends a request to the TransportServer with the given payload and transferable objects.
45
- * The method will block until a response from the TransportServer's dispatch function is returned.
46
- * Request multiplexing is supported, allowing multiple requests to be sent concurrently.
47
- *
48
- * @param payload - The message payload to send to the server.
49
- * @param transfer - An optional array of ArrayBuffer, MessagePort, or ImageBitmap objects to transfer ownership.
50
- * @returns A Promise that resolves with the server's response data or rejects with an error message.
51
- */
52
- request(payload, transfer) {
42
+ * Sends a request to the TransportServer with the given payload and transferable objects.
43
+ * The method will block until a response from the TransportServer's dispatch function is returned.
44
+ * Request multiplexing is supported, allowing multiple requests to be sent concurrently.
45
+ *
46
+ * @param payload - The message payload to send to the server.
47
+ * @param transfer - An optional array of ArrayBuffer, MessagePort, or ImageBitmap objects to transfer ownership.
48
+ * @returns A Promise that resolves with the server's response data or rejects with an error message.
49
+ */ request(payload, transfer) {
53
50
  if (!this.socket) {
54
51
  throw new Error('Socket not open.');
55
52
  }
56
53
  const msgId = this.msgId++;
57
- const msg = { msgId, payload };
54
+ const msg = {
55
+ msgId,
56
+ payload
57
+ };
58
58
  log.debug(format(`->`, msg));
59
- return new Promise((resolve, reject) => {
60
- this.pendingRequests.push({ resolve, reject, msgId });
59
+ return new Promise((resolve, reject)=>{
60
+ this.pendingRequests.push({
61
+ resolve,
62
+ reject,
63
+ msgId
64
+ });
61
65
  this.socket.send(msg, transfer).catch(reject);
62
66
  });
63
67
  }
64
68
  /**
65
- * Handles incoming socket messages from the TransportServer, such as ResponseMessage and EventMessage.
66
- * If it's an EventMessage, emits an 'event_msg' event with the payload.
67
- * If it's a ResponseMessage, resolves or rejects the corresponding pending request based on the message content.
68
- *
69
- * @param msg - The ResponseMessage or EventMessage received from the TransportServer, or undefined if the remote socket closed.
70
- */
71
- handleSocketMessage(msg) {
69
+ * Handles incoming socket messages from the TransportServer, such as ResponseMessage and EventMessage.
70
+ * If it's an EventMessage, emits an 'event_msg' event with the payload.
71
+ * If it's a ResponseMessage, resolves or rejects the corresponding pending request based on the message content.
72
+ *
73
+ * @param msg - The ResponseMessage or EventMessage received from the TransportServer, or undefined if the remote socket closed.
74
+ */ handleSocketMessage(msg) {
72
75
  if (msg === undefined) {
73
76
  // The remote socket closed.
74
77
  this.close();
@@ -79,17 +82,15 @@ export class TransportClient extends EventEmitter {
79
82
  this.emit('event_msg', msg.payload);
80
83
  return;
81
84
  }
82
- const reqIndex = this.pendingRequests.findIndex(r => r.msgId === msg.msgId);
85
+ const reqIndex = this.pendingRequests.findIndex((r)=>r.msgId === msg.msgId);
83
86
  if (reqIndex === -1) {
84
87
  return;
85
88
  }
86
89
  const [pending] = this.pendingRequests.splice(reqIndex, 1);
87
90
  if (msg.error) {
88
91
  pending.reject(new Error(msg.error));
89
- }
90
- else {
92
+ } else {
91
93
  pending.resolve(msg.payload);
92
94
  }
93
95
  }
94
96
  }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0X2NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc3BvcnQvdHJhbnNwb3J0X2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUEyQyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUlqRyxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQThCeEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sZUFBeUIsU0FBUSxZQUFZO0lBS3hELFlBQW9CLGdCQUEyQjtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQURVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBVztRQUp2QyxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1Ysb0JBQWUsR0FBcUIsRUFBRSxDQUFDO0lBSy9DLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE9BQU8sQ0FBQyxPQUFnQixFQUFFLFFBQXlCO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDL0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLE9BQU8sQ0FBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLG1CQUFtQixDQUFDLEdBQWlFO1FBQzNGLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1QsQ0FBQztRQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=