@kitware/vtk.js 21.2.0 → 21.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Filters/General/ImageCropFilter.js +3 -4
- package/_virtual/rollup-plugin-web-worker-loader__helper__browser__createInlineWorkerFactory.js +17 -0
- package/_virtual/rollup-plugin-web-worker-loader__helper__funcToSource.js +18 -0
- package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +698 -2
- package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +274 -2
- package/package.json +1 -1
- package/_virtual/rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js +0 -31
|
@@ -37,7 +37,7 @@ function vtkImageCropFilter(publicAPI, model) {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
var extent = input.getExtent();
|
|
40
|
-
var cropped = model.croppingPlanes.length === 6 ? extent.map(function (e, i) {
|
|
40
|
+
var cropped = model.croppingPlanes && model.croppingPlanes.length === 6 ? extent.map(function (e, i) {
|
|
41
41
|
if (i % 2 === 0) {
|
|
42
42
|
// min plane
|
|
43
43
|
return Math.max(e, Math.round(model.croppingPlanes[i]));
|
|
@@ -111,7 +111,7 @@ function vtkImageCropFilter(publicAPI, model) {
|
|
|
111
111
|
};
|
|
112
112
|
|
|
113
113
|
publicAPI.isResetAvailable = function () {
|
|
114
|
-
if (model.croppingPlanes.length === 0) {
|
|
114
|
+
if (model.croppingPlanes == null || model.croppingPlanes.length === 0) {
|
|
115
115
|
return false;
|
|
116
116
|
}
|
|
117
117
|
|
|
@@ -132,8 +132,7 @@ function vtkImageCropFilter(publicAPI, model) {
|
|
|
132
132
|
// ----------------------------------------------------------------------------
|
|
133
133
|
|
|
134
134
|
|
|
135
|
-
var DEFAULT_VALUES = {
|
|
136
|
-
croppingPlanes: []
|
|
135
|
+
var DEFAULT_VALUES = {// croppingPlanes: null,
|
|
137
136
|
}; // ----------------------------------------------------------------------------
|
|
138
137
|
|
|
139
138
|
function extend(publicAPI, model) {
|
package/_virtual/rollup-plugin-web-worker-loader__helper__browser__createInlineWorkerFactory.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { f as funcToSource } from './rollup-plugin-web-worker-loader__helper__funcToSource.js';
|
|
2
|
+
|
|
3
|
+
function createURL(fn, sourcemapArg) {
|
|
4
|
+
var lines = funcToSource(fn, sourcemapArg);
|
|
5
|
+
var blob = new Blob(lines, { type: 'application/javascript' });
|
|
6
|
+
return URL.createObjectURL(blob);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function createInlineWorkerFactory(fn, sourcemapArg) {
|
|
10
|
+
var url;
|
|
11
|
+
return function WorkerFactory(options) {
|
|
12
|
+
url = url || createURL(fn, sourcemapArg);
|
|
13
|
+
return new Worker(url, options);
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { createInlineWorkerFactory as c };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function funcToSource(fn, sourcemapArg) {
|
|
2
|
+
var sourcemap = sourcemapArg === undefined ? null : sourcemapArg;
|
|
3
|
+
var source = fn.toString();
|
|
4
|
+
var lines = source.split('\n');
|
|
5
|
+
lines.pop();
|
|
6
|
+
lines.shift();
|
|
7
|
+
var blankPrefixLength = lines[0].search(/\S/);
|
|
8
|
+
var regex = /(['"])__worker_loader_strict__(['"])/g;
|
|
9
|
+
for (var i = 0, n = lines.length; i < n; ++i) {
|
|
10
|
+
lines[i] = lines[i].substring(blankPrefixLength).replace(regex, '$1use strict$2') + '\n';
|
|
11
|
+
}
|
|
12
|
+
if (sourcemap) {
|
|
13
|
+
lines.push('\/\/# sourceMappingURL=' + sourcemap + '\n');
|
|
14
|
+
}
|
|
15
|
+
return lines;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { funcToSource as f };
|
|
@@ -1,6 +1,702 @@
|
|
|
1
|
-
import { c as
|
|
1
|
+
import { c as createInlineWorkerFactory } from '../../../../rollup-plugin-web-worker-loader__helper__browser__createInlineWorkerFactory.js';
|
|
2
2
|
|
|
3
|
-
var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKF90b0NvbnN1bWFibGVBcnJheSwgX3NsaWNlZFRvQXJyYXksIHJlZ2lzdGVyV2Vid29ya2VyLCBnbE1hdHJpeCkgewogICd1c2Ugc3RyaWN0JzsKCiAgZnVuY3Rpb24gX2ludGVyb3BEZWZhdWx0TGVnYWN5IChlKSB7IHJldHVybiBlICYmIHR5cGVvZiBlID09PSAnb2JqZWN0JyAmJiAnZGVmYXVsdCcgaW4gZSA/IGUgOiB7ICdkZWZhdWx0JzogZSB9OyB9CgogIHZhciBfdG9Db25zdW1hYmxlQXJyYXlfX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX2ludGVyb3BEZWZhdWx0TGVnYWN5KF90b0NvbnN1bWFibGVBcnJheSk7CiAgdmFyIF9zbGljZWRUb0FycmF5X19kZWZhdWx0ID0gLyojX19QVVJFX18qL19pbnRlcm9wRGVmYXVsdExlZ2FjeShfc2xpY2VkVG9BcnJheSk7CiAgdmFyIHJlZ2lzdGVyV2Vid29ya2VyX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19pbnRlcm9wRGVmYXVsdExlZ2FjeShyZWdpc3RlcldlYndvcmtlcik7CgogIHZhciBTbGljaW5nTW9kZSA9IHsKICAgIE5PTkU6IC0xLAogICAgSTogMCwKICAgIEo6IDEsCiAgICBLOiAyLAogICAgWDogMywKICAgIFk6IDQsCiAgICBaOiA1CiAgfTsKCiAgdmFyIGdsb2JhbHMgPSB7CiAgICAvLyBzaW5nbGUtY29tcG9uZW50IGxhYmVsbWFwCiAgICBidWZmZXI6IG51bGwsCiAgICBkaW1lbnNpb25zOiBbMCwgMCwgMF0sCiAgICBwcmV2UG9pbnQ6IG51bGwsCiAgICBzbGljaW5nTW9kZTogbnVsbCAvLyAyRCBvciAzRCBwYWludGluZwoKICB9OyAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICBmdW5jdGlvbiBoYW5kbGVQYWludFJlY3RhbmdsZShfcmVmKSB7CiAgICB2YXIgcG9pbnQxID0gX3JlZi5wb2ludDEsCiAgICAgICAgcG9pbnQyID0gX3JlZi5wb2ludDI7CgogICAgdmFyIF9wb2ludCA9IF9zbGljZWRUb0FycmF5X19kZWZhdWx0WydkZWZhdWx0J10ocG9pbnQxLCAzKSwKICAgICAgICB4MSA9IF9wb2ludFswXSwKICAgICAgICB5MSA9IF9wb2ludFsxXSwKICAgICAgICB6MSA9IF9wb2ludFsyXTsKCiAgICB2YXIgX3BvaW50MiA9IF9zbGljZWRUb0FycmF5X19kZWZhdWx0WydkZWZhdWx0J10ocG9pbnQyLCAzKSwKICAgICAgICB4MiA9IF9wb2ludDJbMF0sCiAgICAgICAgeTIgPSBfcG9pbnQyWzFdLAogICAgICAgIHoyID0gX3BvaW50MlsyXTsKCiAgICB2YXIgeHN0YXJ0ID0gTWF0aC5tYXgoTWF0aC5taW4oeDEsIHgyKSwgMCk7CiAgICB2YXIgeGVuZCA9IE1hdGgubWluKE1hdGgubWF4KHgxLCB4MiksIGdsb2JhbHMuZGltZW5zaW9uc1swXSAtIDEpOwoKICAgIGlmICh4c3RhcnQgPD0geGVuZCkgewogICAgICB2YXIgeXN0YXJ0ID0gTWF0aC5tYXgoTWF0aC5taW4oeTEsIHkyKSwgMCk7CiAgICAgIHZhciB5ZW5kID0gTWF0aC5taW4oTWF0aC5tYXgoeTEsIHkyKSwgZ2xvYmFscy5kaW1lbnNpb25zWzFdIC0gMSk7CiAgICAgIHZhciB6c3RhcnQgPSBNYXRoLm1heChNYXRoLm1pbih6MSwgejIpLCAwKTsKICAgICAgdmFyIHplbmQgPSBNYXRoLm1pbihNYXRoLm1heCh6MSwgejIpLCBnbG9iYWxzLmRpbWVuc2lvbnNbMl0gLSAxKTsKICAgICAgdmFyIGpTdHJpZGUgPSBnbG9iYWxzLmRpbWVuc2lvbnNbMF07CiAgICAgIHZhciBrU3RyaWRlID0gZ2xvYmFscy5kaW1lbnNpb25zWzBdICogZ2xvYmFscy5kaW1lbnNpb25zWzFdOwoKICAgICAgZm9yICh2YXIgayA9IHpzdGFydDsgayA8PSB6ZW5kOyBrKyspIHsKICAgICAgICBmb3IgKHZhciBqID0geXN0YXJ0OyBqIDw9IHllbmQ7IGorKykgewogICAgICAgICAgdmFyIGluZGV4ID0gaiAqIGpTdHJpZGUgKyBrICoga1N0cmlkZTsKICAgICAgICAgIGdsb2JhbHMuYnVmZmVyLmZpbGwoMSwgaW5kZXggKyB4c3RhcnQsIGluZGV4ICsgeGVuZCArIDEpOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAvLyBjZW50ZXIgYW5kIHNjYWxlMyBhcmUgaW4gSUpLIGNvb3JkaW5hdGVzCgoKICBmdW5jdGlvbiBoYW5kbGVQYWludEVsbGlwc2UoX3JlZjIpIHsKICAgIHZhciBjZW50ZXIgPSBfcmVmMi5jZW50ZXIsCiAgICAgICAgc2NhbGUzID0gX3JlZjIuc2NhbGUzOwoKICAgIHZhciByYWRpdXMzID0gX3RvQ29uc3VtYWJsZUFycmF5X19kZWZhdWx0WydkZWZhdWx0J10oc2NhbGUzKTsKCiAgICB2YXIgaW5kZXhDZW50ZXIgPSBjZW50ZXIubWFwKGZ1bmN0aW9uICh2YWwpIHsKICAgICAgcmV0dXJuIE1hdGgucm91bmQodmFsKTsKICAgIH0pOwogICAgdmFyIHNsaWNlQXhpcyA9IC0xOwoKICAgIGlmIChnbG9iYWxzLnNsaWNpbmdNb2RlICE9IG51bGwgJiYgZ2xvYmFscy5zbGljaW5nTW9kZSAhPT0gU2xpY2luZ01vZGUuTk9ORSkgewogICAgICBzbGljZUF4aXMgPSBnbG9iYWxzLnNsaWNpbmdNb2RlICUgMzsKICAgIH0KCiAgICB2YXIgeVN0cmlkZSA9IGdsb2JhbHMuZGltZW5zaW9uc1swXTsKICAgIHZhciB6U3RyaWRlID0gZ2xvYmFscy5kaW1lbnNpb25zWzBdICogZ2xvYmFscy5kaW1lbnNpb25zWzFdOwoKICAgIHZhciBfaW5kZXhDZW50ZXIgPSBfc2xpY2VkVG9BcnJheV9fZGVmYXVsdFsnZGVmYXVsdCddKGluZGV4Q2VudGVyLCAzKSwKICAgICAgICB4bWluID0gX2luZGV4Q2VudGVyWzBdLAogICAgICAgIHltaW4gPSBfaW5kZXhDZW50ZXJbMV0sCiAgICAgICAgem1pbiA9IF9pbmRleENlbnRlclsyXTsKCiAgICB2YXIgX2luZGV4Q2VudGVyMiA9IF9zbGljZWRUb0FycmF5X19kZWZhdWx0WydkZWZhdWx0J10oaW5kZXhDZW50ZXIsIDMpLAogICAgICAgIHhtYXggPSBfaW5kZXhDZW50ZXIyWzBdLAogICAgICAgIHltYXggPSBfaW5kZXhDZW50ZXIyWzFdLAogICAgICAgIHptYXggPSBfaW5kZXhDZW50ZXIyWzJdOwoKICAgIGlmIChzbGljZUF4aXMgIT09IDIpIHsKICAgICAgem1pbiA9IE1hdGgucm91bmQoTWF0aC5tYXgoaW5kZXhDZW50ZXJbMl0gLSByYWRpdXMzWzJdLCAwKSk7CiAgICAgIHptYXggPSBNYXRoLnJvdW5kKE1hdGgubWluKGluZGV4Q2VudGVyWzJdICsgcmFkaXVzM1syXSwgZ2xvYmFscy5kaW1lbnNpb25zWzJdIC0gMSkpOwogICAgfQoKICAgIGZvciAodmFyIHogPSB6bWluOyB6IDw9IHptYXg7IHorKykgewogICAgICB2YXIgZHogPSAwOwoKICAgICAgaWYgKHNsaWNlQXhpcyAhPT0gMikgewogICAgICAgIGR6ID0gKGluZGV4Q2VudGVyWzJdIC0geikgLyByYWRpdXMzWzJdOwogICAgICB9CgogICAgICB2YXIgZHpTcXVhcmVkID0gZHogKiBkejsKCiAgICAgIGlmIChkelNxdWFyZWQgPD0gMSkgewogICAgICAgIHZhciBheSA9IHJhZGl1czNbMV0gKiBNYXRoLnNxcnQoMSAtIGR6U3F1YXJlZCk7CgogICAgICAgIGlmIChzbGljZUF4aXMgIT09IDEpIHsKICAgICAgICAgIHltaW4gPSBNYXRoLnJvdW5kKE1hdGgubWF4KGluZGV4Q2VudGVyWzFdIC0gYXksIDApKTsKICAgICAgICAgIHltYXggPSBNYXRoLnJvdW5kKE1hdGgubWluKGluZGV4Q2VudGVyWzFdICsgYXksIGdsb2JhbHMuZGltZW5zaW9uc1sxXSAtIDEpKTsKICAgICAgICB9CgogICAgICAgIGZvciAodmFyIHkgPSB5bWluOyB5IDw9IHltYXg7IHkrKykgewogICAgICAgICAgdmFyIGR5ID0gMDsKCiAgICAgICAgICBpZiAoc2xpY2VBeGlzICE9PSAxKSB7CiAgICAgICAgICAgIGR5ID0gKGluZGV4Q2VudGVyWzFdIC0geSkgLyByYWRpdXMzWzFdOwogICAgICAgICAgfQoKICAgICAgICAgIHZhciBkeVNxdWFyZWQgPSBkeSAqIGR5OwoKICAgICAgICAgIGlmIChkeVNxdWFyZWQgKyBkelNxdWFyZWQgPD0gMSkgewogICAgICAgICAgICBpZiAoc2xpY2VBeGlzICE9PSAwKSB7CiAgICAgICAgICAgICAgdmFyIGF4ID0gcmFkaXVzM1swXSAqIE1hdGguc3FydCgxIC0gZHlTcXVhcmVkIC0gZHpTcXVhcmVkKTsKICAgICAgICAgICAgICB4bWluID0gTWF0aC5yb3VuZChNYXRoLm1heChpbmRleENlbnRlclswXSAtIGF4LCAwKSk7CiAgICAgICAgICAgICAgeG1heCA9IE1hdGgucm91bmQoTWF0aC5taW4oaW5kZXhDZW50ZXJbMF0gKyBheCwgZ2xvYmFscy5kaW1lbnNpb25zWzBdIC0gMSkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoeG1pbiA8PSB4bWF4KSB7CiAgICAgICAgICAgICAgdmFyIGluZGV4ID0geSAqIHlTdHJpZGUgKyB6ICogelN0cmlkZTsKICAgICAgICAgICAgICBnbG9iYWxzLmJ1ZmZlci5maWxsKDEsIGluZGV4ICsgeG1pbiwgaW5kZXggKyB4bWF4ICsgMSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKICBmdW5jdGlvbiBoYW5kbGVQYWludChfcmVmMykgewogICAgdmFyIHBvaW50ID0gX3JlZjMucG9pbnQsCiAgICAgICAgcmFkaXVzID0gX3JlZjMucmFkaXVzOwoKICAgIGlmICghZ2xvYmFscy5wcmV2UG9pbnQpIHsKICAgICAgZ2xvYmFscy5wcmV2UG9pbnQgPSBwb2ludDsKICAgIH0gLy8gRERBIHBhcmFtcwoKCiAgICB2YXIgZGVsdGEgPSBbcG9pbnRbMF0gLSBnbG9iYWxzLnByZXZQb2ludFswXSwgcG9pbnRbMV0gLSBnbG9iYWxzLnByZXZQb2ludFsxXSwgcG9pbnRbMl0gLSBnbG9iYWxzLnByZXZQb2ludFsyXV07CiAgICB2YXIgaW5jID0gWzEsIDEsIDFdOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMzsgaSsrKSB7CiAgICAgIGlmIChkZWx0YVtpXSA8IDApIHsKICAgICAgICBkZWx0YVtpXSA9IC1kZWx0YVtpXTsKICAgICAgICBpbmNbaV0gPSAtMTsKICAgICAgfQogICAgfQoKICAgIHZhciBzdGVwID0gTWF0aC5tYXguYXBwbHkoTWF0aCwgZGVsdGEpOyAvLyBEREEKCiAgICB2YXIgdGhyZXNoID0gW3N0ZXAsIHN0ZXAsIHN0ZXBdOwoKICAgIHZhciBwdCA9IF90b0NvbnN1bWFibGVBcnJheV9fZGVmYXVsdFsnZGVmYXVsdCddKGdsb2JhbHMucHJldlBvaW50KTsKCiAgICBmb3IgKHZhciBzID0gMDsgcyA8PSBzdGVwOyBzKyspIHsKICAgICAgaGFuZGxlUGFpbnRFbGxpcHNlKHsKICAgICAgICBjZW50ZXI6IHB0LAogICAgICAgIHNjYWxlMzogcmFkaXVzCiAgICAgIH0pOwoKICAgICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IDM7IGlpKyspIHsKICAgICAgICB0aHJlc2hbaWldIC09IGRlbHRhW2lpXTsKCiAgICAgICAgaWYgKHRocmVzaFtpaV0gPD0gMCkgewogICAgICAgICAgdGhyZXNoW2lpXSArPSBzdGVwOwogICAgICAgICAgcHRbaWldICs9IGluY1tpaV07CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgZ2xvYmFscy5wcmV2UG9pbnQgPSBwb2ludDsKICB9IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKICBmdW5jdGlvbiBoYW5kbGVQYWludFRyaWFuZ2xlcyhfcmVmNCkgewogICAgdmFyIHRyaWFuZ2xlTGlzdCA9IF9yZWY0LnRyaWFuZ2xlTGlzdDsKICAgIC8vIGRlYnVnZ2VyOwogICAgdmFyIHRyaWFuZ2xlQ291bnQgPSBNYXRoLmZsb29yKHRyaWFuZ2xlTGlzdC5sZW5ndGggLyA5KTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyaWFuZ2xlQ291bnQ7IGkrKykgewogICAgICB2YXIgcG9pbnQwID0gdHJpYW5nbGVMaXN0LnN1YmFycmF5KDkgKiBpICsgMCwgOSAqIGkgKyAzKTsKICAgICAgdmFyIHBvaW50MSA9IHRyaWFuZ2xlTGlzdC5zdWJhcnJheSg5ICogaSArIDMsIDkgKiBpICsgNik7CiAgICAgIHZhciBwb2ludDIgPSB0cmlhbmdsZUxpc3Quc3ViYXJyYXkoOSAqIGkgKyA2LCA5ICogaSArIDkpOwogICAgICB2YXIgdjEgPSBbMCwgMCwgMF07CiAgICAgIHZhciB2MiA9IFswLCAwLCAwXTsKICAgICAgZ2xNYXRyaXgudmVjMy5zdWJ0cmFjdCh2MSwgcG9pbnQxLCBwb2ludDApOwogICAgICBnbE1hdHJpeC52ZWMzLnN1YnRyYWN0KHYyLCBwb2ludDIsIHBvaW50MCk7CiAgICAgIHZhciBzdGVwMSA9IFswLCAwLCAwXTsKICAgICAgdmFyIG51bVN0ZXAxID0gMiAqIE1hdGgubWF4KE1hdGguYWJzKHYxWzBdKSwgTWF0aC5hYnModjFbMV0pLCBNYXRoLmFicyh2MVsyXSkpOwogICAgICBnbE1hdHJpeC52ZWMzLnNjYWxlKHN0ZXAxLCB2MSwgMSAvIG51bVN0ZXAxKTsKICAgICAgdmFyIHN0ZXAyID0gWzAsIDAsIDBdOwogICAgICB2YXIgbnVtU3RlcDIgPSAyICogTWF0aC5tYXgoTWF0aC5hYnModjJbMF0pLCBNYXRoLmFicyh2MlsxXSksIE1hdGguYWJzKHYyWzJdKSk7CiAgICAgIGdsTWF0cml4LnZlYzMuc2NhbGUoc3RlcDIsIHYyLCAxIC8gbnVtU3RlcDIpOwogICAgICB2YXIgalN0cmlkZSA9IGdsb2JhbHMuZGltZW5zaW9uc1swXTsKICAgICAgdmFyIGtTdHJpZGUgPSBnbG9iYWxzLmRpbWVuc2lvbnNbMF0gKiBnbG9iYWxzLmRpbWVuc2lvbnNbMV07CgogICAgICBmb3IgKHZhciB1ID0gMDsgdSA8PSBudW1TdGVwMSArIDE7IHUrKykgewogICAgICAgIHZhciBtYXhWID0gbnVtU3RlcDIgLSB1ICogKG51bVN0ZXAyIC8gbnVtU3RlcDEpOwoKICAgICAgICBmb3IgKHZhciB2ID0gMDsgdiA8PSBtYXhWICsgMTsgdisrKSB7CiAgICAgICAgICB2YXIgcG9pbnQgPSBfdG9Db25zdW1hYmxlQXJyYXlfX2RlZmF1bHRbJ2RlZmF1bHQnXShwb2ludDApOwoKICAgICAgICAgIGdsTWF0cml4LnZlYzMuc2NhbGVBbmRBZGQocG9pbnQsIHBvaW50LCBzdGVwMSwgdSk7CiAgICAgICAgICBnbE1hdHJpeC52ZWMzLnNjYWxlQW5kQWRkKHBvaW50LCBwb2ludCwgc3RlcDIsIHYpOwogICAgICAgICAgcG9pbnRbMF0gPSBNYXRoLnJvdW5kKHBvaW50WzBdKTsKICAgICAgICAgIHBvaW50WzFdID0gTWF0aC5yb3VuZChwb2ludFsxXSk7CiAgICAgICAgICBwb2ludFsyXSA9IE1hdGgucm91bmQocG9pbnRbMl0pOwoKICAgICAgICAgIGlmIChwb2ludFswXSA+PSAwICYmIHBvaW50WzBdIDwgZ2xvYmFscy5kaW1lbnNpb25zWzBdICYmIHBvaW50WzFdID49IDAgJiYgcG9pbnRbMV0gPCBnbG9iYWxzLmRpbWVuc2lvbnNbMV0gJiYgcG9pbnRbMl0gPj0gMCAmJiBwb2ludFsyXSA8IGdsb2JhbHMuZGltZW5zaW9uc1syXSkgewogICAgICAgICAgICBnbG9iYWxzLmJ1ZmZlcltwb2ludFswXSArIGpTdHJpZGUgKiBwb2ludFsxXSArIGtTdHJpZGUgKiBwb2ludFsyXV0gPSAxOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgogIHJlZ2lzdGVyV2Vid29ya2VyX19kZWZhdWx0WydkZWZhdWx0J10oKS5vcGVyYXRpb24oJ3N0YXJ0JywgZnVuY3Rpb24gKF9yZWY1KSB7CiAgICB2YXIgYnVmZmVyVHlwZSA9IF9yZWY1LmJ1ZmZlclR5cGUsCiAgICAgICAgZGltZW5zaW9ucyA9IF9yZWY1LmRpbWVuc2lvbnMsCiAgICAgICAgc2xpY2luZ01vZGUgPSBfcmVmNS5zbGljaW5nTW9kZTsKCiAgICBpZiAoIWdsb2JhbHMuYnVmZmVyKSB7CiAgICAgIHZhciBidWZmZXJTaXplID0gZGltZW5zaW9uc1swXSAqIGRpbWVuc2lvbnNbMV0gKiBkaW1lbnNpb25zWzJdOwogICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8KCiAgICAgIGdsb2JhbHMuYnVmZmVyID0gbmV3IHNlbGZbYnVmZmVyVHlwZV0oYnVmZmVyU2l6ZSk7CiAgICAgIGdsb2JhbHMuZGltZW5zaW9ucyA9IGRpbWVuc2lvbnM7CiAgICAgIGdsb2JhbHMucHJldlBvaW50ID0gbnVsbDsKICAgICAgZ2xvYmFscy5zbGljaW5nTW9kZSA9IHNsaWNpbmdNb2RlOwogICAgfQogIH0pLm9wZXJhdGlvbigncGFpbnQnLCBoYW5kbGVQYWludCkub3BlcmF0aW9uKCdwYWludFJlY3RhbmdsZScsIGhhbmRsZVBhaW50UmVjdGFuZ2xlKS5vcGVyYXRpb24oJ3BhaW50RWxsaXBzZScsIGhhbmRsZVBhaW50RWxsaXBzZSkub3BlcmF0aW9uKCdwYWludFRyaWFuZ2xlcycsIGhhbmRsZVBhaW50VHJpYW5nbGVzKS5vcGVyYXRpb24oJ2VuZCcsIGZ1bmN0aW9uICgpIHsKICAgIHZhciByZXNwb25zZSA9IG5ldyByZWdpc3RlcldlYndvcmtlcl9fZGVmYXVsdFsnZGVmYXVsdCddLlRyYW5zZmVyYWJsZVJlc3BvbnNlKGdsb2JhbHMuYnVmZmVyLmJ1ZmZlciwgW2dsb2JhbHMuYnVmZmVyLmJ1ZmZlcl0pOwogICAgZ2xvYmFscy5idWZmZXIgPSBudWxsOwogICAgcmV0dXJuIHJlc3BvbnNlOwogIH0pOwoKfShfdG9Db25zdW1hYmxlQXJyYXksIF9zbGljZWRUb0FycmF5LCByZWdpc3RlcldlYndvcmtlciwgZ2xNYXRyaXgpKTsKCg==', null, false);
|
|
3
|
+
var WorkerFactory = createInlineWorkerFactory(/* rollup-plugin-web-worker-loader */function () {
|
|
4
|
+
(function () {
|
|
5
|
+
'__worker_loader_strict__';
|
|
6
|
+
|
|
7
|
+
function _arrayLikeToArray(arr, len) {
|
|
8
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
9
|
+
|
|
10
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
11
|
+
arr2[i] = arr[i];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return arr2;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function _arrayWithoutHoles(arr) {
|
|
18
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function _iterableToArray(iter) {
|
|
22
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
26
|
+
if (!o) return;
|
|
27
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
28
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
29
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
30
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
31
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function _nonIterableSpread() {
|
|
35
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function _toConsumableArray$1(arr) {
|
|
39
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function _arrayWithHoles(arr) {
|
|
43
|
+
if (Array.isArray(arr)) return arr;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function _iterableToArrayLimit(arr, i) {
|
|
47
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
48
|
+
|
|
49
|
+
if (_i == null) return;
|
|
50
|
+
var _arr = [];
|
|
51
|
+
var _n = true;
|
|
52
|
+
var _d = false;
|
|
53
|
+
|
|
54
|
+
var _s, _e;
|
|
55
|
+
|
|
56
|
+
try {
|
|
57
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
58
|
+
_arr.push(_s.value);
|
|
59
|
+
|
|
60
|
+
if (i && _arr.length === i) break;
|
|
61
|
+
}
|
|
62
|
+
} catch (err) {
|
|
63
|
+
_d = true;
|
|
64
|
+
_e = err;
|
|
65
|
+
} finally {
|
|
66
|
+
try {
|
|
67
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
68
|
+
} finally {
|
|
69
|
+
if (_d) throw _e;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return _arr;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function _nonIterableRest() {
|
|
77
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function _slicedToArray(arr, i) {
|
|
81
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
var register = {exports: {}};
|
|
85
|
+
|
|
86
|
+
var _createClass$1 = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
87
|
+
|
|
88
|
+
function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
89
|
+
|
|
90
|
+
var TinyEmitter$1 = function () {
|
|
91
|
+
function TinyEmitter() {
|
|
92
|
+
_classCallCheck$1(this, TinyEmitter);
|
|
93
|
+
|
|
94
|
+
Object.defineProperty(this, '__listeners', {
|
|
95
|
+
value: {},
|
|
96
|
+
enumerable: false,
|
|
97
|
+
writable: false
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
_createClass$1(TinyEmitter, [{
|
|
102
|
+
key: 'emit',
|
|
103
|
+
value: function emit(eventName) {
|
|
104
|
+
if (!this.__listeners[eventName]) return this;
|
|
105
|
+
|
|
106
|
+
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
107
|
+
args[_key - 1] = arguments[_key];
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
var _iteratorNormalCompletion = true;
|
|
111
|
+
var _didIteratorError = false;
|
|
112
|
+
var _iteratorError = undefined;
|
|
113
|
+
|
|
114
|
+
try {
|
|
115
|
+
for (var _iterator = this.__listeners[eventName][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
116
|
+
var handler = _step.value;
|
|
117
|
+
|
|
118
|
+
handler.apply(undefined, args);
|
|
119
|
+
}
|
|
120
|
+
} catch (err) {
|
|
121
|
+
_didIteratorError = true;
|
|
122
|
+
_iteratorError = err;
|
|
123
|
+
} finally {
|
|
124
|
+
try {
|
|
125
|
+
if (!_iteratorNormalCompletion && _iterator.return) {
|
|
126
|
+
_iterator.return();
|
|
127
|
+
}
|
|
128
|
+
} finally {
|
|
129
|
+
if (_didIteratorError) {
|
|
130
|
+
throw _iteratorError;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return this;
|
|
136
|
+
}
|
|
137
|
+
}, {
|
|
138
|
+
key: 'once',
|
|
139
|
+
value: function once(eventName, handler) {
|
|
140
|
+
var _this = this;
|
|
141
|
+
|
|
142
|
+
var once = function once() {
|
|
143
|
+
_this.off(eventName, once);
|
|
144
|
+
handler.apply(undefined, arguments);
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
return this.on(eventName, once);
|
|
148
|
+
}
|
|
149
|
+
}, {
|
|
150
|
+
key: 'on',
|
|
151
|
+
value: function on(eventName, handler) {
|
|
152
|
+
if (!this.__listeners[eventName]) this.__listeners[eventName] = [];
|
|
153
|
+
|
|
154
|
+
this.__listeners[eventName].push(handler);
|
|
155
|
+
|
|
156
|
+
return this;
|
|
157
|
+
}
|
|
158
|
+
}, {
|
|
159
|
+
key: 'off',
|
|
160
|
+
value: function off(eventName, handler) {
|
|
161
|
+
if (handler) this.__listeners[eventName] = this.__listeners[eventName].filter(function (h) {
|
|
162
|
+
return h !== handler;
|
|
163
|
+
});else this.__listeners[eventName] = [];
|
|
164
|
+
|
|
165
|
+
return this;
|
|
166
|
+
}
|
|
167
|
+
}]);
|
|
168
|
+
|
|
169
|
+
return TinyEmitter;
|
|
170
|
+
}();
|
|
171
|
+
|
|
172
|
+
var tinyEmitter = TinyEmitter$1;
|
|
173
|
+
|
|
174
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
175
|
+
|
|
176
|
+
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
|
|
177
|
+
|
|
178
|
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
179
|
+
|
|
180
|
+
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
|
181
|
+
|
|
182
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
183
|
+
|
|
184
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
185
|
+
|
|
186
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
187
|
+
|
|
188
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
189
|
+
|
|
190
|
+
var TinyEmitter = tinyEmitter;
|
|
191
|
+
|
|
192
|
+
var MESSAGE_RESULT = 0;
|
|
193
|
+
var MESSAGE_EVENT = 1;
|
|
194
|
+
|
|
195
|
+
var RESULT_ERROR = 0;
|
|
196
|
+
var RESULT_SUCCESS = 1;
|
|
197
|
+
|
|
198
|
+
var DEFAULT_HANDLER = 'main';
|
|
199
|
+
|
|
200
|
+
var isPromise = function isPromise(o) {
|
|
201
|
+
return (typeof o === 'undefined' ? 'undefined' : _typeof(o)) === 'object' && o !== null && typeof o.then === 'function' && typeof o.catch === 'function';
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
function RegisterPromise(fn) {
|
|
205
|
+
var handlers = _defineProperty({}, DEFAULT_HANDLER, fn);
|
|
206
|
+
var sendPostMessage = self.postMessage.bind(self);
|
|
207
|
+
|
|
208
|
+
var server = new (function (_TinyEmitter) {
|
|
209
|
+
_inherits(WorkerRegister, _TinyEmitter);
|
|
210
|
+
|
|
211
|
+
function WorkerRegister() {
|
|
212
|
+
_classCallCheck(this, WorkerRegister);
|
|
213
|
+
|
|
214
|
+
return _possibleConstructorReturn(this, (WorkerRegister.__proto__ || Object.getPrototypeOf(WorkerRegister)).apply(this, arguments));
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
_createClass(WorkerRegister, [{
|
|
218
|
+
key: 'emit',
|
|
219
|
+
value: function emit(eventName) {
|
|
220
|
+
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
221
|
+
args[_key - 1] = arguments[_key];
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
if (args.length == 1 && args[0] instanceof TransferableResponse) {
|
|
225
|
+
sendPostMessage({ eventName: eventName, args: args }, args[0].transferable);
|
|
226
|
+
} else {
|
|
227
|
+
sendPostMessage({ eventName: eventName, args: args });
|
|
228
|
+
}
|
|
229
|
+
return this;
|
|
230
|
+
}
|
|
231
|
+
}, {
|
|
232
|
+
key: 'emitLocally',
|
|
233
|
+
value: function emitLocally(eventName) {
|
|
234
|
+
var _get2;
|
|
235
|
+
|
|
236
|
+
for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
237
|
+
args[_key2 - 1] = arguments[_key2];
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
(_get2 = _get(WorkerRegister.prototype.__proto__ || Object.getPrototypeOf(WorkerRegister.prototype), 'emit', this)).call.apply(_get2, [this, eventName].concat(args));
|
|
241
|
+
}
|
|
242
|
+
}, {
|
|
243
|
+
key: 'operation',
|
|
244
|
+
value: function operation(name, handler) {
|
|
245
|
+
handlers[name] = handler;
|
|
246
|
+
return this;
|
|
247
|
+
}
|
|
248
|
+
}]);
|
|
249
|
+
|
|
250
|
+
return WorkerRegister;
|
|
251
|
+
}(TinyEmitter))();
|
|
252
|
+
|
|
253
|
+
var run = function run(messageId, payload, handlerName) {
|
|
254
|
+
|
|
255
|
+
var onSuccess = function onSuccess(result) {
|
|
256
|
+
if (result && result instanceof TransferableResponse) {
|
|
257
|
+
sendResult(messageId, RESULT_SUCCESS, result.payload, result.transferable);
|
|
258
|
+
} else {
|
|
259
|
+
sendResult(messageId, RESULT_SUCCESS, result);
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
var onError = function onError(e) {
|
|
264
|
+
sendResult(messageId, RESULT_ERROR, {
|
|
265
|
+
message: e.message,
|
|
266
|
+
stack: e.stack
|
|
267
|
+
});
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
try {
|
|
271
|
+
var result = runFn(messageId, payload, handlerName);
|
|
272
|
+
if (isPromise(result)) {
|
|
273
|
+
result.then(onSuccess).catch(onError);
|
|
274
|
+
} else {
|
|
275
|
+
onSuccess(result);
|
|
276
|
+
}
|
|
277
|
+
} catch (e) {
|
|
278
|
+
onError(e);
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
var runFn = function runFn(messageId, payload, handlerName) {
|
|
283
|
+
var handler = handlers[handlerName || DEFAULT_HANDLER];
|
|
284
|
+
if (!handler) throw new Error('Not found handler for this request');
|
|
285
|
+
|
|
286
|
+
return handler(payload, sendEvent.bind(null, messageId));
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
var sendResult = function sendResult(messageId, success, payload) {
|
|
290
|
+
var transferable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
291
|
+
|
|
292
|
+
sendPostMessage([MESSAGE_RESULT, messageId, success, payload], transferable);
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
var sendEvent = function sendEvent(messageId, eventName, payload) {
|
|
296
|
+
if (!eventName) throw new Error('eventName is required');
|
|
297
|
+
|
|
298
|
+
if (typeof eventName !== 'string') throw new Error('eventName should be string');
|
|
299
|
+
|
|
300
|
+
sendPostMessage([MESSAGE_EVENT, messageId, eventName, payload]);
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
self.addEventListener('message', function (_ref) {
|
|
304
|
+
var data = _ref.data;
|
|
305
|
+
|
|
306
|
+
if (Array.isArray(data)) {
|
|
307
|
+
run.apply(undefined, _toConsumableArray(data));
|
|
308
|
+
} else if (data && data.eventName) {
|
|
309
|
+
server.emitLocally.apply(server, [data.eventName].concat(_toConsumableArray(data.args)));
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
return server;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
var TransferableResponse = function TransferableResponse(payload, transferable) {
|
|
317
|
+
_classCallCheck(this, TransferableResponse);
|
|
318
|
+
|
|
319
|
+
this.payload = payload;
|
|
320
|
+
this.transferable = transferable;
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
register.exports = RegisterPromise;
|
|
324
|
+
register.exports.TransferableResponse = TransferableResponse;
|
|
325
|
+
|
|
326
|
+
var registerWebworker = register.exports;
|
|
327
|
+
|
|
328
|
+
var SlicingMode = {
|
|
329
|
+
NONE: -1,
|
|
330
|
+
I: 0,
|
|
331
|
+
J: 1,
|
|
332
|
+
K: 2,
|
|
333
|
+
X: 3,
|
|
334
|
+
Y: 4,
|
|
335
|
+
Z: 5
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Common utilities
|
|
340
|
+
* @module glMatrix
|
|
341
|
+
*/
|
|
342
|
+
var ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;
|
|
343
|
+
if (!Math.hypot) Math.hypot = function () {
|
|
344
|
+
var y = 0,
|
|
345
|
+
i = arguments.length;
|
|
346
|
+
|
|
347
|
+
while (i--) {
|
|
348
|
+
y += arguments[i] * arguments[i];
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
return Math.sqrt(y);
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* 3 Dimensional Vector
|
|
356
|
+
* @module vec3
|
|
357
|
+
*/
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Creates a new, empty vec3
|
|
361
|
+
*
|
|
362
|
+
* @returns {vec3} a new 3D vector
|
|
363
|
+
*/
|
|
364
|
+
|
|
365
|
+
function create() {
|
|
366
|
+
var out = new ARRAY_TYPE(3);
|
|
367
|
+
|
|
368
|
+
if (ARRAY_TYPE != Float32Array) {
|
|
369
|
+
out[0] = 0;
|
|
370
|
+
out[1] = 0;
|
|
371
|
+
out[2] = 0;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
return out;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Subtracts vector b from vector a
|
|
378
|
+
*
|
|
379
|
+
* @param {vec3} out the receiving vector
|
|
380
|
+
* @param {ReadonlyVec3} a the first operand
|
|
381
|
+
* @param {ReadonlyVec3} b the second operand
|
|
382
|
+
* @returns {vec3} out
|
|
383
|
+
*/
|
|
384
|
+
|
|
385
|
+
function subtract(out, a, b) {
|
|
386
|
+
out[0] = a[0] - b[0];
|
|
387
|
+
out[1] = a[1] - b[1];
|
|
388
|
+
out[2] = a[2] - b[2];
|
|
389
|
+
return out;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Scales a vec3 by a scalar number
|
|
393
|
+
*
|
|
394
|
+
* @param {vec3} out the receiving vector
|
|
395
|
+
* @param {ReadonlyVec3} a the vector to scale
|
|
396
|
+
* @param {Number} b amount to scale the vector by
|
|
397
|
+
* @returns {vec3} out
|
|
398
|
+
*/
|
|
399
|
+
|
|
400
|
+
function scale(out, a, b) {
|
|
401
|
+
out[0] = a[0] * b;
|
|
402
|
+
out[1] = a[1] * b;
|
|
403
|
+
out[2] = a[2] * b;
|
|
404
|
+
return out;
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Adds two vec3's after scaling the second operand by a scalar value
|
|
408
|
+
*
|
|
409
|
+
* @param {vec3} out the receiving vector
|
|
410
|
+
* @param {ReadonlyVec3} a the first operand
|
|
411
|
+
* @param {ReadonlyVec3} b the second operand
|
|
412
|
+
* @param {Number} scale the amount to scale b by before adding
|
|
413
|
+
* @returns {vec3} out
|
|
414
|
+
*/
|
|
415
|
+
|
|
416
|
+
function scaleAndAdd(out, a, b, scale) {
|
|
417
|
+
out[0] = a[0] + b[0] * scale;
|
|
418
|
+
out[1] = a[1] + b[1] * scale;
|
|
419
|
+
out[2] = a[2] + b[2] * scale;
|
|
420
|
+
return out;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Perform some operation over an array of vec3s.
|
|
424
|
+
*
|
|
425
|
+
* @param {Array} a the array of vectors to iterate over
|
|
426
|
+
* @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed
|
|
427
|
+
* @param {Number} offset Number of elements to skip at the beginning of the array
|
|
428
|
+
* @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array
|
|
429
|
+
* @param {Function} fn Function to call for each vector in the array
|
|
430
|
+
* @param {Object} [arg] additional argument to pass to fn
|
|
431
|
+
* @returns {Array} a
|
|
432
|
+
* @function
|
|
433
|
+
*/
|
|
434
|
+
|
|
435
|
+
(function () {
|
|
436
|
+
var vec = create();
|
|
437
|
+
return function (a, stride, offset, count, fn, arg) {
|
|
438
|
+
var i, l;
|
|
439
|
+
|
|
440
|
+
if (!stride) {
|
|
441
|
+
stride = 3;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
if (!offset) {
|
|
445
|
+
offset = 0;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
if (count) {
|
|
449
|
+
l = Math.min(count * stride + offset, a.length);
|
|
450
|
+
} else {
|
|
451
|
+
l = a.length;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
for (i = offset; i < l; i += stride) {
|
|
455
|
+
vec[0] = a[i];
|
|
456
|
+
vec[1] = a[i + 1];
|
|
457
|
+
vec[2] = a[i + 2];
|
|
458
|
+
fn(vec, vec, arg);
|
|
459
|
+
a[i] = vec[0];
|
|
460
|
+
a[i + 1] = vec[1];
|
|
461
|
+
a[i + 2] = vec[2];
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
return a;
|
|
465
|
+
};
|
|
466
|
+
})();
|
|
467
|
+
|
|
468
|
+
var globals = {
|
|
469
|
+
// single-component labelmap
|
|
470
|
+
buffer: null,
|
|
471
|
+
dimensions: [0, 0, 0],
|
|
472
|
+
prevPoint: null,
|
|
473
|
+
slicingMode: null // 2D or 3D painting
|
|
474
|
+
|
|
475
|
+
}; // --------------------------------------------------------------------------
|
|
476
|
+
|
|
477
|
+
function handlePaintRectangle(_ref) {
|
|
478
|
+
var point1 = _ref.point1,
|
|
479
|
+
point2 = _ref.point2;
|
|
480
|
+
|
|
481
|
+
var _point = _slicedToArray(point1, 3),
|
|
482
|
+
x1 = _point[0],
|
|
483
|
+
y1 = _point[1],
|
|
484
|
+
z1 = _point[2];
|
|
485
|
+
|
|
486
|
+
var _point2 = _slicedToArray(point2, 3),
|
|
487
|
+
x2 = _point2[0],
|
|
488
|
+
y2 = _point2[1],
|
|
489
|
+
z2 = _point2[2];
|
|
490
|
+
|
|
491
|
+
var xstart = Math.max(Math.min(x1, x2), 0);
|
|
492
|
+
var xend = Math.min(Math.max(x1, x2), globals.dimensions[0] - 1);
|
|
493
|
+
|
|
494
|
+
if (xstart <= xend) {
|
|
495
|
+
var ystart = Math.max(Math.min(y1, y2), 0);
|
|
496
|
+
var yend = Math.min(Math.max(y1, y2), globals.dimensions[1] - 1);
|
|
497
|
+
var zstart = Math.max(Math.min(z1, z2), 0);
|
|
498
|
+
var zend = Math.min(Math.max(z1, z2), globals.dimensions[2] - 1);
|
|
499
|
+
var jStride = globals.dimensions[0];
|
|
500
|
+
var kStride = globals.dimensions[0] * globals.dimensions[1];
|
|
501
|
+
|
|
502
|
+
for (var k = zstart; k <= zend; k++) {
|
|
503
|
+
for (var j = ystart; j <= yend; j++) {
|
|
504
|
+
var index = j * jStride + k * kStride;
|
|
505
|
+
globals.buffer.fill(1, index + xstart, index + xend + 1);
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
} // --------------------------------------------------------------------------
|
|
510
|
+
// center and scale3 are in IJK coordinates
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
function handlePaintEllipse(_ref2) {
|
|
514
|
+
var center = _ref2.center,
|
|
515
|
+
scale3 = _ref2.scale3;
|
|
516
|
+
|
|
517
|
+
var radius3 = _toConsumableArray$1(scale3);
|
|
518
|
+
|
|
519
|
+
var indexCenter = center.map(function (val) {
|
|
520
|
+
return Math.round(val);
|
|
521
|
+
});
|
|
522
|
+
var sliceAxis = -1;
|
|
523
|
+
|
|
524
|
+
if (globals.slicingMode != null && globals.slicingMode !== SlicingMode.NONE) {
|
|
525
|
+
sliceAxis = globals.slicingMode % 3;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
var yStride = globals.dimensions[0];
|
|
529
|
+
var zStride = globals.dimensions[0] * globals.dimensions[1];
|
|
530
|
+
|
|
531
|
+
var _indexCenter = _slicedToArray(indexCenter, 3),
|
|
532
|
+
xmin = _indexCenter[0],
|
|
533
|
+
ymin = _indexCenter[1],
|
|
534
|
+
zmin = _indexCenter[2];
|
|
535
|
+
|
|
536
|
+
var _indexCenter2 = _slicedToArray(indexCenter, 3),
|
|
537
|
+
xmax = _indexCenter2[0],
|
|
538
|
+
ymax = _indexCenter2[1],
|
|
539
|
+
zmax = _indexCenter2[2];
|
|
540
|
+
|
|
541
|
+
if (sliceAxis !== 2) {
|
|
542
|
+
zmin = Math.round(Math.max(indexCenter[2] - radius3[2], 0));
|
|
543
|
+
zmax = Math.round(Math.min(indexCenter[2] + radius3[2], globals.dimensions[2] - 1));
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
for (var z = zmin; z <= zmax; z++) {
|
|
547
|
+
var dz = 0;
|
|
548
|
+
|
|
549
|
+
if (sliceAxis !== 2) {
|
|
550
|
+
dz = (indexCenter[2] - z) / radius3[2];
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
var dzSquared = dz * dz;
|
|
554
|
+
|
|
555
|
+
if (dzSquared <= 1) {
|
|
556
|
+
var ay = radius3[1] * Math.sqrt(1 - dzSquared);
|
|
557
|
+
|
|
558
|
+
if (sliceAxis !== 1) {
|
|
559
|
+
ymin = Math.round(Math.max(indexCenter[1] - ay, 0));
|
|
560
|
+
ymax = Math.round(Math.min(indexCenter[1] + ay, globals.dimensions[1] - 1));
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
for (var y = ymin; y <= ymax; y++) {
|
|
564
|
+
var dy = 0;
|
|
565
|
+
|
|
566
|
+
if (sliceAxis !== 1) {
|
|
567
|
+
dy = (indexCenter[1] - y) / radius3[1];
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
var dySquared = dy * dy;
|
|
571
|
+
|
|
572
|
+
if (dySquared + dzSquared <= 1) {
|
|
573
|
+
if (sliceAxis !== 0) {
|
|
574
|
+
var ax = radius3[0] * Math.sqrt(1 - dySquared - dzSquared);
|
|
575
|
+
xmin = Math.round(Math.max(indexCenter[0] - ax, 0));
|
|
576
|
+
xmax = Math.round(Math.min(indexCenter[0] + ax, globals.dimensions[0] - 1));
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
if (xmin <= xmax) {
|
|
580
|
+
var index = y * yStride + z * zStride;
|
|
581
|
+
globals.buffer.fill(1, index + xmin, index + xmax + 1);
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
} // --------------------------------------------------------------------------
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
function handlePaint(_ref3) {
|
|
591
|
+
var point = _ref3.point,
|
|
592
|
+
radius = _ref3.radius;
|
|
593
|
+
|
|
594
|
+
if (!globals.prevPoint) {
|
|
595
|
+
globals.prevPoint = point;
|
|
596
|
+
} // DDA params
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
var delta = [point[0] - globals.prevPoint[0], point[1] - globals.prevPoint[1], point[2] - globals.prevPoint[2]];
|
|
600
|
+
var inc = [1, 1, 1];
|
|
601
|
+
|
|
602
|
+
for (var i = 0; i < 3; i++) {
|
|
603
|
+
if (delta[i] < 0) {
|
|
604
|
+
delta[i] = -delta[i];
|
|
605
|
+
inc[i] = -1;
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
var step = Math.max.apply(Math, delta); // DDA
|
|
610
|
+
|
|
611
|
+
var thresh = [step, step, step];
|
|
612
|
+
|
|
613
|
+
var pt = _toConsumableArray$1(globals.prevPoint);
|
|
614
|
+
|
|
615
|
+
for (var s = 0; s <= step; s++) {
|
|
616
|
+
handlePaintEllipse({
|
|
617
|
+
center: pt,
|
|
618
|
+
scale3: radius
|
|
619
|
+
});
|
|
620
|
+
|
|
621
|
+
for (var ii = 0; ii < 3; ii++) {
|
|
622
|
+
thresh[ii] -= delta[ii];
|
|
623
|
+
|
|
624
|
+
if (thresh[ii] <= 0) {
|
|
625
|
+
thresh[ii] += step;
|
|
626
|
+
pt[ii] += inc[ii];
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
globals.prevPoint = point;
|
|
632
|
+
} // --------------------------------------------------------------------------
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
function handlePaintTriangles(_ref4) {
|
|
636
|
+
var triangleList = _ref4.triangleList;
|
|
637
|
+
// debugger;
|
|
638
|
+
var triangleCount = Math.floor(triangleList.length / 9);
|
|
639
|
+
|
|
640
|
+
for (var i = 0; i < triangleCount; i++) {
|
|
641
|
+
var point0 = triangleList.subarray(9 * i + 0, 9 * i + 3);
|
|
642
|
+
var point1 = triangleList.subarray(9 * i + 3, 9 * i + 6);
|
|
643
|
+
var point2 = triangleList.subarray(9 * i + 6, 9 * i + 9);
|
|
644
|
+
var v1 = [0, 0, 0];
|
|
645
|
+
var v2 = [0, 0, 0];
|
|
646
|
+
subtract(v1, point1, point0);
|
|
647
|
+
subtract(v2, point2, point0);
|
|
648
|
+
var step1 = [0, 0, 0];
|
|
649
|
+
var numStep1 = 2 * Math.max(Math.abs(v1[0]), Math.abs(v1[1]), Math.abs(v1[2]));
|
|
650
|
+
scale(step1, v1, 1 / numStep1);
|
|
651
|
+
var step2 = [0, 0, 0];
|
|
652
|
+
var numStep2 = 2 * Math.max(Math.abs(v2[0]), Math.abs(v2[1]), Math.abs(v2[2]));
|
|
653
|
+
scale(step2, v2, 1 / numStep2);
|
|
654
|
+
var jStride = globals.dimensions[0];
|
|
655
|
+
var kStride = globals.dimensions[0] * globals.dimensions[1];
|
|
656
|
+
|
|
657
|
+
for (var u = 0; u <= numStep1 + 1; u++) {
|
|
658
|
+
var maxV = numStep2 - u * (numStep2 / numStep1);
|
|
659
|
+
|
|
660
|
+
for (var v = 0; v <= maxV + 1; v++) {
|
|
661
|
+
var point = _toConsumableArray$1(point0);
|
|
662
|
+
|
|
663
|
+
scaleAndAdd(point, point, step1, u);
|
|
664
|
+
scaleAndAdd(point, point, step2, v);
|
|
665
|
+
point[0] = Math.round(point[0]);
|
|
666
|
+
point[1] = Math.round(point[1]);
|
|
667
|
+
point[2] = Math.round(point[2]);
|
|
668
|
+
|
|
669
|
+
if (point[0] >= 0 && point[0] < globals.dimensions[0] && point[1] >= 0 && point[1] < globals.dimensions[1] && point[2] >= 0 && point[2] < globals.dimensions[2]) {
|
|
670
|
+
globals.buffer[point[0] + jStride * point[1] + kStride * point[2]] = 1;
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
} // --------------------------------------------------------------------------
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
registerWebworker().operation('start', function (_ref5) {
|
|
679
|
+
var bufferType = _ref5.bufferType,
|
|
680
|
+
dimensions = _ref5.dimensions,
|
|
681
|
+
slicingMode = _ref5.slicingMode;
|
|
682
|
+
|
|
683
|
+
if (!globals.buffer) {
|
|
684
|
+
var bufferSize = dimensions[0] * dimensions[1] * dimensions[2];
|
|
685
|
+
/* eslint-disable-next-line */
|
|
686
|
+
|
|
687
|
+
globals.buffer = new self[bufferType](bufferSize);
|
|
688
|
+
globals.dimensions = dimensions;
|
|
689
|
+
globals.prevPoint = null;
|
|
690
|
+
globals.slicingMode = slicingMode;
|
|
691
|
+
}
|
|
692
|
+
}).operation('paint', handlePaint).operation('paintRectangle', handlePaintRectangle).operation('paintEllipse', handlePaintEllipse).operation('paintTriangles', handlePaintTriangles).operation('end', function () {
|
|
693
|
+
var response = new registerWebworker.TransferableResponse(globals.buffer.buffer, [globals.buffer.buffer]);
|
|
694
|
+
globals.buffer = null;
|
|
695
|
+
return response;
|
|
696
|
+
});
|
|
697
|
+
|
|
698
|
+
}());
|
|
699
|
+
}, null);
|
|
4
700
|
/* eslint-enable */
|
|
5
701
|
|
|
6
702
|
export { WorkerFactory as W };
|
|
@@ -1,6 +1,278 @@
|
|
|
1
|
-
import { c as
|
|
1
|
+
import { c as createInlineWorkerFactory } from '../../../../rollup-plugin-web-worker-loader__helper__browser__createInlineWorkerFactory.js';
|
|
2
2
|
|
|
3
|
-
var WorkerFactory =
|
|
3
|
+
var WorkerFactory = createInlineWorkerFactory(/* rollup-plugin-web-worker-loader */function () {
|
|
4
|
+
(function () {
|
|
5
|
+
'__worker_loader_strict__';
|
|
6
|
+
|
|
7
|
+
var register = {exports: {}};
|
|
8
|
+
|
|
9
|
+
var _createClass$1 = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
10
|
+
|
|
11
|
+
function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
12
|
+
|
|
13
|
+
var TinyEmitter$1 = function () {
|
|
14
|
+
function TinyEmitter() {
|
|
15
|
+
_classCallCheck$1(this, TinyEmitter);
|
|
16
|
+
|
|
17
|
+
Object.defineProperty(this, '__listeners', {
|
|
18
|
+
value: {},
|
|
19
|
+
enumerable: false,
|
|
20
|
+
writable: false
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
_createClass$1(TinyEmitter, [{
|
|
25
|
+
key: 'emit',
|
|
26
|
+
value: function emit(eventName) {
|
|
27
|
+
if (!this.__listeners[eventName]) return this;
|
|
28
|
+
|
|
29
|
+
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
30
|
+
args[_key - 1] = arguments[_key];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
var _iteratorNormalCompletion = true;
|
|
34
|
+
var _didIteratorError = false;
|
|
35
|
+
var _iteratorError = undefined;
|
|
36
|
+
|
|
37
|
+
try {
|
|
38
|
+
for (var _iterator = this.__listeners[eventName][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
39
|
+
var handler = _step.value;
|
|
40
|
+
|
|
41
|
+
handler.apply(undefined, args);
|
|
42
|
+
}
|
|
43
|
+
} catch (err) {
|
|
44
|
+
_didIteratorError = true;
|
|
45
|
+
_iteratorError = err;
|
|
46
|
+
} finally {
|
|
47
|
+
try {
|
|
48
|
+
if (!_iteratorNormalCompletion && _iterator.return) {
|
|
49
|
+
_iterator.return();
|
|
50
|
+
}
|
|
51
|
+
} finally {
|
|
52
|
+
if (_didIteratorError) {
|
|
53
|
+
throw _iteratorError;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
key: 'once',
|
|
62
|
+
value: function once(eventName, handler) {
|
|
63
|
+
var _this = this;
|
|
64
|
+
|
|
65
|
+
var once = function once() {
|
|
66
|
+
_this.off(eventName, once);
|
|
67
|
+
handler.apply(undefined, arguments);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
return this.on(eventName, once);
|
|
71
|
+
}
|
|
72
|
+
}, {
|
|
73
|
+
key: 'on',
|
|
74
|
+
value: function on(eventName, handler) {
|
|
75
|
+
if (!this.__listeners[eventName]) this.__listeners[eventName] = [];
|
|
76
|
+
|
|
77
|
+
this.__listeners[eventName].push(handler);
|
|
78
|
+
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
}, {
|
|
82
|
+
key: 'off',
|
|
83
|
+
value: function off(eventName, handler) {
|
|
84
|
+
if (handler) this.__listeners[eventName] = this.__listeners[eventName].filter(function (h) {
|
|
85
|
+
return h !== handler;
|
|
86
|
+
});else this.__listeners[eventName] = [];
|
|
87
|
+
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
}]);
|
|
91
|
+
|
|
92
|
+
return TinyEmitter;
|
|
93
|
+
}();
|
|
94
|
+
|
|
95
|
+
var tinyEmitter = TinyEmitter$1;
|
|
96
|
+
|
|
97
|
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
98
|
+
|
|
99
|
+
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
|
|
100
|
+
|
|
101
|
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
102
|
+
|
|
103
|
+
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
|
104
|
+
|
|
105
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
106
|
+
|
|
107
|
+
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
108
|
+
|
|
109
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
110
|
+
|
|
111
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
112
|
+
|
|
113
|
+
var TinyEmitter = tinyEmitter;
|
|
114
|
+
|
|
115
|
+
var MESSAGE_RESULT = 0;
|
|
116
|
+
var MESSAGE_EVENT = 1;
|
|
117
|
+
|
|
118
|
+
var RESULT_ERROR = 0;
|
|
119
|
+
var RESULT_SUCCESS = 1;
|
|
120
|
+
|
|
121
|
+
var DEFAULT_HANDLER = 'main';
|
|
122
|
+
|
|
123
|
+
var isPromise = function isPromise(o) {
|
|
124
|
+
return (typeof o === 'undefined' ? 'undefined' : _typeof(o)) === 'object' && o !== null && typeof o.then === 'function' && typeof o.catch === 'function';
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
function RegisterPromise(fn) {
|
|
128
|
+
var handlers = _defineProperty({}, DEFAULT_HANDLER, fn);
|
|
129
|
+
var sendPostMessage = self.postMessage.bind(self);
|
|
130
|
+
|
|
131
|
+
var server = new (function (_TinyEmitter) {
|
|
132
|
+
_inherits(WorkerRegister, _TinyEmitter);
|
|
133
|
+
|
|
134
|
+
function WorkerRegister() {
|
|
135
|
+
_classCallCheck(this, WorkerRegister);
|
|
136
|
+
|
|
137
|
+
return _possibleConstructorReturn(this, (WorkerRegister.__proto__ || Object.getPrototypeOf(WorkerRegister)).apply(this, arguments));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
_createClass(WorkerRegister, [{
|
|
141
|
+
key: 'emit',
|
|
142
|
+
value: function emit(eventName) {
|
|
143
|
+
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
144
|
+
args[_key - 1] = arguments[_key];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (args.length == 1 && args[0] instanceof TransferableResponse) {
|
|
148
|
+
sendPostMessage({ eventName: eventName, args: args }, args[0].transferable);
|
|
149
|
+
} else {
|
|
150
|
+
sendPostMessage({ eventName: eventName, args: args });
|
|
151
|
+
}
|
|
152
|
+
return this;
|
|
153
|
+
}
|
|
154
|
+
}, {
|
|
155
|
+
key: 'emitLocally',
|
|
156
|
+
value: function emitLocally(eventName) {
|
|
157
|
+
var _get2;
|
|
158
|
+
|
|
159
|
+
for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
160
|
+
args[_key2 - 1] = arguments[_key2];
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
(_get2 = _get(WorkerRegister.prototype.__proto__ || Object.getPrototypeOf(WorkerRegister.prototype), 'emit', this)).call.apply(_get2, [this, eventName].concat(args));
|
|
164
|
+
}
|
|
165
|
+
}, {
|
|
166
|
+
key: 'operation',
|
|
167
|
+
value: function operation(name, handler) {
|
|
168
|
+
handlers[name] = handler;
|
|
169
|
+
return this;
|
|
170
|
+
}
|
|
171
|
+
}]);
|
|
172
|
+
|
|
173
|
+
return WorkerRegister;
|
|
174
|
+
}(TinyEmitter))();
|
|
175
|
+
|
|
176
|
+
var run = function run(messageId, payload, handlerName) {
|
|
177
|
+
|
|
178
|
+
var onSuccess = function onSuccess(result) {
|
|
179
|
+
if (result && result instanceof TransferableResponse) {
|
|
180
|
+
sendResult(messageId, RESULT_SUCCESS, result.payload, result.transferable);
|
|
181
|
+
} else {
|
|
182
|
+
sendResult(messageId, RESULT_SUCCESS, result);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
var onError = function onError(e) {
|
|
187
|
+
sendResult(messageId, RESULT_ERROR, {
|
|
188
|
+
message: e.message,
|
|
189
|
+
stack: e.stack
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
try {
|
|
194
|
+
var result = runFn(messageId, payload, handlerName);
|
|
195
|
+
if (isPromise(result)) {
|
|
196
|
+
result.then(onSuccess).catch(onError);
|
|
197
|
+
} else {
|
|
198
|
+
onSuccess(result);
|
|
199
|
+
}
|
|
200
|
+
} catch (e) {
|
|
201
|
+
onError(e);
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
var runFn = function runFn(messageId, payload, handlerName) {
|
|
206
|
+
var handler = handlers[handlerName || DEFAULT_HANDLER];
|
|
207
|
+
if (!handler) throw new Error('Not found handler for this request');
|
|
208
|
+
|
|
209
|
+
return handler(payload, sendEvent.bind(null, messageId));
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
var sendResult = function sendResult(messageId, success, payload) {
|
|
213
|
+
var transferable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
214
|
+
|
|
215
|
+
sendPostMessage([MESSAGE_RESULT, messageId, success, payload], transferable);
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
var sendEvent = function sendEvent(messageId, eventName, payload) {
|
|
219
|
+
if (!eventName) throw new Error('eventName is required');
|
|
220
|
+
|
|
221
|
+
if (typeof eventName !== 'string') throw new Error('eventName should be string');
|
|
222
|
+
|
|
223
|
+
sendPostMessage([MESSAGE_EVENT, messageId, eventName, payload]);
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
self.addEventListener('message', function (_ref) {
|
|
227
|
+
var data = _ref.data;
|
|
228
|
+
|
|
229
|
+
if (Array.isArray(data)) {
|
|
230
|
+
run.apply(undefined, _toConsumableArray(data));
|
|
231
|
+
} else if (data && data.eventName) {
|
|
232
|
+
server.emitLocally.apply(server, [data.eventName].concat(_toConsumableArray(data.args)));
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
return server;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
var TransferableResponse = function TransferableResponse(payload, transferable) {
|
|
240
|
+
_classCallCheck(this, TransferableResponse);
|
|
241
|
+
|
|
242
|
+
this.payload = payload;
|
|
243
|
+
this.transferable = transferable;
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
register.exports = RegisterPromise;
|
|
247
|
+
register.exports.TransferableResponse = TransferableResponse;
|
|
248
|
+
|
|
249
|
+
var registerWebworker = register.exports;
|
|
250
|
+
|
|
251
|
+
/* eslint-disable */
|
|
252
|
+
// prettier-ignore
|
|
253
|
+
|
|
254
|
+
registerWebworker(function (message, emit) {
|
|
255
|
+
var array = message.array;
|
|
256
|
+
var min = message.min;
|
|
257
|
+
var max = message.max;
|
|
258
|
+
var offset = message.component || 0;
|
|
259
|
+
var step = message.numberOfComponents || 1;
|
|
260
|
+
var numberOfBins = message.numberOfBins;
|
|
261
|
+
var delta = max - min;
|
|
262
|
+
var histogram = new Float32Array(numberOfBins);
|
|
263
|
+
histogram.fill(0);
|
|
264
|
+
var len = array.length;
|
|
265
|
+
|
|
266
|
+
for (var i = offset; i < len; i += step) {
|
|
267
|
+
var idx = Math.floor((numberOfBins - 1) * (Number(array[i]) - min) / delta);
|
|
268
|
+
histogram[idx] += 1;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
return Promise.resolve(new registerWebworker.TransferableResponse(histogram, [histogram.buffer]));
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
}());
|
|
275
|
+
}, null);
|
|
4
276
|
/* eslint-enable */
|
|
5
277
|
|
|
6
278
|
export { WorkerFactory as W };
|
package/package.json
CHANGED
package/_virtual/rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
function decodeBase64(base64, enableUnicode) {
|
|
2
|
-
var binaryString = atob(base64);
|
|
3
|
-
if (enableUnicode) {
|
|
4
|
-
var binaryView = new Uint8Array(binaryString.length);
|
|
5
|
-
for (var i = 0, n = binaryString.length; i < n; ++i) {
|
|
6
|
-
binaryView[i] = binaryString.charCodeAt(i);
|
|
7
|
-
}
|
|
8
|
-
return String.fromCharCode.apply(null, new Uint16Array(binaryView.buffer));
|
|
9
|
-
}
|
|
10
|
-
return binaryString;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function createURL(base64, sourcemapArg, enableUnicodeArg) {
|
|
14
|
-
var sourcemap = sourcemapArg === undefined ? null : sourcemapArg;
|
|
15
|
-
var enableUnicode = enableUnicodeArg === undefined ? false : enableUnicodeArg;
|
|
16
|
-
var source = decodeBase64(base64, enableUnicode);
|
|
17
|
-
var start = source.indexOf('\n', 10) + 1;
|
|
18
|
-
var body = source.substring(start) + (sourcemap ? '\/\/# sourceMappingURL=' + sourcemap : '');
|
|
19
|
-
var blob = new Blob([body], { type: 'application/javascript' });
|
|
20
|
-
return URL.createObjectURL(blob);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function createBase64WorkerFactory(base64, sourcemapArg, enableUnicodeArg) {
|
|
24
|
-
var url;
|
|
25
|
-
return function WorkerFactory(options) {
|
|
26
|
-
url = url || createURL(base64, sourcemapArg, enableUnicodeArg);
|
|
27
|
-
return new Worker(url, options);
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export { createBase64WorkerFactory as c };
|