aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/nodeWorkerEntry.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/crypto/nodeWorkerEntry.ts')
-rw-r--r--src/crypto/nodeWorkerEntry.ts38
1 files changed, 18 insertions, 20 deletions
diff --git a/src/crypto/nodeWorkerEntry.ts b/src/crypto/nodeWorkerEntry.ts
index aa6f57599..ff7f8766b 100644
--- a/src/crypto/nodeWorkerEntry.ts
+++ b/src/crypto/nodeWorkerEntry.ts
@@ -15,6 +15,8 @@
*/
+// tslint:disable:no-var-requires
+
const fs = require("fs");
const vm = require("vm");
@@ -22,57 +24,53 @@ process.once("message", (obj: any) => {
const g: any = global as any;
(g as any).self = {
+ addEventListener: (event: "error" | "message", fn: (x: any) => void) => {
+ if (event === "error") {
+ g.onerror = fn;
+ } else if (event === "message") {
+ g.onmessage = fn;
+ }
+ },
close: () => {
process.exit(0);
},
- postMessage: (msg: any) => {
- const str: string = JSON.stringify({data: msg});
+ onerror: (err: any) => {
+ const str: string = JSON.stringify({error: err.message, stack: err.stack});
if (process.send) {
process.send(str);
}
},
onmessage: undefined,
- onerror: (err: any) => {
- const str: string = JSON.stringify({error: err.message, stack: err.stack});
+ postMessage: (msg: any) => {
+ const str: string = JSON.stringify({data: msg});
if (process.send) {
process.send(str);
}
},
- addEventListener: (event: "error" | "message", fn: (x: any) => void) => {
- if (event == "error") {
- g.onerror = fn;
- } else if (event == "message") {
- g.onmessage = fn;
- }
- },
};
g.__dirname = obj.cwd;
g.__filename = __filename;
- //g.require = require;
- //g.module = module;
- //g.exports = module.exports;
-
g.importScripts = (...files: string[]) => {
if (files.length > 0) {
- vm.createScript(files.map(file => fs.readFileSync(file, "utf8")).join("\n")).runInThisContext();
+ vm.createScript(files.map((file) => fs.readFileSync(file, "utf8")).join("\n")).runInThisContext();
}
};
- Object.keys(g.self).forEach(key => {
+ Object.keys(g.self).forEach((key) => {
g[key] = g.self[key];
});
process.on("message", (msg: any) => {
try {
- (g.onmessage || g.self.onmessage || (() => {}))(JSON.parse(msg));
+ (g.onmessage || g.self.onmessage || (() => undefined))(JSON.parse(msg));
} catch (err) {
- (g.onerror || g.self.onerror || (() => {}))(err);
+ (g.onerror || g.self.onerror || (() => undefined))(err);
}
});
process.on("error", (err: any) => {
- (g.onerror || g.self.onerror || (() => {}))(err);
+ (g.onerror || g.self.onerror || (() => undefined))(err);
});
require(obj.scriptFilename);