@loaders.gl/draco 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.
Files changed (67) hide show
  1. package/dist/draco-nodejs-worker.js +70 -69
  2. package/dist/draco-nodejs-worker.js.map +3 -3
  3. package/dist/draco-worker.js +1 -1
  4. package/dist/draco-writer-nodejs-worker.js +61 -60
  5. package/dist/draco-writer-nodejs-worker.js.map +3 -3
  6. package/dist/draco-writer-worker.js +2 -2
  7. package/dist/es5/bundle.js +0 -1
  8. package/dist/es5/bundle.js.map +1 -1
  9. package/dist/es5/draco-loader.js +1 -4
  10. package/dist/es5/draco-loader.js.map +1 -1
  11. package/dist/es5/draco-writer-nodejs.js +0 -2
  12. package/dist/es5/draco-writer-nodejs.js.map +1 -1
  13. package/dist/es5/draco-writer.js +5 -17
  14. package/dist/es5/draco-writer.js.map +1 -1
  15. package/dist/es5/draco3d/draco3d-types.js +1 -8
  16. package/dist/es5/draco3d/draco3d-types.js.map +1 -1
  17. package/dist/es5/index.js +5 -25
  18. package/dist/es5/index.js.map +1 -1
  19. package/dist/es5/lib/draco-builder.js +40 -96
  20. package/dist/es5/lib/draco-builder.js.map +1 -1
  21. package/dist/es5/lib/draco-module-loader.js +2 -41
  22. package/dist/es5/lib/draco-module-loader.js.map +1 -1
  23. package/dist/es5/lib/draco-parser.js +63 -111
  24. package/dist/es5/lib/draco-parser.js.map +1 -1
  25. package/dist/es5/lib/draco-types.js.map +1 -1
  26. package/dist/es5/lib/utils/get-draco-schema.js +0 -12
  27. package/dist/es5/lib/utils/get-draco-schema.js.map +1 -1
  28. package/dist/es5/lib/utils/version.js +1 -1
  29. package/dist/es5/lib/utils/version.js.map +1 -1
  30. package/dist/es5/workers/draco-nodejs-worker.js +0 -3
  31. package/dist/es5/workers/draco-nodejs-worker.js.map +1 -1
  32. package/dist/es5/workers/draco-worker.js +0 -2
  33. package/dist/es5/workers/draco-worker.js.map +1 -1
  34. package/dist/es5/workers/draco-writer-nodejs-worker.js +0 -15
  35. package/dist/es5/workers/draco-writer-nodejs-worker.js.map +1 -1
  36. package/dist/es5/workers/draco-writer-worker.js +0 -15
  37. package/dist/es5/workers/draco-writer-worker.js.map +1 -1
  38. package/dist/esm/bundle.js +1 -1
  39. package/dist/esm/bundle.js.map +1 -1
  40. package/dist/esm/draco-loader.js +1 -0
  41. package/dist/esm/draco-loader.js.map +1 -1
  42. package/dist/esm/draco-writer-nodejs.js +1 -0
  43. package/dist/esm/draco-writer-nodejs.js.map +1 -1
  44. package/dist/esm/draco-writer.js +3 -3
  45. package/dist/esm/draco-writer.js.map +1 -1
  46. package/dist/esm/draco3d/draco3d-types.js +2 -3
  47. package/dist/esm/draco3d/draco3d-types.js.map +1 -1
  48. package/dist/esm/index.js +6 -3
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/lib/draco-builder.js +6 -75
  51. package/dist/esm/lib/draco-builder.js.map +1 -1
  52. package/dist/esm/lib/draco-module-loader.js +4 -9
  53. package/dist/esm/lib/draco-module-loader.js.map +1 -1
  54. package/dist/esm/lib/draco-parser.js +5 -66
  55. package/dist/esm/lib/draco-parser.js.map +1 -1
  56. package/dist/esm/lib/draco-types.js.map +1 -1
  57. package/dist/esm/lib/utils/get-draco-schema.js +0 -10
  58. package/dist/esm/lib/utils/get-draco-schema.js.map +1 -1
  59. package/dist/esm/lib/utils/version.js +2 -1
  60. package/dist/esm/lib/utils/version.js.map +1 -1
  61. package/dist/esm/workers/draco-nodejs-worker.js.map +1 -1
  62. package/dist/esm/workers/draco-worker.js.map +1 -1
  63. package/dist/esm/workers/draco-writer-nodejs-worker.js +0 -4
  64. package/dist/esm/workers/draco-writer-nodejs-worker.js.map +1 -1
  65. package/dist/esm/workers/draco-writer-worker.js +0 -4
  66. package/dist/esm/workers/draco-writer-worker.js.map +1 -1
  67. package/package.json +6 -6
