@aztec/foundation 0.1.0-alpha25 → 0.1.0-alpha28
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.
- package/.eslintrc.cjs +34 -5
- package/.tsbuildinfo +1 -1
- package/dest/abi/abi.d.ts +4 -0
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +8 -2
- package/dest/abi/encoder.test.d.ts +2 -0
- package/dest/abi/encoder.test.d.ts.map +1 -0
- package/dest/abi/encoder.test.js +74 -0
- package/dest/eth-address/eth_address.test.js +10 -2
- package/dest/eth-address/index.d.ts +6 -1
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +11 -4
- package/dest/fields/fields.d.ts.map +1 -1
- package/dest/fields/fields.js +6 -6
- package/dest/fields/point.d.ts +1 -0
- package/dest/fields/point.d.ts.map +1 -1
- package/dest/fields/point.js +2 -1
- package/dest/json-rpc/client/index.d.ts +1 -1
- package/dest/json-rpc/client/index.d.ts.map +1 -1
- package/dest/json-rpc/client/index.js +2 -2
- package/dest/json-rpc/client/json_rpc_client.test.js +2 -2
- package/dest/json-rpc/index.d.ts +1 -2
- package/dest/json-rpc/index.d.ts.map +1 -1
- package/dest/json-rpc/index.js +2 -3
- package/dest/log/logger.js +2 -2
- package/dest/mutex/mutex_database.d.ts.map +1 -1
- package/dest/transport/interface/connector.d.ts.map +1 -1
- package/dest/transport/interface/listener.d.ts.map +1 -1
- package/dest/transport/interface/socket.d.ts.map +1 -1
- package/dest/transport/transport_client.d.ts +1 -1
- package/dest/transport/transport_client.d.ts.map +1 -1
- package/dest/transport/transport_client.js +1 -1
- package/dest/wasm/{wasm/empty_wasi_sdk.d.ts → empty_wasi_sdk.d.ts} +1 -1
- package/dest/wasm/empty_wasi_sdk.d.ts.map +1 -0
- package/dest/wasm/{wasm/empty_wasi_sdk.js → empty_wasi_sdk.js} +2 -2
- package/dest/wasm/index.d.ts +1 -4
- package/dest/wasm/index.d.ts.map +1 -1
- package/dest/wasm/index.js +2 -5
- package/dest/wasm/{wasm/wasm_module.d.ts → wasm_module.d.ts} +1 -1
- package/dest/wasm/wasm_module.d.ts.map +1 -0
- package/dest/wasm/{wasm/wasm_module.js → wasm_module.js} +4 -4
- package/dest/wasm/wasm_module.test.d.ts.map +1 -0
- package/dest/wasm/wasm_module.test.js +24 -0
- package/dest/worker/browser/index.d.ts.map +1 -0
- package/dest/{wasm/worker → worker}/browser/index.js +1 -1
- package/dest/{wasm/worker → worker}/browser/start_web_module.d.ts +1 -1
- package/dest/worker/browser/start_web_module.d.ts.map +1 -0
- package/dest/worker/browser/start_web_module.js +22 -0
- package/dest/worker/browser/web_data_store.d.ts.map +1 -0
- package/dest/{wasm/worker → worker}/browser/web_data_store.js +1 -1
- package/dest/worker/browser/web_worker.d.ts.map +1 -0
- package/dest/worker/browser/web_worker.js +23 -0
- package/dest/{wasm/worker/node/node_data_store.d.ts → worker/data_store.d.ts} +4 -6
- package/dest/worker/data_store.d.ts.map +1 -0
- package/dest/{wasm/worker → worker}/data_store.js +1 -1
- package/dest/worker/index.d.ts.map +1 -0
- package/dest/{wasm/worker → worker}/index.js +1 -1
- package/dest/worker/node/index.d.ts.map +1 -0
- package/dest/{wasm/worker → worker}/node/index.js +1 -1
- package/dest/worker/node/node_data_store.d.ts +12 -0
- package/dest/worker/node/node_data_store.d.ts.map +1 -0
- package/dest/worker/node/node_data_store.js +21 -0
- package/dest/worker/node/node_worker.d.ts.map +1 -0
- package/dest/worker/node/node_worker.js +20 -0
- package/dest/worker/node/start_node_module.d.ts.map +1 -0
- package/dest/worker/node/start_node_module.js +26 -0
- package/dest/{wasm/worker → worker}/wasm_worker.d.ts +1 -1
- package/dest/worker/wasm_worker.d.ts.map +1 -0
- package/dest/{wasm/worker → worker}/wasm_worker.js +1 -1
- package/dest/worker/worker_pool.d.ts.map +1 -0
- package/dest/{wasm/worker → worker}/worker_pool.js +2 -2
- package/package.json +4 -1
- package/src/abi/abi.ts +4 -0
- package/src/abi/encoder.test.ts +78 -0
- package/src/abi/encoder.ts +5 -1
- package/src/eth-address/eth_address.test.ts +11 -1
- package/src/eth-address/index.ts +11 -3
- package/src/fields/fields.ts +5 -6
- package/src/fields/point.ts +1 -0
- package/src/json-rpc/client/index.ts +1 -1
- package/src/json-rpc/client/json_rpc_client.test.ts +1 -1
- package/src/json-rpc/index.ts +2 -2
- package/src/log/logger.ts +1 -1
- package/src/mutex/mutex_database.ts +3 -0
- package/src/transport/interface/connector.ts +1 -0
- package/src/transport/interface/listener.ts +3 -2
- package/src/transport/interface/socket.ts +3 -0
- package/src/transport/transport_client.ts +5 -1
- package/src/wasm/{wasm/empty_wasi_sdk.ts → empty_wasi_sdk.ts} +1 -1
- package/src/wasm/index.ts +1 -4
- package/src/wasm/{wasm/wasm_module.test.ts → wasm_module.test.ts} +1 -1
- package/src/wasm/{wasm/wasm_module.ts → wasm_module.ts} +3 -3
- package/src/{wasm/worker → worker}/browser/start_web_module.ts +2 -2
- package/src/{wasm/worker → worker}/browser/web_worker.ts +2 -2
- package/src/worker/data_store.ts +19 -0
- package/src/{wasm/worker → worker}/node/node_data_store.ts +0 -10
- package/src/{wasm/worker → worker}/node/node_worker.ts +1 -1
- package/src/{wasm/worker → worker}/node/start_node_module.ts +1 -1
- package/src/{wasm/worker → worker}/wasm_worker.ts +1 -1
- package/src/{wasm/worker → worker}/worker_pool.ts +1 -1
- package/tsconfig.dest.json +7 -0
- package/dest/wasm/wasm/empty_wasi_sdk.d.ts.map +0 -1
- package/dest/wasm/wasm/index.d.ts +0 -2
- package/dest/wasm/wasm/index.d.ts.map +0 -1
- package/dest/wasm/wasm/index.js +0 -2
- package/dest/wasm/wasm/wasm_module.d.ts.map +0 -1
- package/dest/wasm/wasm/wasm_module.test.d.ts.map +0 -1
- package/dest/wasm/wasm/wasm_module.test.js +0 -24
- package/dest/wasm/worker/browser/index.d.ts.map +0 -1
- package/dest/wasm/worker/browser/start_web_module.d.ts.map +0 -1
- package/dest/wasm/worker/browser/start_web_module.js +0 -22
- package/dest/wasm/worker/browser/web_data_store.d.ts.map +0 -1
- package/dest/wasm/worker/browser/web_worker.d.ts.map +0 -1
- package/dest/wasm/worker/browser/web_worker.js +0 -23
- package/dest/wasm/worker/data_store.d.ts +0 -9
- package/dest/wasm/worker/data_store.d.ts.map +0 -1
- package/dest/wasm/worker/index.d.ts.map +0 -1
- package/dest/wasm/worker/node/index.d.ts.map +0 -1
- package/dest/wasm/worker/node/node_data_store.d.ts.map +0 -1
- package/dest/wasm/worker/node/node_data_store.js +0 -31
- package/dest/wasm/worker/node/node_worker.d.ts.map +0 -1
- package/dest/wasm/worker/node/node_worker.js +0 -20
- package/dest/wasm/worker/node/start_node_module.d.ts.map +0 -1
- package/dest/wasm/worker/node/start_node_module.js +0 -26
- package/dest/wasm/worker/wasm_worker.d.ts.map +0 -1
- package/dest/wasm/worker/worker_pool.d.ts.map +0 -1
- package/src/wasm/wasm/index.ts +0 -1
- package/src/wasm/worker/data_store.ts +0 -7
- /package/dest/wasm/{wasm/wasm_module.test.d.ts → wasm_module.test.d.ts} +0 -0
- /package/dest/{wasm/worker → worker}/browser/index.d.ts +0 -0
- /package/dest/{wasm/worker → worker}/browser/web_data_store.d.ts +0 -0
- /package/dest/{wasm/worker → worker}/browser/web_worker.d.ts +0 -0
- /package/dest/{wasm/worker → worker}/index.d.ts +0 -0
- /package/dest/{wasm/worker → worker}/node/index.d.ts +0 -0
- /package/dest/{wasm/worker → worker}/node/node_worker.d.ts +0 -0
- /package/dest/{wasm/worker → worker}/node/start_node_module.d.ts +0 -0
- /package/dest/{wasm/worker → worker}/worker_pool.d.ts +0 -0
- /package/src/{wasm/worker → worker}/browser/index.ts +0 -0
- /package/src/{wasm/worker → worker}/browser/web_data_store.ts +0 -0
- /package/src/{wasm/worker → worker}/index.ts +0 -0
- /package/src/{wasm/worker → worker}/node/index.ts +0 -0
package/src/log/logger.ts
CHANGED
|
@@ -57,7 +57,7 @@ export function createDebugLogger(name: string): DebugLogger {
|
|
|
57
57
|
function logWithDebug(debug: debug.Debugger, level: LogLevel, args: any[]) {
|
|
58
58
|
if (debug.enabled) {
|
|
59
59
|
debug(args[0], ...args.slice(1));
|
|
60
|
-
} else if (LogLevels.indexOf(level) <= LogLevels.indexOf(currentLevel)) {
|
|
60
|
+
} else if (LogLevels.indexOf(level) <= LogLevels.indexOf(currentLevel) && process.env.NODE_ENV !== 'test') {
|
|
61
61
|
printLog([getPrefix(debug, level), ...args]);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
* Provides functionality for acquiring, extending, and releasing locks on resources to ensure exclusive access and prevent conflicts in concurrent applications.
|
|
4
4
|
*/
|
|
5
5
|
export interface MutexDatabase {
|
|
6
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
6
7
|
acquireLock(name: string, timeout: number): Promise<boolean>;
|
|
8
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
7
9
|
extendLock(name: string, timeout: number): Promise<void>;
|
|
10
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
8
11
|
releaseLock(name: string): Promise<void>;
|
|
9
12
|
}
|
|
@@ -7,9 +7,10 @@ import { Socket } from './socket.js';
|
|
|
7
7
|
* Possible implementations could include MessageChannels or WebSockets.
|
|
8
8
|
*/
|
|
9
9
|
export interface Listener extends EventEmitter {
|
|
10
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
10
11
|
open(): void;
|
|
11
|
-
|
|
12
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
12
13
|
close(): void;
|
|
13
|
-
|
|
14
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
14
15
|
on(name: 'new_socket', cb: (client: Socket) => void): this;
|
|
15
16
|
}
|
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
* If `registerHandler` callback receives `undefined` that signals the other end closed.
|
|
7
7
|
*/
|
|
8
8
|
export interface Socket {
|
|
9
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
9
10
|
send(msg: any, transfer?: Transferable[]): Promise<void>;
|
|
11
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
10
12
|
registerHandler(cb: (msg: any) => any): void;
|
|
13
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
11
14
|
close(): void;
|
|
12
15
|
}
|
|
@@ -17,7 +17,9 @@ interface PendingRequest {
|
|
|
17
17
|
* The unique message identifier used for tracking and matching request/response pairs.
|
|
18
18
|
*/
|
|
19
19
|
msgId: number;
|
|
20
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
20
21
|
resolve(data: any): void;
|
|
22
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
21
23
|
reject(error: Error): void;
|
|
22
24
|
}
|
|
23
25
|
|
|
@@ -26,8 +28,10 @@ interface PendingRequest {
|
|
|
26
28
|
* Provides request/response functionality, event handling, and multiplexing support
|
|
27
29
|
* for efficient and concurrent communication with a corresponding TransportServer.
|
|
28
30
|
*/
|
|
29
|
-
export interface
|
|
31
|
+
export interface ITransportClient<Payload> extends EventEmitter {
|
|
32
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
30
33
|
on(name: 'event_msg', handler: (payload: Payload) => void): this;
|
|
34
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
31
35
|
emit(name: 'event_msg', payload: Payload): boolean;
|
|
32
36
|
}
|
|
33
37
|
|
package/src/wasm/index.ts
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { NodeDataStore } from './worker/node/index.js';
|
|
3
|
-
export { WasmWorker, WorkerPool } from './worker/index.js';
|
|
4
|
-
export { WasmModule, IWasmModule } from './wasm/index.js';
|
|
1
|
+
export { WasmModule, IWasmModule } from './wasm_module.js';
|
|
@@ -9,7 +9,7 @@ import { WasmModule } from './wasm_module.js';
|
|
|
9
9
|
*/
|
|
10
10
|
async function fetchCode() {
|
|
11
11
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
12
|
-
return await readFile(`${__dirname}
|
|
12
|
+
return await readFile(`${__dirname}/fixtures/gcd.wasm`);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
describe('simple wasm', () => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Buffer } from 'buffer';
|
|
2
|
-
import { randomBytes } from 'crypto';
|
|
3
2
|
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { randomBytes } from '../crypto/index.js';
|
|
4
|
+
import { MemoryFifo } from '../fifo/index.js';
|
|
5
|
+
import { LogFn, createDebugOnlyLogger } from '../log/index.js';
|
|
6
6
|
import { getEmptyWasiSdk } from './empty_wasi_sdk.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DispatchMsg, TransportServer, WorkerListener } from '
|
|
2
|
-
import { WasmModule } from '../../wasm/
|
|
1
|
+
import { DispatchMsg, TransportServer, WorkerListener } from '../../transport/index.js';
|
|
2
|
+
import { WasmModule } from '../../wasm/index.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Start the transport server corresponding to this module.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DispatchMsg, TransportClient, WorkerConnector, createDispatchProxy } from '
|
|
2
|
-
import { WasmModule } from '../../wasm/
|
|
1
|
+
import { DispatchMsg, TransportClient, WorkerConnector, createDispatchProxy } from '../../transport/index.js';
|
|
2
|
+
import { WasmModule } from '../../wasm/index.js';
|
|
3
3
|
import { WasmWorker } from '../wasm_worker.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple read/write interface for wasm modules.
|
|
3
|
+
*/
|
|
4
|
+
export interface DataStore {
|
|
5
|
+
/**
|
|
6
|
+
* Get a value from our DB.
|
|
7
|
+
* @param key - The key to look up.
|
|
8
|
+
* @returns The value.
|
|
9
|
+
*/
|
|
10
|
+
get(key: string): Promise<Buffer | undefined>;
|
|
11
|
+
|
|
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
|
+
}
|
|
@@ -17,20 +17,10 @@ export class NodeDataStore implements DataStore {
|
|
|
17
17
|
this.db = levelup(path ? (leveldown as any)(path) : (memdown as any)());
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
/**
|
|
21
|
-
* Get a value from our DB.
|
|
22
|
-
* @param key - The key to look up.
|
|
23
|
-
* @returns The value.
|
|
24
|
-
*/
|
|
25
20
|
async get(key: string): Promise<Buffer | undefined> {
|
|
26
21
|
return await this.db.get(key).catch(() => {});
|
|
27
22
|
}
|
|
28
23
|
|
|
29
|
-
/**
|
|
30
|
-
* Set a value in our DB.
|
|
31
|
-
* @param key - The key to update.
|
|
32
|
-
* @param value - The value to set.
|
|
33
|
-
*/
|
|
34
24
|
async set(key: string, value: Buffer): Promise<void> {
|
|
35
25
|
await this.db.put(key, value);
|
|
36
26
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Worker } from 'worker_threads';
|
|
2
2
|
|
|
3
|
-
import { DispatchMsg, NodeConnector, TransportClient, createDispatchProxy } from '
|
|
3
|
+
import { DispatchMsg, NodeConnector, TransportClient, createDispatchProxy } from '../../transport/index.js';
|
|
4
4
|
import { WasmModule } from '../../wasm/wasm_module.js';
|
|
5
5
|
import { WasmWorker } from '../wasm_worker.js';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parentPort } from 'worker_threads';
|
|
2
2
|
|
|
3
|
-
import { DispatchMsg, NodeListener, TransportServer } from '
|
|
3
|
+
import { DispatchMsg, NodeListener, TransportServer } from '../../transport/index.js';
|
|
4
4
|
import { WasmModule } from '../../wasm/wasm_module.js';
|
|
5
5
|
|
|
6
6
|
if (!parentPort) {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"empty_wasi_sdk.d.ts","sourceRoot":"","sources":["../../../src/wasm/wasm/empty_wasi_sdk.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,eAAO,MAAM,eAAe;IAC1B;;;;;;;OAOG;;IAIH;;;;;;;OAOG;;IAIH;;;;OAIG;;IAIH;;;;;;;OAOG;;IAIH;;;;;OAKG;;IAIH;;;;;;OAMG;;IAIH;;;;;;;;;OASG;;IAIH;;;;OAIG;;IAIH;;;;;OAKG;;IAIH;;;;;;OAMG;;IAKH;;;;;;OAMG;;IAKH;;;;;OAKG;;IAIH;;;;;;OAMG;;IAIH;;;;;;;;OAQG;;IAKH;;;;;;OAMG;;CAKH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wasm/wasm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dest/wasm/wasm/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { WasmModule } from './wasm_module.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2FzbS93YXNtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wasm_module.d.ts","sourceRoot":"","sources":["../../../src/wasm/wasm/wasm_module.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,KAAK,EAAyB,MAAM,oBAAoB,CAAC;AAGlE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC;IAEzC;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEvD;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,WAAW;IAc1C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAdlB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAuB;IACxC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAQ;IAErB;;;;;OAKG;gBAEO,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,MAAM,EACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,EAC7C,UAAU,SAAS;IAMrB;;;OAGG;IACI,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,MAAM;IAG/C;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,SAAK,EAAE,OAAO,SAAO,EAAE,UAAU,GAAE,MAAM,GAAG,IAAoB;IA6CzF;;;OAGG;IACI,OAAO,IAAI,GAAG;IAOrB;;;OAGG;IACI,SAAS;IAIhB;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,KAAK;IAQ9B;;;;;OAKG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM;IAa/C;;;OAGG;IACI,YAAY,IAAI,WAAW,CAAC,MAAM;IAGzC;;;OAGG;IACI,SAAS,IAAI,UAAU;IAQ9B;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIxB;;;;;OAKG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU;IAI7D;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAOlD;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAQrC;;;;;OAKG;IACU,OAAO;IAIpB;;OAEG;IACI,OAAO;CAMf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wasm_module.test.d.ts","sourceRoot":"","sources":["../../../src/wasm/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';
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbV9tb2R1bGUudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93YXNtL3dhc20vd2FzbV9tb2R1bGUudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUVwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxLQUFLLFVBQVUsU0FBUztJQUN0QixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxPQUFPLE1BQU0sUUFBUSxDQUFDLEdBQUcsU0FBUyx1QkFBdUIsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtJQUMzQixJQUFJLElBQWlCLENBQUM7SUFFdEIsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDOUMsY0FBYztTQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0osTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/wasm/worker/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start_web_module.d.ts","sourceRoot":"","sources":["../../../../src/wasm/worker/browser/start_web_module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD;;;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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfd2ViX21vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93YXNtL3dvcmtlci9icm93c2VyL3N0YXJ0X3dlYl9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUczRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWtCO0lBQy9DLE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQWUsRUFBRSxFQUFFO1FBQ25ELElBQUksRUFBRSxLQUFLLG1CQUFtQixFQUFFO1lBQzlCLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUUsTUFBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLE1BQU8sTUFBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBYyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUMxQixDQUFDIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web_data_store.d.ts","sourceRoot":"","sources":["../../../../src/wasm/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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web_worker.d.ts","sourceRoot":"","sources":["../../../../src/wasm/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/wasm_module.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViX3dvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93YXNtL3dvcmtlci9icm93c2VyL3dlYl93b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHdkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQUMsR0FBVyxFQUFFLFVBQW1CLEVBQUUsTUFBZTtJQUNyRixNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixNQUFNLGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFjLGdCQUFnQixDQUFDLENBQUM7SUFDM0UsTUFBTSxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBZSxDQUFDO0lBQ3BGLFlBQVksQ0FBQyxhQUFhLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDdEMsTUFBTSxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDLENBQUM7SUFDRixNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMifQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/**
|
|
3
|
-
* Simple read/write interface for wasm modules.
|
|
4
|
-
*/
|
|
5
|
-
export interface DataStore {
|
|
6
|
-
get(key: string): Promise<Buffer | undefined>;
|
|
7
|
-
set(key: string, value: Buffer): Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data_store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data_store.d.ts","sourceRoot":"","sources":["../../../src/wasm/worker/data_store.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wasm/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/wasm/worker/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node_data_store.d.ts","sourceRoot":"","sources":["../../../../src/wasm/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;IAMzB;;;;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,31 +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
|
-
/**
|
|
15
|
-
* Get a value from our DB.
|
|
16
|
-
* @param key - The key to look up.
|
|
17
|
-
* @returns The value.
|
|
18
|
-
*/
|
|
19
|
-
async get(key) {
|
|
20
|
-
return await this.db.get(key).catch(() => { });
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Set a value in our DB.
|
|
24
|
-
* @param key - The key to update.
|
|
25
|
-
* @param value - The value to set.
|
|
26
|
-
*/
|
|
27
|
-
async set(key, value) {
|
|
28
|
-
await this.db.put(key, value);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9kYXRhX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dhc20vd29ya2VyL25vZGUvbm9kZV9kYXRhX3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLE9BQW9CLE1BQU0sU0FBUyxDQUFDO0FBQzNDLE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUk5Qjs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBR3hCLDJCQUEyQjtJQUMzQixZQUFZLElBQWE7UUFDdkIsNEVBQTRFO1FBQzVFLDJEQUEyRDtRQUMzRCxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLFNBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFFLE9BQWUsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQWE7UUFDbEMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node_worker.d.ts","sourceRoot":"","sources":["../../../../src/wasm/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV93b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd2FzbS93b3JrZXIvbm9kZS9ub2RlX3dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFlLGFBQWEsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHdkQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUFDLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxNQUFlO0lBQzNGLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQWMsZ0JBQWdCLENBQUMsQ0FBQztJQUMzRSxNQUFNLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFlLENBQUM7SUFDcEYsWUFBWSxDQUFDLGFBQWEsR0FBRyxLQUFLLElBQUksRUFBRTtRQUN0QyxNQUFNLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckUsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUMsQ0FBQztJQUNGLE1BQU0sWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start_node_module.d.ts","sourceRoot":"","sources":["../../../../src/wasm/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfbm9kZV9tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd2FzbS93b3JrZXIvbm9kZS9zdGFydF9ub2RlX21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFlLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd6RixJQUFJLENBQUMsVUFBVSxFQUFFO0lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztDQUNsQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBa0I7SUFDaEQsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBZSxFQUFFLEVBQUU7UUFDbkQsSUFBSSxFQUFFLEtBQUssbUJBQW1CLEVBQUU7WUFDOUIsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBRSxNQUFjLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM5RDtRQUNELE9BQU8sTUFBTyxNQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUM7SUFDRixNQUFNLGlCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDN0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQWMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDMUIsQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wasm_worker.d.ts","sourceRoot":"","sources":["../../../src/wasm/worker/wasm_worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker_pool.d.ts","sourceRoot":"","sources":["../../../src/wasm/worker/worker_pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;AACxF;;;;GAIG;AACH,qBAAa,UAAU;IAYrB;;OAEG;IACH,OAAc,SAAS,SAAQ;IAC/B;;OAEG;IACH,OAAO,CAAC,OAAO,CAAoB;IAEnC;;;;;OAKG;WACU,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM;IAM7D;;;;;OAKG;IACU,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAuB;IAY7F;;OAEG;IACU,OAAO;CAGrB"}
|
package/src/wasm/wasm/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { WasmModule, IWasmModule } from './wasm_module.js';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|