@loaders.gl/loader-utils 4.0.0-alpha.1 → 4.0.0-alpha.11

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.
Files changed (261) hide show
  1. package/dist/es5/index.js +328 -0
  2. package/dist/es5/index.js.map +1 -0
  3. package/dist/es5/json-loader.js +44 -0
  4. package/dist/es5/json-loader.js.map +1 -0
  5. package/dist/es5/lib/binary-utils/array-buffer-utils.js +80 -0
  6. package/dist/es5/lib/binary-utils/array-buffer-utils.js.map +1 -0
  7. package/dist/es5/lib/binary-utils/dataview-copy-utils.js +58 -0
  8. package/dist/es5/lib/binary-utils/dataview-copy-utils.js.map +1 -0
  9. package/dist/es5/lib/binary-utils/get-first-characters.js +31 -0
  10. package/dist/es5/lib/binary-utils/get-first-characters.js.map +1 -0
  11. package/dist/es5/lib/binary-utils/memory-conversion-utils.js +44 -0
  12. package/dist/es5/lib/binary-utils/memory-conversion-utils.js.map +1 -0
  13. package/dist/es5/lib/binary-utils/memory-copy-utils.js +34 -0
  14. package/dist/es5/lib/binary-utils/memory-copy-utils.js.map +1 -0
  15. package/dist/es5/lib/env-utils/assert.js +12 -0
  16. package/dist/es5/lib/env-utils/assert.js.map +1 -0
  17. package/dist/es5/lib/env-utils/globals.js +30 -0
  18. package/dist/es5/lib/env-utils/globals.js.map +1 -0
  19. package/dist/es5/lib/filesystems/node-filesystem.js +210 -0
  20. package/dist/es5/lib/filesystems/node-filesystem.js.map +1 -0
  21. package/dist/es5/lib/filesystems/readable-file.js +91 -0
  22. package/dist/es5/lib/filesystems/readable-file.js.map +1 -0
  23. package/dist/es5/lib/filesystems/writable-file.js +82 -0
  24. package/dist/es5/lib/filesystems/writable-file.js.map +1 -0
  25. package/dist/es5/lib/iterators/async-iteration.js +190 -0
  26. package/dist/es5/lib/iterators/async-iteration.js.map +1 -0
  27. package/dist/es5/lib/iterators/text-iterators.js +305 -0
  28. package/dist/es5/lib/iterators/text-iterators.js.map +1 -0
  29. package/dist/es5/lib/node/buffer.browser.js +14 -0
  30. package/dist/es5/lib/node/buffer.browser.js.map +1 -0
  31. package/dist/es5/lib/node/buffer.js +27 -0
  32. package/dist/es5/lib/node/buffer.js.map +1 -0
  33. package/dist/es5/lib/node/fs.js +88 -0
  34. package/dist/es5/lib/node/fs.js.map +1 -0
  35. package/dist/es5/lib/node/promisify.js +36 -0
  36. package/dist/es5/lib/node/promisify.js.map +1 -0
  37. package/dist/es5/lib/node/stream.js +16 -0
  38. package/dist/es5/lib/node/stream.js.map +1 -0
  39. package/dist/es5/lib/option-utils/merge-loader-options.js +30 -0
  40. package/dist/es5/lib/option-utils/merge-loader-options.js.map +1 -0
  41. package/dist/es5/lib/parser-utils/parse-json.js +15 -0
  42. package/dist/es5/lib/parser-utils/parse-json.js.map +1 -0
  43. package/dist/es5/lib/path-utils/file-aliases.js +33 -0
  44. package/dist/es5/lib/path-utils/file-aliases.js.map +1 -0
  45. package/dist/es5/lib/path-utils/get-cwd.js +15 -0
  46. package/dist/es5/lib/path-utils/get-cwd.js.map +1 -0
  47. package/dist/es5/lib/path-utils/path.js +136 -0
  48. package/dist/es5/lib/path-utils/path.js.map +1 -0
  49. package/dist/es5/lib/request-utils/request-scheduler.js +150 -0
  50. package/dist/es5/lib/request-utils/request-scheduler.js.map +1 -0
  51. package/dist/es5/lib/worker-loader-utils/create-loader-worker.js +142 -0
  52. package/dist/es5/lib/worker-loader-utils/create-loader-worker.js.map +1 -0
  53. package/dist/es5/lib/worker-loader-utils/encode-with-worker.js +18 -0
  54. package/dist/es5/lib/worker-loader-utils/encode-with-worker.js.map +1 -0
  55. package/dist/es5/lib/worker-loader-utils/parse-with-worker.js +115 -0
  56. package/dist/es5/lib/worker-loader-utils/parse-with-worker.js.map +1 -0
  57. package/dist/es5/types.js +2 -0
  58. package/dist/es5/types.js.map +1 -0
  59. package/dist/es5/workers/json-worker.js +6 -0
  60. package/dist/es5/workers/json-worker.js.map +1 -0
  61. package/dist/esm/index.js +29 -0
  62. package/dist/esm/index.js.map +1 -0
  63. package/dist/esm/json-loader.js +18 -0
  64. package/dist/esm/json-loader.js.map +1 -0
  65. package/dist/esm/lib/binary-utils/array-buffer-utils.js +52 -0
  66. package/dist/esm/lib/binary-utils/array-buffer-utils.js.map +1 -0
  67. package/dist/{lib/binary-utils/binary-copy-utils.js → esm/lib/binary-utils/dataview-copy-utils.js} +27 -4
  68. package/dist/esm/lib/binary-utils/dataview-copy-utils.js.map +1 -0
  69. package/dist/esm/lib/binary-utils/get-first-characters.js +24 -0
  70. package/dist/esm/lib/binary-utils/get-first-characters.js.map +1 -0
  71. package/dist/esm/lib/binary-utils/memory-conversion-utils.js +31 -0
  72. package/dist/esm/lib/binary-utils/memory-conversion-utils.js.map +1 -0
  73. package/dist/esm/lib/binary-utils/memory-copy-utils.js +26 -0
  74. package/dist/esm/lib/binary-utils/memory-copy-utils.js.map +1 -0
  75. package/dist/esm/lib/env-utils/assert.js +6 -0
  76. package/dist/esm/lib/env-utils/assert.js.map +1 -0
  77. package/dist/esm/lib/env-utils/globals.js +16 -0
  78. package/dist/esm/lib/env-utils/globals.js.map +1 -0
  79. package/dist/esm/lib/filesystems/node-filesystem.js +53 -0
  80. package/dist/esm/lib/filesystems/node-filesystem.js.map +1 -0
  81. package/dist/esm/lib/filesystems/readable-file.js +20 -0
  82. package/dist/esm/lib/filesystems/readable-file.js.map +1 -0
  83. package/dist/esm/lib/filesystems/writable-file.js +20 -0
  84. package/dist/esm/lib/filesystems/writable-file.js.map +1 -0
  85. package/dist/esm/lib/iterators/async-iteration.js +32 -0
  86. package/dist/esm/lib/iterators/async-iteration.js.map +1 -0
  87. package/dist/esm/lib/iterators/text-iterators.js +47 -0
  88. package/dist/esm/lib/iterators/text-iterators.js.map +1 -0
  89. package/dist/esm/lib/node/buffer.browser.js +7 -0
  90. package/dist/esm/lib/node/buffer.browser.js.map +1 -0
  91. package/dist/esm/lib/node/buffer.js +20 -0
  92. package/dist/esm/lib/node/buffer.js.map +1 -0
  93. package/dist/esm/lib/node/fs.js +40 -0
  94. package/dist/esm/lib/node/fs.js.map +1 -0
  95. package/dist/esm/lib/node/promisify.js +10 -0
  96. package/dist/esm/lib/node/promisify.js.map +1 -0
  97. package/dist/esm/lib/node/stream.js +7 -0
  98. package/dist/esm/lib/node/stream.js.map +1 -0
  99. package/dist/esm/lib/option-utils/merge-loader-options.js +17 -0
  100. package/dist/esm/lib/option-utils/merge-loader-options.js.map +1 -0
  101. package/dist/esm/lib/parser-utils/parse-json.js +9 -0
  102. package/dist/esm/lib/parser-utils/parse-json.js.map +1 -0
  103. package/dist/esm/lib/path-utils/file-aliases.js +24 -0
  104. package/dist/esm/lib/path-utils/file-aliases.js.map +1 -0
  105. package/dist/esm/lib/path-utils/get-cwd.js +9 -0
  106. package/dist/esm/lib/path-utils/get-cwd.js.map +1 -0
  107. package/dist/esm/lib/path-utils/path.js +127 -0
  108. package/dist/esm/lib/path-utils/path.js.map +1 -0
  109. package/dist/esm/lib/request-utils/request-scheduler.js +120 -0
  110. package/dist/esm/lib/request-utils/request-scheduler.js.map +1 -0
  111. package/dist/esm/lib/worker-loader-utils/create-loader-worker.js +95 -0
  112. package/dist/esm/lib/worker-loader-utils/create-loader-worker.js.map +1 -0
  113. package/dist/esm/lib/worker-loader-utils/encode-with-worker.js +12 -0
  114. package/dist/esm/lib/worker-loader-utils/encode-with-worker.js.map +1 -0
  115. package/dist/esm/lib/worker-loader-utils/parse-with-worker.js +63 -0
  116. package/dist/esm/lib/worker-loader-utils/parse-with-worker.js.map +1 -0
  117. package/dist/esm/types.js +2 -0
  118. package/dist/esm/types.js.map +1 -0
  119. package/dist/esm/workers/json-worker.js +4 -0
  120. package/dist/esm/workers/json-worker.js.map +1 -0
  121. package/dist/index.d.ts +32 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +122 -26
  124. package/dist/json-loader.d.ts +9 -0
  125. package/dist/json-loader.d.ts.map +1 -0
  126. package/dist/json-loader.js +24 -18
  127. package/dist/lib/binary-utils/array-buffer-utils.d.ts +27 -0
  128. package/dist/lib/binary-utils/array-buffer-utils.d.ts.map +1 -0
  129. package/dist/lib/binary-utils/array-buffer-utils.js +78 -80
  130. package/dist/lib/binary-utils/dataview-copy-utils.d.ts +43 -0
  131. package/dist/lib/binary-utils/dataview-copy-utils.d.ts.map +1 -0
  132. package/dist/lib/binary-utils/dataview-copy-utils.js +97 -0
  133. package/dist/lib/binary-utils/get-first-characters.d.ts +17 -0
  134. package/dist/lib/binary-utils/get-first-characters.d.ts.map +1 -0
  135. package/dist/lib/binary-utils/get-first-characters.js +43 -25
  136. package/dist/lib/binary-utils/memory-conversion-utils.d.ts +15 -0
  137. package/dist/lib/binary-utils/memory-conversion-utils.d.ts.map +1 -0
  138. package/dist/lib/binary-utils/memory-conversion-utils.js +73 -0
  139. package/dist/lib/binary-utils/memory-copy-utils.d.ts +25 -0
  140. package/dist/lib/binary-utils/memory-copy-utils.d.ts.map +1 -0
  141. package/dist/lib/binary-utils/memory-copy-utils.js +58 -24
  142. package/dist/lib/env-utils/assert.d.ts +6 -0
  143. package/dist/lib/env-utils/assert.d.ts.map +1 -0
  144. package/dist/lib/env-utils/assert.js +12 -5
  145. package/dist/lib/env-utils/globals.d.ts +15 -0
  146. package/dist/lib/env-utils/globals.d.ts.map +1 -0
  147. package/dist/lib/env-utils/globals.js +23 -9
  148. package/dist/lib/filesystems/node-filesystem.d.ts +39 -0
  149. package/dist/lib/filesystems/node-filesystem.d.ts.map +1 -0
  150. package/dist/lib/filesystems/node-filesystem.js +72 -59
  151. package/dist/lib/filesystems/readable-file.d.ts +10 -0
  152. package/dist/lib/filesystems/readable-file.d.ts.map +1 -0
  153. package/dist/lib/filesystems/readable-file.js +25 -0
  154. package/dist/lib/filesystems/writable-file.d.ts +18 -0
  155. package/dist/lib/filesystems/writable-file.d.ts.map +1 -0
  156. package/dist/lib/filesystems/writable-file.js +48 -0
  157. package/dist/lib/iterators/async-iteration.d.ts +20 -0
  158. package/dist/lib/iterators/async-iteration.d.ts.map +1 -0
  159. package/dist/lib/iterators/async-iteration.js +49 -35
  160. package/dist/lib/iterators/text-iterators.d.ts +19 -0
  161. package/dist/lib/iterators/text-iterators.d.ts.map +1 -0
  162. package/dist/lib/iterators/text-iterators.js +56 -41
  163. package/dist/lib/node/buffer.browser.d.ts +12 -0
  164. package/dist/lib/node/buffer.browser.d.ts.map +1 -0
  165. package/dist/lib/node/buffer.browser.js +22 -0
  166. package/dist/lib/node/buffer.d.ts +12 -0
  167. package/dist/lib/node/buffer.d.ts.map +1 -0
  168. package/dist/lib/node/buffer.js +33 -25
  169. package/dist/lib/node/fs.d.ts +25 -0
  170. package/dist/lib/node/fs.d.ts.map +1 -0
  171. package/dist/lib/node/fs.js +48 -26
  172. package/dist/lib/node/promisify.d.ts +13 -0
  173. package/dist/lib/node/promisify.d.ts.map +1 -0
  174. package/dist/lib/node/promisify.js +22 -0
  175. package/dist/lib/node/stream.d.ts +4 -0
  176. package/dist/lib/node/stream.d.ts.map +1 -0
  177. package/dist/lib/node/stream.js +17 -0
  178. package/dist/lib/option-utils/merge-loader-options.d.ts +9 -0
  179. package/dist/lib/option-utils/merge-loader-options.d.ts.map +1 -0
  180. package/dist/lib/option-utils/merge-loader-options.js +27 -0
  181. package/dist/lib/parser-utils/parse-json.d.ts +5 -0
  182. package/dist/lib/parser-utils/parse-json.d.ts.map +1 -0
  183. package/dist/lib/parser-utils/parse-json.js +15 -8
  184. package/dist/lib/path-utils/file-aliases.d.ts +17 -0
  185. package/dist/lib/path-utils/file-aliases.d.ts.map +1 -0
  186. package/dist/lib/path-utils/file-aliases.js +40 -19
  187. package/dist/lib/path-utils/get-cwd.d.ts +2 -0
  188. package/dist/lib/path-utils/get-cwd.d.ts.map +1 -0
  189. package/dist/lib/path-utils/get-cwd.js +12 -0
  190. package/dist/lib/path-utils/path.d.ts +24 -0
  191. package/dist/lib/path-utils/path.d.ts.map +1 -0
  192. package/dist/lib/path-utils/path.js +173 -19
  193. package/dist/lib/request-utils/request-scheduler.d.ts +62 -0
  194. package/dist/lib/request-utils/request-scheduler.d.ts.map +1 -0
  195. package/dist/lib/request-utils/request-scheduler.js +127 -131
  196. package/dist/lib/worker-loader-utils/create-loader-worker.d.ts +7 -0
  197. package/dist/lib/worker-loader-utils/create-loader-worker.d.ts.map +1 -0
  198. package/dist/lib/worker-loader-utils/create-loader-worker.js +92 -96
  199. package/dist/lib/worker-loader-utils/encode-with-worker.d.ts +8 -0
  200. package/dist/lib/worker-loader-utils/encode-with-worker.d.ts.map +1 -0
  201. package/dist/lib/worker-loader-utils/encode-with-worker.js +21 -0
  202. package/dist/lib/worker-loader-utils/parse-with-worker.d.ts +15 -0
  203. package/dist/lib/worker-loader-utils/parse-with-worker.d.ts.map +1 -0
  204. package/dist/lib/worker-loader-utils/parse-with-worker.js +77 -60
  205. package/dist/types.d.ts +257 -0
  206. package/dist/types.d.ts.map +1 -0
  207. package/dist/types.js +3 -2
  208. package/dist/workers/json-worker.d.ts +2 -0
  209. package/dist/workers/json-worker.d.ts.map +1 -0
  210. package/dist/workers/json-worker.js +5 -4
  211. package/package.json +14 -24
  212. package/src/index.ts +40 -19
  213. package/src/json-loader.ts +5 -4
  214. package/src/lib/binary-utils/array-buffer-utils.ts +4 -40
  215. package/src/lib/binary-utils/{binary-copy-utils.ts → dataview-copy-utils.ts} +57 -5
  216. package/src/lib/binary-utils/get-first-characters.ts +17 -1
  217. package/src/lib/binary-utils/memory-conversion-utils.ts +53 -0
  218. package/src/lib/filesystems/readable-file.ts +30 -0
  219. package/src/lib/filesystems/writable-file.ts +44 -0
  220. package/src/lib/node/buffer.browser.ts +20 -0
  221. package/src/lib/node/buffer.ts +12 -11
  222. package/src/lib/node/fs.ts +51 -16
  223. package/src/lib/node/promisify.ts +70 -0
  224. package/src/lib/node/stream.ts +18 -0
  225. package/src/lib/option-utils/merge-loader-options.ts +35 -0
  226. package/src/lib/path-utils/get-cwd.ts +9 -0
  227. package/src/lib/path-utils/path.ts +138 -4
  228. package/src/lib/worker-loader-utils/create-loader-worker.ts +3 -2
  229. package/src/lib/worker-loader-utils/encode-with-worker.ts +21 -0
  230. package/src/lib/worker-loader-utils/parse-with-worker.ts +16 -3
  231. package/src/types.ts +211 -93
  232. package/dist/index.js.map +0 -1
  233. package/dist/json-loader.js.map +0 -1
  234. package/dist/lib/binary-utils/array-buffer-utils.js.map +0 -1
  235. package/dist/lib/binary-utils/binary-copy-utils.js.map +0 -1
  236. package/dist/lib/binary-utils/buffer-utils.js +0 -16
  237. package/dist/lib/binary-utils/buffer-utils.js.map +0 -1
  238. package/dist/lib/binary-utils/encode-utils.js +0 -31
  239. package/dist/lib/binary-utils/encode-utils.js.map +0 -1
  240. package/dist/lib/binary-utils/get-first-characters.js.map +0 -1
  241. package/dist/lib/binary-utils/memory-copy-utils.js.map +0 -1
  242. package/dist/lib/env-utils/assert.js.map +0 -1
  243. package/dist/lib/env-utils/globals.js.map +0 -1
  244. package/dist/lib/filesystems/node-filesystem.js.map +0 -1
  245. package/dist/lib/iterators/async-iteration.js.map +0 -1
  246. package/dist/lib/iterators/text-iterators.js.map +0 -1
  247. package/dist/lib/node/buffer.js.map +0 -1
  248. package/dist/lib/node/fs.js.map +0 -1
  249. package/dist/lib/node/util.js +0 -3
  250. package/dist/lib/node/util.js.map +0 -1
  251. package/dist/lib/parser-utils/parse-json.js.map +0 -1
  252. package/dist/lib/path-utils/file-aliases.js.map +0 -1
  253. package/dist/lib/path-utils/path.js.map +0 -1
  254. package/dist/lib/request-utils/request-scheduler.js.map +0 -1
  255. package/dist/lib/worker-loader-utils/create-loader-worker.js.map +0 -1
  256. package/dist/lib/worker-loader-utils/parse-with-worker.js.map +0 -1
  257. package/dist/types.js.map +0 -1
  258. package/dist/workers/json-worker.js.map +0 -1
  259. package/src/lib/binary-utils/buffer-utils.ts +0 -28
  260. package/src/lib/binary-utils/encode-utils.ts +0 -32
  261. package/src/lib/node/util.ts +0 -4
