coincident
Version:
An Atomics based Proxy to simplify, and synchronize, Worker related tasks
33 lines (25 loc) • 653 B
JavaScript
import { MAIN_WS, WORKER_WS } from './constants.js';
import remote from 'reflected-ffi/remote';
import coincident from '../window/worker.js';
export default async options => {
const exports = await coincident(options);
const ffi = remote({
...options,
buffer: true,
timeout: exports.ffi_timeout,
reflect: exports.proxy[MAIN_WS],
});
exports.proxy[WORKER_WS] = ffi.reflect;
const server = {};
for (const key in exports.ffi) server[key] = ffi[key];
return {
...exports,
server: ffi.global,
isServerProxy: ffi.isProxy,
ffi: {
...exports.ffi,
window: exports.ffi,
server,
}
};
};