Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 1x 1x 1x 1x 62x 62x 62x 62x 62x 62x 62x 62x 62x 62x 62x 62x 62x 81x 81x 62x 81x 81x 81x 81x 62x 62x | import { expose, ProxyMarked, transferHandlers, wrap } from 'comlink'; import { TypeOf } from '../utility/type-of'; if (TypeOf.process(globalThis.process)) { const nodeEndpoint = require('comlink/dist/umd/node-adapter'); const { MessageChannel } = require('worker_threads'); /** * Alteration of the {@link transferHandlers}, allowing values to be proxied * between endpoints under NodeJS. * * @remarks https://github.com/GoogleChromeLabs/comlink/issues/313 */ transferHandlers.set('proxy', { // eslint-disable-next-line @typescript-eslint/unbound-method canHandle: transferHandlers.get('proxy')!.canHandle, deserialize: (value: MessagePort) => { return wrap(nodeEndpoint(value)); }, serialize: (value: ProxyMarked) => { const { port1, port2 } = new MessageChannel(); expose(value, nodeEndpoint(port1)); return [port2, [port2]]; } }); } |