@@ -1,64 +1,81 @@
1
- import { WorkerFarm, getWorkerURL } from '@loaders.gl/worker-utils';
2
- export function canParseWithWorker(loader, options) {
3
- if (!WorkerFarm.isSupported()) {
4
- return false;
5
- }
6
-
7
- return loader.worker && (options === null || options === void 0 ? void 0 : options.worker);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseWithWorker = exports.canParseWithWorker = void 0;
4
+ const worker_utils_1 = require("@loaders.gl/worker-utils");
5
+ const worker_utils_2 = require("@loaders.gl/worker-utils");
6
+ /**
7
+ * Determines if a loader can parse with worker
8
+ * @param loader
9
+ * @param options
10
+ */
11
+ function canParseWithWorker(loader, options) {
12
+ if (!worker_utils_2.WorkerFarm.isSupported()) {
13
+ return false;
14
+ }
15
+ // Node workers are still experimental
16
+ if (!worker_utils_1.isBrowser && !options?._nodeWorkers) {
17
+ return false;
18
+ }
19
+ return loader.worker && options?.worker;
8
20
  }
9
- export async function parseWithWorker(loader, data, options, context, parseOnMainThread) {
10
- const name = loader.id;
11
- const url = getWorkerURL(loader, options);
12
- const workerFarm = WorkerFarm.getWorkerFarm(options);
13
- const workerPool = workerFarm.getWorkerPool({
14
- name,
15
- url
16
- });
17
- options = JSON.parse(JSON.stringify(options));
18
- const job = await workerPool.startJob('process-on-worker', onMessage.bind(null, parseOnMainThread));
19
- job.postMessage('process', {
20
- input: data,
21
- options
22
- });
23
- const result = await job.result;
24
- return await result.result;
21
+ exports.canParseWithWorker = canParseWithWorker;
22
+ /**
23
+ * this function expects that the worker function sends certain messages,
24
+ * this can be automated if the worker is wrapper by a call to createLoaderWorker in @loaders.gl/loader-utils.
25
+ */
26
+ async function parseWithWorker(loader, data, options, context, parseOnMainThread) {
27
+ const name = loader.id; // TODO
28
+ const url = (0, worker_utils_2.getWorkerURL)(loader, options);
29
+ const workerFarm = worker_utils_2.WorkerFarm.getWorkerFarm(options);
30
+ const workerPool = workerFarm.getWorkerPool({ name, url });
31
+ // options.log object contains functions which cannot be transferred
32
+ // context.fetch & context.parse functions cannot be transferred
33
+ // TODO - decide how to handle logging on workers
34
+ options = JSON.parse(JSON.stringify(options));
35
+ context = JSON.parse(JSON.stringify(context || {}));
36
+ const job = await workerPool.startJob('process-on-worker',
37
+ // @ts-expect-error
38
+ onMessage.bind(null, parseOnMainThread) // eslint-disable-line @typescript-eslint/no-misused-promises
39
+ );
40
+ job.postMessage('process', {
41
+ // @ts-ignore
42
+ input: data,
43
+ options,
44
+ context
45
+ });
46
+ const result = await job.result;
47
+ // TODO - what is going on here?
48
+ return await result.result;
25
49
  }
26
-
50
+ exports.parseWithWorker = parseWithWorker;
51
+ /**
52
+ * Handle worker's responses to the main thread
53
+ * @param job
54
+ * @param type
55
+ * @param payload
56
+ */
27
57
  async function onMessage(parseOnMainThread, job, type, payload) {
28
- switch (type) {
29
- case 'done':
30
- job.done(payload);
31
- break;
32
-
33
- case 'error':
34
- job.error(new Error(payload.error));
35
- break;
36
-
37
- case 'process':
38
- const {
39
- id,
40
- input,
41
- options
42
- } = payload;
43
-
44
- try {
45
- const result = await parseOnMainThread(input, options);
46
- job.postMessage('done', {
47
- id,
48
- result
49
- });
50
- } catch (error) {
51
- const message = error instanceof Error ? error.message : 'unknown error';
52
- job.postMessage('error', {
53
- id,
54
- error: message
55
- });
56
- }
57
-
58
- break;
59
-
60
- default:
61
- console.warn("parse-with-worker unknown message ".concat(type));
62
- }
58
+ switch (type) {
59
+ case 'done':
60
+ job.done(payload);
61
+ break;
62
+ case 'error':
63
+ job.error(new Error(payload.error));
64
+ break;
65
+ case 'process':
66
+ // Worker is asking for main thread to parseO
67
+ const { id, input, options } = payload;
68
+ try {
69
+ const result = await parseOnMainThread(input, options);
70
+ job.postMessage('done', { id, result });
71
+ }
72
+ catch (error) {
73
+ const message = error instanceof Error ? error.message : 'unknown error';
74
+ job.postMessage('error', { id, error: message });
75
+ }
76
+ break;
77
+ default:
78
+ // eslint-disable-next-line
79
+ console.warn(`parse-with-worker unknown message ${type}`);
80
+ }
63
81
  }
64
- //# sourceMappingURL=parse-with-worker.js.map
@@ -0,0 +1,257 @@
1
+ /// <reference types="node" />
2
+ export type TypedIntArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Int32Array | Uint32Array;
3
+ export type TypedFloatArray = Uint16Array | Float32Array | Float64Array;
4
+ export type TypedArray = TypedIntArray | TypedFloatArray;
5
+ export type BigTypedArray = TypedArray | BigInt64Array | BigUint64Array;
6
+ export type TypedArrayConstructor = Int8ArrayConstructor | Uint8ArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor;
7
+ export type BigTypedArrayConstructor = TypedArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor;
8
+ /** Any numeric array: typed array or `number[]` */
9
+ export type NumberArray = number[] | TypedArray;
10
+ export type NumericArray = number[] | TypedArray;
11
+ type FetchLike = (url: string, options?: RequestInit) => Promise<Response>;
12
+ /**
13
+ * Core Loader Options
14
+ */
15
+ export type LoaderOptions = {
16
+ /** fetch options or a custom fetch function */
17
+ fetch?: typeof fetch | FetchLike | RequestInit | null;
18
+ /** Do not throw on errors */
19
+ nothrow?: boolean;
20
+ /** loader selection, search first for supplied mimeType */
21
+ mimeType?: string;
22
+ /** loader selection, provide fallback mimeType is server does not provide */
23
+ fallbackMimeType?: string;
24
+ /** loader selection, avoid searching registered loaders */
25
+ ignoreRegisteredLoaders?: boolean;
26
+ /** Experimental: Supply a logger to the parser */
27
+ log?: any;
28
+ /** Size of each batch. `auto` matches batches to size of incoming chunks */
29
+ batchSize?: number | 'auto';
30
+ /** Minimal amount of time between batches */
31
+ batchDebounceMs?: number;
32
+ /** Stop loading after a given number of rows (compare SQL limit clause) */
33
+ limit?: 0;
34
+ /** Experimental: Stop loading after reaching */
35
+ _limitMB?: 0;
36
+ /** Generate metadata batches */
37
+ metadata?: boolean;
38
+ /** Transforms to run on incoming batches */
39
+ transforms?: TransformBatches[];
40
+ /** CDN load workers from */
41
+ CDN?: string | null;
42
+ /** Set to `false` to disable workers */
43
+ worker?: boolean;
44
+ /** Number of concurrent workers (per loader) on desktop browser */
45
+ maxConcurrency?: number;
46
+ /** Number of concurrent workers (per loader) on mobile browsers */
47
+ maxMobileConcurrency?: number;
48
+ /** Set to `false` to prevent reuse workers */
49
+ reuseWorkers?: boolean;
50
+ /** Whether to use workers under Node.js (experimental) */
51
+ _nodeWorkers?: boolean;
52
+ /** set to 'test' to run local worker */
53
+ _workerType?: string;
54
+ /** @deprecated `options.batchType` removed, Use `options.<loader>.type` instead */
55
+ batchType?: 'row' | 'columnar' | 'arrow';
56
+ /** @deprecated `options.throw removed`, Use `options.nothrow` instead */
57
+ throws?: boolean;
58
+ /** @deprecated `options.dataType` no longer used */
59
+ dataType?: never;
60
+ /** @deprecated `options.uri` no longer used */
61
+ uri?: never;
62
+ /** @deprecated `options.method` removed. Use `options.fetch.method` */
63
+ method?: never;
64
+ /** @deprecated `options.headers` removed. Use `options.fetch.headers` */
65
+ headers?: never;
66
+ /** @deprecated `options.body` removed. Use `options.fetch.body` */
67
+ body?: never;
68
+ /** @deprecated `options.mode` removed. Use `options.fetch.mode` */
69
+ mode?: never;
70
+ /** @deprecated `options.credentials` removed. Use `options.fetch.credentials` */
71
+ credentials?: never;
72
+ /** @deprecated `options.cache` removed. Use `options.fetch.cache` */
73
+ cache?: never;
74
+ /** @deprecated `options.redirect` removed. Use `options.fetch.redirect` */
75
+ redirect?: never;
76
+ /** @deprecated `options.referrer` removed. Use `options.fetch.referrer` */
77
+ referrer?: never;
78
+ /** @deprecated `options.referrerPolicy` removed. Use `options.fetch.referrerPolicy` */
79
+ referrerPolicy?: never;
80
+ /** @deprecated `options.integrity` removed. Use `options.fetch.integrity` */
81
+ integrity?: never;
82
+ /** @deprecated `options.keepalive` removed. Use `options.fetch.keepalive` */
83
+ keepalive?: never;
84
+ /** @deprecated `options.signal` removed. Use `options.fetch.signal` */
85
+ signal?: never;
86
+ [loaderId: string]: unknown;
87
+ };
88
+ type PreloadOptions = {
89
+ [key: string]: unknown;
90
+ };
91
+ /**
92
+ * A worker loader definition that can be used with `@loaders.gl/core` functions
93
+ */
94
+ export type Loader<DataT = any, BatchT = any, LoaderOptionsT = LoaderOptions> = {
95
+ dataType?: DataT;
96
+ batchType?: BatchT;
97
+ /** Default Options */
98
+ options: LoaderOptionsT;
99
+ /** Deprecated Options */
100
+ deprecatedOptions?: Record<string, string | Record<string, string>>;
101
+ name: string;
102
+ /** id should be the same as the field used in LoaderOptions */
103
+ id: string;
104
+ /** module is used to generate worker threads, need to be the module directory name */
105
+ module: string;
106
+ /** Version should be injected by build tools */
107
+ version: string;
108
+ /** A boolean, or a URL */
109
+ worker?: string | boolean;
110
+ /** Which category does this loader belong to */
111
+ category?: string;
112
+ /** What extensions does this loader generate */
113
+ extensions: string[];
114
+ mimeTypes: string[];
115
+ binary?: boolean;
116
+ text?: boolean;
117
+ tests?: (((ArrayBuffer: ArrayBuffer) => boolean) | ArrayBuffer | string)[];
118
+ supported?: boolean;
119
+ testText?: (string: string) => boolean;
120
+ };
121
+ /**
122
+ * A "bundled" loader definition that can be used with `@loaders.gl/core` functions
123
+ * If a worker loader is supported it will also be supported.
124
+ */
125
+ export type LoaderWithParser<DataT = any, BatchT = any, LoaderOptionsT = LoaderOptions> = Loader<DataT, BatchT, LoaderOptionsT> & {
126
+ testText?: (string: string) => boolean;
127
+ parse: (arrayBuffer: ArrayBuffer, options?: LoaderOptionsT, context?: LoaderContext) => Promise<DataT>;
128
+ preload?: Preload;
129
+ parseSync?: (arrayBuffer: ArrayBuffer, options?: LoaderOptionsT, context?: LoaderContext) => DataT;
130
+ parseText?: (text: string, options?: LoaderOptionsT) => Promise<DataT>;
131
+ parseTextSync?: (text: string, options?: LoaderOptionsT) => DataT;
132
+ parseInBatches?: (iterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>, options?: LoaderOptionsT, context?: LoaderContext) => AsyncIterable<BatchT>;
133
+ parseFileInBatches?: (file: Blob, options?: LoaderOptionsT, context?: LoaderContext) => AsyncIterable<BatchT>;
134
+ };
135
+ /**
136
+ * A Loader context is provided as a third parameters to a loader object's
137
+ * parse functions when that loader is called by other loaders rather then
138
+ * directly by the application.
139
+ *
140
+ * - The context object allows the subloaders to be aware of the parameters and
141
+ * options that the application provided in the top level call.
142
+ * - The context also providedsaccess to parse functions so that the subloader
143
+ * does not need to include the core module.
144
+ * - In addition, the context's parse functions may also redirect loads from worker
145
+ * threads back to main thread.
146
+ */
147
+ export type LoaderContext = {
148
+ loaders?: Loader[] | null;
149
+ /** If URL is available. */
150
+ url?: string;
151
+ /** the file name component of the URL (leading path and query string removed) */
152
+ filename?: string;
153
+ /** the directory name component of the URL (leading path excluding file name and query string) */
154
+ baseUrl?: string;
155
+ /** Query string (characters after `?`) */
156
+ queryString?: string;
157
+ /** Provides access to any application overrides of fetch() */
158
+ fetch: typeof fetch | FetchLike;
159
+ /** TBD */
160
+ response?: Response;
161
+ /** Parse function. Use instead of importing `core`. In workers, may redirect to main thread */
162
+ parse: (arrayBuffer: ArrayBuffer, loaders?: Loader | Loader[] | LoaderOptions, options?: LoaderOptions, context?: LoaderContext) => Promise<any>;
163
+ /** ParseSync function. Use instead of importing `core`. In workers, may redirect to main thread */
164
+ parseSync?: (arrayBuffer: ArrayBuffer, loaders?: Loader | Loader[] | LoaderOptions, options?: LoaderOptions, context?: LoaderContext) => any;
165
+ /** ParseInBatches function. Use instead of importing `core`. */
166
+ parseInBatches?: (iterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>, loaders?: Loader | Loader[] | LoaderOptions, options?: LoaderOptions, context?: LoaderContext) => AsyncIterable<any> | Promise<AsyncIterable<any>>;
167
+ };
168
+ type Preload = (url: string, options?: PreloadOptions) => any;
169
+ /** Typescript helper to extract options type from a generic loader type */
170
+ export type LoaderOptionsType<T = Loader> = T extends Loader<any, any, infer Options> ? Options : never;
171
+ /** Typescript helper to extract data type from a generic loader type */
172
+ export type LoaderReturnType<T = Loader> = T extends Loader<infer Return, any, any> ? Return : never;
173
+ /** Typescript helper to extract batch type from a generic loader type */
174
+ export type LoaderBatchType<T = Loader> = T extends Loader<any, infer Batch, any> ? Batch : never;
175
+ /** Options for writers */
176
+ export type WriterOptions = {
177
+ /** worker source. If is set will be used instead of loading worker from the Internet */
178
+ souce?: string | null;
179
+ /** writer-specific options */
180
+ [writerId: string]: any;
181
+ };
182
+ /**
183
+ * A writer definition that can be used with `@loaders.gl/core` functions
184
+ */
185
+ export type Writer<DataT = unknown, BatchT = unknown, WriterOptionsT = WriterOptions> = {
186
+ name: string;
187
+ id: string;
188
+ module: string;
189
+ version: string;
190
+ worker?: string | boolean;
191
+ extensions?: string[];
192
+ mimeTypes?: string[];
193
+ binary?: boolean;
194
+ text?: boolean;
195
+ options: WriterOptionsT;
196
+ deprecatedOptions?: Record<string, string>;
197
+ encodeSync?: EncodeSync;
198
+ encodeURLtoURL?: EncodeURLtoURL;
199
+ encode?(data: DataT, options?: WriterOptionsT): Promise<ArrayBuffer>;
200
+ encodeText?(table: DataT, options?: WriterOptionsT): Promise<string> | string;
201
+ encodeInBatches?(data: AsyncIterable<any>, options?: WriterOptionsT): AsyncIterable<ArrayBuffer>;
202
+ };
203
+ type EncodeSync = (data: any, options?: WriterOptions) => ArrayBuffer;
204
+ type EncodeURLtoURL = (inputUrl: string, outputUrl: string, options?: WriterOptions) => Promise<string>;
205
+ /** Typescript helper to extract the writer options type from a generic writer type */
206
+ export type WriterOptionsType<T = Writer> = T extends Writer<unknown, unknown, infer Options> ? Options : never;
207
+ export type TransformBatches = (asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>) => AsyncIterable<ArrayBuffer>;
208
+ /** Types that can be synchronously parsed */
209
+ export type SyncDataType = string | ArrayBuffer;
210
+ /** Types that can be parsed async */
211
+ export type DataType = string | ArrayBuffer | File | Blob | Response | ReadableStream | Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer>;
212
+ /** Types that can be parsed in batches */
213
+ export type BatchableDataType = DataType | Iterable<ArrayBuffer> | AsyncIterable<ArrayBuffer> | Promise<AsyncIterable<ArrayBuffer>>;
214
+ /**
215
+ * A FileSystem interface can encapsulate a FileList, a ZipFile, a GoogleDrive etc.
216
+ */
217
+ export interface IFileSystem {
218
+ /**
219
+ * Return a list of file names
220
+ * @param dirname directory name. file system root directory if omitted
221
+ */
222
+ readdir(dirname?: string, options?: {
223
+ recursive?: boolean;
224
+ }): Promise<string[]>;
225
+ /**
226
+ * Gets information from a local file from the filesystem
227
+ * @param filename file name to stat
228
+ * @param options currently unused
229
+ * @throws if filename is not in local filesystem
230
+ */
231
+ stat(filename: string, options?: object): Promise<{
232
+ size: number;
233
+ }>;
234
+ /**
235
+ * Fetches a local file from the filesystem (or a URL)
236
+ * @param filename
237
+ * @param options
238
+ */
239
+ fetch(filename: string, options?: object): Promise<Response>;
240
+ }
241
+ type ReadOptions = {
242
+ buffer?: ArrayBuffer;
243
+ offset?: number;
244
+ length?: number;
245
+ position?: number;
246
+ };
247
+ export interface IRandomAccessReadFileSystem extends IFileSystem {
248
+ open(path: string, flags: string | number, mode?: any): Promise<any>;
249
+ close(fd: any): Promise<void>;
250
+ fstat(fd: any): Promise<object>;
251
+ read(fd: any, options?: ReadOptions): Promise<{
252
+ bytesRead: number;
253
+ buffer: Buffer;
254
+ }>;
255
+ }
256
+ export {};
257
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,2 +1,3 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
1
+ "use strict";
2
+ // Typed arrays
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=json-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-worker.d.ts","sourceRoot":"","sources":["../../src/workers/json-worker.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { createLoaderWorker } from '../lib/worker-loader-utils/create-loader-worker';
2
- import { JSONLoader } from '../json-loader';
3
- createLoaderWorker(JSONLoader);
4
- //# sourceMappingURL=json-worker.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const create_loader_worker_1 = require("../lib/worker-loader-utils/create-loader-worker");
4
+ const json_loader_1 = require("../json-loader");
5
+ (0, create_loader_worker_1.createLoaderWorker)(json_loader_1.JSONLoader);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/loader-utils",
3
- "version": "4.0.0-alpha.1",
3
+ "version": "4.0.0-alpha.11",
4
4
  "description": "Framework-independent loaders for 3D graphics formats",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -17,9 +17,9 @@
17
17
  "mesh",
18
18
  "point cloud"
19
19
  ],
20
- "types": "src/index.ts",
21
- "main": "dist/index.js",
22
- "module": "dist/index.js",
20
+ "types": "dist/index.d.ts",
21
+ "main": "dist/es5/index.js",
22
+ "module": "dist/esm/index.js",
23
23
  "sideEffects": false,
24
24
  "files": [
25
25
  "src",
@@ -27,29 +27,19 @@
27
27
  "README.md"
28
28
  ],
29
29
  "browser": {
30
- "./src/lib/node/buffer.ts": false,
31
- "./src/lib/node/buffer.js": false,
32
- "./dist/es5/lib/node/buffer.js": false,
33
- "./dist/esm/lib/node/buffer.js": false,
34
- "./src/lib/node/fs.ts": false,
35
- "./src/lib/node/fs.js": false,
36
- "./dist/es5/lib/node/fs.js": false,
37
- "./dist/esm/lib/node/fs.js": false,
38
- "./src/lib/node/util.ts": false,
39
- "./src/lib/node/util.js": false,
40
- "./dist/es5/lib/node/util.js": false,
41
- "./dist/esm/lib/node/util.js": false,
30
+ "./src/lib/node/buffer.ts": "./src/lib/node/buffer.browser.ts",
31
+ "./src/lib/node/buffer.js": "./src/lib/node/buffer.browser.js",
32
+ "./dist/lib/node/buffer.js": "./dist/lib/node/buffer.browser.js",
33
+ "./dist/es5/lib/node/buffer.js": "./dist/es5/lib/node/buffer.browser.js",
34
+ "./dist/esm/lib/node/buffer.js": "./dist/esm/lib/node/buffer.browser.js",
42
35
  "fs": false,
43
- "util": false
44
- },
45
- "scripts": {
46
- "pre-build-disabled": "npm run build-bundle",
47
- "build-bundle": "webpack --config ../../scripts/webpack/bundle.js"
36
+ "stream": false
48
37
  },
38
+ "scripts": {},
49
39
  "dependencies": {
50
40
  "@babel/runtime": "^7.3.1",
51
- "@loaders.gl/worker-utils": "4.0.0-alpha.1",
52
- "@probe.gl/stats": "^3.4.0"
41
+ "@loaders.gl/worker-utils": "4.0.0-alpha.11",
42
+ "@probe.gl/stats": "^4.0.2"
53
43
  },
54
- "gitHead": "e48f5534fe7188c810f23f965a440c144b3cf6d0"
44
+ "gitHead": "bc680098cfea790c67b7fb95bab96e8d9288d34f"
55
45
  }
