@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
@@ -1,10 +1,11 @@
1
1
  const testData = {};
2
- /** Returns whether test data generation is enabled */
3
- export function isGenerateTestDataEnabled() {
4
- return ['1', 'true'].includes(process.env.AZTEC_GENERATE_TEST_DATA ?? '') && typeof expect !== 'undefined';
2
+ /** Returns whether test data generation is enabled */ export function isGenerateTestDataEnabled() {
3
+ return [
4
+ '1',
5
+ 'true'
6
+ ].includes(process.env.AZTEC_GENERATE_TEST_DATA ?? '') && typeof expect !== 'undefined';
5
7
  }
6
- /** Pushes test data with the given name, only if test data generation is enabled. */
7
- export function pushTestData(itemName, data) {
8
+ /** Pushes test data with the given name, only if test data generation is enabled. */ export function pushTestData(itemName, data) {
8
9
  if (!isGenerateTestDataEnabled()) {
9
10
  return;
10
11
  }
@@ -18,8 +19,7 @@ export function pushTestData(itemName, data) {
18
19
  }
19
20
  testData[fullItemName].push(data);
20
21
  }
21
- /** Returns all instances of pushed test data with the given name, or empty if test data generation is not enabled. */
22
- export function getTestData(itemName) {
22
+ /** Returns all instances of pushed test data with the given name, or empty if test data generation is not enabled. */ export function getTestData(itemName) {
23
23
  if (!isGenerateTestDataEnabled()) {
24
24
  return [];
25
25
  }
@@ -27,4 +27,3 @@ export function getTestData(itemName) {
27
27
  const fullItemName = `${testName} ${itemName}`;
28
28
  return testData[fullItemName];
29
29
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvdGVzdF9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sUUFBUSxHQUFpQyxFQUFFLENBQUM7QUFFbEQsc0RBQXNEO0FBQ3RELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUM7QUFDN0csQ0FBQztBQUVELHFGQUFxRjtBQUNyRixNQUFNLFVBQVUsWUFBWSxDQUFJLFFBQWdCLEVBQUUsSUFBTztJQUN2RCxJQUFJLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxlQUFlLENBQUM7SUFDbkQsTUFBTSxZQUFZLEdBQUcsR0FBRyxRQUFRLElBQUksUUFBUSxFQUFFLENBQUM7SUFFL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQzVCLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUVELHNIQUFzSDtBQUN0SCxNQUFNLFVBQVUsV0FBVyxDQUFDLFFBQWdCO0lBQzFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLENBQUM7UUFDakMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLGVBQWUsQ0FBQztJQUNuRCxNQUFNLFlBQVksR0FBRyxHQUFHLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUMvQyxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNoQyxDQUFDIn0=
@@ -1,13 +1,13 @@
1
1
  import { createLogger } from '../log/pino-logger.js';
2
- /** Returns current datetime. */
3
- export class DateProvider {
2
+ /** Returns current datetime. */ export class DateProvider {
4
3
  now() {
5
4
  return Date.now();
6
5
  }
7
6
  }
8
- /** Returns current datetime and allows to override it. */
9
- export class TestDateProvider {
10
- constructor(logger = createLogger('foundation:test-date-provider')) {
7
+ /** Returns current datetime and allows to override it. */ export class TestDateProvider {
8
+ logger;
9
+ offset;
10
+ constructor(logger = createLogger('foundation:test-date-provider')){
11
11
  this.logger = logger;
12
12
  this.offset = 0;
13
13
  }
@@ -16,7 +16,9 @@ export class TestDateProvider {
16
16
  }
17
17
  setTime(timeMs) {
18
18
  this.offset = timeMs - Date.now();
19
- this.logger.warn(`Time set to ${new Date(timeMs).toISOString()}`, { offset: this.offset, timeMs });
19
+ this.logger.warn(`Time set to ${new Date(timeMs).toISOString()}`, {
20
+ offset: this.offset,
21
+ timeMs
22
+ });
20
23
  }
21
24
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1lci9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxnQ0FBZ0M7QUFDaEMsTUFBTSxPQUFPLFlBQVk7SUFDaEIsR0FBRztRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQUVELDBEQUEwRDtBQUMxRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQTZCLFNBQVMsWUFBWSxDQUFDLCtCQUErQixDQUFDO1FBQXRELFdBQU0sR0FBTixNQUFNLENBQWdEO1FBRjNFLFdBQU0sR0FBRyxDQUFDLENBQUM7SUFFbUUsQ0FBQztJQUVoRixHQUFHO1FBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRU0sT0FBTyxDQUFDLE1BQWM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckcsQ0FBQztDQUNGIn0=
@@ -3,20 +3,23 @@ import { Timer } from './timer.js';
3
3
  * Measures the elapsed execution time of a function call or promise once it is awaited.
4
4
  * @param fn - Function or promise.
5
5
  * @returns The number of ms and the result.
6
- */
7
- export async function elapsed(fn) {
6
+ */ export async function elapsed(fn) {
8
7
  const timer = new Timer();
9
8
  const result = await (typeof fn === 'function' ? fn() : fn);
10
- return [timer.ms(), result];
9
+ return [
10
+ timer.ms(),
11
+ result
12
+ ];
11
13
  }
12
14
  /**
13
15
  * Measures the elapsed execution time of a synchronous function call once it is awaited.
14
16
  * @param fn - Function.
15
17
  * @returns The number of ms and the result.
16
- */
17
- export function elapsedSync(fn) {
18
+ */ export function elapsedSync(fn) {
18
19
  const timer = new Timer();
19
20
  const result = fn();
20
- return [timer.ms(), result];
21
+ return [
22
+ timer.ms(),
23
+ result
24
+ ];
21
25
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1lci9lbGFwc2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFJLEVBQXVDO0lBQ3RFLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVELE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFJLEVBQVc7SUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUMxQixNQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzlCLENBQUMifQ==
@@ -2,4 +2,3 @@ export * from './date.js';
2
2
  export { elapsed, elapsedSync } from './elapsed.js';
3
3
  export { TimeoutTask, executeTimeout } from './timeout.js';
4
4
  export { Timer } from './timer.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGltZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQyJ9
@@ -5,62 +5,62 @@ import { TimeoutError } from '../error/index.js';
5
5
  * Additional information such as execution time can be retrieved using getTime method after the task has been executed.
6
6
  *
7
7
  * @typeparam T - The return type of the asynchronous function to be executed.
8
- */
9
- export class TimeoutTask {
10
- constructor(fn, timeout, errorFn) {
8
+ */ export class TimeoutTask {
9
+ fn;
10
+ timeout;
11
+ interruptPromise;
12
+ interrupt;
13
+ totalTime;
14
+ constructor(fn, timeout, errorFn){
11
15
  this.fn = fn;
12
16
  this.timeout = timeout;
13
- this.interrupt = () => { };
17
+ this.interrupt = ()=>{};
14
18
  this.totalTime = 0;
15
- this.interruptPromise = new Promise((_, reject) => {
16
- this.interrupt = () => reject(errorFn());
19
+ this.interruptPromise = new Promise((_, reject)=>{
20
+ this.interrupt = ()=>reject(errorFn());
17
21
  });
18
22
  }
19
23
  /**
20
- * Executes the given function with a specified timeout.
21
- * If the function takes longer than the timeout, it will be interrupted and an error will be thrown.
22
- * The total execution time of the function will be stored in the totalTime property.
23
- *
24
- * @returns The result of the executed function if completed within the timeout.
25
- * @throws An error with a message indicating the function was interrupted due to exceeding the specified timeout.
26
- */
27
- async exec() {
24
+ * Executes the given function with a specified timeout.
25
+ * If the function takes longer than the timeout, it will be interrupted and an error will be thrown.
26
+ * The total execution time of the function will be stored in the totalTime property.
27
+ *
28
+ * @returns The result of the executed function if completed within the timeout.
29
+ * @throws An error with a message indicating the function was interrupted due to exceeding the specified timeout.
30
+ */ async exec() {
28
31
  const interruptTimeout = setTimeout(this.interrupt, this.timeout);
29
32
  try {
30
33
  const start = Date.now();
31
- const result = await Promise.race([this.fn(), this.interruptPromise]);
34
+ const result = await Promise.race([
35
+ this.fn(),
36
+ this.interruptPromise
37
+ ]);
32
38
  this.totalTime = Date.now() - start;
33
39
  return result;
34
- }
35
- finally {
40
+ } finally{
36
41
  clearTimeout(interruptTimeout);
37
42
  }
38
43
  }
39
44
  /**
40
- * Returns the interrupt promise associated with the TimeoutTask instance.
41
- * The interrupt promise is used internally to reject the task when a timeout occurs.
42
- * This method can be helpful when debugging or tracking the state of the task.
43
- *
44
- * @returns The interrupt promise associated with the task.
45
- */
46
- getInterruptPromise() {
45
+ * Returns the interrupt promise associated with the TimeoutTask instance.
46
+ * The interrupt promise is used internally to reject the task when a timeout occurs.
47
+ * This method can be helpful when debugging or tracking the state of the task.
48
+ *
49
+ * @returns The interrupt promise associated with the task.
50
+ */ getInterruptPromise() {
47
51
  return this.interruptPromise;
48
52
  }
49
53
  /**
50
- * Get the total time spent on the most recent execution of the wrapped function.
51
- * This method provides the duration from the start to the end of the function execution, whether it completed or timed out.
52
- *
53
- * @returns The total time in milliseconds spent on the most recent function execution.
54
- */
55
- getTime() {
54
+ * Get the total time spent on the most recent execution of the wrapped function.
55
+ * This method provides the duration from the start to the end of the function execution, whether it completed or timed out.
56
+ *
57
+ * @returns The total time in milliseconds spent on the most recent function execution.
58
+ */ getTime() {
56
59
  return this.totalTime;
57
60
  }
58
61
  }
59
62
  export async function executeTimeout(fn, timeout, errorOrFnName) {
60
- const errorFn = typeof errorOrFnName === 'function'
61
- ? errorOrFnName
62
- : () => new TimeoutError(`Timeout running ${errorOrFnName ?? 'function'} after ${timeout}ms.`);
63
+ const errorFn = typeof errorOrFnName === 'function' ? errorOrFnName : ()=>new TimeoutError(`Timeout running ${errorOrFnName ?? 'function'} after ${timeout}ms.`);
63
64
  const task = new TimeoutTask(fn, timeout, errorFn);
64
65
  return await task.exec();
65
66
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1lci90aW1lb3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUt0QixZQUFvQixFQUFvQixFQUFVLE9BQWUsRUFBRSxPQUFrQjtRQUFqRSxPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFIekQsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUNyQixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBR3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sQ0FBSSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQztZQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDcEMsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBSSxFQUFvQixFQUFFLE9BQWUsRUFBRSxhQUFvQztJQUNqSCxNQUFNLE9BQU8sR0FDWCxPQUFPLGFBQWEsS0FBSyxVQUFVO1FBQ2pDLENBQUMsQ0FBQyxhQUFhO1FBQ2YsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLG1CQUFtQixhQUFhLElBQUksVUFBVSxVQUFVLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDbkcsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRCxPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzNCLENBQUMifQ==
@@ -9,36 +9,32 @@
9
9
  * setTimeout(() =\> \{
10
10
  * console.log(`Elapsed time: ${timer.ms()} ms`);
11
11
  * \}, 1000);
12
- */
13
- export class Timer {
14
- constructor() {
12
+ */ export class Timer {
13
+ start;
14
+ constructor(){
15
15
  this.start = performance ? performance.now() : Date.now();
16
16
  }
17
17
  /**
18
- * Return microseconds.
19
- */
20
- us() {
18
+ * Return microseconds.
19
+ */ us() {
21
20
  return this.ms() * 1000;
22
21
  }
23
22
  /**
24
- * Returns the elapsed time in milliseconds since the Timer instance was created.
25
- * Provides a simple and convenient way to measure the time duration between two events
26
- * or monitor performance of specific code sections.
27
- *
28
- * @returns The elapsed time in milliseconds.
29
- */
30
- ms() {
23
+ * Returns the elapsed time in milliseconds since the Timer instance was created.
24
+ * Provides a simple and convenient way to measure the time duration between two events
25
+ * or monitor performance of specific code sections.
26
+ *
27
+ * @returns The elapsed time in milliseconds.
28
+ */ ms() {
31
29
  return (performance ? performance.now() : Date.now()) - this.start;
32
30
  }
33
31
  /**
34
- * Returns the time elapsed since the Timer instance was created, in seconds.
35
- * The value is calculated by subtracting the initial start time from the current time
36
- * and dividing the result by 1000 to convert milliseconds to seconds.
37
- *
38
- * @returns The elapsed time in seconds.
39
- */
40
- s() {
32
+ * Returns the time elapsed since the Timer instance was created, in seconds.
33
+ * The value is calculated by subtracting the initial start time from the current time
34
+ * and dividing the result by 1000 to convert milliseconds to seconds.
35
+ *
36
+ * @returns The elapsed time in seconds.
37
+ */ s() {
41
38
  return this.ms() / 1000;
42
39
  }
43
40
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGltZXIvdGltZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sS0FBSztJQUdoQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxFQUFFO1FBQ1AsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxDQUFDO1FBQ04sT0FBTyxJQUFJLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Q0FDRiJ9
@@ -2,4 +2,3 @@ export * from './worker_connector.js';
2
2
  export * from './worker_listener.js';
3
3
  export * from './shared_worker_connector.js';
4
4
  export * from './shared_worker_listener.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwb3J0L2Jyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw2QkFBNkIsQ0FBQyJ9
@@ -1,4 +1,4 @@
1
- import { type Socket } from '../interface/socket.js';
1
+ import type { Socket } from '../interface/socket.js';
2
2
  /**
3
3
  * An implementation of a TransportSocket using MessagePorts.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"message_port_socket.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/message_port_socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,MAAM;IAClC,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;;;;;;OAMG;IACH,KAAK;CAKN"}
1
+ {"version":3,"file":"message_port_socket.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/message_port_socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,MAAM;IAClC,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;;;;;;OAMG;IACH,KAAK;CAKN"}
@@ -1,46 +1,42 @@
1
1
  /**
2
2
  * An implementation of a TransportSocket using MessagePorts.
3
- */
4
- export class MessagePortSocket {
5
- constructor(port) {
3
+ */ export class MessagePortSocket {
4
+ port;
5
+ constructor(port){
6
6
  this.port = port;
7
7
  }
8
8
  /**
9
- * Send a message to the connected MessagePort, optionally transferring ownership of certain objects.
10
- * The 'msg' parameter can be any structured data type and will be sent to the other end of the MessagePort.
11
- * The optional 'transfer' parameter is an array of Transferable objects whose ownership will be transferred,
12
- * making them inaccessible on the sending side. This can improve performance for large data transfers.
13
- *
14
- * @param msg - The message to be sent through the MessagePort.
15
- * @param transfer - An optional array of Transferable objects to transfer ownership.
16
- * @returns A Promise that resolves when the message has been sent.
17
- */
18
- send(msg, transfer = []) {
9
+ * Send a message to the connected MessagePort, optionally transferring ownership of certain objects.
10
+ * The 'msg' parameter can be any structured data type and will be sent to the other end of the MessagePort.
11
+ * The optional 'transfer' parameter is an array of Transferable objects whose ownership will be transferred,
12
+ * making them inaccessible on the sending side. This can improve performance for large data transfers.
13
+ *
14
+ * @param msg - The message to be sent through the MessagePort.
15
+ * @param transfer - An optional array of Transferable objects to transfer ownership.
16
+ * @returns A Promise that resolves when 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
- * Register a callback function to handle incoming messages from the MessagePort.
24
- * The provided callback will be invoked with the message data whenever a new message arrives.
25
- * Note that only one callback can be registered at a time. Subsequent calls to this method
26
- * will overwrite the previously registered callback.
27
- *
28
- * @param cb - The callback function to handle incoming messages.
29
- */
30
- registerHandler(cb) {
31
- this.port.onmessage = event => cb(event.data);
22
+ * Register a callback function to handle incoming messages from the MessagePort.
23
+ * The provided callback will be invoked with the message data whenever a new message arrives.
24
+ * Note that only one callback can be registered at a time. Subsequent calls to this method
25
+ * will overwrite the previously registered callback.
26
+ *
27
+ * @param cb - The callback function to handle incoming messages.
28
+ */ registerHandler(cb) {
29
+ this.port.onmessage = (event)=>cb(event.data);
32
30
  }
33
31
  /**
34
- * Close the MessagePort, unregister the message handler, and send an undefined message.
35
- * The 'close' function is useful for gracefully shutting down a connection between two
36
- * endpoints by sending an undefined message as an indication of disconnection before
37
- * closing the port. After calling this method, the MessagePortSocket instance should not
38
- * be used again.
39
- */
40
- close() {
32
+ * Close the MessagePort, unregister the message handler, and send an undefined message.
33
+ * The 'close' function is useful for gracefully shutting down a connection between two
34
+ * endpoints by sending an undefined message as an indication of disconnection before
35
+ * closing the port. After calling this method, the MessagePortSocket instance should not
36
+ * be used again.
37
+ */ close() {
41
38
  void this.send(undefined);
42
39
  this.port.onmessage = null;
43
40
  this.port.close();
44
41
  }
45
42
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9wb3J0X3NvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc3BvcnQvYnJvd3Nlci9tZXNzYWdlX3BvcnRfc29ja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUcsQ0FBQztJQUV6Qzs7Ozs7Ozs7O09BU0c7SUFDSCxJQUFJLENBQUMsR0FBUSxFQUFFLFdBQTJCLEVBQUU7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsZUFBZSxDQUFDLEVBQXFCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSztRQUNILEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQixDQUFDO0NBQ0YifQ==
@@ -1,4 +1,4 @@
1
- import { type Connector } from '../interface/connector.js';
1
+ import type { Connector } from '../interface/connector.js';
2
2
  import { MessagePortSocket } from './message_port_socket.js';
3
3
  /**
4
4
  * SharedWorkerConnector is an implementation of the Connector interface, specifically for SharedWorkers.
@@ -1 +1 @@
1
- {"version":3,"file":"shared_worker_connector.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/shared_worker_connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,SAAS;IACzC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC;;;;;OAKG;IACH,YAAY;CAGb"}
1
+ {"version":3,"file":"shared_worker_connector.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/shared_worker_connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,SAAS;IACzC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC;;;;;OAKG;IACH,YAAY;CAGb"}
@@ -3,19 +3,17 @@ import { MessagePortSocket } from './message_port_socket.js';
3
3
  * SharedWorkerConnector is an implementation of the Connector interface, specifically for SharedWorkers.
4
4
  * It enables the creation of MessagePortSockets that communicate with a shared worker and allow
5
5
  * multiple scripts to communicate with the worker using the same connection.
6
- */
7
- export class SharedWorkerConnector {
8
- constructor(worker) {
6
+ */ export class SharedWorkerConnector {
7
+ worker;
8
+ constructor(worker){
9
9
  this.worker = worker;
10
10
  }
11
11
  /**
12
- * Creates a new MessagePortSocket instance using the SharedWorker's port.
13
- * This method allows for easy creation of sockets to communicate with the SharedWorker.
14
- *
15
- * @returns A Promise that resolves to a new MessagePortSocket instance.
16
- */
17
- createSocket() {
12
+ * Creates a new MessagePortSocket instance using the SharedWorker's port.
13
+ * This method allows for easy creation of sockets to communicate with the SharedWorker.
14
+ *
15
+ * @returns A Promise that resolves to a new MessagePortSocket instance.
16
+ */ createSocket() {
18
17
  return Promise.resolve(new MessagePortSocket(this.worker.port));
19
18
  }
20
19
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3dvcmtlcl9jb25uZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwb3J0L2Jyb3dzZXIvc2hhcmVkX3dvcmtlcl9jb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBb0IsTUFBb0I7UUFBcEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztJQUFHLENBQUM7SUFFNUM7Ozs7O09BS0c7SUFDSCxZQUFZO1FBQ1YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRiJ9
@@ -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
  * Represents the global scope of a Shared Worker.
6
6
  * Provides functionality to handle incoming connections and manage communication with other scripts
@@ -1 +1 @@
1
- {"version":3,"file":"shared_worker_listener.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/shared_worker_listener.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;;GAIG;AACH,OAAO,WAAW,uBAAuB;IACvC;;OAEG;IACH,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAClC;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,YAAa,YAAW,QAAQ;IAC5D,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,uBAAuB;IAInD;;;;OAIG;IACH,IAAI;IAIJ;;;OAGG;IACH,KAAK;IAIL,OAAO,CAAC,kBAAkB,CAMxB;CACH"}
1
+ {"version":3,"file":"shared_worker_listener.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/shared_worker_listener.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;;GAIG;AACH,OAAO,WAAW,uBAAuB;IACvC;;OAEG;IACH,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAClC;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,YAAa,YAAW,QAAQ;IAC5D,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,uBAAuB;IAInD;;;;OAIG;IACH,IAAI;IAIJ;;;OAGG;IACH,KAAK;IAIL,OAAO,CAAC,kBAAkB,CAMxB;CACH"}
@@ -5,12 +5,10 @@ import { MessagePortSocket } from './message_port_socket.js';
5
5
  * It provides functionality to handle incoming messages from a shared worker and emit events for new sockets
6
6
  * created in response to these incoming connections. This class is meant to be used in the context of managing
7
7
  * MessagePort connections within the SharedWorkerGlobalScope.
8
- */
9
- export class SharedWorkerListener extends EventEmitter {
10
- constructor(worker) {
11
- super();
12
- this.worker = worker;
13
- this.handleMessageEvent = (event) => {
8
+ */ export class SharedWorkerListener extends EventEmitter {
9
+ worker;
10
+ constructor(worker){
11
+ super(), this.worker = worker, this.handleMessageEvent = (event)=>{
14
12
  const [port] = event.ports;
15
13
  if (!port) {
16
14
  return;
@@ -19,19 +17,17 @@ export class SharedWorkerListener extends EventEmitter {
19
17
  };
20
18
  }
21
19
  /**
22
- * Initializes the shared worker listener by assigning the 'handleMessageEvent' method as the event handler
23
- * for the 'onconnect' event of the SharedWorkerGlobalScope. The 'handleMessageEvent' function will be called
24
- * whenever a new connection is established with the shared worker.
25
- */
26
- open() {
20
+ * Initializes the shared worker listener by assigning the 'handleMessageEvent' method as the event handler
21
+ * for the 'onconnect' event of the SharedWorkerGlobalScope. The 'handleMessageEvent' function will be called
22
+ * whenever a new connection is established with the shared worker.
23
+ */ open() {
27
24
  this.worker.onconnect = this.handleMessageEvent;
28
25
  }
29
26
  /**
30
- * Closes the SharedWorkerListener by detaching the 'onconnect' event handler.
31
- * This stops the listener from emitting new sockets on incoming connections.
32
- */
33
- close() {
34
- this.worker.onconnect = () => { };
27
+ * Closes the SharedWorkerListener by detaching the 'onconnect' event handler.
28
+ * This stops the listener from emitting new sockets on incoming connections.
29
+ */ close() {
30
+ this.worker.onconnect = ()=>{};
35
31
  }
32
+ handleMessageEvent;
36
33
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3dvcmtlcl9saXN0ZW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc3BvcnQvYnJvd3Nlci9zaGFyZWRfd29ya2VyX2xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUdsQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQWM3RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxZQUFZO0lBQ3BELFlBQW9CLE1BQStCO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFUsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFxQjNDLHVCQUFrQixHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1lBQ25ELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVixPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUM7SUF6QkYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2xELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FTRiJ9
@@ -1,4 +1,4 @@
1
- import { type Connector } from '../interface/connector.js';
1
+ import type { Connector } from '../interface/connector.js';
2
2
  import { MessagePortSocket } from './message_port_socket.js';
3
3
  /**
4
4
  * WorkerConnector is a class implementing the Connector interface for creating communication sockets
@@ -1 +1 @@
1
- {"version":3,"file":"worker_connector.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/worker_connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,YAAW,SAAS;IACnC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;OAMG;IACH,YAAY;CAKb"}
1
+ {"version":3,"file":"worker_connector.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/worker_connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,YAAW,SAAS;IACnC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;OAMG;IACH,YAAY;CAKb"}
@@ -9,22 +9,22 @@ import { MessagePortSocket } from './message_port_socket.js';
9
9
  * const connector = new WorkerConnector(worker);
10
10
  * const socket = await connector.createSocket();
11
11
  * socket.send('Hello, worker!');
12
- */
13
- export class WorkerConnector {
14
- constructor(worker) {
12
+ */ export class WorkerConnector {
13
+ worker;
14
+ constructor(worker){
15
15
  this.worker = worker;
16
16
  }
17
17
  /**
18
- * Creates a new MessagePortSocket instance by establishing a connection between the Worker and the main thread.
19
- * A MessageChannel is created, and one of its ports is sent to the Worker using postMessage.
20
- * The other port is used to create a new MessagePortSocket which is then returned as a Promise.
21
- *
22
- * @returns A Promise that resolves to a new MessagePortSocket instance.
23
- */
24
- createSocket() {
18
+ * Creates a new MessagePortSocket instance by establishing a connection between the Worker and the main thread.
19
+ * A MessageChannel is created, and one of its ports is sent to the Worker using postMessage.
20
+ * The other port is used to create a new MessagePortSocket which is then returned as a Promise.
21
+ *
22
+ * @returns A Promise that resolves to a new MessagePortSocket instance.
23
+ */ createSocket() {
25
24
  const channel = new MessageChannel();
26
- this.worker.postMessage('', [channel.port2]);
25
+ this.worker.postMessage('', [
26
+ channel.port2
27
+ ]);
27
28
  return Promise.resolve(new MessagePortSocket(channel.port1));
28
29
  }
29
30
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX2Nvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc3BvcnQvYnJvd3Nlci93b3JrZXJfY29ubmVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFdEM7Ozs7OztPQU1HO0lBQ0gsWUFBWTtRQUNWLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDN0MsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGIn0=
@@ -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
  * Represents a DedicatedWorkerGlobalScope, which is the global execution context for a dedicated worker.
6
6
  * Provides properties and methods to manage the worker's lifecycle and communication with other threads or workers.
@@ -1 +1 @@
1
- {"version":3,"file":"worker_listener.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/worker_listener.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;GAGG;AACH,OAAO,WAAW,0BAA0B;IAC1C;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,YAAa,YAAW,QAAQ;IACtD,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,0BAA0B;IAItD;;;;OAIG;IACH,IAAI;IAIJ;;;OAGG;IACH,KAAK;IAIL,OAAO,CAAC,kBAAkB,CAMxB;CACH"}
1
+ {"version":3,"file":"worker_listener.d.ts","sourceRoot":"","sources":["../../../src/transport/browser/worker_listener.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;GAGG;AACH,OAAO,WAAW,0BAA0B;IAC1C;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,YAAa,YAAW,QAAQ;IACtD,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,0BAA0B;IAItD;;;;OAIG;IACH,IAAI;IAIJ;;;OAGG;IACH,KAAK;IAIL,OAAO,CAAC,kBAAkB,CAMxB;CACH"}
@@ -7,12 +7,10 @@ import { MessagePortSocket } from './message_port_socket.js';
7
7
  * with other workers or main thread through the MessagePortSocket abstraction.
8
8
  *
9
9
  * The open() method starts listening for incoming connections, while the close() method stops it.
10
- */
11
- export class WorkerListener extends EventEmitter {
12
- constructor(worker) {
13
- super();
14
- this.worker = worker;
15
- this.handleMessageEvent = (event) => {
10
+ */ export class WorkerListener extends EventEmitter {
11
+ worker;
12
+ constructor(worker){
13
+ super(), this.worker = worker, this.handleMessageEvent = (event)=>{
16
14
  const [port] = event.ports;
17
15
  if (!port) {
18
16
  return;
@@ -21,19 +19,17 @@ export class WorkerListener extends EventEmitter {
21
19
  };
22
20
  }
23
21
  /**
24
- * Initializes the WorkerListener by setting the 'onmessage' event handler of the worker.
25
- * The 'onmessage' event will be triggered when the worker receives a message, and it will then
26
- * call the handleMessageEvent method to handle incoming connections.
27
- */
28
- open() {
22
+ * Initializes the WorkerListener by setting the 'onmessage' event handler of the worker.
23
+ * The 'onmessage' event will be triggered when the worker receives a message, and it will then
24
+ * call the handleMessageEvent method to handle incoming connections.
25
+ */ open() {
29
26
  this.worker.onmessage = this.handleMessageEvent;
30
27
  }
31
28
  /**
32
- * Close the worker listener by removing the 'onmessage' event handler.
33
- * This method effectively stops the WorkerListener from reacting to new incoming messages.
34
- */
35
- close() {
36
- this.worker.onmessage = () => { };
29
+ * Close the worker listener by removing the 'onmessage' event handler.
30
+ * This method effectively stops the WorkerListener from reacting to new incoming messages.
31
+ */ close() {
32
+ this.worker.onmessage = ()=>{};
37
33
  }
34
+ handleMessageEvent;
38
35
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX2xpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zcG9ydC9icm93c2VyL3dvcmtlcl9saXN0ZW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSxRQUFRLENBQUM7QUFHbEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFhN0Q7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsWUFBWTtJQUM5QyxZQUFvQixNQUFrQztRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURVLFdBQU0sR0FBTixNQUFNLENBQTRCO1FBcUI5Qyx1QkFBa0IsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDO0lBekJGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBU0YifQ==
@@ -8,12 +8,10 @@ import { createLogger } from '../../log/index.js';
8
8
  * @param targetFn - A function that returns the target object containing the methods to be dispatched.
9
9
  * @param log - Optional logging function for debugging purposes.
10
10
  * @returns A dispatch function that accepts a DispatchMsg object and calls the target's method with provided arguments.
11
- */
12
- export function createDispatchFn(targetFn, log = createLogger('foundation:dispatch')) {
13
- return async ({ fn, args }) => {
11
+ */ export function createDispatchFn(targetFn, log = createLogger('foundation:dispatch')) {
12
+ return async ({ fn, args })=>{
14
13
  const target = targetFn();
15
14
  log.debug(format(`dispatching to ${target}: ${fn}`, args));
16
15
  return await target[fn](...args);
17
16
  };
18
17
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2Rpc3BhdGNoX2ZuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zcG9ydC9kaXNwYXRjaC9jcmVhdGVfZGlzcGF0Y2hfZm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFpQmxEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFFBQW1CLEVBQUUsR0FBRyxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztJQUM3RixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQWUsRUFBRSxFQUFFO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLFFBQVEsRUFBRSxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixNQUFNLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzRCxPQUFPLE1BQU0sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,6 +1,6 @@
1
1
  import { type TransferDescriptor } from '../interface/transferable.js';
2
- import { type TransportClient } from '../transport_client.js';
3
- import { type DispatchMsg } from './create_dispatch_fn.js';
2
+ import type { TransportClient } from '../transport_client.js';
3
+ import type { DispatchMsg } from './create_dispatch_fn.js';
4
4
  /**
5
5
  * FilterOutAttributes type filters out all non-method properties of an object, leaving only the attributes
6
6
  * that are functions. This is useful for creating proxies or wrappers around objects while focusing only
@@ -1 +1 @@
1
- {"version":3,"file":"create_dispatch_proxy.d.ts","sourceRoot":"","sources":["../../../src/transport/dispatch/create_dispatch_proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create_dispatch_proxy.d.ts","sourceRoot":"","sources":["../../../src/transport/dispatch/create_dispatch_proxy.ts"],"names":[],"mappings":"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"}