Spaces:
Build error
Build error
; | |
Object.defineProperty(exports, '__esModule', { | |
value: true | |
}); | |
exports.default = messageParent; | |
var _types = require('../types'); | |
/** | |
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | |
* | |
* This source code is licensed under the MIT license found in the | |
* LICENSE file in the root directory of this source tree. | |
*/ | |
const isWorkerThread = (() => { | |
try { | |
// `Require` here to support Node v10 | |
const {isMainThread, parentPort} = require('worker_threads'); | |
return !isMainThread && parentPort != null; | |
} catch { | |
return false; | |
} | |
})(); | |
function messageParent(message, parentProcess = process) { | |
if (isWorkerThread) { | |
// `Require` here to support Node v10 | |
const {parentPort} = require('worker_threads'); // ! is safe due to `null` check in `isWorkerThread` | |
parentPort.postMessage([_types.PARENT_MESSAGE_CUSTOM, message]); | |
} else if (typeof parentProcess.send === 'function') { | |
parentProcess.send([_types.PARENT_MESSAGE_CUSTOM, message]); | |
} else { | |
throw new Error('"messageParent" can only be used inside a worker'); | |
} | |
} | |