@@ -1,27 +1,18 @@
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.loadDracoDecoderModule = loadDracoDecoderModule;
9
8
  exports.loadDracoEncoderModule = loadDracoEncoderModule;
10
-
11
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
-
13
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
-
15
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
18
-
19
13
  var _workerUtils = require("@loaders.gl/worker-utils");
20
-
21
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
22
-
23
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
-
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
16
  var DRACO_VERSION = '1.4.1';
26
17
  var DRACO_JS_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_decoder.js");
27
18
  var DRACO_WASM_WRAPPER_URL = "https://www.gstatic.com/draco/versioned/decoders/".concat(DRACO_VERSION, "/draco_wasm_wrapper.js");
@@ -29,11 +20,9 @@ var DRACO_WASM_DECODER_URL = "https://www.gstatic.com/draco/versioned/decoders/"
29
20
  var DRACO_ENCODER_URL = "https://raw.githubusercontent.com/google/draco/".concat(DRACO_VERSION, "/javascript/draco_encoder.js");
30
21
  var loadDecoderPromise;
31
22
  var loadEncoderPromise;
32
-
33
23
  function loadDracoDecoderModule(_x) {
34
24
  return _loadDracoDecoderModule.apply(this, arguments);
35
25
  }
36
-
37
26
  function _loadDracoDecoderModule() {
38
27
  _loadDracoDecoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
39
28
  var modules;
@@ -42,7 +31,6 @@ function _loadDracoDecoderModule() {
42
31
  switch (_context.prev = _context.next) {
43
32
  case 0:
44
33
  modules = options.modules || {};
45
-
46
34
  if (modules.draco3d) {
47
35
  loadDecoderPromise = loadDecoderPromise || modules.draco3d.createDecoderModule({}).then(function (draco) {
48
36
  return {
@@ -52,13 +40,10 @@ function _loadDracoDecoderModule() {
52
40
  } else {
53
41
  loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);
54
42
  }
55
-
56
43
  _context.next = 4;
57
44
  return loadDecoderPromise;
58
-
59
45
  case 4:
60
46
  return _context.abrupt("return", _context.sent);
61
-
62
47
  case 5:
63
48
  case "end":
64
49
  return _context.stop();
@@ -68,11 +53,9 @@ function _loadDracoDecoderModule() {
68
53
  }));
69
54
  return _loadDracoDecoderModule.apply(this, arguments);
70
55
  }
71
-
72
56
  function loadDracoEncoderModule(_x2) {
73
57
  return _loadDracoEncoderModule.apply(this, arguments);
74
58
  }
75
-
76
59
  function _loadDracoEncoderModule() {
77
60
  _loadDracoEncoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) {
78
61
  var modules;
@@ -81,7 +64,6 @@ function _loadDracoEncoderModule() {
81
64
  switch (_context2.prev = _context2.next) {
82
65
  case 0:
83
66
  modules = options.modules || {};
84
-
85
67
  if (modules.draco3d) {
86
68
  loadEncoderPromise = loadEncoderPromise || modules.draco3d.createEncoderModule({}).then(function (draco) {
87
69
  return {
@@ -91,13 +73,10 @@ function _loadDracoEncoderModule() {
91
73
  } else {
92
74
  loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);
93
75
  }
94
-
95
76
  _context2.next = 4;
96
77
  return loadEncoderPromise;
97
-
98
78
  case 4:
99
79
  return _context2.abrupt("return", _context2.sent);
100
-
101
80
  case 5:
102
81
  case "end":
103
82
  return _context2.stop();
@@ -107,15 +86,12 @@ function _loadDracoEncoderModule() {
107
86
  }));
108
87
  return _loadDracoEncoderModule.apply(this, arguments);
109
88
  }
110
-
111
89
  function loadDracoDecoder(_x3) {
112
90
  return _loadDracoDecoder.apply(this, arguments);
113
91
  }
114
-
115
92
  function _loadDracoDecoder() {
116
93
  _loadDracoDecoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(options) {
117
94
  var DracoDecoderModule, wasmBinary, _yield$Promise$all, _yield$Promise$all2;
118
-
119
95
  return _regenerator.default.wrap(function _callee3$(_context3) {
120
96
  while (1) {
121
97
  switch (_context3.prev = _context3.next) {
@@ -123,45 +99,36 @@ function _loadDracoDecoder() {
123
99
  _context3.t0 = options.draco && options.draco.decoderType;
124
100
  _context3.next = _context3.t0 === 'js' ? 3 : _context3.t0 === 'wasm' ? 7 : 7;
125
101
  break;
126
-
127
102
  case 3:
128
103
  _context3.next = 5;
129
104
  return (0, _workerUtils.loadLibrary)(DRACO_JS_DECODER_URL, 'draco', options);
130
-
131
105
  case 5:
132
106
  DracoDecoderModule = _context3.sent;
133
107
  return _context3.abrupt("break", 21);
134
-
135
108
  case 7:
136
109
  _context3.t1 = Promise;
137
110
  _context3.next = 10;
138
111
  return (0, _workerUtils.loadLibrary)(DRACO_WASM_WRAPPER_URL, 'draco', options);
139
-
140
112
  case 10:
141
113
  _context3.t2 = _context3.sent;
142
114
  _context3.next = 13;
143
115
  return (0, _workerUtils.loadLibrary)(DRACO_WASM_DECODER_URL, 'draco', options);
144
-
145
116
  case 13:
146
117
  _context3.t3 = _context3.sent;
147
118
  _context3.t4 = [_context3.t2, _context3.t3];
148
119
  _context3.next = 17;
149
120
  return _context3.t1.all.call(_context3.t1, _context3.t4);
150
-
151
121
  case 17:
152
122
  _yield$Promise$all = _context3.sent;
153
123
  _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
154
124
  DracoDecoderModule = _yield$Promise$all2[0];
155
125
  wasmBinary = _yield$Promise$all2[1];
156
-
157
126
  case 21:
158
127
  DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
159
128
  _context3.next = 24;
160
129
  return initializeDracoDecoder(DracoDecoderModule, wasmBinary);
161
-
162
130
  case 24:
163
131
  return _context3.abrupt("return", _context3.sent);
164
-
165
132
  case 25:
166
133
  case "end":
167
134
  return _context3.stop();
@@ -171,14 +138,11 @@ function _loadDracoDecoder() {
171
138
  }));
172
139
  return _loadDracoDecoder.apply(this, arguments);
173
140
  }
174
-
175
141
  function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
176
142
  var options = {};
177
-
178
143
  if (wasmBinary) {
179
144
  options.wasmBinary = wasmBinary;
180
145
  }
181
-
182
146
  return new Promise(function (resolve) {
183
147
  DracoDecoderModule(_objectSpread(_objectSpread({}, options), {}, {
184
148
  onModuleLoaded: function onModuleLoaded(draco) {
@@ -193,7 +157,6 @@ function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
193
157
  function loadDracoEncoder(_x4) {
194
158
  return _loadDracoEncoder.apply(this, arguments);
195
159
  }
196
-
197
160
  function _loadDracoEncoder() {
198
161
  _loadDracoEncoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(options) {
199
162
  var DracoEncoderModule;
@@ -203,7 +166,6 @@ function _loadDracoEncoder() {
203
166
  case 0:
204
167
  _context4.next = 2;
205
168
  return (0, _workerUtils.loadLibrary)(DRACO_ENCODER_URL, 'draco', options);
206
-
207
169
  case 2:
208
170
  DracoEncoderModule = _context4.sent;
209
171
  DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
@@ -216,7 +178,6 @@ function _loadDracoEncoder() {
216
178
  }
217
179
  });
218
180
  }));
219
-
220
181
  case 5:
221
182
  case "end":
222
183
  return _context4.stop();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/draco-module-loader.ts"],"names":["DRACO_VERSION","DRACO_JS_DECODER_URL","DRACO_WASM_WRAPPER_URL","DRACO_WASM_DECODER_URL","DRACO_ENCODER_URL","loadDecoderPromise","loadEncoderPromise","loadDracoDecoderModule","options","modules","draco3d","createDecoderModule","then","draco","loadDracoDecoder","loadDracoEncoderModule","createEncoderModule","loadDracoEncoder","decoderType","DracoDecoderModule","Promise","all","wasmBinary","globalThis","initializeDracoDecoder","resolve","onModuleLoaded","DracoEncoderModule"],"mappings":"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","sourcesContent":["// Dynamic DRACO module loading inspired by THREE.DRACOLoader\n// https://github.com/mrdoob/three.js/blob/398c4f39ebdb8b23eefd4a7a5ec49ec0c96c7462/examples/jsm/loaders/DRACOLoader.js\n// by Don McCurdy / https://www.donmccurdy.com / MIT license\n\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nconst DRACO_VERSION = '1.4.1';\nconst DRACO_JS_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_decoder.js`;\nconst DRACO_WASM_WRAPPER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_wasm_wrapper.js`;\nconst DRACO_WASM_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_decoder.wasm`;\n\nconst DRACO_ENCODER_URL = `https://raw.githubusercontent.com/google/draco/${DRACO_VERSION}/javascript/draco_encoder.js`;\n\nlet loadDecoderPromise;\nlet loadEncoderPromise;\n\nexport async function loadDracoDecoderModule(options) {\n const modules = options.modules || {};\n\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadDecoderPromise =\n loadDecoderPromise ||\n modules.draco3d.createDecoderModule({}).then((draco) => {\n return {draco};\n });\n } else {\n // If not, dynamically load the WASM script from our CDN\n loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);\n }\n return await loadDecoderPromise;\n}\n\nexport async function loadDracoEncoderModule(options) {\n const modules = options.modules || {};\n\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadEncoderPromise =\n loadEncoderPromise ||\n modules.draco3d.createEncoderModule({}).then((draco) => {\n return {draco};\n });\n } else {\n // If not, dynamically load the WASM script from our CDN\n loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);\n }\n return await loadEncoderPromise;\n}\n\n// DRACO DECODER LOADING\n\nasync function loadDracoDecoder(options) {\n let DracoDecoderModule;\n let wasmBinary;\n switch (options.draco && options.draco.decoderType) {\n case 'js':\n DracoDecoderModule = await loadLibrary(DRACO_JS_DECODER_URL, 'draco', options);\n break;\n\n case 'wasm':\n default:\n [DracoDecoderModule, wasmBinary] = await Promise.all([\n await loadLibrary(DRACO_WASM_WRAPPER_URL, 'draco', options),\n await loadLibrary(DRACO_WASM_DECODER_URL, 'draco', options)\n ]);\n }\n // Depends on how import happened...\n // @ts-ignore\n DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;\n return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);\n}\n\nfunction initializeDracoDecoder(DracoDecoderModule, wasmBinary) {\n const options: {wasmBinary?: any} = {};\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n DracoDecoderModule({\n ...options,\n onModuleLoaded: (draco) => resolve({draco}) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n\n// ENCODER\n\nasync function loadDracoEncoder(options) {\n let DracoEncoderModule = await loadLibrary(DRACO_ENCODER_URL, 'draco', options);\n // @ts-ignore\n DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;\n\n return new Promise((resolve) => {\n DracoEncoderModule({\n onModuleLoaded: (draco) => resolve({draco}) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n"],"file":"draco-module-loader.js"}
1
+ {"version":3,"file":"draco-module-loader.js","names":["DRACO_VERSION","DRACO_JS_DECODER_URL","DRACO_WASM_WRAPPER_URL","DRACO_WASM_DECODER_URL","DRACO_ENCODER_URL","loadDecoderPromise","loadEncoderPromise","loadDracoDecoderModule","options","modules","draco3d","createDecoderModule","then","draco","loadDracoDecoder","loadDracoEncoderModule","createEncoderModule","loadDracoEncoder","decoderType","loadLibrary","DracoDecoderModule","Promise","all","wasmBinary","globalThis","initializeDracoDecoder","resolve","onModuleLoaded","DracoEncoderModule"],"sources":["../../../src/lib/draco-module-loader.ts"],"sourcesContent":["// Dynamic DRACO module loading inspired by THREE.DRACOLoader\n// https://github.com/mrdoob/three.js/blob/398c4f39ebdb8b23eefd4a7a5ec49ec0c96c7462/examples/jsm/loaders/DRACOLoader.js\n// by Don McCurdy / https://www.donmccurdy.com / MIT license\n\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nconst DRACO_VERSION = '1.4.1';\nconst DRACO_JS_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_decoder.js`;\nconst DRACO_WASM_WRAPPER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_wasm_wrapper.js`;\nconst DRACO_WASM_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_VERSION}/draco_decoder.wasm`;\n\nconst DRACO_ENCODER_URL = `https://raw.githubusercontent.com/google/draco/${DRACO_VERSION}/javascript/draco_encoder.js`;\n\nlet loadDecoderPromise;\nlet loadEncoderPromise;\n\nexport async function loadDracoDecoderModule(options) {\n const modules = options.modules || {};\n\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadDecoderPromise =\n loadDecoderPromise ||\n modules.draco3d.createDecoderModule({}).then((draco) => {\n return {draco};\n });\n } else {\n // If not, dynamically load the WASM script from our CDN\n loadDecoderPromise = loadDecoderPromise || loadDracoDecoder(options);\n }\n return await loadDecoderPromise;\n}\n\nexport async function loadDracoEncoderModule(options) {\n const modules = options.modules || {};\n\n // Check if a bundled draco3d library has been supplied by application\n if (modules.draco3d) {\n loadEncoderPromise =\n loadEncoderPromise ||\n modules.draco3d.createEncoderModule({}).then((draco) => {\n return {draco};\n });\n } else {\n // If not, dynamically load the WASM script from our CDN\n loadEncoderPromise = loadEncoderPromise || loadDracoEncoder(options);\n }\n return await loadEncoderPromise;\n}\n\n// DRACO DECODER LOADING\n\nasync function loadDracoDecoder(options) {\n let DracoDecoderModule;\n let wasmBinary;\n switch (options.draco && options.draco.decoderType) {\n case 'js':\n DracoDecoderModule = await loadLibrary(DRACO_JS_DECODER_URL, 'draco', options);\n break;\n\n case 'wasm':\n default:\n [DracoDecoderModule, wasmBinary] = await Promise.all([\n await loadLibrary(DRACO_WASM_WRAPPER_URL, 'draco', options),\n await loadLibrary(DRACO_WASM_DECODER_URL, 'draco', options)\n ]);\n }\n // Depends on how import happened...\n // @ts-ignore\n DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;\n return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);\n}\n\nfunction initializeDracoDecoder(DracoDecoderModule, wasmBinary) {\n const options: {wasmBinary?: any} = {};\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n DracoDecoderModule({\n ...options,\n onModuleLoaded: (draco) => resolve({draco}) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n\n// ENCODER\n\nasync function loadDracoEncoder(options) {\n let DracoEncoderModule = await loadLibrary(DRACO_ENCODER_URL, 'draco', options);\n // @ts-ignore\n DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;\n\n return new Promise((resolve) => {\n DracoEncoderModule({\n onModuleLoaded: (draco) => resolve({draco}) // Module is Promise-like. Wrap in object to avoid loop.\n });\n });\n}\n"],"mappings":"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"}