@aztec/foundation 0.7.0 → 0.7.2

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 (353) hide show
  1. package/Dockerfile +15 -0
  2. package/package.json +1 -1
  3. package/src/abi/abi.ts +1 -1
  4. package/src/abi/decoder.ts +1 -1
  5. package/.tsbuildinfo +0 -1
  6. package/dest/abi/abi.d.ts +0 -232
  7. package/dest/abi/abi.d.ts.map +0 -1
  8. package/dest/abi/abi.js +0 -37
  9. package/dest/abi/abi_coder.d.ts +0 -8
  10. package/dest/abi/abi_coder.d.ts.map +0 -1
  11. package/dest/abi/abi_coder.js +0 -24
  12. package/dest/abi/decoder.d.ts +0 -57
  13. package/dest/abi/decoder.d.ts.map +0 -1
  14. package/dest/abi/decoder.js +0 -149
  15. package/dest/abi/decoder.test.d.ts +0 -2
  16. package/dest/abi/decoder.test.d.ts.map +0 -1
  17. package/dest/abi/decoder.test.js +0 -70
  18. package/dest/abi/encoder.d.ts +0 -10
  19. package/dest/abi/encoder.d.ts.map +0 -1
  20. package/dest/abi/encoder.js +0 -89
  21. package/dest/abi/encoder.test.d.ts +0 -2
  22. package/dest/abi/encoder.test.d.ts.map +0 -1
  23. package/dest/abi/encoder.test.js +0 -74
  24. package/dest/abi/function_selector.d.ts +0 -73
  25. package/dest/abi/function_selector.d.ts.map +0 -1
  26. package/dest/abi/function_selector.js +0 -104
  27. package/dest/abi/index.d.ts +0 -6
  28. package/dest/abi/index.d.ts.map +0 -1
  29. package/dest/abi/index.js +0 -6
  30. package/dest/async-map/async_map.test.d.ts +0 -2
  31. package/dest/async-map/async_map.test.d.ts.map +0 -1
  32. package/dest/async-map/async_map.test.js +0 -9
  33. package/dest/async-map/index.d.ts +0 -13
  34. package/dest/async-map/index.d.ts.map +0 -1
  35. package/dest/async-map/index.js +0 -19
  36. package/dest/aztec-address/index.d.ts +0 -114
  37. package/dest/aztec-address/index.d.ts.map +0 -1
  38. package/dest/aztec-address/index.js +0 -148
  39. package/dest/bigint-buffer/bigint-buffer.test.d.ts +0 -2
  40. package/dest/bigint-buffer/bigint-buffer.test.d.ts.map +0 -1
  41. package/dest/bigint-buffer/bigint-buffer.test.js +0 -18
  42. package/dest/bigint-buffer/index.d.ts +0 -35
  43. package/dest/bigint-buffer/index.d.ts.map +0 -1
  44. package/dest/bigint-buffer/index.js +0 -68
  45. package/dest/collection/array.d.ts +0 -30
  46. package/dest/collection/array.d.ts.map +0 -1
  47. package/dest/collection/array.js +0 -47
  48. package/dest/collection/index.d.ts +0 -2
  49. package/dest/collection/index.d.ts.map +0 -1
  50. package/dest/collection/index.js +0 -2
  51. package/dest/committable/committable.d.ts +0 -28
  52. package/dest/committable/committable.d.ts.map +0 -1
  53. package/dest/committable/committable.js +0 -41
  54. package/dest/committable/committable.test.d.ts +0 -2
  55. package/dest/committable/committable.test.d.ts.map +0 -1
  56. package/dest/committable/committable.test.js +0 -26
  57. package/dest/committable/index.d.ts +0 -2
  58. package/dest/committable/index.d.ts.map +0 -1
  59. package/dest/committable/index.js +0 -2
  60. package/dest/crypto/index.d.ts +0 -4
  61. package/dest/crypto/index.d.ts.map +0 -1
  62. package/dest/crypto/index.js +0 -4
  63. package/dest/crypto/keccak/index.d.ts +0 -20
  64. package/dest/crypto/keccak/index.d.ts.map +0 -1
  65. package/dest/crypto/keccak/index.js +0 -31
  66. package/dest/crypto/random/index.d.ts +0 -3
  67. package/dest/crypto/random/index.d.ts.map +0 -1
  68. package/dest/crypto/random/index.js +0 -36
  69. package/dest/crypto/random/index.test.d.ts +0 -2
  70. package/dest/crypto/random/index.test.d.ts.map +0 -1
  71. package/dest/crypto/random/index.test.js +0 -13
  72. package/dest/crypto/sha256/index.d.ts +0 -11
  73. package/dest/crypto/sha256/index.d.ts.map +0 -1
  74. package/dest/crypto/sha256/index.js +0 -14
  75. package/dest/crypto/sha256/index.test.d.ts +0 -2
  76. package/dest/crypto/sha256/index.test.d.ts.map +0 -1
  77. package/dest/crypto/sha256/index.test.js +0 -11
  78. package/dest/errors/index.d.ts +0 -8
  79. package/dest/errors/index.d.ts.map +0 -1
  80. package/dest/errors/index.js +0 -8
  81. package/dest/eth-address/eth_address.test.d.ts +0 -2
  82. package/dest/eth-address/eth_address.test.d.ts.map +0 -1
  83. package/dest/eth-address/eth_address.test.js +0 -95
  84. package/dest/eth-address/index.d.ts +0 -144
  85. package/dest/eth-address/index.d.ts.map +0 -1
  86. package/dest/eth-address/index.js +0 -228
  87. package/dest/fields/coordinate.d.ts +0 -67
  88. package/dest/fields/coordinate.d.ts.map +0 -1
  89. package/dest/fields/coordinate.js +0 -95
  90. package/dest/fields/coordinate.test.d.ts +0 -2
  91. package/dest/fields/coordinate.test.d.ts.map +0 -1
  92. package/dest/fields/coordinate.test.js +0 -22
  93. package/dest/fields/fields.d.ts +0 -177
  94. package/dest/fields/fields.d.ts.map +0 -1
  95. package/dest/fields/fields.js +0 -219
  96. package/dest/fields/grumpkin_scalar.d.ts +0 -96
  97. package/dest/fields/grumpkin_scalar.d.ts.map +0 -1
  98. package/dest/fields/grumpkin_scalar.js +0 -125
  99. package/dest/fields/grumpkin_scalar.test.d.ts +0 -2
  100. package/dest/fields/grumpkin_scalar.test.d.ts.map +0 -1
  101. package/dest/fields/grumpkin_scalar.test.js +0 -45
  102. package/dest/fields/index.d.ts +0 -5
  103. package/dest/fields/index.d.ts.map +0 -1
  104. package/dest/fields/index.js +0 -5
  105. package/dest/fields/point.d.ts +0 -105
  106. package/dest/fields/point.d.ts.map +0 -1
  107. package/dest/fields/point.js +0 -125
  108. package/dest/fifo/bounded_serial_queue.d.ts +0 -56
  109. package/dest/fifo/bounded_serial_queue.d.ts.map +0 -1
  110. package/dest/fifo/bounded_serial_queue.js +0 -94
  111. package/dest/fifo/index.d.ts +0 -5
  112. package/dest/fifo/index.d.ts.map +0 -1
  113. package/dest/fifo/index.js +0 -5
  114. package/dest/fifo/memory_fifo.d.ts +0 -55
  115. package/dest/fifo/memory_fifo.d.ts.map +0 -1
  116. package/dest/fifo/memory_fifo.js +0 -109
  117. package/dest/fifo/semaphore.d.ts +0 -23
  118. package/dest/fifo/semaphore.d.ts.map +0 -1
  119. package/dest/fifo/semaphore.js +0 -30
  120. package/dest/fifo/serial_queue.d.ts +0 -48
  121. package/dest/fifo/serial_queue.d.ts.map +0 -1
  122. package/dest/fifo/serial_queue.js +0 -74
  123. package/dest/json-rpc/class_converter.d.ts +0 -144
  124. package/dest/json-rpc/class_converter.d.ts.map +0 -1
  125. package/dest/json-rpc/class_converter.js +0 -100
  126. package/dest/json-rpc/client/index.d.ts +0 -2
  127. package/dest/json-rpc/client/index.d.ts.map +0 -1
  128. package/dest/json-rpc/client/index.js +0 -2
  129. package/dest/json-rpc/client/json_rpc_client.d.ts +0 -29
  130. package/dest/json-rpc/client/json_rpc_client.d.ts.map +0 -1
  131. package/dest/json-rpc/client/json_rpc_client.js +0 -104
  132. package/dest/json-rpc/client/json_rpc_client.test.d.ts +0 -2
  133. package/dest/json-rpc/client/json_rpc_client.test.d.ts.map +0 -1
  134. package/dest/json-rpc/client/json_rpc_client.test.js +0 -20
  135. package/dest/json-rpc/convert.d.ts +0 -28
  136. package/dest/json-rpc/convert.d.ts.map +0 -1
  137. package/dest/json-rpc/convert.js +0 -139
  138. package/dest/json-rpc/convert.test.d.ts +0 -2
  139. package/dest/json-rpc/convert.test.d.ts.map +0 -1
  140. package/dest/json-rpc/convert.test.js +0 -68
  141. package/dest/json-rpc/fixtures/class_a.d.ts +0 -11
  142. package/dest/json-rpc/fixtures/class_a.d.ts.map +0 -1
  143. package/dest/json-rpc/fixtures/class_a.js +0 -17
  144. package/dest/json-rpc/fixtures/class_b.d.ts +0 -11
  145. package/dest/json-rpc/fixtures/class_b.d.ts.map +0 -1
  146. package/dest/json-rpc/fixtures/class_b.js +0 -17
  147. package/dest/json-rpc/fixtures/test_state.d.ts +0 -47
  148. package/dest/json-rpc/fixtures/test_state.d.ts.map +0 -1
  149. package/dest/json-rpc/fixtures/test_state.js +0 -62
  150. package/dest/json-rpc/index.d.ts +0 -3
  151. package/dest/json-rpc/index.d.ts.map +0 -1
  152. package/dest/json-rpc/index.js +0 -3
  153. package/dest/json-rpc/js_utils.d.ts +0 -13
  154. package/dest/json-rpc/js_utils.d.ts.map +0 -1
  155. package/dest/json-rpc/js_utils.js +0 -18
  156. package/dest/json-rpc/server/index.d.ts +0 -3
  157. package/dest/json-rpc/server/index.d.ts.map +0 -1
  158. package/dest/json-rpc/server/index.js +0 -3
  159. package/dest/json-rpc/server/json_proxy.d.ts +0 -18
  160. package/dest/json-rpc/server/json_proxy.d.ts.map +0 -1
  161. package/dest/json-rpc/server/json_proxy.js +0 -36
  162. package/dest/json-rpc/server/json_rpc_server.d.ts +0 -34
  163. package/dest/json-rpc/server/json_rpc_server.d.ts.map +0 -1
  164. package/dest/json-rpc/server/json_rpc_server.js +0 -133
  165. package/dest/json-rpc/server/json_rpc_server.test.d.ts +0 -2
  166. package/dest/json-rpc/server/json_rpc_server.test.d.ts.map +0 -1
  167. package/dest/json-rpc/server/json_rpc_server.test.js +0 -22
  168. package/dest/log/console.d.ts +0 -11
  169. package/dest/log/console.d.ts.map +0 -1
  170. package/dest/log/console.js +0 -38
  171. package/dest/log/debug.d.ts +0 -43
  172. package/dest/log/debug.d.ts.map +0 -1
  173. package/dest/log/debug.js +0 -75
  174. package/dest/log/index.d.ts +0 -9
  175. package/dest/log/index.d.ts.map +0 -1
  176. package/dest/log/index.js +0 -5
  177. package/dest/log/log_history.d.ts +0 -31
  178. package/dest/log/log_history.d.ts.map +0 -1
  179. package/dest/log/log_history.js +0 -42
  180. package/dest/log/log_history.test.d.ts +0 -2
  181. package/dest/log/log_history.test.d.ts.map +0 -1
  182. package/dest/log/log_history.test.js +0 -78
  183. package/dest/log/logger.d.ts +0 -34
  184. package/dest/log/logger.d.ts.map +0 -1
  185. package/dest/log/logger.js +0 -78
  186. package/dest/mutex/index.d.ts +0 -53
  187. package/dest/mutex/index.d.ts.map +0 -1
  188. package/dest/mutex/index.js +0 -74
  189. package/dest/mutex/mutex.test.d.ts +0 -9
  190. package/dest/mutex/mutex.test.d.ts.map +0 -1
  191. package/dest/mutex/mutex.test.js +0 -58
  192. package/dest/mutex/mutex_database.d.ts +0 -10
  193. package/dest/mutex/mutex_database.d.ts.map +0 -1
  194. package/dest/mutex/mutex_database.js +0 -2
  195. package/dest/retry/index.d.ts +0 -44
  196. package/dest/retry/index.d.ts.map +0 -1
  197. package/dest/retry/index.js +0 -89
  198. package/dest/running-promise/index.d.ts +0 -35
  199. package/dest/running-promise/index.d.ts.map +0 -1
  200. package/dest/running-promise/index.js +0 -59
  201. package/dest/serialize/buffer_reader.d.ts +0 -188
  202. package/dest/serialize/buffer_reader.d.ts.map +0 -1
  203. package/dest/serialize/buffer_reader.js +0 -229
  204. package/dest/serialize/buffer_reader.test.d.ts +0 -2
  205. package/dest/serialize/buffer_reader.test.d.ts.map +0 -1
  206. package/dest/serialize/buffer_reader.test.js +0 -156
  207. package/dest/serialize/deserializer.d.ts +0 -134
  208. package/dest/serialize/deserializer.d.ts.map +0 -1
  209. package/dest/serialize/deserializer.js +0 -145
  210. package/dest/serialize/free_funcs.d.ts +0 -203
  211. package/dest/serialize/free_funcs.d.ts.map +0 -1
  212. package/dest/serialize/free_funcs.js +0 -250
  213. package/dest/serialize/index.d.ts +0 -6
  214. package/dest/serialize/index.d.ts.map +0 -1
  215. package/dest/serialize/index.js +0 -6
  216. package/dest/serialize/serialize.test.d.ts +0 -2
  217. package/dest/serialize/serialize.test.d.ts.map +0 -1
  218. package/dest/serialize/serialize.test.js +0 -68
  219. package/dest/serialize/serializer.d.ts +0 -89
  220. package/dest/serialize/serializer.d.ts.map +0 -1
  221. package/dest/serialize/serializer.js +0 -111
  222. package/dest/serialize/types.d.ts +0 -33
  223. package/dest/serialize/types.d.ts.map +0 -1
  224. package/dest/serialize/types.js +0 -22
  225. package/dest/sleep/index.d.ts +0 -52
  226. package/dest/sleep/index.d.ts.map +0 -1
  227. package/dest/sleep/index.js +0 -70
  228. package/dest/timer/index.d.ts +0 -3
  229. package/dest/timer/index.d.ts.map +0 -1
  230. package/dest/timer/index.js +0 -3
  231. package/dest/timer/timeout.d.ts +0 -41
  232. package/dest/timer/timeout.d.ts.map +0 -1
  233. package/dest/timer/timeout.js +0 -62
  234. package/dest/timer/timer.d.ts +0 -33
  235. package/dest/timer/timer.d.ts.map +0 -1
  236. package/dest/timer/timer.js +0 -38
  237. package/dest/transport/browser/index.d.ts +0 -5
  238. package/dest/transport/browser/index.d.ts.map +0 -1
  239. package/dest/transport/browser/index.js +0 -5
  240. package/dest/transport/browser/message_port_socket.d.ts +0 -37
  241. package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
  242. package/dest/transport/browser/message_port_socket.js +0 -46
  243. package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
  244. package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
  245. package/dest/transport/browser/shared_worker_connector.js +0 -21
  246. package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
  247. package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
  248. package/dest/transport/browser/shared_worker_listener.js +0 -37
  249. package/dest/transport/browser/worker_connector.d.ts +0 -26
  250. package/dest/transport/browser/worker_connector.d.ts.map +0 -1
  251. package/dest/transport/browser/worker_connector.js +0 -30
  252. package/dest/transport/browser/worker_listener.d.ts +0 -39
  253. package/dest/transport/browser/worker_listener.d.ts.map +0 -1
  254. package/dest/transport/browser/worker_listener.js +0 -39
  255. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  256. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  257. package/dest/transport/dispatch/create_dispatch_fn.js +0 -18
  258. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +0 -102
  259. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +0 -1
  260. package/dest/transport/dispatch/create_dispatch_proxy.js +0 -56
  261. package/dest/transport/dispatch/messages.d.ts +0 -52
  262. package/dest/transport/dispatch/messages.d.ts.map +0 -1
  263. package/dest/transport/dispatch/messages.js +0 -12
  264. package/dest/transport/index.d.ts +0 -12
  265. package/dest/transport/index.d.ts.map +0 -1
  266. package/dest/transport/index.js +0 -12
  267. package/dest/transport/interface/connector.d.ts +0 -8
  268. package/dest/transport/interface/connector.d.ts.map +0 -1
  269. package/dest/transport/interface/connector.js +0 -2
  270. package/dest/transport/interface/listener.d.ts +0 -13
  271. package/dest/transport/interface/listener.d.ts.map +0 -1
  272. package/dest/transport/interface/listener.js +0 -2
  273. package/dest/transport/interface/socket.d.ts +0 -13
  274. package/dest/transport/interface/socket.d.ts.map +0 -1
  275. package/dest/transport/interface/socket.js +0 -2
  276. package/dest/transport/interface/transferable.d.ts +0 -68
  277. package/dest/transport/interface/transferable.d.ts.map +0 -1
  278. package/dest/transport/interface/transferable.js +0 -63
  279. package/dest/transport/node/index.d.ts +0 -3
  280. package/dest/transport/node/index.d.ts.map +0 -1
  281. package/dest/transport/node/index.js +0 -3
  282. package/dest/transport/node/node_connector.d.ts +0 -28
  283. package/dest/transport/node/node_connector.d.ts.map +0 -1
  284. package/dest/transport/node/node_connector.js +0 -28
  285. package/dest/transport/node/node_connector_socket.d.ts +0 -42
  286. package/dest/transport/node/node_connector_socket.d.ts.map +0 -1
  287. package/dest/transport/node/node_connector_socket.js +0 -48
  288. package/dest/transport/node/node_listener.d.ts +0 -26
  289. package/dest/transport/node/node_listener.d.ts.map +0 -1
  290. package/dest/transport/node/node_listener.js +0 -30
  291. package/dest/transport/node/node_listener_socket.d.ts +0 -37
  292. package/dest/transport/node/node_listener_socket.d.ts.map +0 -1
  293. package/dest/transport/node/node_listener_socket.js +0 -44
  294. package/dest/transport/transport_client.d.ts +0 -61
  295. package/dest/transport/transport_client.d.ts.map +0 -1
  296. package/dest/transport/transport_client.js +0 -94
  297. package/dest/transport/transport_server.d.ts +0 -56
  298. package/dest/transport/transport_server.d.ts.map +0 -1
  299. package/dest/transport/transport_server.js +0 -101
  300. package/dest/types/index.d.ts +0 -7
  301. package/dest/types/index.d.ts.map +0 -1
  302. package/dest/types/index.js +0 -2
  303. package/dest/url/index.d.ts +0 -9
  304. package/dest/url/index.d.ts.map +0 -1
  305. package/dest/url/index.js +0 -66
  306. package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
  307. package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
  308. package/dest/wasm/empty_wasi_sdk.js +0 -166
  309. package/dest/wasm/index.d.ts +0 -2
  310. package/dest/wasm/index.d.ts.map +0 -1
  311. package/dest/wasm/index.js +0 -2
  312. package/dest/wasm/wasm_module.d.ts +0 -135
  313. package/dest/wasm/wasm_module.d.ts.map +0 -1
  314. package/dest/wasm/wasm_module.js +0 -205
  315. package/dest/wasm/wasm_module.test.d.ts +0 -2
  316. package/dest/wasm/wasm_module.test.d.ts.map +0 -1
  317. package/dest/wasm/wasm_module.test.js +0 -24
  318. package/dest/worker/browser/index.d.ts +0 -3
  319. package/dest/worker/browser/index.d.ts.map +0 -1
  320. package/dest/worker/browser/index.js +0 -3
  321. package/dest/worker/browser/start_web_module.d.ts +0 -7
  322. package/dest/worker/browser/start_web_module.d.ts.map +0 -1
  323. package/dest/worker/browser/start_web_module.js +0 -22
  324. package/dest/worker/browser/web_data_store.d.ts +0 -23
  325. package/dest/worker/browser/web_data_store.d.ts.map +0 -1
  326. package/dest/worker/browser/web_data_store.js +0 -32
  327. package/dest/worker/browser/web_worker.d.ts +0 -10
  328. package/dest/worker/browser/web_worker.d.ts.map +0 -1
  329. package/dest/worker/browser/web_worker.js +0 -23
  330. package/dest/worker/data_store.d.ts +0 -20
  331. package/dest/worker/data_store.d.ts.map +0 -1
  332. package/dest/worker/data_store.js +0 -2
  333. package/dest/worker/index.d.ts +0 -3
  334. package/dest/worker/index.d.ts.map +0 -1
  335. package/dest/worker/index.js +0 -2
  336. package/dest/worker/node/index.d.ts +0 -3
  337. package/dest/worker/node/index.d.ts.map +0 -1
  338. package/dest/worker/node/index.js +0 -3
  339. package/dest/worker/node/node_data_store.d.ts +0 -12
  340. package/dest/worker/node/node_data_store.d.ts.map +0 -1
  341. package/dest/worker/node/node_data_store.js +0 -21
  342. package/dest/worker/node/node_worker.d.ts +0 -6
  343. package/dest/worker/node/node_worker.d.ts.map +0 -1
  344. package/dest/worker/node/node_worker.js +0 -20
  345. package/dest/worker/node/start_node_module.d.ts +0 -7
  346. package/dest/worker/node/start_node_module.d.ts.map +0 -1
  347. package/dest/worker/node/start_node_module.js +0 -26
  348. package/dest/worker/wasm_worker.d.ts +0 -9
  349. package/dest/worker/wasm_worker.d.ts.map +0 -1
  350. package/dest/worker/wasm_worker.js +0 -2
  351. package/dest/worker/worker_pool.d.ts +0 -40
  352. package/dest/worker/worker_pool.d.ts.map +0 -1
  353. package/dest/worker/worker_pool.js +0 -62
