rollup-plugin-web-worker-loader
Version:
Rollup plugin to handle Web Workers
17 lines (14 loc) • 798 B
JavaScript
import {WorkerClass} from '\0rollup-plugin-web-worker-loader::helper::node::WorkerClass';
function decodeBase64(base64, enableUnicode) {
return Buffer.from(base64, 'base64').toString(enableUnicode ? 'utf16' : 'utf8');
}
export function createBase64WorkerFactory(base64, sourcemapArg, enableUnicodeArg) {
var sourcemap = sourcemapArg === undefined ? null : sourcemapArg;
var enableUnicode = enableUnicodeArg === undefined ? false : enableUnicodeArg;
var source = decodeBase64(base64, enableUnicode);
var start = source.indexOf('\n', 10) + 1;
var body = source.substring(start) + (sourcemap ? '\/\/# sourceMappingURL=' + sourcemap : '');
return function WorkerFactory(options) {
return new WorkerClass(body, Object.assign({}, options, { eval: true }));
};
}