synckit 0.8.4 → 0.8.6
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/lib/index.cjs +62 -56
- package/lib/index.d.ts +5 -2
- package/lib/index.js +43 -45
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +6 -6
- package/package.json +3 -3
package/lib/index.cjs
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
3
|
var fs = require('node:fs');
|
6
4
|
var node_module = require('node:module');
|
7
5
|
var path = require('node:path');
|
@@ -9,11 +7,6 @@ var node_url = require('node:url');
|
|
9
7
|
var node_worker_threads = require('node:worker_threads');
|
10
8
|
var utils = require('@pkgr/utils');
|
11
9
|
|
12
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
13
|
-
|
14
|
-
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
15
|
-
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
16
|
-
|
17
10
|
var __async = (__this, __arguments, generator) => {
|
18
11
|
return new Promise((resolve, reject) => {
|
19
12
|
var fulfilled = (value) => {
|
@@ -36,10 +29,15 @@ var __async = (__this, __arguments, generator) => {
|
|
36
29
|
};
|
37
30
|
const import_meta = {};
|
38
31
|
const TsRunner = {
|
32
|
+
// https://github.com/TypeStrong/ts-node
|
39
33
|
TsNode: "ts-node",
|
34
|
+
// https://github.com/egoist/esbuild-register
|
40
35
|
EsbuildRegister: "esbuild-register",
|
36
|
+
// https://github.com/folke/esbuild-runner
|
41
37
|
EsbuildRunner: "esbuild-runner",
|
38
|
+
// https://github.com/swc-project/swc-node/tree/master/packages/register
|
42
39
|
SWC: "swc",
|
40
|
+
// https://github.com/esbuild-kit/tsx
|
43
41
|
TSX: "tsx"
|
44
42
|
};
|
45
43
|
const {
|
@@ -53,7 +51,7 @@ const DEFAULT_BUFFER_SIZE = SYNCKIT_BUFFER_SIZE ? +SYNCKIT_BUFFER_SIZE : void 0;
|
|
53
51
|
const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : void 0;
|
54
52
|
const DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_BUFFER_SIZE || 1024;
|
55
53
|
const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV == null ? void 0 : SYNCKIT_EXEC_ARGV.split(",")) || [];
|
56
|
-
const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER
|
54
|
+
const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
57
55
|
const MTS_SUPPORTED_NODE_VERSION = 16;
|
58
56
|
const syncFnCache = /* @__PURE__ */ new Map();
|
59
57
|
function extractProperties(object) {
|
@@ -66,7 +64,7 @@ function extractProperties(object) {
|
|
66
64
|
}
|
67
65
|
}
|
68
66
|
function createSyncFn(workerPath, bufferSizeOrOptions, timeout) {
|
69
|
-
if (!
|
67
|
+
if (!path.isAbsolute(workerPath)) {
|
70
68
|
throw new Error("`workerPath` must be absolute");
|
71
69
|
}
|
72
70
|
const cachedSyncFn = syncFnCache.get(workerPath);
|
@@ -75,42 +73,50 @@ function createSyncFn(workerPath, bufferSizeOrOptions, timeout) {
|
|
75
73
|
}
|
76
74
|
const syncFn = startWorkerThread(
|
77
75
|
workerPath,
|
76
|
+
/* istanbul ignore next */
|
78
77
|
typeof bufferSizeOrOptions === "number" ? { bufferSize: bufferSizeOrOptions, timeout } : bufferSizeOrOptions
|
79
78
|
);
|
80
79
|
syncFnCache.set(workerPath, syncFn);
|
81
80
|
return syncFn;
|
82
81
|
}
|
83
|
-
const cjsRequire = typeof require === "undefined" ? node_module.createRequire(import_meta.url) :
|
82
|
+
const cjsRequire = typeof require === "undefined" ? node_module.createRequire(import_meta.url) : (
|
83
|
+
/* istanbul ignore next */
|
84
|
+
require
|
85
|
+
);
|
84
86
|
const dataUrl = (code) => new URL(`data:text/javascript,${encodeURIComponent(code)}`);
|
85
87
|
const isFile = (path2) => {
|
88
|
+
var _a;
|
86
89
|
try {
|
87
|
-
return
|
90
|
+
return !!((_a = fs.statSync(path2, { throwIfNoEntry: false })) == null ? void 0 : _a.isFile());
|
88
91
|
} catch (e) {
|
89
92
|
return false;
|
90
93
|
}
|
91
94
|
};
|
92
95
|
const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
93
|
-
let ext =
|
96
|
+
let ext = path.extname(workerPath);
|
94
97
|
if (!/[/\\]node_modules[/\\]/.test(workerPath) && (!ext || /^\.[cm]?js$/.test(ext))) {
|
95
98
|
const workPathWithoutExt = ext ? workerPath.slice(0, -ext.length) : workerPath;
|
96
99
|
let extensions;
|
97
100
|
switch (ext) {
|
98
|
-
case ".cjs":
|
101
|
+
case ".cjs": {
|
99
102
|
extensions = [".cts", ".cjs"];
|
100
103
|
break;
|
101
|
-
|
104
|
+
}
|
105
|
+
case ".mjs": {
|
102
106
|
extensions = [".mts", ".mjs"];
|
103
107
|
break;
|
104
|
-
|
108
|
+
}
|
109
|
+
default: {
|
105
110
|
extensions = [".ts", ".js"];
|
106
111
|
break;
|
112
|
+
}
|
107
113
|
}
|
108
114
|
const found = utils.tryExtensions(workPathWithoutExt, extensions);
|
109
115
|
let differentExt;
|
110
116
|
if (found && (!ext || (differentExt = found !== workPathWithoutExt))) {
|
111
117
|
workerPath = found;
|
112
118
|
if (differentExt) {
|
113
|
-
ext =
|
119
|
+
ext = path.extname(workerPath);
|
114
120
|
}
|
115
121
|
}
|
116
122
|
}
|
@@ -123,6 +129,9 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
123
129
|
tsUseEsm = cjsRequire(pkg).type === "module";
|
124
130
|
}
|
125
131
|
}
|
132
|
+
if (tsRunner == null && utils.isPkgAvailable(TsRunner.TsNode)) {
|
133
|
+
tsRunner = TsRunner.TsNode;
|
134
|
+
}
|
126
135
|
switch (tsRunner) {
|
127
136
|
case TsRunner.TsNode: {
|
128
137
|
if (tsUseEsm) {
|
@@ -174,15 +183,17 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
174
183
|
(option, index) => ["-r", "--require"].includes(option) && pnpApiPath === cjsRequire.resolve(nodeOptions[index + 1])
|
175
184
|
)) && !execArgv.includes(pnpApiPath)) {
|
176
185
|
execArgv = ["-r", pnpApiPath, ...execArgv];
|
177
|
-
const pnpLoaderPath =
|
186
|
+
const pnpLoaderPath = path.resolve(pnpApiPath, "../.pnp.loader.mjs");
|
178
187
|
if (isFile(pnpLoaderPath)) {
|
179
|
-
|
188
|
+
const experimentalLoader = node_url.pathToFileURL(pnpLoaderPath).toString();
|
189
|
+
execArgv = ["--experimental-loader", experimentalLoader, ...execArgv];
|
180
190
|
}
|
181
191
|
}
|
182
192
|
}
|
183
193
|
return {
|
184
194
|
ext,
|
185
195
|
isTs,
|
196
|
+
tsRunner,
|
186
197
|
tsUseEsm,
|
187
198
|
workerPath,
|
188
199
|
execArgv
|
@@ -192,37 +203,49 @@ function startWorkerThread(workerPath, {
|
|
192
203
|
bufferSize = DEFAULT_WORKER_BUFFER_SIZE,
|
193
204
|
timeout = DEFAULT_TIMEOUT,
|
194
205
|
execArgv = DEFAULT_EXEC_ARGV,
|
195
|
-
tsRunner = DEFAULT_TS_RUNNER
|
206
|
+
tsRunner = DEFAULT_TS_RUNNER,
|
207
|
+
transferList = []
|
196
208
|
} = {}) {
|
197
209
|
const { port1: mainPort, port2: workerPort } = new node_worker_threads.MessageChannel();
|
198
210
|
const {
|
199
211
|
isTs,
|
200
212
|
ext,
|
201
213
|
tsUseEsm,
|
214
|
+
tsRunner: finalTsRunner,
|
202
215
|
workerPath: finalWorkerPath,
|
203
216
|
execArgv: finalExecArgv
|
204
217
|
} = setupTsRunner(workerPath, { execArgv, tsRunner });
|
205
218
|
const workerPathUrl = node_url.pathToFileURL(finalWorkerPath);
|
206
219
|
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
207
220
|
const isTsxSupported = !tsUseEsm || Number.parseFloat(process.versions.node) >= MTS_SUPPORTED_NODE_VERSION;
|
208
|
-
if (
|
221
|
+
if (!finalTsRunner) {
|
222
|
+
throw new Error("No ts runner specified, ts worker path is not supported");
|
223
|
+
} else if ([
|
224
|
+
// https://github.com/egoist/esbuild-register/issues/79
|
209
225
|
TsRunner.EsbuildRegister,
|
226
|
+
// https://github.com/folke/esbuild-runner/issues/67
|
210
227
|
TsRunner.EsbuildRunner,
|
228
|
+
// https://github.com/swc-project/swc-node/issues/667
|
211
229
|
TsRunner.SWC,
|
212
|
-
|
213
|
-
|
230
|
+
.../* istanbul ignore next */
|
231
|
+
isTsxSupported ? [] : [TsRunner.TSX]
|
232
|
+
].includes(finalTsRunner)) {
|
214
233
|
throw new Error(
|
215
|
-
`${
|
234
|
+
`${finalTsRunner} is not supported for ${ext} files yet` + /* istanbul ignore next */
|
235
|
+
(isTsxSupported ? ", you can try [tsx](https://github.com/esbuild-kit/tsx) instead" : "")
|
216
236
|
);
|
217
237
|
}
|
218
238
|
}
|
219
239
|
const useEval = isTs && !tsUseEsm;
|
220
240
|
const worker = new node_worker_threads.Worker(
|
221
|
-
tsUseEsm &&
|
241
|
+
tsUseEsm && finalTsRunner === TsRunner.TsNode ? dataUrl(`import '${String(workerPathUrl)}'`) : useEval ? (
|
242
|
+
// eslint-disable-next-line unicorn/prefer-string-replace-all -- compatibility
|
243
|
+
`require('${finalWorkerPath.replace(/\\/g, "\\\\")}')`
|
244
|
+
) : workerPathUrl,
|
222
245
|
{
|
223
246
|
eval: useEval,
|
224
247
|
workerData: { workerPort },
|
225
|
-
transferList: [workerPort],
|
248
|
+
transferList: [workerPort, ...transferList],
|
226
249
|
execArgv: finalExecArgv
|
227
250
|
}
|
228
251
|
);
|
@@ -259,40 +282,23 @@ function runAsWorker(fn) {
|
|
259
282
|
return;
|
260
283
|
}
|
261
284
|
const { workerPort } = node_worker_threads.workerData;
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
(
|
266
|
-
;
|
267
|
-
(() => __async(this, null, function* () {
|
268
|
-
const sharedBufferView = new Int32Array(sharedBuffer);
|
269
|
-
let msg;
|
270
|
-
try {
|
271
|
-
msg = { id, result: yield fn(...args) };
|
272
|
-
} catch (error) {
|
273
|
-
msg = { id, error, properties: extractProperties(error) };
|
274
|
-
}
|
275
|
-
workerPort.postMessage(msg);
|
276
|
-
Atomics.add(sharedBufferView, 0, 1);
|
277
|
-
Atomics.notify(sharedBufferView, 0);
|
278
|
-
}))();
|
279
|
-
}
|
280
|
-
);
|
281
|
-
} catch (error) {
|
282
|
-
node_worker_threads.parentPort.on(
|
283
|
-
"message",
|
284
|
-
({ sharedBuffer, id }) => {
|
285
|
+
node_worker_threads.parentPort.on(
|
286
|
+
"message",
|
287
|
+
({ sharedBuffer, id, args }) => {
|
288
|
+
(() => __async(this, null, function* () {
|
285
289
|
const sharedBufferView = new Int32Array(sharedBuffer);
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
290
|
+
let msg;
|
291
|
+
try {
|
292
|
+
msg = { id, result: yield fn(...args) };
|
293
|
+
} catch (error) {
|
294
|
+
msg = { id, error, properties: extractProperties(error) };
|
295
|
+
}
|
296
|
+
workerPort.postMessage(msg);
|
291
297
|
Atomics.add(sharedBufferView, 0, 1);
|
292
298
|
Atomics.notify(sharedBufferView, 0);
|
293
|
-
}
|
294
|
-
|
295
|
-
|
299
|
+
}))();
|
300
|
+
}
|
301
|
+
);
|
296
302
|
}
|
297
303
|
|
298
304
|
exports.DEFAULT_BUFFER_SIZE = DEFAULT_BUFFER_SIZE;
|
package/lib/index.d.ts
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
import { TransferListItem } from 'node:worker_threads';
|
1
3
|
import { AnyAsyncFn, Syncify, ValueOf } from './types.js';
|
2
4
|
export * from './types.js';
|
3
5
|
export declare const TsRunner: {
|
@@ -7,18 +9,19 @@ export declare const TsRunner: {
|
|
7
9
|
readonly SWC: "swc";
|
8
10
|
readonly TSX: "tsx";
|
9
11
|
};
|
10
|
-
export
|
12
|
+
export type TsRunner = ValueOf<typeof TsRunner>;
|
11
13
|
export declare const DEFAULT_BUFFER_SIZE: number | undefined;
|
12
14
|
export declare const DEFAULT_TIMEOUT: number | undefined;
|
13
15
|
export declare const DEFAULT_WORKER_BUFFER_SIZE: number;
|
14
16
|
export declare const DEFAULT_EXEC_ARGV: string[];
|
15
|
-
export declare const DEFAULT_TS_RUNNER: TsRunner;
|
17
|
+
export declare const DEFAULT_TS_RUNNER: TsRunner | undefined;
|
16
18
|
export declare const MTS_SUPPORTED_NODE_VERSION = 16;
|
17
19
|
export interface SynckitOptions {
|
18
20
|
bufferSize?: number;
|
19
21
|
timeout?: number;
|
20
22
|
execArgv?: string[];
|
21
23
|
tsRunner?: TsRunner;
|
24
|
+
transferList?: TransferListItem[];
|
22
25
|
}
|
23
26
|
export declare function extractProperties<T extends object>(object: T): T;
|
24
27
|
export declare function extractProperties<T>(object?: T): T | undefined;
|
package/lib/index.js
CHANGED
@@ -3,8 +3,8 @@ import fs from 'node:fs';
|
|
3
3
|
import { createRequire } from 'node:module';
|
4
4
|
import path from 'node:path';
|
5
5
|
import { pathToFileURL } from 'node:url';
|
6
|
-
import { MessageChannel, Worker, receiveMessageOnPort, workerData,
|
7
|
-
import { findUp, tryExtensions } from '@pkgr/utils';
|
6
|
+
import { MessageChannel, Worker, parentPort, receiveMessageOnPort, workerData, } from 'node:worker_threads';
|
7
|
+
import { findUp, isPkgAvailable, tryExtensions } from '@pkgr/utils';
|
8
8
|
export * from './types.js';
|
9
9
|
export const TsRunner = {
|
10
10
|
TsNode: 'ts-node',
|
@@ -20,8 +20,7 @@ export const DEFAULT_BUFFER_SIZE = SYNCKIT_BUFFER_SIZE
|
|
20
20
|
export const DEFAULT_TIMEOUT = SYNCKIT_TIMEOUT ? +SYNCKIT_TIMEOUT : undefined;
|
21
21
|
export const DEFAULT_WORKER_BUFFER_SIZE = DEFAULT_BUFFER_SIZE || 1024;
|
22
22
|
export const DEFAULT_EXEC_ARGV = (SYNCKIT_EXEC_ARGV === null || SYNCKIT_EXEC_ARGV === void 0 ? void 0 : SYNCKIT_EXEC_ARGV.split(',')) || [];
|
23
|
-
export const DEFAULT_TS_RUNNER =
|
24
|
-
TsRunner.TsNode);
|
23
|
+
export const DEFAULT_TS_RUNNER = SYNCKIT_TS_RUNNER;
|
25
24
|
export const MTS_SUPPORTED_NODE_VERSION = 16;
|
26
25
|
const syncFnCache = new Map();
|
27
26
|
export function extractProperties(object) {
|
@@ -52,10 +51,11 @@ const cjsRequire = typeof require === 'undefined'
|
|
52
51
|
: require;
|
53
52
|
const dataUrl = (code) => new URL(`data:text/javascript,${encodeURIComponent(code)}`);
|
54
53
|
export const isFile = (path) => {
|
54
|
+
var _a;
|
55
55
|
try {
|
56
|
-
return fs.statSync(path).isFile();
|
56
|
+
return !!((_a = fs.statSync(path, { throwIfNoEntry: false })) === null || _a === void 0 ? void 0 : _a.isFile());
|
57
57
|
}
|
58
|
-
catch (
|
58
|
+
catch (_b) {
|
59
59
|
return false;
|
60
60
|
}
|
61
61
|
};
|
@@ -68,15 +68,18 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
68
68
|
: workerPath;
|
69
69
|
let extensions;
|
70
70
|
switch (ext) {
|
71
|
-
case '.cjs':
|
71
|
+
case '.cjs': {
|
72
72
|
extensions = ['.cts', '.cjs'];
|
73
73
|
break;
|
74
|
-
|
74
|
+
}
|
75
|
+
case '.mjs': {
|
75
76
|
extensions = ['.mts', '.mjs'];
|
76
77
|
break;
|
77
|
-
|
78
|
+
}
|
79
|
+
default: {
|
78
80
|
extensions = ['.ts', '.js'];
|
79
81
|
break;
|
82
|
+
}
|
80
83
|
}
|
81
84
|
const found = tryExtensions(workPathWithoutExt, extensions);
|
82
85
|
let differentExt;
|
@@ -98,6 +101,9 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
98
101
|
'module';
|
99
102
|
}
|
100
103
|
}
|
104
|
+
if (tsRunner == null && isPkgAvailable(TsRunner.TsNode)) {
|
105
|
+
tsRunner = TsRunner.TsNode;
|
106
|
+
}
|
101
107
|
switch (tsRunner) {
|
102
108
|
case TsRunner.TsNode: {
|
103
109
|
if (tsUseEsm) {
|
@@ -153,46 +159,52 @@ const setupTsRunner = (workerPath, { execArgv, tsRunner }) => {
|
|
153
159
|
execArgv = ['-r', pnpApiPath, ...execArgv];
|
154
160
|
const pnpLoaderPath = path.resolve(pnpApiPath, '../.pnp.loader.mjs');
|
155
161
|
if (isFile(pnpLoaderPath)) {
|
156
|
-
|
162
|
+
const experimentalLoader = pathToFileURL(pnpLoaderPath).toString();
|
163
|
+
execArgv = ['--experimental-loader', experimentalLoader, ...execArgv];
|
157
164
|
}
|
158
165
|
}
|
159
166
|
}
|
160
167
|
return {
|
161
168
|
ext,
|
162
169
|
isTs,
|
170
|
+
tsRunner,
|
163
171
|
tsUseEsm,
|
164
172
|
workerPath,
|
165
173
|
execArgv,
|
166
174
|
};
|
167
175
|
};
|
168
|
-
function startWorkerThread(workerPath, { bufferSize = DEFAULT_WORKER_BUFFER_SIZE, timeout = DEFAULT_TIMEOUT, execArgv = DEFAULT_EXEC_ARGV, tsRunner = DEFAULT_TS_RUNNER, } = {}) {
|
176
|
+
function startWorkerThread(workerPath, { bufferSize = DEFAULT_WORKER_BUFFER_SIZE, timeout = DEFAULT_TIMEOUT, execArgv = DEFAULT_EXEC_ARGV, tsRunner = DEFAULT_TS_RUNNER, transferList = [], } = {}) {
|
169
177
|
const { port1: mainPort, port2: workerPort } = new MessageChannel();
|
170
|
-
const { isTs, ext, tsUseEsm, workerPath: finalWorkerPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
178
|
+
const { isTs, ext, tsUseEsm, tsRunner: finalTsRunner, workerPath: finalWorkerPath, execArgv: finalExecArgv, } = setupTsRunner(workerPath, { execArgv, tsRunner });
|
171
179
|
const workerPathUrl = pathToFileURL(finalWorkerPath);
|
172
180
|
if (/\.[cm]ts$/.test(finalWorkerPath)) {
|
173
181
|
const isTsxSupported = !tsUseEsm ||
|
174
182
|
Number.parseFloat(process.versions.node) >= MTS_SUPPORTED_NODE_VERSION;
|
175
|
-
if (
|
183
|
+
if (!finalTsRunner) {
|
184
|
+
throw new Error('No ts runner specified, ts worker path is not supported');
|
185
|
+
}
|
186
|
+
else if ([
|
176
187
|
TsRunner.EsbuildRegister,
|
177
188
|
TsRunner.EsbuildRunner,
|
178
189
|
TsRunner.SWC,
|
179
190
|
...(isTsxSupported ? [] : [TsRunner.TSX]),
|
180
|
-
].includes(
|
181
|
-
throw new Error(`${
|
191
|
+
].includes(finalTsRunner)) {
|
192
|
+
throw new Error(`${finalTsRunner} is not supported for ${ext} files yet` +
|
182
193
|
(isTsxSupported
|
183
194
|
? ', you can try [tsx](https://github.com/esbuild-kit/tsx) instead'
|
184
195
|
: ''));
|
185
196
|
}
|
186
197
|
}
|
187
198
|
const useEval = isTs && !tsUseEsm;
|
188
|
-
const worker = new Worker(tsUseEsm &&
|
199
|
+
const worker = new Worker(tsUseEsm && finalTsRunner === TsRunner.TsNode
|
189
200
|
? dataUrl(`import '${String(workerPathUrl)}'`)
|
190
201
|
: useEval
|
191
|
-
?
|
202
|
+
?
|
203
|
+
`require('${finalWorkerPath.replace(/\\/g, '\\\\')}')`
|
192
204
|
: workerPathUrl, {
|
193
205
|
eval: useEval,
|
194
206
|
workerData: { workerPort },
|
195
|
-
transferList: [workerPort],
|
207
|
+
transferList: [workerPort, ...transferList],
|
196
208
|
execArgv: finalExecArgv,
|
197
209
|
});
|
198
210
|
let nextID = 0;
|
@@ -224,35 +236,21 @@ export function runAsWorker(fn) {
|
|
224
236
|
return;
|
225
237
|
}
|
226
238
|
const { workerPort } = workerData;
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
(() => __awaiter(this, void 0, void 0, function* () {
|
231
|
-
const sharedBufferView = new Int32Array(sharedBuffer);
|
232
|
-
let msg;
|
233
|
-
try {
|
234
|
-
msg = { id, result: yield fn(...args) };
|
235
|
-
}
|
236
|
-
catch (error) {
|
237
|
-
msg = { id, error, properties: extractProperties(error) };
|
238
|
-
}
|
239
|
-
workerPort.postMessage(msg);
|
240
|
-
Atomics.add(sharedBufferView, 0, 1);
|
241
|
-
Atomics.notify(sharedBufferView, 0);
|
242
|
-
}))();
|
243
|
-
});
|
244
|
-
}
|
245
|
-
catch (error) {
|
246
|
-
parentPort.on('message', ({ sharedBuffer, id }) => {
|
239
|
+
parentPort.on('message', ({ sharedBuffer, id, args }) => {
|
240
|
+
;
|
241
|
+
(() => __awaiter(this, void 0, void 0, function* () {
|
247
242
|
const sharedBufferView = new Int32Array(sharedBuffer);
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
243
|
+
let msg;
|
244
|
+
try {
|
245
|
+
msg = { id, result: yield fn(...args) };
|
246
|
+
}
|
247
|
+
catch (error) {
|
248
|
+
msg = { id, error, properties: extractProperties(error) };
|
249
|
+
}
|
250
|
+
workerPort.postMessage(msg);
|
253
251
|
Atomics.add(sharedBufferView, 0, 1);
|
254
252
|
Atomics.notify(sharedBufferView, 0);
|
255
|
-
});
|
256
|
-
}
|
253
|
+
}))();
|
254
|
+
});
|
257
255
|
}
|
258
256
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EACL,cAAc,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
/// <reference types="node" />
|
2
2
|
import { MessagePort } from 'node:worker_threads';
|
3
|
-
export
|
4
|
-
export
|
5
|
-
export
|
6
|
-
export
|
7
|
-
export
|
8
|
-
export
|
3
|
+
export type AnyFn<R = any, T extends any[] = any[]> = (...args: T) => R;
|
4
|
+
export type AnyPromise<T = any> = Promise<T>;
|
5
|
+
export type AnyAsyncFn<T = any> = AnyFn<Promise<T>>;
|
6
|
+
export type Syncify<T extends AnyAsyncFn> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
|
7
|
+
export type PromiseType<T extends AnyPromise> = T extends Promise<infer R> ? R : never;
|
8
|
+
export type ValueOf<T> = T[keyof T];
|
9
9
|
export interface MainToWorkerMessage<T extends unknown[]> {
|
10
10
|
sharedBuffer: SharedArrayBuffer;
|
11
11
|
id: number;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "synckit",
|
3
|
-
"version": "0.8.
|
3
|
+
"version": "0.8.6",
|
4
4
|
"type": "module",
|
5
5
|
"description": "Perform async work synchronously in Node.js using `worker_threads` with first-class TypeScript support.",
|
6
6
|
"repository": "git+https://github.com/un-ts/synckit.git",
|
@@ -33,7 +33,7 @@
|
|
33
33
|
"synckit"
|
34
34
|
],
|
35
35
|
"dependencies": {
|
36
|
-
"@pkgr/utils": "^2.
|
37
|
-
"tslib": "^2.
|
36
|
+
"@pkgr/utils": "^2.4.2",
|
37
|
+
"tslib": "^2.6.2"
|
38
38
|
}
|
39
39
|
}
|