web-worker-helper
Version:
Utilities for running tasks on worker threads
31 lines (30 loc) • 1.07 kB
JavaScript
import { assert } from '../utils/env-utils/assert';
/**
* Gets worker object's name (for debugging in Chrome thread inspector window)
*/
export function getWorkerName(worker) {
return "".concat(worker.name);
}
/**
* 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
*/
export 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);
}
assert(url);
return url;
}