package/src/index.ts CHANGED
@@ -1,16 +1,30 @@
1
1
  // TYPES
2
2
  export type {
3
+ // loaders
3
4
  Loader,
4
5
  LoaderWithParser,
5
6
  LoaderContext,
6
7
  LoaderOptions,
8
+ LoaderOptionsType,
9
+ LoaderReturnType,
10
+ LoaderBatchType,
11
+ // writers
7
12
  Writer,
8
13
  WriterOptions,
14
+ WriterOptionsType,
15
+ // misc
9
16
  DataType,
10
17
  SyncDataType,
11
18
  BatchableDataType,
12
19
  IFileSystem,
13
- IRandomAccessReadFileSystem
20
+ IRandomAccessReadFileSystem,
21
+ // numeric array types
22
+ TypedArray,
23
+ BigTypedArray,
24
+ TypedArrayConstructor,
25
+ BigTypedArrayConstructor,
26
+ NumberArray,
27
+ NumericArray
14
28
  } from './types';
15
29
 
16
30
  // GENERAL UTILS
@@ -25,31 +39,31 @@ export {
25
39
  document
26
40
  } from './lib/env-utils/globals';
27
41
 
42
+ export {mergeLoaderOptions} from './lib/option-utils/merge-loader-options';
43
+
28
44
  // LOADERS.GL-SPECIFIC WORKER UTILS
