'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports.default = void 0; var _BaseWorkerPool = _interopRequireDefault(require('./base/BaseWorkerPool')); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : {default: obj}; } /** * 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 canUseWorkerThreads = () => { try { require('worker_threads'); return true; } catch { return false; } }; class WorkerPool extends _BaseWorkerPool.default { send(workerId, request, onStart, onEnd, onCustomMessage) { this.getWorkerById(workerId).send(request, onStart, onEnd, onCustomMessage); } createWorker(workerOptions) { let Worker; if (this._options.enableWorkerThreads && canUseWorkerThreads()) { Worker = require('./workers/NodeThreadsWorker').default; } else { Worker = require('./workers/ChildProcessWorker').default; } return new Worker(workerOptions); } } var _default = WorkerPool; exports.default = _default;