@loaders.gl/worker-utils 3.3.0-alpha.5 → 3.3.0-alpha.7
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/dist/es5/index.js +35 -52
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/async-queue/async-queue.js +15 -22
- package/dist/es5/lib/async-queue/async-queue.js.map +1 -1
- package/dist/es5/lib/env-utils/assert.js.map +1 -1
- package/dist/es5/lib/env-utils/globals.js +7 -4
- package/dist/es5/lib/env-utils/globals.js.map +1 -1
- package/dist/es5/lib/env-utils/version.js +3 -3
- package/dist/es5/lib/env-utils/version.js.map +1 -1
- package/dist/es5/lib/library-utils/library-utils.js +6 -45
- package/dist/es5/lib/library-utils/library-utils.js.map +1 -1
- package/dist/es5/lib/node/require-utils.node.js +0 -22
- package/dist/es5/lib/node/require-utils.node.js.map +1 -1
- package/dist/es5/lib/node/worker_threads-browser.js +3 -6
- package/dist/es5/lib/node/worker_threads-browser.js.map +1 -1
- package/dist/es5/lib/node/worker_threads.js +0 -2
- package/dist/es5/lib/node/worker_threads.js.map +1 -1
- package/dist/es5/lib/process-utils/child-process-proxy.js +6 -49
- package/dist/es5/lib/process-utils/child-process-proxy.js.map +1 -1
- package/dist/es5/lib/process-utils/process-utils.js +0 -7
- package/dist/es5/lib/process-utils/process-utils.js.map +1 -1
- package/dist/es5/lib/worker-api/create-worker.js +40 -96
- package/dist/es5/lib/worker-api/create-worker.js.map +1 -1
- package/dist/es5/lib/worker-api/get-worker-url.js +2 -7
- package/dist/es5/lib/worker-api/get-worker-url.js.map +1 -1
- package/dist/es5/lib/worker-api/process-on-worker.js +13 -39
- package/dist/es5/lib/worker-api/process-on-worker.js.map +1 -1
- package/dist/es5/lib/worker-api/validate-worker-version.js +0 -4
- package/dist/es5/lib/worker-api/validate-worker-version.js.map +1 -1
- package/dist/es5/lib/worker-farm/worker-body.js +13 -30
- package/dist/es5/lib/worker-farm/worker-body.js.map +1 -1
- package/dist/es5/lib/worker-farm/worker-farm.js +21 -32
- package/dist/es5/lib/worker-farm/worker-farm.js.map +1 -1
- package/dist/es5/lib/worker-farm/worker-job.js +9 -13
- package/dist/es5/lib/worker-farm/worker-job.js.map +1 -1
- package/dist/es5/lib/worker-farm/worker-pool.js +18 -51
- package/dist/es5/lib/worker-farm/worker-pool.js.map +1 -1
- package/dist/es5/lib/worker-farm/worker-thread.js +21 -33
- package/dist/es5/lib/worker-farm/worker-thread.js.map +1 -1
- package/dist/es5/lib/worker-utils/get-loadable-worker-url.js +1 -5
- package/dist/es5/lib/worker-utils/get-loadable-worker-url.js.map +1 -1
- package/dist/es5/lib/worker-utils/get-transfer-list.js +4 -11
- package/dist/es5/lib/worker-utils/get-transfer-list.js.map +1 -1
- package/dist/es5/lib/worker-utils/remove-nontransferable-options.js +0 -4
- package/dist/es5/lib/worker-utils/remove-nontransferable-options.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/es5/workers/null-worker.js +0 -6
- package/dist/es5/workers/null-worker.js.map +1 -1
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/async-queue/async-queue.js +1 -14
- package/dist/esm/lib/async-queue/async-queue.js.map +1 -1
- package/dist/esm/lib/env-utils/assert.js +2 -0
- package/dist/esm/lib/env-utils/assert.js.map +1 -1
- package/dist/esm/lib/env-utils/globals.js +9 -1
- package/dist/esm/lib/env-utils/globals.js.map +1 -1
- package/dist/esm/lib/env-utils/version.js +4 -3
- package/dist/esm/lib/env-utils/version.js.map +1 -1
- package/dist/esm/lib/library-utils/library-utils.js +10 -12
- package/dist/esm/lib/library-utils/library-utils.js.map +1 -1
- package/dist/esm/lib/node/require-utils.node.js +7 -9
- package/dist/esm/lib/node/require-utils.node.js.map +1 -1
- package/dist/esm/lib/node/worker_threads-browser.js +1 -0
- package/dist/esm/lib/node/worker_threads-browser.js.map +1 -1
- package/dist/esm/lib/node/worker_threads.js.map +1 -1
- package/dist/esm/lib/process-utils/child-process-proxy.js +13 -25
- package/dist/esm/lib/process-utils/child-process-proxy.js.map +1 -1
- package/dist/esm/lib/process-utils/process-utils.js +3 -5
- package/dist/esm/lib/process-utils/process-utils.js.map +1 -1
- package/dist/esm/lib/worker-api/create-worker.js +4 -14
- package/dist/esm/lib/worker-api/create-worker.js.map +1 -1
- package/dist/esm/lib/worker-api/get-worker-url.js +6 -5
- package/dist/esm/lib/worker-api/get-worker-url.js.map +1 -1
- package/dist/esm/lib/worker-api/process-on-worker.js +7 -11
- package/dist/esm/lib/worker-api/process-on-worker.js.map +1 -1
- package/dist/esm/lib/worker-api/validate-worker-version.js +3 -2
- package/dist/esm/lib/worker-api/validate-worker-version.js.map +1 -1
- package/dist/esm/lib/worker-farm/worker-body.js +1 -13
- package/dist/esm/lib/worker-farm/worker-body.js.map +1 -1
- package/dist/esm/lib/worker-farm/worker-farm.js +9 -14
- package/dist/esm/lib/worker-farm/worker-farm.js.map +1 -1
- package/dist/esm/lib/worker-farm/worker-job.js +2 -9
- package/dist/esm/lib/worker-farm/worker-job.js.map +1 -1
- package/dist/esm/lib/worker-farm/worker-pool.js +8 -31
- package/dist/esm/lib/worker-farm/worker-pool.js.map +1 -1
- package/dist/esm/lib/worker-farm/worker-thread.js +2 -23
- package/dist/esm/lib/worker-farm/worker-thread.js.map +1 -1
- package/dist/esm/lib/worker-utils/get-loadable-worker-url.js +2 -3
- package/dist/esm/lib/worker-utils/get-loadable-worker-url.js.map +1 -1
- package/dist/esm/lib/worker-utils/get-transfer-list.js +9 -10
- package/dist/esm/lib/worker-utils/get-transfer-list.js.map +1 -1
- package/dist/esm/lib/worker-utils/remove-nontransferable-options.js +1 -1
- package/dist/esm/lib/worker-utils/remove-nontransferable-options.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/workers/null-worker.js.map +1 -1
- package/dist/lib/library-utils/library-utils.js +5 -1
- package/dist/lib/node/worker_threads.js +5 -1
- package/dist/lib/process-utils/child-process-proxy.js +5 -1
- package/package.json +2 -2
package/dist/es5/index.js
CHANGED
|
@@ -1,44 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
Object.defineProperty(exports, "
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function get() {
|
|
11
|
-
return _assert.assert;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(exports, "isBrowser", {
|
|
7
|
+
Object.defineProperty(exports, "AsyncQueue", {
|
|
15
8
|
enumerable: true,
|
|
16
9
|
get: function get() {
|
|
17
|
-
return
|
|
10
|
+
return _asyncQueue.default;
|
|
18
11
|
}
|
|
19
12
|
});
|
|
20
|
-
Object.defineProperty(exports, "
|
|
13
|
+
Object.defineProperty(exports, "ChildProcessProxy", {
|
|
21
14
|
enumerable: true,
|
|
22
15
|
get: function get() {
|
|
23
|
-
return
|
|
16
|
+
return _childProcessProxy.default;
|
|
24
17
|
}
|
|
25
18
|
});
|
|
26
|
-
|
|
19
|
+
exports.NullWorker = void 0;
|
|
20
|
+
Object.defineProperty(exports, "WorkerBody", {
|
|
27
21
|
enumerable: true,
|
|
28
22
|
get: function get() {
|
|
29
|
-
return
|
|
23
|
+
return _workerBody.default;
|
|
30
24
|
}
|
|
31
25
|
});
|
|
32
|
-
Object.defineProperty(exports, "
|
|
26
|
+
Object.defineProperty(exports, "WorkerFarm", {
|
|
33
27
|
enumerable: true,
|
|
34
28
|
get: function get() {
|
|
35
|
-
return
|
|
29
|
+
return _workerFarm.default;
|
|
36
30
|
}
|
|
37
31
|
});
|
|
38
|
-
Object.defineProperty(exports, "
|
|
32
|
+
Object.defineProperty(exports, "WorkerJob", {
|
|
39
33
|
enumerable: true,
|
|
40
34
|
get: function get() {
|
|
41
|
-
return
|
|
35
|
+
return _workerJob.default;
|
|
42
36
|
}
|
|
43
37
|
});
|
|
44
38
|
Object.defineProperty(exports, "WorkerPool", {
|
|
@@ -47,16 +41,16 @@ Object.defineProperty(exports, "WorkerPool", {
|
|
|
47
41
|
return _workerPool.default;
|
|
48
42
|
}
|
|
49
43
|
});
|
|
50
|
-
Object.defineProperty(exports, "
|
|
44
|
+
Object.defineProperty(exports, "WorkerThread", {
|
|
51
45
|
enumerable: true,
|
|
52
46
|
get: function get() {
|
|
53
|
-
return
|
|
47
|
+
return _workerThread.default;
|
|
54
48
|
}
|
|
55
49
|
});
|
|
56
|
-
Object.defineProperty(exports, "
|
|
50
|
+
Object.defineProperty(exports, "assert", {
|
|
57
51
|
enumerable: true,
|
|
58
52
|
get: function get() {
|
|
59
|
-
return
|
|
53
|
+
return _assert.assert;
|
|
60
54
|
}
|
|
61
55
|
});
|
|
62
56
|
Object.defineProperty(exports, "canProcessOnWorker", {
|
|
@@ -71,16 +65,10 @@ Object.defineProperty(exports, "createWorker", {
|
|
|
71
65
|
return _createWorker.createWorker;
|
|
72
66
|
}
|
|
73
67
|
});
|
|
74
|
-
Object.defineProperty(exports, "
|
|
75
|
-
enumerable: true,
|
|
76
|
-
get: function get() {
|
|
77
|
-
return _getWorkerUrl.getWorkerURL;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
Object.defineProperty(exports, "validateWorkerVersion", {
|
|
68
|
+
Object.defineProperty(exports, "getLibraryUrl", {
|
|
81
69
|
enumerable: true,
|
|
82
70
|
get: function get() {
|
|
83
|
-
return
|
|
71
|
+
return _libraryUtils.getLibraryUrl;
|
|
84
72
|
}
|
|
85
73
|
});
|
|
86
74
|
Object.defineProperty(exports, "getTransferList", {
|
|
@@ -95,10 +83,22 @@ Object.defineProperty(exports, "getTransferListForWriter", {
|
|
|
95
83
|
return _getTransferList.getTransferListForWriter;
|
|
96
84
|
}
|
|
97
85
|
});
|
|
98
|
-
Object.defineProperty(exports, "
|
|
86
|
+
Object.defineProperty(exports, "getWorkerURL", {
|
|
99
87
|
enumerable: true,
|
|
100
88
|
get: function get() {
|
|
101
|
-
return
|
|
89
|
+
return _getWorkerUrl.getWorkerURL;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
Object.defineProperty(exports, "isBrowser", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get: function get() {
|
|
95
|
+
return _globals.isBrowser;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(exports, "isWorker", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function get() {
|
|
101
|
+
return _globals.isWorker;
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
104
|
Object.defineProperty(exports, "loadLibrary", {
|
|
@@ -107,50 +107,33 @@ Object.defineProperty(exports, "loadLibrary", {
|
|
|
107
107
|
return _libraryUtils.loadLibrary;
|
|
108
108
|
}
|
|
109
109
|
});
|
|
110
|
-
Object.defineProperty(exports, "
|
|
110
|
+
Object.defineProperty(exports, "processOnWorker", {
|
|
111
111
|
enumerable: true,
|
|
112
112
|
get: function get() {
|
|
113
|
-
return
|
|
113
|
+
return _processOnWorker.processOnWorker;
|
|
114
114
|
}
|
|
115
115
|
});
|
|
116
|
-
Object.defineProperty(exports, "
|
|
116
|
+
Object.defineProperty(exports, "validateWorkerVersion", {
|
|
117
117
|
enumerable: true,
|
|
118
118
|
get: function get() {
|
|
119
|
-
return
|
|
119
|
+
return _validateWorkerVersion.validateWorkerVersion;
|
|
120
120
|
}
|
|
121
121
|
});
|
|
122
|
-
exports.NullWorker = void 0;
|
|
123
|
-
|
|
124
122
|
var _version = require("./lib/env-utils/version");
|
|
125
|
-
|
|
126
123
|
var _assert = require("./lib/env-utils/assert");
|
|
127
|
-
|
|
128
124
|
var _globals = require("./lib/env-utils/globals");
|
|
129
|
-
|
|
130
125
|
var _workerJob = _interopRequireDefault(require("./lib/worker-farm/worker-job"));
|
|
131
|
-
|
|
132
126
|
var _workerThread = _interopRequireDefault(require("./lib/worker-farm/worker-thread"));
|
|
133
|
-
|
|
134
127
|
var _workerFarm = _interopRequireDefault(require("./lib/worker-farm/worker-farm"));
|
|
135
|
-
|
|
136
128
|
var _workerPool = _interopRequireDefault(require("./lib/worker-farm/worker-pool"));
|
|
137
|
-
|
|
138
129
|
var _workerBody = _interopRequireDefault(require("./lib/worker-farm/worker-body"));
|
|
139
|
-
|
|
140
130
|
var _processOnWorker = require("./lib/worker-api/process-on-worker");
|
|
141
|
-
|
|
142
131
|
var _createWorker = require("./lib/worker-api/create-worker");
|
|
143
|
-
|
|
144
132
|
var _getWorkerUrl = require("./lib/worker-api/get-worker-url");
|
|
145
|
-
|
|
146
133
|
var _validateWorkerVersion = require("./lib/worker-api/validate-worker-version");
|
|
147
|
-
|
|
148
134
|
var _getTransferList = require("./lib/worker-utils/get-transfer-list");
|
|
149
|
-
|
|
150
135
|
var _libraryUtils = require("./lib/library-utils/library-utils");
|
|
151
|
-
|
|
152
136
|
var _asyncQueue = _interopRequireDefault(require("./lib/async-queue/async-queue"));
|
|
153
|
-
|
|
154
137
|
var _childProcessProxy = _interopRequireDefault(require("./lib/process-utils/child-process-proxy"));
|
|
155
138
|
|
|
156
139
|
var NullWorker = {
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["NullWorker","id","name","module","version","VERSION","options","null"],"sources":["../../src/index.ts"],"sourcesContent":["import type {WorkerObject} from './types';\nimport {VERSION} from './lib/env-utils/version';\n\n// TYPES\nexport type {\n WorkerObject,\n WorkerOptions,\n // Protocol\n WorkerMessage,\n WorkerMessageType,\n WorkerMessageData,\n WorkerMessagePayload\n} from './types';\n\n// GENERAL UTILS\nexport {assert} from './lib/env-utils/assert';\nexport {isBrowser, isWorker} from './lib/env-utils/globals';\n\n// WORKER UTILS - TYPES\nexport {default as WorkerJob} from './lib/worker-farm/worker-job';\nexport {default as WorkerThread} from './lib/worker-farm/worker-thread';\n\n// WORKER FARMS\nexport {default as WorkerFarm} from './lib/worker-farm/worker-farm';\nexport {default as WorkerPool} from './lib/worker-farm/worker-pool';\nexport {default as WorkerBody} from './lib/worker-farm/worker-body';\n\nexport {processOnWorker, canProcessOnWorker} from './lib/worker-api/process-on-worker';\nexport {createWorker} from './lib/worker-api/create-worker';\n\n// WORKER UTILS - EXPORTS\nexport {getWorkerURL} from './lib/worker-api/get-worker-url';\nexport {validateWorkerVersion} from './lib/worker-api/validate-worker-version';\nexport {getTransferList, getTransferListForWriter} from './lib/worker-utils/get-transfer-list';\n\n// LIBRARY UTILS\nexport {getLibraryUrl, loadLibrary} from './lib/library-utils/library-utils';\n\n// PARSER UTILS\nexport {default as AsyncQueue} from './lib/async-queue/async-queue';\n\n// PROCESS UTILS\nexport {default as ChildProcessProxy} from './lib/process-utils/child-process-proxy';\n\n// WORKER OBJECTS\n\n/** A null worker to test that worker processing is functional */\nexport const NullWorker: WorkerObject = {\n id: 'null',\n name: 'null',\n module: 'worker-utils',\n version: VERSION,\n options: {\n null: {}\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AAcA;AACA;AAGA;AACA;AAGA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AAGA;AAGA;AAGA;;AAKO,IAAMA,UAAwB,GAAG;EACtCC,EAAE,EAAE,MAAM;EACVC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,cAAc;EACtBC,OAAO,EAAEC,gBAAO;EAChBC,OAAO,EAAE;IACPC,IAAI,EAAE,CAAC;EACT;AACF,CAAC;AAAC"}
|
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _Symbol$asyncIterator;
|
|
17
|
-
|
|
18
12
|
_Symbol$asyncIterator = Symbol.asyncIterator;
|
|
19
|
-
|
|
20
13
|
var AsyncQueue = function () {
|
|
21
14
|
function AsyncQueue() {
|
|
22
15
|
(0, _classCallCheck2.default)(this, AsyncQueue);
|
|
@@ -30,28 +23,30 @@ var AsyncQueue = function () {
|
|
|
30
23
|
|
|
31
24
|
(0, _createClass2.default)(AsyncQueue, [{
|
|
32
25
|
key: _Symbol$asyncIterator,
|
|
33
|
-
value:
|
|
26
|
+
value:
|
|
27
|
+
function value() {
|
|
34
28
|
return this;
|
|
35
29
|
}
|
|
30
|
+
|
|
36
31
|
}, {
|
|
37
32
|
key: "push",
|
|
38
|
-
value:
|
|
33
|
+
value:
|
|
34
|
+
function push(value) {
|
|
39
35
|
return this.enqueue(value);
|
|
40
36
|
}
|
|
37
|
+
|
|
41
38
|
}, {
|
|
42
39
|
key: "enqueue",
|
|
43
|
-
value:
|
|
40
|
+
value:
|
|
41
|
+
function enqueue(value) {
|
|
44
42
|
if (this._closed) {
|
|
45
43
|
throw new Error('Closed');
|
|
46
44
|
}
|
|
47
|
-
|
|
48
45
|
if (this._settlers.length > 0) {
|
|
49
46
|
if (this._values.length > 0) {
|
|
50
47
|
throw new Error('Illegal internal state');
|
|
51
48
|
}
|
|
52
|
-
|
|
53
49
|
var settler = this._settlers.shift();
|
|
54
|
-
|
|
55
50
|
if (value instanceof Error) {
|
|
56
51
|
settler.reject(value);
|
|
57
52
|
} else {
|
|
@@ -63,31 +58,31 @@ var AsyncQueue = function () {
|
|
|
63
58
|
this._values.push(value);
|
|
64
59
|
}
|
|
65
60
|
}
|
|
61
|
+
|
|
66
62
|
}, {
|
|
67
63
|
key: "close",
|
|
68
|
-
value:
|
|
64
|
+
value:
|
|
65
|
+
function close() {
|
|
69
66
|
while (this._settlers.length > 0) {
|
|
70
67
|
var settler = this._settlers.shift();
|
|
71
|
-
|
|
72
68
|
settler.resolve({
|
|
73
69
|
done: true
|
|
74
70
|
});
|
|
75
71
|
}
|
|
76
|
-
|
|
77
72
|
this._closed = true;
|
|
78
73
|
}
|
|
74
|
+
|
|
79
75
|
}, {
|
|
80
76
|
key: "next",
|
|
81
|
-
value:
|
|
82
|
-
var _this = this;
|
|
77
|
+
value:
|
|
83
78
|
|
|
79
|
+
function next() {
|
|
80
|
+
var _this = this;
|
|
84
81
|
if (this._values.length > 0) {
|
|
85
82
|
var value = this._values.shift();
|
|
86
|
-
|
|
87
83
|
if (value instanceof Error) {
|
|
88
84
|
return Promise.reject(value);
|
|
89
85
|
}
|
|
90
|
-
|
|
91
86
|
return Promise.resolve({
|
|
92
87
|
done: false,
|
|
93
88
|
value: value
|
|
@@ -98,7 +93,6 @@ var AsyncQueue = function () {
|
|
|
98
93
|
if (this._settlers.length > 0) {
|
|
99
94
|
throw new Error('Illegal internal state');
|
|
100
95
|
}
|
|
101
|
-
|
|
102
96
|
return Promise.resolve({
|
|
103
97
|
done: true,
|
|
104
98
|
value: undefined
|
|
@@ -115,6 +109,5 @@ var AsyncQueue = function () {
|
|
|
115
109
|
}]);
|
|
116
110
|
return AsyncQueue;
|
|
117
111
|
}();
|
|
118
|
-
|
|
119
112
|
exports.default = AsyncQueue;
|
|
120
113
|
//# sourceMappingURL=async-queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"async-queue.js","names":["Symbol","asyncIterator","AsyncQueue","_values","_settlers","_closed","value","enqueue","Error","length","settler","shift","reject","resolve","push","done","Promise","undefined"],"sources":["../../../../src/lib/async-queue/async-queue.ts"],"sourcesContent":["// From https://github.com/rauschma/async-iter-demo/tree/master/src under MIT license\n// http://2ality.com/2016/10/asynchronous-iteration.html\n\n/**\n * Async Queue\n * - AsyncIterable: An async iterator can be\n * - Values can be pushed onto the queue\n * @example\n * const asyncQueue = new AsyncQueue();\n * setTimeout(() => asyncQueue.enqueue('tick'), 1000);\n * setTimeout(() => asyncQueue.enqueue(new Error('done')), 10000);\n * for await (const value of asyncQueue) {\n * console.log(value); // tick\n * }\n */\nexport default class AsyncQueue<T> {\n private _values: any[];\n private _settlers: any[];\n private _closed: boolean;\n\n constructor() {\n this._values = []; // enqueues > dequeues\n this._settlers = []; // dequeues > enqueues\n this._closed = false;\n }\n\n /** Return an async iterator for this queue */\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return this;\n }\n\n /** Push a new value - the async iterator will yield a promise resolved to this value */\n push(value: T): void {\n return this.enqueue(value);\n }\n\n /**\n * Push a new value - the async iterator will yield a promise resolved to this value\n * Add an error - the async iterator will yield a promise rejected with this value\n */\n enqueue(value: T | Error): void {\n if (this._closed) {\n throw new Error('Closed');\n }\n\n if (this._settlers.length > 0) {\n if (this._values.length > 0) {\n throw new Error('Illegal internal state');\n }\n const settler = this._settlers.shift();\n if (value instanceof Error) {\n settler.reject(value);\n } else {\n settler.resolve({value});\n }\n } else {\n this._values.push(value);\n }\n }\n\n /** Indicate that we not waiting for more values - The async iterator will be done */\n close(): void {\n while (this._settlers.length > 0) {\n const settler = this._settlers.shift();\n settler.resolve({done: true});\n }\n this._closed = true;\n }\n\n // ITERATOR IMPLEMENTATION\n\n /** @returns a Promise for an IteratorResult */\n next(): Promise<IteratorResult<T, any>> {\n // If values in queue, yield the first value\n if (this._values.length > 0) {\n const value = this._values.shift();\n if (value instanceof Error) {\n return Promise.reject(value);\n }\n return Promise.resolve({done: false, value});\n }\n\n // If queue is closed, the iterator is done\n if (this._closed) {\n if (this._settlers.length > 0) {\n throw new Error('Illegal internal state');\n }\n return Promise.resolve({done: true, value: undefined});\n }\n\n // Yield a promise that waits for new values to be enqueued\n return new Promise((resolve, reject) => {\n this._settlers.push({resolve, reject});\n });\n }\n}\n"],"mappings":";;;;;;;;;;;wBA2BGA,MAAM,CAACC,aAAa;AAAA,IAZFC,UAAU;EAK7B,sBAAc;IAAA;IAAA;IAAA;IAAA;IACZ,IAAI,CAACC,OAAO,GAAG,EAAE;IACjB,IAAI,CAACC,SAAS,GAAG,EAAE;IACnB,IAAI,CAACC,OAAO,GAAG,KAAK;EACtB;;EAAC;IAAA;IAAA;IAGD,iBAA2C;MACzC,OAAO,IAAI;IACb;;EAAC;IAAA;IAAA;IAGD,cAAKC,KAAQ,EAAQ;MACnB,OAAO,IAAI,CAACC,OAAO,CAACD,KAAK,CAAC;IAC5B;;EAAC;IAAA;IAAA;IAMD,iBAAQA,KAAgB,EAAQ;MAC9B,IAAI,IAAI,CAACD,OAAO,EAAE;QAChB,MAAM,IAAIG,KAAK,CAAC,QAAQ,CAAC;MAC3B;MAEA,IAAI,IAAI,CAACJ,SAAS,CAACK,MAAM,GAAG,CAAC,EAAE;QAC7B,IAAI,IAAI,CAACN,OAAO,CAACM,MAAM,GAAG,CAAC,EAAE;UAC3B,MAAM,IAAID,KAAK,CAAC,wBAAwB,CAAC;QAC3C;QACA,IAAME,OAAO,GAAG,IAAI,CAACN,SAAS,CAACO,KAAK,EAAE;QACtC,IAAIL,KAAK,YAAYE,KAAK,EAAE;UAC1BE,OAAO,CAACE,MAAM,CAACN,KAAK,CAAC;QACvB,CAAC,MAAM;UACLI,OAAO,CAACG,OAAO,CAAC;YAACP,KAAK,EAALA;UAAK,CAAC,CAAC;QAC1B;MACF,CAAC,MAAM;QACL,IAAI,CAACH,OAAO,CAACW,IAAI,CAACR,KAAK,CAAC;MAC1B;IACF;;EAAC;IAAA;IAAA;IAGD,iBAAc;MACZ,OAAO,IAAI,CAACF,SAAS,CAACK,MAAM,GAAG,CAAC,EAAE;QAChC,IAAMC,OAAO,GAAG,IAAI,CAACN,SAAS,CAACO,KAAK,EAAE;QACtCD,OAAO,CAACG,OAAO,CAAC;UAACE,IAAI,EAAE;QAAI,CAAC,CAAC;MAC/B;MACA,IAAI,CAACV,OAAO,GAAG,IAAI;IACrB;;EAAC;IAAA;IAAA;;IAKD,gBAAwC;MAAA;MAEtC,IAAI,IAAI,CAACF,OAAO,CAACM,MAAM,GAAG,CAAC,EAAE;QAC3B,IAAMH,KAAK,GAAG,IAAI,CAACH,OAAO,CAACQ,KAAK,EAAE;QAClC,IAAIL,KAAK,YAAYE,KAAK,EAAE;UAC1B,OAAOQ,OAAO,CAACJ,MAAM,CAACN,KAAK,CAAC;QAC9B;QACA,OAAOU,OAAO,CAACH,OAAO,CAAC;UAACE,IAAI,EAAE,KAAK;UAAET,KAAK,EAALA;QAAK,CAAC,CAAC;MAC9C;;MAGA,IAAI,IAAI,CAACD,OAAO,EAAE;QAChB,IAAI,IAAI,CAACD,SAAS,CAACK,MAAM,GAAG,CAAC,EAAE;UAC7B,MAAM,IAAID,KAAK,CAAC,wBAAwB,CAAC;QAC3C;QACA,OAAOQ,OAAO,CAACH,OAAO,CAAC;UAACE,IAAI,EAAE,IAAI;UAAET,KAAK,EAAEW;QAAS,CAAC,CAAC;MACxD;;MAGA,OAAO,IAAID,OAAO,CAAC,UAACH,OAAO,EAAED,MAAM,EAAK;QACtC,KAAI,CAACR,SAAS,CAACU,IAAI,CAAC;UAACD,OAAO,EAAPA,OAAO;UAAED,MAAM,EAANA;QAAM,CAAC,CAAC;MACxC,CAAC,CAAC;IACJ;EAAC;EAAA;AAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"assert.js","names":["assert","condition","message","Error"],"sources":["../../../../src/lib/env-utils/assert.ts"],"sourcesContent":["// Replacement for the external assert method to reduce bundle size\n// Note: We don't use the second \"message\" argument in calling code,\n// so no need to support it here\n\n/** Throws an `Error` with the optional `message` if `condition` is falsy */\nexport function assert(condition: any, message?: string): void {\n if (!condition) {\n throw new Error(message || 'loaders.gl assertion failed.');\n }\n}\n"],"mappings":";;;;;;;AAKO,SAASA,MAAM,CAACC,SAAc,EAAEC,OAAgB,EAAQ;EAC7D,IAAI,CAACD,SAAS,EAAE;IACd,MAAM,IAAIE,KAAK,CAACD,OAAO,IAAI,8BAA8B,CAAC;EAC5D;AACF"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports.
|
|
9
|
-
|
|
7
|
+
exports.window = exports.self = exports.nodeVersion = exports.isWorker = exports.isMobile = exports.isBrowser = exports.global = exports.document = void 0;
|
|
10
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
9
|
|
|
12
10
|
var globals = {
|
|
@@ -23,13 +21,18 @@ var global_ = globals.global || globals.self || globals.window || {};
|
|
|
23
21
|
exports.global = global_;
|
|
24
22
|
var document_ = globals.document || {};
|
|
25
23
|
exports.document = document_;
|
|
26
|
-
var isBrowser =
|
|
24
|
+
var isBrowser =
|
|
25
|
+
(typeof process === "undefined" ? "undefined" : (0, _typeof2.default)(process)) !== 'object' || String(process) !== '[object process]' || process.browser;
|
|
26
|
+
|
|
27
27
|
exports.isBrowser = isBrowser;
|
|
28
28
|
var isWorker = typeof importScripts === 'function';
|
|
29
|
+
|
|
29
30
|
exports.isWorker = isWorker;
|
|
30
31
|
var isMobile = typeof window !== 'undefined' && typeof window.orientation !== 'undefined';
|
|
32
|
+
|
|
31
33
|
exports.isMobile = isMobile;
|
|
32
34
|
var matches = typeof process !== 'undefined' && process.version && /v([0-9]*)/.exec(process.version);
|
|
35
|
+
|
|
33
36
|
var nodeVersion = matches && parseFloat(matches[1]) || 0;
|
|
34
37
|
exports.nodeVersion = nodeVersion;
|
|
35
38
|
//# sourceMappingURL=globals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"globals.js","names":["globals","self","window","global","document","self_","window_","global_","document_","isBrowser","process","String","browser","isWorker","importScripts","isMobile","orientation","matches","version","exec","nodeVersion","parseFloat"],"sources":["../../../../src/lib/env-utils/globals.ts"],"sourcesContent":["// Purpose: include this in your module to avoids adding dependencies on\n// micro modules like 'global' and 'is-browser';\n\n/* eslint-disable no-restricted-globals */\nconst globals = {\n self: typeof self !== 'undefined' && self,\n window: typeof window !== 'undefined' && window,\n global: typeof global !== 'undefined' && global,\n document: typeof document !== 'undefined' && document\n};\n\nconst self_: {[key: string]: any} = globals.self || globals.window || globals.global || {};\nconst window_: {[key: string]: any} = globals.window || globals.self || globals.global || {};\nconst global_: {[key: string]: any} = globals.global || globals.self || globals.window || {};\nconst document_: {[key: string]: any} = globals.document || {};\n\nexport {self_ as self, window_ as window, global_ as global, document_ as document};\n\n/** true if running in the browser, false if running in Node.js */\nexport const isBrowser: boolean =\n // @ts-ignore process.browser\n typeof process !== 'object' || String(process) !== '[object process]' || process.browser;\n\n/** true if running on a worker thread */\nexport const isWorker: boolean = typeof importScripts === 'function';\n\n/** true if running on a mobile device */\nexport const isMobile: boolean =\n typeof window !== 'undefined' && typeof window.orientation !== 'undefined';\n\n// Extract node major version\nconst matches =\n typeof process !== 'undefined' && process.version && /v([0-9]*)/.exec(process.version);\n\n/** Version of Node.js if running under Node, otherwise 0 */\nexport const nodeVersion: number = (matches && parseFloat(matches[1])) || 0;\n"],"mappings":";;;;;;;;;AAIA,IAAMA,OAAO,GAAG;EACdC,IAAI,EAAE,OAAOA,IAAI,KAAK,WAAW,IAAIA,IAAI;EACzCC,MAAM,EAAE,OAAOA,MAAM,KAAK,WAAW,IAAIA,MAAM;EAC/CC,MAAM,EAAE,OAAOA,MAAM,KAAK,WAAW,IAAIA,MAAM;EAC/CC,QAAQ,EAAE,OAAOA,QAAQ,KAAK,WAAW,IAAIA;AAC/C,CAAC;AAED,IAAMC,KAA2B,GAAGL,OAAO,CAACC,IAAI,IAAID,OAAO,CAACE,MAAM,IAAIF,OAAO,CAACG,MAAM,IAAI,CAAC,CAAC;AAAC;AAC3F,IAAMG,OAA6B,GAAGN,OAAO,CAACE,MAAM,IAAIF,OAAO,CAACC,IAAI,IAAID,OAAO,CAACG,MAAM,IAAI,CAAC,CAAC;AAAC;AAC7F,IAAMI,OAA6B,GAAGP,OAAO,CAACG,MAAM,IAAIH,OAAO,CAACC,IAAI,IAAID,OAAO,CAACE,MAAM,IAAI,CAAC,CAAC;AAAC;AAC7F,IAAMM,SAA+B,GAAGR,OAAO,CAACI,QAAQ,IAAI,CAAC,CAAC;AAAC;AAKxD,IAAMK,SAAkB;AAE7B,QAAOC,OAAO,uDAAPA,OAAO,OAAK,QAAQ,IAAIC,MAAM,CAACD,OAAO,CAAC,KAAK,kBAAkB,IAAIA,OAAO,CAACE,OAAO;;AAAC;AAGpF,IAAMC,QAAiB,GAAG,OAAOC,aAAa,KAAK,UAAU;;AAAC;AAG9D,IAAMC,QAAiB,GAC5B,OAAOb,MAAM,KAAK,WAAW,IAAI,OAAOA,MAAM,CAACc,WAAW,KAAK,WAAW;;AAAC;AAG7E,IAAMC,OAAO,GACX,OAAOP,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACQ,OAAO,IAAI,WAAW,CAACC,IAAI,CAACT,OAAO,CAACQ,OAAO,CAAC;;AAGjF,IAAME,WAAmB,GAAIH,OAAO,IAAII,UAAU,CAACJ,OAAO,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC;AAAC"}
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VERSION = void 0;
|
|
7
|
+
|
|
7
8
|
var DEFAULT_VERSION = 'beta';
|
|
8
|
-
var VERSION = typeof "3.3.0-alpha.
|
|
9
|
+
var VERSION = typeof "3.3.0-alpha.7" !== 'undefined' ? "3.3.0-alpha.7" : DEFAULT_VERSION;
|
|
9
10
|
exports.VERSION = VERSION;
|
|
10
|
-
|
|
11
|
-
if (typeof "3.3.0-alpha.5" === 'undefined') {
|
|
11
|
+
if (typeof "3.3.0-alpha.7" === 'undefined') {
|
|
12
12
|
console.error('loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.');
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"version.js","names":["DEFAULT_VERSION","VERSION","console","error"],"sources":["../../../../src/lib/env-utils/version.ts"],"sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n\n// Change to `latest` on production branches\nconst DEFAULT_VERSION = 'beta';\ndeclare let __VERSION__: string;\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : DEFAULT_VERSION;\nif (typeof __VERSION__ === 'undefined') {\n // eslint-disable-next-line\n console.error(\n 'loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.'\n );\n}\n"],"mappings":";;;;;;;AAIA,IAAMA,eAAe,GAAG,MAAM;AAEvB,IAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiBD,eAAe;AAAC;AAC1F,IAAI,sBAAkB,KAAK,WAAW,EAAE;EAEtCE,OAAO,CAACC,KAAK,CACX,iIAAiI,CAClI;AACH"}
|
|
@@ -1,62 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
exports.loadLibrary = loadLibrary;
|
|
11
8
|
exports.getLibraryUrl = getLibraryUrl;
|
|
12
|
-
|
|
9
|
+
exports.loadLibrary = loadLibrary;
|
|
13
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
-
|
|
15
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
-
|
|
17
12
|
var _globals = require("../env-utils/globals");
|
|
18
|
-
|
|
19
13
|
var node = _interopRequireWildcard(require("../node/require-utils.node"));
|
|
20
|
-
|
|
21
14
|
var _assert = require("../env-utils/assert");
|
|
22
|
-
|
|
23
15
|
var _version = require("../env-utils/version");
|
|
24
|
-
|
|
25
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
26
|
-
|
|
27
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
28
18
|
|
|
29
19
|
var LATEST = 'beta';
|
|
30
|
-
var VERSION = typeof "3.3.0-alpha.
|
|
20
|
+
var VERSION = typeof "3.3.0-alpha.7" !== 'undefined' ? "3.3.0-alpha.7" : LATEST;
|
|
31
21
|
var loadLibraryPromises = {};
|
|
32
22
|
|
|
33
23
|
function loadLibrary(_x) {
|
|
34
24
|
return _loadLibrary.apply(this, arguments);
|
|
35
25
|
}
|
|
36
|
-
|
|
37
26
|
function _loadLibrary() {
|
|
38
27
|
_loadLibrary = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(libraryUrl) {
|
|
39
28
|
var moduleName,
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
options,
|
|
30
|
+
_args = arguments;
|
|
42
31
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
43
32
|
while (1) {
|
|
44
33
|
switch (_context.prev = _context.next) {
|
|
45
34
|
case 0:
|
|
46
35
|
moduleName = _args.length > 1 && _args[1] !== undefined ? _args[1] : null;
|
|
47
36
|
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
|
|
48
|
-
|
|
49
37
|
if (moduleName) {
|
|
50
38
|
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
|
|
51
39
|
}
|
|
52
40
|
|
|
53
|
-
loadLibraryPromises[libraryUrl] =
|
|
41
|
+
loadLibraryPromises[libraryUrl] =
|
|
42
|
+
loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
|
|
54
43
|
_context.next = 6;
|
|
55
44
|
return loadLibraryPromises[libraryUrl];
|
|
56
|
-
|
|
57
45
|
case 6:
|
|
58
46
|
return _context.abrupt("return", _context.sent);
|
|
59
|
-
|
|
60
47
|
case 7:
|
|
61
48
|
case "end":
|
|
62
49
|
return _context.stop();
|
|
@@ -66,14 +53,12 @@ function _loadLibrary() {
|
|
|
66
53
|
}));
|
|
67
54
|
return _loadLibrary.apply(this, arguments);
|
|
68
55
|
}
|
|
69
|
-
|
|
70
56
|
function getLibraryUrl(library, moduleName, options) {
|
|
71
57
|
if (library.startsWith('http')) {
|
|
72
58
|
return library;
|
|
73
59
|
}
|
|
74
60
|
|
|
75
61
|
var modules = options.modules || {};
|
|
76
|
-
|
|
77
62
|
if (modules[library]) {
|
|
78
63
|
return modules[library];
|
|
79
64
|
}
|
|
@@ -90,18 +75,14 @@ function getLibraryUrl(library, moduleName, options) {
|
|
|
90
75
|
if (_globals.isWorker) {
|
|
91
76
|
return "../src/libs/".concat(library);
|
|
92
77
|
}
|
|
93
|
-
|
|
94
78
|
return "modules/".concat(moduleName, "/src/libs/").concat(library);
|
|
95
79
|
}
|
|
96
|
-
|
|
97
80
|
function loadLibraryFromFile(_x2) {
|
|
98
81
|
return _loadLibraryFromFile.apply(this, arguments);
|
|
99
82
|
}
|
|
100
|
-
|
|
101
83
|
function _loadLibraryFromFile() {
|
|
102
84
|
_loadLibraryFromFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(libraryUrl) {
|
|
103
85
|
var _response, response, scriptSource;
|
|
104
|
-
|
|
105
86
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
106
87
|
while (1) {
|
|
107
88
|
switch (_context2.prev = _context2.next) {
|
|
@@ -110,67 +91,51 @@ function _loadLibraryFromFile() {
|
|
|
110
91
|
_context2.next = 7;
|
|
111
92
|
break;
|
|
112
93
|
}
|
|
113
|
-
|
|
114
94
|
_context2.next = 3;
|
|
115
95
|
return fetch(libraryUrl);
|
|
116
|
-
|
|
117
96
|
case 3:
|
|
118
97
|
_response = _context2.sent;
|
|
119
98
|
_context2.next = 6;
|
|
120
99
|
return _response.arrayBuffer();
|
|
121
|
-
|
|
122
100
|
case 6:
|
|
123
101
|
return _context2.abrupt("return", _context2.sent);
|
|
124
|
-
|
|
125
102
|
case 7:
|
|
126
103
|
if (_globals.isBrowser) {
|
|
127
104
|
_context2.next = 20;
|
|
128
105
|
break;
|
|
129
106
|
}
|
|
130
|
-
|
|
131
107
|
_context2.prev = 8;
|
|
132
108
|
_context2.t0 = node && node.requireFromFile;
|
|
133
|
-
|
|
134
109
|
if (!_context2.t0) {
|
|
135
110
|
_context2.next = 14;
|
|
136
111
|
break;
|
|
137
112
|
}
|
|
138
|
-
|
|
139
113
|
_context2.next = 13;
|
|
140
114
|
return node.requireFromFile(libraryUrl);
|
|
141
|
-
|
|
142
115
|
case 13:
|
|
143
116
|
_context2.t0 = _context2.sent;
|
|
144
|
-
|
|
145
117
|
case 14:
|
|
146
118
|
return _context2.abrupt("return", _context2.t0);
|
|
147
|
-
|
|
148
119
|
case 17:
|
|
149
120
|
_context2.prev = 17;
|
|
150
121
|
_context2.t1 = _context2["catch"](8);
|
|
151
122
|
return _context2.abrupt("return", null);
|
|
152
|
-
|
|
153
123
|
case 20:
|
|
154
124
|
if (!_globals.isWorker) {
|
|
155
125
|
_context2.next = 22;
|
|
156
126
|
break;
|
|
157
127
|
}
|
|
158
|
-
|
|
159
128
|
return _context2.abrupt("return", importScripts(libraryUrl));
|
|
160
|
-
|
|
161
129
|
case 22:
|
|
162
130
|
_context2.next = 24;
|
|
163
131
|
return fetch(libraryUrl);
|
|
164
|
-
|
|
165
132
|
case 24:
|
|
166
133
|
response = _context2.sent;
|
|
167
134
|
_context2.next = 27;
|
|
168
135
|
return response.text();
|
|
169
|
-
|
|
170
136
|
case 27:
|
|
171
137
|
scriptSource = _context2.sent;
|
|
172
138
|
return _context2.abrupt("return", loadLibraryFromString(scriptSource, libraryUrl));
|
|
173
|
-
|
|
174
139
|
case 29:
|
|
175
140
|
case "end":
|
|
176
141
|
return _context2.stop();
|
|
@@ -185,21 +150,17 @@ function loadLibraryFromString(scriptSource, id) {
|
|
|
185
150
|
if (!_globals.isBrowser) {
|
|
186
151
|
return node.requireFromString && node.requireFromString(scriptSource, id);
|
|
187
152
|
}
|
|
188
|
-
|
|
189
153
|
if (_globals.isWorker) {
|
|
190
154
|
eval.call(_globals.global, scriptSource);
|
|
191
155
|
return null;
|
|
192
156
|
}
|
|
193
|
-
|
|
194
157
|
var script = document.createElement('script');
|
|
195
158
|
script.id = id;
|
|
196
|
-
|
|
197
159
|
try {
|
|
198
160
|
script.appendChild(document.createTextNode(scriptSource));
|
|
199
161
|
} catch (e) {
|
|
200
162
|
script.text = scriptSource;
|
|
201
163
|
}
|
|
202
|
-
|
|
203
164
|
document.body.appendChild(script);
|
|
204
165
|
return null;
|
|
205
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"library-utils.js","names":["LATEST","VERSION","loadLibraryPromises","loadLibrary","libraryUrl","moduleName","options","getLibraryUrl","loadLibraryFromFile","library","startsWith","modules","isBrowser","CDN","assert","isWorker","endsWith","fetch","response","arrayBuffer","node","requireFromFile","importScripts","text","scriptSource","loadLibraryFromString","id","requireFromString","eval","call","global","script","document","createElement","appendChild","createTextNode","e","body"],"sources":["../../../../src/lib/library-utils/library-utils.ts"],"sourcesContent":["/* global importScripts */\nimport {global, isBrowser, isWorker} from '../env-utils/globals';\nimport * as node from '../node/require-utils.node';\nimport {assert} from '../env-utils/assert';\nimport {VERSION as __VERSION__} from '../env-utils/version';\n\n// TODO - unpkg.com doesn't seem to have a `latest` specifier for alpha releases...\nconst LATEST = 'beta';\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : LATEST;\n\nconst loadLibraryPromises: Record<string, Promise<any>> = {}; // promises\n\n/**\n * Dynamically loads a library (\"module\")\n *\n * - wasm library: Array buffer is returned\n * - js library: Parse JS is returned\n *\n * Method depends on environment\n * - browser - script element is created and installed on document\n * - worker - eval is called on global context\n * - node - file is required\n *\n * @param libraryUrl\n * @param moduleName\n * @param options\n */\nexport async function loadLibrary(\n libraryUrl: string,\n moduleName: string | null = null,\n options: object = {}\n): Promise<any> {\n if (moduleName) {\n libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);\n }\n\n // Ensure libraries are only loaded once\n\n loadLibraryPromises[libraryUrl] =\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);\n return await loadLibraryPromises[libraryUrl];\n}\n\n// TODO - sort out how to resolve paths for main/worker and dev/prod\nexport function getLibraryUrl(library: string, moduleName?: string, options?: any): string {\n // Check if already a URL\n if (library.startsWith('http')) {\n return library;\n }\n\n // Allow application to import and supply libraries through `options.modules`\n const modules = options.modules || {};\n if (modules[library]) {\n return modules[library];\n }\n\n // Load from local files, not from CDN scripts in Node.js\n // TODO - needs to locate the modules directory when installed!\n if (!isBrowser) {\n return `modules/${moduleName}/dist/libs/${library}`;\n }\n\n // In browser, load from external scripts\n if (options.CDN) {\n assert(options.CDN.startsWith('http'));\n return `${options.CDN}/${moduleName}@${VERSION}/dist/libs/${library}`;\n }\n\n // TODO - loading inside workers requires paths relative to worker script location...\n if (isWorker) {\n return `../src/libs/${library}`;\n }\n\n return `modules/${moduleName}/src/libs/${library}`;\n}\n\nasync function loadLibraryFromFile(libraryUrl: string): Promise<any> {\n if (libraryUrl.endsWith('wasm')) {\n const response = await fetch(libraryUrl);\n return await response.arrayBuffer();\n }\n\n if (!isBrowser) {\n try {\n return node && node.requireFromFile && (await node.requireFromFile(libraryUrl));\n } catch {\n return null;\n }\n }\n if (isWorker) {\n return importScripts(libraryUrl);\n }\n // TODO - fix - should be more secure than string parsing since observes CORS\n // if (isBrowser) {\n // return await loadScriptFromFile(libraryUrl);\n // }\n\n const response = await fetch(libraryUrl);\n const scriptSource = await response.text();\n return loadLibraryFromString(scriptSource, libraryUrl);\n}\n\n/*\nasync function loadScriptFromFile(libraryUrl) {\n const script = document.createElement('script');\n script.src = libraryUrl;\n return await new Promise((resolve, reject) => {\n script.onload = data => {\n resolve(data);\n };\n script.onerror = reject;\n });\n}\n*/\n\n// TODO - Needs security audit...\n// - Raw eval call\n// - Potentially bypasses CORS\n// Upside is that this separates fetching and parsing\n// we could create a`LibraryLoader` or`ModuleLoader`\nfunction loadLibraryFromString(scriptSource: string, id: string): null | any {\n if (!isBrowser) {\n return node.requireFromString && node.requireFromString(scriptSource, id);\n }\n\n if (isWorker) {\n // Use lvalue trick to make eval run in global scope\n eval.call(global, scriptSource); // eslint-disable-line no-eval\n // https://stackoverflow.com/questions/9107240/1-evalthis-vs-evalthis-in-javascript\n // http://perfectionkills.com/global-eval-what-are-the-options/\n return null;\n }\n\n const script = document.createElement('script');\n script.id = id;\n // most browsers like a separate text node but some throw an error. The second method covers those.\n try {\n script.appendChild(document.createTextNode(scriptSource));\n } catch (e) {\n script.text = scriptSource;\n }\n document.body.appendChild(script);\n return null;\n}\n\n// TODO - technique for module injection into worker, from THREE.DracoLoader...\n/*\nfunction combineWorkerWithLibrary(worker, jsContent) {\n var fn = wWorker.toString();\n var body = [\n '// injected',\n jsContent,\n '',\n '// worker',\n fn.substring(fn.indexOf('{') + 1, fn.lastIndexOf('}'))\n ].join('\\n');\n this.workerSourceURL = URL.createObjectURL(new Blob([body]));\n}\n*/\n"],"mappings":"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"}
|