29
45
  export {createLoaderWorker} from './lib/worker-loader-utils/create-loader-worker';
30
46
  export {parseWithWorker, canParseWithWorker} from './lib/worker-loader-utils/parse-with-worker';
47
+ export {canEncodeWithWorker} from './lib/worker-loader-utils/encode-with-worker';
31
48
 
32
49
  // PARSER UTILS
33
50
  export {parseJSON} from './lib/parser-utils/parse-json';
34
51
 
35
52
  // MEMORY COPY UTILS
36
53
  export {
37
- toArrayBuffer,
38
54
  sliceArrayBuffer,
39
55
  concatenateArrayBuffers,
40
56
  concatenateTypedArrays,
41
57
  compareArrayBuffers
42
58
  } from './lib/binary-utils/array-buffer-utils';
43
59
  export {padToNBytes, copyToArray, copyArrayBuffer} from './lib/binary-utils/memory-copy-utils';
44
- export {
45
- copyPaddedArrayBufferToDataView,
46
- copyPaddedStringToDataView
47
- } from './lib/binary-utils/binary-copy-utils';
48
60
  export {
49
61
  padStringToByteAlignment,
50
62
  copyStringToDataView,
51
- copyBinaryToDataView
52
- } from './lib/binary-utils/encode-utils';
63
+ copyBinaryToDataView,
64
+ copyPaddedArrayBufferToDataView,
65
+ copyPaddedStringToDataView
66
+ } from './lib/binary-utils/dataview-copy-utils';
53
67
  export {getFirstCharacters, getMagicString} from './lib/binary-utils/get-first-characters';
