web-worker-helper
Version:
Utilities for running tasks on worker threads
36 lines (35 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getWorkerURL = exports.getWorkerName = void 0;
var assert_1 = require("../utils/env-utils/assert");
/**
* Gets worker object's name (for debugging in Chrome thread inspector window)
*/
function getWorkerName(worker) {
return "".concat(worker.name);
}
exports.getWorkerName = getWorkerName;
/**
* Generate a worker URL based on worker object and options
* @returns A URL to one of the following:
* - a published worker on unpkg CDN
* - a local test worker
* - a URL provided by the user in options
*/
function getWorkerURL(worker, options) {
if (options === void 0) { options = {}; }
var workerOptions = options[worker.id] || {};
var workerFileName = "".concat(worker.name, ".worker.js");
var url = workerOptions.workerUrl;
// If URL is test
if (options._workerType === 'test') {
url = "".concat(worker.module, "/dist/").concat(workerFileName);
}
// If url override is not provided, generate a URL to published version on npm CDN unpkg.com
if (!url) {
url = "https://unpkg.com/".concat(worker.module, "/dist/").concat(workerFileName);
}
(0, assert_1.assert)(url);
return url;
}
exports.getWorkerURL = getWorkerURL;