@@ -1,205 +0,0 @@
1
- import { Buffer } from 'buffer';
2
- import { randomBytes } from '../crypto/index.js';
3
- import { MemoryFifo } from '../fifo/index.js';
4
- import { createDebugOnlyLogger } from '../log/index.js';
5
- import { getEmptyWasiSdk } from './empty_wasi_sdk.js';
6
- /**
7
- * WasmModule:
8
- * Helper over a webassembly module.
9
- * Assumes a few quirks.
10
- * 1) the module expects wasi_snapshot_preview1 with the methods from getEmptyWasiSdk
11
- * 2) of which the webassembly
12
- * we instantiate only uses random_get (update this if more WASI sdk methods are needed).
13
- */
14
- export class WasmModule {
15
- /**
16
- * Create a wasm module. Should be followed by await init();.
17
- * @param module - The module as a WebAssembly.Module or a Buffer.
18
- * @param importFn - Imports expected by the WASM.
19
- * @param loggerName - Optional, for debug logging.
20
- */
21
- constructor(module, importFn, loggerName = 'aztec:wasm') {
22
- this.module = module;
23
- this.importFn = importFn;
24
- this.mutexQ = new MemoryFifo();
25
- this.debug = createDebugOnlyLogger(loggerName);
26
- this.mutexQ.put(true);
27
- }
28
- /**
29
- * Return the wasm source.
30
- * @returns The source.
31
- */
32
- getModule() {
33
- return this.module;
34
- }
35
- /**
36
- * Initialize this wasm module.
37
- * @param wasmImportEnv - Linked to a module called "env". Functions implementations referenced from e.g. C++.
38
- * @param initial - 30 pages by default. 30*2**16 \> 1mb stack size plus other overheads.
39
- * @param initMethod - Defaults to calling '_initialize'.
40
- * @param maximum - 8192 maximum by default. 512mb.
41
- */
42
- async init(initial = 30, maximum = 8192, initMethod = '_initialize') {
43
- this.debug(`initial mem: ${initial} pages, ${(initial * 2 ** 16) / (1024 * 1024)}mb. max mem: ${maximum} pages, ${(maximum * 2 ** 16) / (1024 * 1024)}mb`);
44
- this.memory = new WebAssembly.Memory({ initial, maximum });
45
- // Create a view over the memory buffer.
46
- // We do this once here, as webkit *seems* bugged out and actually shows this as new memory,
47
- // thus displaying double. It's only worse if we create views on demand. I haven't established yet if
48
- // the bug is also exasperating the termination on mobile due to "excessive memory usage". It could be
49
- // that the OS is actually getting an incorrect reading in the same way the memory profiler does...
50
- // The view will have to be recreated if the memory is grown. See getMemory().
51
- this.heap = new Uint8Array(this.memory.buffer);
52
- // We support the wasi 12 SDK, but only implement random_get
53
- /* eslint-disable camelcase */
54
- const importObj = {
55
- wasi_snapshot_preview1: {
56
- ...getEmptyWasiSdk(this.debug),
57
- random_get: (arr, length) => {
58
- arr = arr >>> 0;
59
- const heap = this.getMemory();
60
- const randomData = randomBytes(length);
61
- for (let i = arr; i < arr + length; ++i) {
62
- heap[i] = randomData[i - arr];
63
- }
64
- },
65
- },
66
- env: this.importFn(this),
67
- };
68
- if (this.module instanceof WebAssembly.Module) {
69
- this.instance = await WebAssembly.instantiate(this.module, importObj);
70
- }
71
- else {
72
- const { instance } = await WebAssembly.instantiate(this.module, importObj);
73
- this.instance = instance;
74
- }
75
- // Init all global/static data.
76
- if (initMethod) {
77
- this.call(initMethod);
78
- }
79
- }
80
- /**
81
- * The methods or objects exported by the WASM module.
82
- * @returns An indexable object.
83
- */
84
- exports() {
85
- if (!this.instance) {
86
- throw new Error('WasmModule: not initialized!');
87
- }
88
- return this.instance.exports;
89
- }
90
- /**
91
- * Get the current logger.
92
- * @returns Logging function.
93
- */
94
- getLogger() {
95
- return this.debug;
96
- }
97
- /**
98
- * Add a logger.
99
- * @param logger - Function to call when logging.
100
- */
101
- addLogger(logger) {
102
- const oldDebug = this.debug;
103
- this.debug = (...args) => {
104
- logger(...args);
105
- oldDebug(...args);
106
- };
107
- }
108
- /**
109
- * Calls into the WebAssembly.
110
- * @param name - The method name.
111
- * @param args - The arguments to the method.
112
- * @returns The numeric method result.
113
- */
114
- call(name, ...args) {
115
- if (!this.exports()[name]) {
116
- throw new Error(`WASM function ${name} not found.`);
117
- }
118
- try {
119
- // When returning values from the WASM, use >>> operator to convert
120
- // signed representation to unsigned representation.
121
- return this.exports()[name](...args) >>> 0;
122
- }
123
- catch (err) {
124
- const message = `WASM function ${name} aborted, error: ${err}\n${err.stack}`;
125
- throw new Error(message);
126
- }
127
- }
128
- /**
129
- * Get the memory used by the WASM module.
130
- * @returns A WebAssembly memory object.
131
- */
132
- getRawMemory() {
133
- return this.memory;
134
- }
135
- /**
136
- * Get the memory used by the WASM module, as a byte array.
137
- * @returns A Uint8Array view of the WASM module memory.
138
- */
139
- getMemory() {
140
- // If the memory is grown, our view over it will be lost. Recreate the view.
141
- if (this.heap.length === 0) {
142
- this.heap = new Uint8Array(this.memory.buffer);
143
- }
144
- return this.heap;
145
- }
146
- /**
147
- * The memory size in bytes.
148
- * @returns Number of bytes.
149
- */
150
- memSize() {
151
- return this.getMemory().length;
152
- }
153
- /**
154
- * Get a slice of memory between two addresses.
155
- * @param start - The start address.
156
- * @param end - The end address.
157
- * @returns A Uint8Array view of memory.
158
- */
159
- getMemorySlice(start, end) {
160
- return this.getMemory().slice(start, end);
161
- }
162
- /**
163
- * Write data into the heap.
164
- * @param offset - The address to write data at.
165
- * @param arr - The data to write.
166
- */
167
- writeMemory(offset, arr) {
168
- const mem = this.getMemory();
169
- for (let i = 0; i < arr.length; i++) {
170
- mem[i + offset] = arr[i];
171
- }
172
- }
173
- /**
174
- * Read WASM memory as a JS string.
175
- * @param addr - The memory address.
176
- * @returns A JS string.
177
- */
178
- getMemoryAsString(addr) {
179
- addr = addr >>> 0;
180
- const m = this.getMemory();
181
- let i = addr;
182
- for (; m[i] !== 0; ++i)
183
- ;
184
- return Buffer.from(m.slice(addr, i)).toString('ascii');
185
- }
186
- /**
187
- * When calling the wasm, sometimes a caller will require exclusive access over a series of calls.
188
- * E.g. When a result is written to address 0, one cannot have another caller writing to the same address via
189
- * writeMemory before the result is read via sliceMemory.
190
- * Acquire() gets a single token from a fifo. The caller must call release() to add the token back.
191
- */
192
- async acquire() {
193
- await this.mutexQ.get();
194
- }
195
- /**
196
- * Release the mutex, letting another promise call acquire().
197
- */
198
- release() {
199
- if (this.mutexQ.length() !== 0) {
200
- throw new Error('Release called but not acquired.');
201
- }
202
- this.mutexQ.put(true);
203
- }
204
- }
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbV9tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS93YXNtX21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFTLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBZ0N0RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFPckI7Ozs7O09BS0c7SUFDSCxZQUNVLE1BQW1DLEVBQ25DLFFBQXFDLEVBQzdDLFVBQVUsR0FBRyxZQUFZO1FBRmpCLFdBQU0sR0FBTixNQUFNLENBQTZCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQTZCO1FBWHZDLFdBQU0sR0FBRyxJQUFJLFVBQVUsRUFBVyxDQUFDO1FBY3pDLElBQUksQ0FBQyxLQUFLLEdBQUcscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsRUFBRSxPQUFPLEdBQUcsSUFBSSxFQUFFLGFBQTRCLGFBQWE7UUFDdkYsSUFBSSxDQUFDLEtBQUssQ0FDUixnQkFBZ0IsT0FBTyxXQUFXLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENB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
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=wasm_module.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wasm_module.test.d.ts","sourceRoot":"","sources":["../../src/wasm/wasm_module.test.ts"],"names":[],"mappings":""}
@@ -1,24 +0,0 @@
1
- import { readFile } from 'fs/promises';
2
- import { dirname } from 'path';
3
- import { fileURLToPath } from '../url/index.js';
4
- import { WasmModule } from './wasm_module.js';
5
- /**
6
- * Fetch a simple WASM.
7
- */
8
- async function fetchCode() {
9
- const __dirname = dirname(fileURLToPath(import.meta.url));
10
- return await readFile(`${__dirname}/fixtures/gcd.wasm`);
11
- }
12
- describe('simple wasm', () => {
13
- let wasm;
14
- beforeAll(async () => {
15
- wasm = new WasmModule(await fetchCode(), () => ({
16
- /*no imports*/
17
- }));
18
- await wasm.init(1, 1, /* No init method */ null);
19
- });
20
- it('should call gcd with correct result', () => {
21
- expect(wasm.call('gcd', 12312, 12123)).toBe(27);
22
- });
23
- });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbV9tb2R1bGUudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YXNtL3dhc21fbW9kdWxlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxLQUFLLFVBQVUsU0FBUztJQUN0QixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxPQUFPLE1BQU0sUUFBUSxDQUFDLEdBQUcsU0FBUyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtJQUMzQixJQUFJLElBQWlCLENBQUM7SUFFdEIsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDOUMsY0FBYztTQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0osTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,3 +0,0 @@
1
- export * from './web_worker.js';
2
- export * from './web_data_store.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/worker/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './web_worker.js';
2
- export * from './web_data_store.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd29ya2VyL2Jyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDIn0=
@@ -1,7 +0,0 @@
1
- import { WasmModule } from '../../wasm/index.js';
2
- /**
3
- * Start the transport server corresponding to this module.
4
- * @param module - The WasmModule to host.
5
- */
6
- export declare function startWebModule(module: WasmModule): void;
7
- //# sourceMappingURL=start_web_module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start_web_module.d.ts","sourceRoot":"","sources":["../../../src/worker/browser/start_web_module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,QAehD"}
@@ -1,22 +0,0 @@
1
- import { TransportServer, WorkerListener } from '../../transport/index.js';
2
- /**
3
- * Start the transport server corresponding to this module.
4
- * @param module - The WasmModule to host.
5
- */
6
- export function startWebModule(module) {
7
- const dispatch = async ({ fn, args }) => {
8
- if (fn === '__destroyWorker__') {
9
- transportServer.stop();
10
- return;
11
- }
12
- if (!module[fn]) {
13
- throw new Error(`dispatch error, function not found: ${fn}`);
14
- }
15
- return await module[fn](...args);
16
- };
17
- const transportListener = new WorkerListener(self);
18
- const transportServer = new TransportServer(transportListener, dispatch);
19
- module.addLogger((...args) => transportServer.broadcast({ fn: 'emit', args: ['log', ...args] }));
20
- transportServer.start();
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfd2ViX21vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93b3JrZXIvYnJvd3Nlci9zdGFydF93ZWJfbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHeEY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFrQjtJQUMvQyxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFlLEVBQUUsRUFBRTtRQUNuRCxJQUFJLEVBQUUsS0FBSyxtQkFBbUIsRUFBRTtZQUM5QixlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFFLE1BQWMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsT0FBTyxNQUFPLE1BQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQztJQUNGLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQWMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDMUIsQ0FBQyJ9
@@ -1,23 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { DataStore } from '../data_store.js';
3
- /**
4
- * Cache for data used by wasm module.
5
- * Stores in a LevelUp database.
6
- */
7
- export declare class WebDataStore implements DataStore {
8
- private db;
9
- constructor();
10
- /**
11
- * Lookup a key.
12
- * @param key - Key to lookup.
13
- * @returns The buffer.
14
- */
15
- get(key: string): Promise<Buffer | undefined>;
16
- /**
17
- * Alter a key.
18
- * @param key - Key to alter.
19
- * @param value - Buffer to store.
20
- */
21
- set(key: string, value: Buffer): Promise<void>;
22
- }
23
- //# sourceMappingURL=web_data_store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web_data_store.d.ts","sourceRoot":"","sources":["../../../src/worker/browser/web_data_store.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;GAGG;AACH,qBAAa,YAAa,YAAW,SAAS;IAC5C,OAAO,CAAC,EAAE,CAAU;;IAUpB;;;;OAIG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAInD;;;;OAIG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD"}
@@ -1,32 +0,0 @@
1
- import levelup from 'levelup';
2
- import memdown from 'memdown';
3
- /**
4
- * Cache for data used by wasm module.
5
- * Stores in a LevelUp database.
6
- */
7
- export class WebDataStore {
8
- constructor() {
9
- // TODO: The whole point of this is to reduce memory load in the browser.
10
- // Replace with leveljs so the data is stored in indexeddb and not in memory.
11
- // Hack: Cast as any to work around package "broken" with node16 resolution
12
- // See https://github.com/microsoft/TypeScript/issues/49160
13
- this.db = levelup(memdown());
14
- }
15
- /**
16
- * Lookup a key.
17
- * @param key - Key to lookup.
18
- * @returns The buffer.
19
- */
20
- async get(key) {
21
- return await this.db.get(key).catch(() => { });
22
- }
23
- /**
24
- * Alter a key.
25
- * @param key - Key to alter.
26
- * @param value - Buffer to store.
27
- */
28
- async set(key, value) {
29
- await this.db.put(key, value);
30
- }
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViX2RhdGFfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd29ya2VyL2Jyb3dzZXIvd2ViX2RhdGFfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFvQixNQUFNLFNBQVMsQ0FBQztBQUMzQyxPQUFPLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFJOUI7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFHdkI7UUFDRSx5RUFBeUU7UUFDekUsNkVBQTZFO1FBQzdFLDJFQUEyRTtRQUMzRSwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUUsT0FBZSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNuQixPQUFPLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUNsQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0YifQ==
@@ -1,10 +0,0 @@
1
- import { WasmWorker } from '../wasm_worker.js';
2
- /**
3
- * Instantiate a web worker.
4
- * @param url - The URL.
5
- * @param initialMem - Initial memory pages.
6
- * @param maxMem - Maximum memory pages.
7
- * @returns The worker.
8
- */
9
- export declare function createWebWorker(url: string, initialMem?: number, maxMem?: number): Promise<WasmWorker>;
10
- //# sourceMappingURL=web_worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web_worker.d.ts","sourceRoot":"","sources":["../../../src/worker/browser/web_worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAY5G"}
@@ -1,23 +0,0 @@
1
- import { TransportClient, WorkerConnector, createDispatchProxy } from '../../transport/index.js';
2
- import { WasmModule } from '../../wasm/index.js';
3
- /**
4
- * Instantiate a web worker.
5
- * @param url - The URL.
6
- * @param initialMem - Initial memory pages.
7
- * @param maxMem - Maximum memory pages.
8
- * @returns The worker.
9
- */
10
- export async function createWebWorker(url, initialMem, maxMem) {
11
- const worker = new Worker(url);
12
- const transportConnect = new WorkerConnector(worker);
13
- const transportClient = new TransportClient(transportConnect);
14
- await transportClient.open();
15
- const remoteModule = createDispatchProxy(WasmModule, transportClient);
16
- remoteModule.destroyWorker = async () => {
17
- await transportClient.request({ fn: '__destroyWorker__', args: [] });
18
- transportClient.close();
19
- };
20
- await remoteModule.init(initialMem, maxMem);
21
- return remoteModule;
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViX3dvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93b3JrZXIvYnJvd3Nlci93ZWJfd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2pEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLEdBQVcsRUFBRSxVQUFtQixFQUFFLE1BQWU7SUFDckYsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBYyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxlQUFlLENBQWUsQ0FBQztJQUNwRixZQUFZLENBQUMsYUFBYSxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQ3RDLE1BQU0sZUFBZSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRSxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1QyxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDIn0=
@@ -1,20 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /**
3
- * Simple read/write interface for wasm modules.
4
- */
5
- export interface DataStore {
6
- /**
7
- * Get a value from our DB.
8
- * @param key - The key to look up.
9
- * @returns The value.
10
- */
11
- get(key: string): Promise<Buffer | undefined>;
12
- /**
13
- * Set a value in our DB.
14
- * @param key - The key to update.
15
- * @param value - The value to set.
16
- * @returns Nothing.
17
- */
18
- set(key: string, value: Buffer): Promise<void>;
19
- }
20
- //# sourceMappingURL=data_store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data_store.d.ts","sourceRoot":"","sources":["../../src/worker/data_store.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JrZXIvZGF0YV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,3 +0,0 @@
1
- export { WorkerPool } from './worker_pool.js';
2
- export { WasmWorker } from './wasm_worker.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { WorkerPool } from './worker_pool.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQyJ9
@@ -1,3 +0,0 @@
1
- export * from './node_worker.js';
2
- export * from './node_data_store.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/worker/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './node_worker.js';
2
- export * from './node_data_store.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd29ya2VyL25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDIn0=
@@ -1,12 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { DataStore } from '../data_store.js';
3
- /**
4
- * Cache for data used by wasm module.
5
- */
6
- export declare class NodeDataStore implements DataStore {
7
- private db;
8
- constructor(path?: string);
9
- get(key: string): Promise<Buffer | undefined>;
10
- set(key: string, value: Buffer): Promise<void>;
11
- }
12
- //# sourceMappingURL=node_data_store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node_data_store.d.ts","sourceRoot":"","sources":["../../../src/worker/node/node_data_store.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,EAAE,CAAU;gBAGR,IAAI,CAAC,EAAE,MAAM;IAMnB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD"}
@@ -1,21 +0,0 @@
1
- import leveldown from 'leveldown';
2
- import levelup from 'levelup';
3
- import memdown from 'memdown';
4
- /**
5
- * Cache for data used by wasm module.
6
- */
7
- export class NodeDataStore {
8
- // eslint-disable-next-line
9
- constructor(path) {
10
- // Hack: Cast as any to work around packages "broken" with node16 resolution
11
- // See https://github.com/microsoft/TypeScript/issues/49160
12
- this.db = levelup(path ? leveldown(path) : memdown());
13
- }
14
- async get(key) {
15
- return await this.db.get(key).catch(() => { });
16
- }
17
- async set(key, value) {
18
- await this.db.put(key, value);
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9kYXRhX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dvcmtlci9ub2RlL25vZGVfZGF0YV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxPQUFvQixNQUFNLFNBQVMsQ0FBQztBQUMzQyxPQUFPLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFJOUI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUd4QiwyQkFBMkI7SUFDM0IsWUFBWSxJQUFhO1FBQ3ZCLDRFQUE0RTtRQUM1RSwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxTQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBRSxPQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUNsQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0YifQ==
@@ -1,6 +0,0 @@
1
- import { WasmWorker } from '../wasm_worker.js';
2
- /**
3
- * Creates a node worker.
4
- */
5
- export declare function createNodeWorker(filepath: string, initialMem?: number, maxMem?: number): Promise<WasmWorker>;
6
- //# sourceMappingURL=node_worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node_worker.d.ts","sourceRoot":"","sources":["../../../src/worker/node/node_worker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAYlH"}
@@ -1,20 +0,0 @@
1
- import { Worker } from 'worker_threads';
2
- import { NodeConnector, TransportClient, createDispatchProxy } from '../../transport/index.js';
3
- import { WasmModule } from '../../wasm/wasm_module.js';
4
- /**
5
- * Creates a node worker.
6
- */
7
- export async function createNodeWorker(filepath, initialMem, maxMem) {
8
- const worker = new Worker(filepath);
9
- const transportConnect = new NodeConnector(worker);
10
- const transportClient = new TransportClient(transportConnect);
11
- await transportClient.open();
12
- const remoteModule = createDispatchProxy(WasmModule, transportClient);
13
- remoteModule.destroyWorker = async () => {
14
- await transportClient.request({ fn: '__destroyWorker__', args: [] });
15
- transportClient.close();
16
- };
17
- await remoteModule.init(initialMem, maxMem);
18
- return remoteModule;
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV93b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd29ya2VyL25vZGUvbm9kZV93b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBZSxhQUFhLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3ZEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxRQUFnQixFQUFFLFVBQW1CLEVBQUUsTUFBZTtJQUMzRixNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxNQUFNLGdCQUFnQixHQUFHLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFjLGdCQUFnQixDQUFDLENBQUM7SUFDM0UsTUFBTSxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBZSxDQUFDO0lBQ3BGLFlBQVksQ0FBQyxhQUFhLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDdEMsTUFBTSxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDLENBQUM7SUFDRixNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMifQ==
@@ -1,7 +0,0 @@
1
- import { WasmModule } from '../../wasm/wasm_module.js';
2
- /**
3
- * Start the transport server corresponding to this module.
4
- * @param module - The WasmModule to host.
5
- */
6
- export declare function startNodeModule(module: WasmModule): void;
7
- //# sourceMappingURL=start_node_module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start_node_module.d.ts","sourceRoot":"","sources":["../../../src/worker/node/start_node_module.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,QAejD"}
@@ -1,26 +0,0 @@
1
- import { parentPort } from 'worker_threads';
2
- import { NodeListener, TransportServer } from '../../transport/index.js';
3
- if (!parentPort) {
4
- throw new Error('InvalidWorker');
5
- }
6
- /**
7
- * Start the transport server corresponding to this module.
8
- * @param module - The WasmModule to host.
9
- */
10
- export function startNodeModule(module) {
11
- const dispatch = async ({ fn, args }) => {
12
- if (fn === '__destroyWorker__') {
13
- transportServer.stop();
14
- return;
15
- }
16
- if (!module[fn]) {
17
- throw new Error(`dispatch error, function not found: ${fn}`);
18
- }
19
- return await module[fn](...args);
20
- };
21
- const transportListener = new NodeListener();
22
- const transportServer = new TransportServer(transportListener, dispatch);
23
- module.addLogger((...args) => transportServer.broadcast({ fn: 'emit', args: ['log', ...args] }));
24
- transportServer.start();
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfbm9kZV9tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd29ya2VyL25vZGUvc3RhcnRfbm9kZV9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBZSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdEYsSUFBSSxDQUFDLFVBQVUsRUFBRTtJQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7Q0FDbEM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWtCO0lBQ2hELE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQWUsRUFBRSxFQUFFO1FBQ25ELElBQUksRUFBRSxLQUFLLG1CQUFtQixFQUFFO1lBQzlCLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUUsTUFBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLE1BQU8sTUFBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzdDLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFjLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RGLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEcsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQzFCLENBQUMifQ==
@@ -1,9 +0,0 @@
1
- import { Proxify } from '../transport/index.js';
2
- import { WasmModule } from '../wasm/wasm_module.js';
3
- /**
4
- * Represents either a WASM web worker, or node.js worker.
5
- */
6
- export type WasmWorker = Proxify<WasmModule> & {
7
- destroyWorker(): void;
8
- };
9
- //# sourceMappingURL=wasm_worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wasm_worker.d.ts","sourceRoot":"","sources":["../../src/worker/wasm_worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAAE,aAAa,IAAI,IAAI,CAAA;CAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbV93b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2VyL3dhc21fd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,40 +0,0 @@
1
- import { WasmWorker } from './wasm_worker.js';
2
- /**
3
- * Type of a worker factory.
4
- * Used to customize WorkerPool worker construction.
5
- */
6
- export type CreateWorker = (name: string, minMem: number, maxMem: number) => WasmWorker;
7
- /**
8
- * Allocates a pool of WasmWorker's.
9
- * Worker 0 is allocated MAX_PAGES memory pages. This is because worker 0 will need to hold the proving key
10
- * (i.e. Has state), whereas the others are pure compute (they hold a little crs state).
11
- */
12
- export declare class WorkerPool {
13
- /**
14
- * The maximum number of memory pages to be used by the webassembly.
15
- */
16
- static MAX_PAGES: number;
17
- /**
18
- * The workers in the pool.
19
- */
20
- private workers;
21
- /**
22
- * Create an instance and initialize the workers.
23
- * @param createWorker - Worker factory.
24
- * @param poolSize - Pool size.
25
- * @returns An initialized WorkerPool.
26
- */
27
- static new(createWorker: CreateWorker, poolSize: number): Promise<WorkerPool>;
28
- /**
29
- * Initialize the workers.
30
- * @param createWorker - Worker factory().
31
- * @param poolSize - Pool size.
32
- * @param maxMem - Max memory pages.
33
- */
34
- init(createWorker: CreateWorker, poolSize: number, maxMem?: number): Promise<void>;
35
- /**
36
- * Tell all workers in the pool to stop processing.
37
- */
38
- destroy(): Promise<void>;
39
- }
40
- //# sourceMappingURL=worker_pool.d.ts.map