54
68
 
55
69
  // ITERATOR UTILS
@@ -75,24 +89,31 @@ export {JSONLoader} from './json-loader';
75
89
 
76
90
  // Node.js emulation (can be used in browser)
77
91
 
78
- // `path` replacement (avoids bundling big path polyfill)
79
- import * as path from './lib/path-utils/path';
80
- export {path};
81
-
82
92
  // Avoid direct use of `Buffer` which pulls in 50KB polyfill
83
- export {isBuffer, toBuffer, bufferToArrayBuffer} from './lib/binary-utils/buffer-utils';
93
+ export {isBuffer, toBuffer, toArrayBuffer} from './lib/binary-utils/memory-conversion-utils';
84
94
 
85
95
  // Note.js wrappers (can be safely imported, but not used in browser)
86
96
 
87
- // Use instead of importing 'util'
88
- import * as util from './lib/node/util';
89
- export {util};
90
- // TODO - remove
91
- export {promisify} from './lib/node/util';
97
+ // Use instead of importing 'util' to avoid node dependencies
98
+ export {promisify1, promisify2} from './lib/node/promisify';
99
+
100
+ // `path` replacement (avoids bundling big path polyfill)
101
+ import * as path from './lib/path-utils/path';
102
+ export {path};
92
103
 
93
- // Use instead of importing 'fs';`
104
+ // Use instead of importing 'fs' to avoid node dependencies`
94
105
  import * as fs from './lib/node/fs';
95
106
  export {fs};
96
107
 
108
+ // Use instead of importing 'stream' to avoid node dependencies`
109
+ import * as stream from './lib/node/stream';
110
+ export {stream};
111
+
97
112
  // EXPERIMENTAL
113
+ export type {ReadableFile} from './lib/filesystems/readable-file';
114
+ export {makeReadableFile} from './lib/filesystems/readable-file';
115
+
116
+ export type {WritableFile} from './lib/filesystems/writable-file';
117
+ export {makeWritableFile} from './lib/filesystems/writable-file';
118
+
98
119
  export {default as _NodeFileSystem} from './lib/filesystems/node-filesystem';
@@ -1,14 +1,17 @@
1
- import type {LoaderWithParser} from './types';
1
+ import type {LoaderWithParser, LoaderOptions} from './types';
2
+ import type {Table, TableBatch} from '@loaders.gl/schema';
2
3
 
3
4
  // __VERSION__ is injected by babel-plugin-version-inline
4
5
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
5
6
  const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
6
7
 
8
+ export type JSONLoaderOptions = LoaderOptions;
9
+
7
10
  /**
8
11
  * A JSON Micro loader (minimal bundle size)
9
12
  * Alternative to `@loaders.gl/json`
10
13
  */
11
- export const JSONLoader = {
14
+ export const JSONLoader: LoaderWithParser<Table, TableBatch, JSONLoaderOptions> = {
12
15
  name: 'JSON',
13
16
  id: 'json',
14
17
  module: 'json',
@@ -26,5 +29,3 @@ export const JSONLoader = {
26
29
  function parseTextSync(text) {
27
30
  return JSON.parse(text);
28
31
  }
29
-
30
- export const _typecheckJSONLoader: LoaderWithParser = JSONLoader;