@loaders.gl/crypto 3.3.0-alpha.1 → 3.3.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 (76) hide show
  1. package/dist/crypto-worker.js +1 -1
  2. package/dist/crypto-worker.js.map +1 -1
  3. package/dist/dist.min.js.map +1 -1
  4. package/dist/es5/bundle.js +0 -1
  5. package/dist/es5/bundle.js.map +1 -1
  6. package/dist/es5/index.js +16 -21
  7. package/dist/es5/index.js.map +1 -1
  8. package/dist/es5/lib/algorithms/crc32.js +0 -9
  9. package/dist/es5/lib/algorithms/crc32.js.map +1 -1
  10. package/dist/es5/lib/algorithms/crc32c.js +1 -10
  11. package/dist/es5/lib/algorithms/crc32c.js.map +1 -1
  12. package/dist/es5/lib/algorithms/md5-wasm.js +32 -66
  13. package/dist/es5/lib/algorithms/md5-wasm.js.map +1 -1
  14. package/dist/es5/lib/crc32-hash.js +32 -90
  15. package/dist/es5/lib/crc32-hash.js.map +1 -1
  16. package/dist/es5/lib/crc32c-hash.js +36 -91
  17. package/dist/es5/lib/crc32c-hash.js.map +1 -1
  18. package/dist/es5/lib/crypto-hash.js +30 -98
  19. package/dist/es5/lib/crypto-hash.js.map +1 -1
  20. package/dist/es5/lib/hash.js +35 -82
  21. package/dist/es5/lib/hash.js.map +1 -1
  22. package/dist/es5/lib/md5-hash.js +3 -25
  23. package/dist/es5/lib/md5-hash.js.map +1 -1
  24. package/dist/es5/lib/node-hash.js +30 -86
  25. package/dist/es5/lib/node-hash.js.map +1 -1
  26. package/dist/es5/lib/sha256-hash.js +4 -19
  27. package/dist/es5/lib/sha256-hash.js.map +1 -1
  28. package/dist/es5/lib/utils/base64-utils.js +0 -13
  29. package/dist/es5/lib/utils/base64-utils.js.map +1 -1
  30. package/dist/es5/lib/utils/digest-utils.js +1 -4
  31. package/dist/es5/lib/utils/digest-utils.js.map +1 -1
  32. package/dist/es5/types.js.map +1 -1
  33. package/dist/es5/workers/worker.js +6 -22
  34. package/dist/es5/workers/worker.js.map +1 -1
  35. package/dist/esm/bundle.js +1 -1
  36. package/dist/esm/bundle.js.map +1 -1
  37. package/dist/esm/index.js +6 -1
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/lib/algorithms/crc32.js +2 -6
  40. package/dist/esm/lib/algorithms/crc32.js.map +1 -1
  41. package/dist/esm/lib/algorithms/crc32c.js +4 -9
  42. package/dist/esm/lib/algorithms/crc32c.js.map +1 -1
  43. package/dist/esm/lib/algorithms/md5-wasm.js +34 -64
  44. package/dist/esm/lib/algorithms/md5-wasm.js.map +1 -1
  45. package/dist/esm/lib/crc32-hash.js +3 -14
  46. package/dist/esm/lib/crc32-hash.js.map +1 -1
  47. package/dist/esm/lib/crc32c-hash.js +3 -13
  48. package/dist/esm/lib/crc32c-hash.js.map +1 -1
  49. package/dist/esm/lib/crypto-hash.js +2 -21
  50. package/dist/esm/lib/crypto-hash.js.map +1 -1
  51. package/dist/esm/lib/hash.js +2 -9
  52. package/dist/esm/lib/hash.js.map +1 -1
  53. package/dist/esm/lib/md5-hash.js +5 -6
  54. package/dist/esm/lib/md5-hash.js.map +1 -1
  55. package/dist/esm/lib/node-hash.js +2 -13
  56. package/dist/esm/lib/node-hash.js.map +1 -1
  57. package/dist/esm/lib/sha256-hash.js +5 -3
  58. package/dist/esm/lib/sha256-hash.js.map +1 -1
  59. package/dist/esm/lib/utils/base64-utils.js +1 -12
  60. package/dist/esm/lib/utils/base64-utils.js.map +1 -1
  61. package/dist/esm/lib/utils/digest-utils.js +2 -1
  62. package/dist/esm/lib/utils/digest-utils.js.map +1 -1
  63. package/dist/esm/types.js.map +1 -1
  64. package/dist/esm/workers/worker.js +3 -5
  65. package/dist/esm/workers/worker.js.map +1 -1
  66. package/dist/lib/crypto-hash.d.ts +1 -1
  67. package/dist/lib/crypto-hash.d.ts.map +1 -1
  68. package/dist/lib/hash.d.ts +1 -1
  69. package/dist/lib/hash.d.ts.map +1 -1
  70. package/dist/lib/node-hash.d.ts +1 -1
  71. package/dist/lib/node-hash.d.ts.map +1 -1
  72. package/dist/lib/sha256-hash.d.ts +1 -1
  73. package/dist/lib/sha256-hash.d.ts.map +1 -1
  74. package/dist/types.d.ts +1 -1
  75. package/dist/types.d.ts.map +1 -1
  76. package/package.json +4 -4
@@ -1,54 +1,34 @@
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.CryptoHash = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
26
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
17
  var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
29
-
30
18
  var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
31
-
32
- var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
33
-
34
19
  var _hash2 = require("./hash");
35
-
36
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
37
-
38
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
-
22
+ function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
23
+ function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function _return(value) { var ret = this.s.return; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function _throw(value) { var thr = this.s.return; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
40
24
  var CryptoJS;
41
25
 
42
26
  var CryptoHash = function (_Hash) {
43
27
  (0, _inherits2.default)(CryptoHash, _Hash);
44
-
45
28
  var _super = _createSuper(CryptoHash);
46
-
47
29
  function CryptoHash(options) {
48
30
  var _this2$options, _this2$options$crypto;
49
-
50
31
  var _this2;
51
-
52
32
  (0, _classCallCheck2.default)(this, CryptoHash);
53
33
  _this2 = _super.call(this);
54
34
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "name", void 0);
@@ -57,21 +37,17 @@ var CryptoHash = function (_Hash) {
57
37
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "_hash", void 0);
58
38
  _this2.options = options;
59
39
  _this2._algorithm = (_this2$options = _this2.options) === null || _this2$options === void 0 ? void 0 : (_this2$options$crypto = _this2$options.crypto) === null || _this2$options$crypto === void 0 ? void 0 : _this2$options$crypto.algorithm;
60
-
61
40
  if (!_this2._algorithm) {
62
41
  throw new Error(_this2.name);
63
42
  }
64
-
65
43
  _this2.name = _this2._algorithm.toLowerCase();
66
44
  return _this2;
67
45
  }
68
-
69
46
  (0, _createClass2.default)(CryptoHash, [{
70
47
  key: "preload",
71
48
  value: function () {
72
49
  var _preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
73
50
  var _this$options, _this$options$modules, algo;
74
-
75
51
  return _regenerator.default.wrap(function _callee$(_context) {
76
52
  while (1) {
77
53
  switch (_context.prev = _context.next) {
@@ -80,29 +56,22 @@ var CryptoHash = function (_Hash) {
80
56
  _context.next = 4;
81
57
  break;
82
58
  }
83
-
84
59
  CryptoJS = (_this$options = this.options) === null || _this$options === void 0 ? void 0 : (_this$options$modules = _this$options.modules) === null || _this$options$modules === void 0 ? void 0 : _this$options$modules.CryptoJS;
85
-
86
60
  if (CryptoJS) {
87
61
  _context.next = 4;
88
62
  break;
89
63
  }
90
-
91
64
  throw new Error(this.name);
92
-
93
65
  case 4:
94
66
  if (!this._hash) {
95
67
  algo = CryptoJS.algo[this._algorithm];
96
68
  this._hash = algo.create();
97
69
  }
98
-
99
70
  if (this._hash) {
100
71
  _context.next = 7;
101
72
  break;
102
73
  }
103
-
104
74
  throw new Error(this.name);
105
-
106
75
  case 7:
107
76
  case "end":
108
77
  return _context.stop();
@@ -110,11 +79,9 @@ var CryptoHash = function (_Hash) {
110
79
  }
111
80
  }, _callee, this);
112
81
  }));
113
-
114
82
  function preload() {
115
83
  return _preload.apply(this, arguments);
116
84
  }
117
-
118
85
  return preload;
119
86
  }()
120
87
  }, {
@@ -128,11 +95,9 @@ var CryptoHash = function (_Hash) {
128
95
  case 0:
129
96
  _context2.next = 2;
130
97
  return this.preload();
131
-
132
98
  case 2:
133
99
  typedWordArray = CryptoJS.lib.WordArray.create(input);
134
100
  return _context2.abrupt("return", this._hash.update(typedWordArray).finalize().toString(CryptoJS.enc.Base64));
135
-
136
101
  case 4:
137
102
  case "end":
138
103
  return _context2.stop();
@@ -140,122 +105,89 @@ var CryptoHash = function (_Hash) {
140
105
  }
141
106
  }, _callee2, this);
142
107
  }));
143
-
144
108
  function hash(_x) {
145
109
  return _hash.apply(this, arguments);
146
110
  }
147
-
148
111
  return hash;
149
112
  }()
150
113
  }, {
151
114
  key: "hashBatches",
152
115
  value: function hashBatches(asyncIterator) {
153
116
  var _this = this;
154
-
155
117
  return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee3() {
156
118
  var _this$options2, _this$options2$crypto, _this$options2$crypto2;
157
-
158
- var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, typedWordArray, hash;
159
-
119
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, typedWordArray, hash;
160
120
  return _regenerator.default.wrap(function _callee3$(_context3) {
161
121
  while (1) {
162
122
  switch (_context3.prev = _context3.next) {
163
123
  case 0:
164
124
  _context3.next = 2;
165
125
  return (0, _awaitAsyncGenerator2.default)(_this.preload());
166
-
167
126
  case 2:
168
- _iteratorNormalCompletion = true;
127
+ _iteratorAbruptCompletion = false;
169
128
  _didIteratorError = false;
170
129
  _context3.prev = 4;
171
- _iterator = (0, _asyncIterator2.default)(asyncIterator);
172
-
130
+ _iterator = _asyncIterator(asyncIterator);
173
131
  case 6:
174
132
  _context3.next = 8;
175
133
  return (0, _awaitAsyncGenerator2.default)(_iterator.next());
176
-
177
134
  case 8:
178
- _step = _context3.sent;
179
- _iteratorNormalCompletion = _step.done;
180
- _context3.next = 12;
181
- return (0, _awaitAsyncGenerator2.default)(_step.value);
182
-
183
- case 12:
184
- _value = _context3.sent;
185
-
186
- if (_iteratorNormalCompletion) {
187
- _context3.next = 22;
135
+ if (!(_iteratorAbruptCompletion = !(_step = _context3.sent).done)) {
136
+ _context3.next = 17;
188
137
  break;
189
138
  }
190
-
191
- chunk = _value;
139
+ chunk = _step.value;
192
140
  typedWordArray = CryptoJS.lib.WordArray.create(chunk);
193
-
194
141
  _this._hash.update(typedWordArray);
195
-
196
- _context3.next = 19;
142
+ _context3.next = 14;
197
143
  return chunk;
198
-
199
- case 19:
200
- _iteratorNormalCompletion = true;
144
+ case 14:
145
+ _iteratorAbruptCompletion = false;
201
146
  _context3.next = 6;
202
147
  break;
203
-
204
- case 22:
205
- _context3.next = 28;
148
+ case 17:
149
+ _context3.next = 23;
206
150
  break;
207
-
208
- case 24:
209
- _context3.prev = 24;
151
+ case 19:
152
+ _context3.prev = 19;
210
153
  _context3.t0 = _context3["catch"](4);
211
154
  _didIteratorError = true;
212
155
  _iteratorError = _context3.t0;
213
-
214
- case 28:
215
- _context3.prev = 28;
216
- _context3.prev = 29;
217
-
218
- if (!(!_iteratorNormalCompletion && _iterator.return != null)) {
219
- _context3.next = 33;
156
+ case 23:
157
+ _context3.prev = 23;
158
+ _context3.prev = 24;
159
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
160
+ _context3.next = 28;
220
161
  break;
221
162
  }
222
-
223
- _context3.next = 33;
163
+ _context3.next = 28;
224
164
  return (0, _awaitAsyncGenerator2.default)(_iterator.return());
225
-
226
- case 33:
227
- _context3.prev = 33;
228
-
165
+ case 28:
166
+ _context3.prev = 28;
229
167
  if (!_didIteratorError) {
230
- _context3.next = 36;
168
+ _context3.next = 31;
231
169
  break;
232
170
  }
233
-
234
171
  throw _iteratorError;
235
-
236
- case 36:
237
- return _context3.finish(33);
238
-
239
- case 37:
172
+ case 31:
240
173
  return _context3.finish(28);
241
-
242
- case 38:
174
+ case 32:
175
+ return _context3.finish(23);
176
+ case 33:
243
177
  hash = _this._hash.finalize().toString(CryptoJS.enc.Base64);
244
178
  (_this$options2 = _this.options) === null || _this$options2 === void 0 ? void 0 : (_this$options2$crypto = _this$options2.crypto) === null || _this$options2$crypto === void 0 ? void 0 : (_this$options2$crypto2 = _this$options2$crypto.onEnd) === null || _this$options2$crypto2 === void 0 ? void 0 : _this$options2$crypto2.call(_this$options2$crypto, {
245
179
  hash: hash
246
180
  });
247
-
248
- case 40:
181
+ case 35:
249
182
  case "end":
250
183
  return _context3.stop();
251
184
  }
252
185
  }
253
- }, _callee3, null, [[4, 24, 28, 38], [29,, 33, 37]]);
186
+ }, _callee3, null, [[4, 19, 23, 33], [24,, 28, 32]]);
254
187
  }))();
255
188
  }
256
189
  }]);
257
190
  return CryptoHash;
258
191
  }(_hash2.Hash);
259
-
260
192
  exports.CryptoHash = CryptoHash;
261
193
  //# sourceMappingURL=crypto-hash.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/crypto-hash.ts"],"names":["CryptoJS","CryptoHash","options","_algorithm","crypto","algorithm","Error","name","toLowerCase","modules","_hash","algo","create","input","preload","typedWordArray","lib","WordArray","update","finalize","toString","enc","Base64","asyncIterator","chunk","hash","onEnd","Hash"],"mappings":"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","sourcesContent":["// This dependency is too big, application must provide it\nimport type * as CryptoJSNamespace from 'crypto-js';\nimport {Hash} from './hash';\n\ntype CryptoHashOptions = {\n modules: {[moduleName: string]: any};\n crypto: {\n algorithm: string;\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\nlet CryptoJS: typeof CryptoJSNamespace;\n\n/**\n * A transform that calculates Cryptographic Hash using Crypto JS library\n * @deprecated Warning, experimental class\n */\nexport class CryptoHash extends Hash {\n readonly name;\n\n options: CryptoHashOptions;\n private _algorithm;\n private _hash;\n\n constructor(options: CryptoHashOptions) {\n super();\n this.options = options;\n this._algorithm = this.options?.crypto?.algorithm;\n if (!this._algorithm) {\n throw new Error(this.name);\n }\n this.name = this._algorithm.toLowerCase();\n }\n\n async preload(): Promise<void> {\n if (!CryptoJS) {\n CryptoJS = this.options?.modules?.CryptoJS;\n if (!CryptoJS) {\n throw new Error(this.name);\n }\n }\n if (!this._hash) {\n const algo = CryptoJS.algo[this._algorithm];\n this._hash = algo.create();\n }\n if (!this._hash) {\n throw new Error(this.name);\n }\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer): Promise<string> {\n await this.preload();\n // arrayBuffer is accepted, even though types and docs say no\n // https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer\n // @ts-expect-error\n const typedWordArray = CryptoJS.lib.WordArray.create(input);\n return this._hash.update(typedWordArray).finalize().toString(CryptoJS.enc.Base64);\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n await this.preload();\n for await (const chunk of asyncIterator) {\n // arrayBuffer is accepted, even though types and docs say no\n // https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer\n // @ts-expect-error\n const typedWordArray = CryptoJS.lib.WordArray.create(chunk);\n this._hash.update(typedWordArray);\n yield chunk;\n }\n const hash = this._hash.finalize().toString(CryptoJS.enc.Base64);\n this.options?.crypto?.onEnd?.({hash});\n }\n}\n"],"file":"crypto-hash.js"}
1
+ {"version":3,"file":"crypto-hash.js","names":["CryptoJS","CryptoHash","options","_algorithm","crypto","algorithm","Error","name","toLowerCase","modules","_hash","algo","create","input","preload","typedWordArray","lib","WordArray","update","finalize","toString","enc","Base64","asyncIterator","chunk","hash","onEnd","Hash"],"sources":["../../../src/lib/crypto-hash.ts"],"sourcesContent":["// This dependency is too big, application must provide it\nimport type * as CryptoJSNamespace from 'crypto-js';\nimport {Hash} from './hash';\n\ntype CryptoHashOptions = {\n modules: {[moduleName: string]: any};\n crypto: {\n algorithm: string;\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\nlet CryptoJS: typeof CryptoJSNamespace;\n\n/**\n * A transform that calculates Cryptographic Hash using Crypto JS library\n * @deprecated Warning, experimental class\n */\nexport class CryptoHash extends Hash {\n readonly name;\n\n options: CryptoHashOptions;\n private _algorithm;\n private _hash;\n\n constructor(options: CryptoHashOptions) {\n super();\n this.options = options;\n this._algorithm = this.options?.crypto?.algorithm;\n if (!this._algorithm) {\n throw new Error(this.name);\n }\n this.name = this._algorithm.toLowerCase();\n }\n\n async preload(): Promise<void> {\n if (!CryptoJS) {\n CryptoJS = this.options?.modules?.CryptoJS;\n if (!CryptoJS) {\n throw new Error(this.name);\n }\n }\n if (!this._hash) {\n const algo = CryptoJS.algo[this._algorithm];\n this._hash = algo.create();\n }\n if (!this._hash) {\n throw new Error(this.name);\n }\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer): Promise<string> {\n await this.preload();\n // arrayBuffer is accepted, even though types and docs say no\n // https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer\n // @ts-expect-error\n const typedWordArray = CryptoJS.lib.WordArray.create(input);\n return this._hash.update(typedWordArray).finalize().toString(CryptoJS.enc.Base64);\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n await this.preload();\n for await (const chunk of asyncIterator) {\n // arrayBuffer is accepted, even though types and docs say no\n // https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer\n // @ts-expect-error\n const typedWordArray = CryptoJS.lib.WordArray.create(chunk);\n this._hash.update(typedWordArray);\n yield chunk;\n }\n const hash = this._hash.finalize().toString(CryptoJS.enc.Base64);\n this.options?.crypto?.onEnd?.({hash});\n }\n}\n"],"mappings":"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"}
@@ -1,30 +1,20 @@
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.Hash = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
13
  var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
21
-
22
14
  var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
23
-
24
- var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
25
-
26
15
  var _loaderUtils = require("@loaders.gl/loader-utils");
27
-
16
+ function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
17
+ function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function _return(value) { var ret = this.s.return; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function _throw(value) { var thr = this.s.return; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
28
18
  var Hash = function () {
29
19
  function Hash() {
30
20
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -33,7 +23,6 @@ var Hash = function () {
33
23
  (0, _defineProperty2.default)(this, "options", void 0);
34
24
  this.hashBatches = this.hashBatches.bind(this);
35
25
  }
36
-
37
26
  (0, _createClass2.default)(Hash, [{
38
27
  key: "preload",
39
28
  value: function () {
@@ -43,7 +32,6 @@ var Hash = function () {
43
32
  switch (_context.prev = _context.next) {
44
33
  case 0:
45
34
  return _context.abrupt("return");
46
-
47
35
  case 1:
48
36
  case "end":
49
37
  return _context.stop();
@@ -51,122 +39,92 @@ var Hash = function () {
51
39
  }
52
40
  }, _callee);
53
41
  }));
54
-
55
42
  function preload() {
56
43
  return _preload.apply(this, arguments);
57
44
  }
58
-
59
45
  return preload;
60
46
  }()
61
47
  }, {
62
48
  key: "hashBatches",
63
49
  value: function hashBatches(asyncIterator) {
64
50
  var _this = this;
65
-
66
51
  return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee2() {
67
52
  var _this$options$crypto, _this$options$crypto$;
68
-
69
- var arrayBuffers, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, _arrayBuffer, output, hash;
70
-
53
+ var arrayBuffers, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _arrayBuffer, output, hash;
71
54
  return _regenerator.default.wrap(function _callee2$(_context2) {
72
55
  while (1) {
73
56
  switch (_context2.prev = _context2.next) {
74
57
  case 0:
75
58
  arrayBuffers = [];
76
- _iteratorNormalCompletion = true;
59
+ _iteratorAbruptCompletion = false;
77
60
  _didIteratorError = false;
78
61
  _context2.prev = 3;
79
- _iterator = (0, _asyncIterator2.default)(asyncIterator);
80
-
62
+ _iterator = _asyncIterator(asyncIterator);
81
63
  case 5:
82
64
  _context2.next = 7;
83
65
  return (0, _awaitAsyncGenerator2.default)(_iterator.next());
84
-
85
66
  case 7:
86
- _step = _context2.sent;
87
- _iteratorNormalCompletion = _step.done;
88
- _context2.next = 11;
89
- return (0, _awaitAsyncGenerator2.default)(_step.value);
90
-
91
- case 11:
92
- _value = _context2.sent;
93
-
94
- if (_iteratorNormalCompletion) {
95
- _context2.next = 20;
67
+ if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
68
+ _context2.next = 15;
96
69
  break;
97
70
  }
98
-
99
- _arrayBuffer = _value;
71
+ _arrayBuffer = _step.value;
100
72
  arrayBuffers.push(_arrayBuffer);
101
- _context2.next = 17;
73
+ _context2.next = 12;
102
74
  return _arrayBuffer;
103
-
104
- case 17:
105
- _iteratorNormalCompletion = true;
75
+ case 12:
76
+ _iteratorAbruptCompletion = false;
106
77
  _context2.next = 5;
107
78
  break;
108
-
109
- case 20:
110
- _context2.next = 26;
79
+ case 15:
80
+ _context2.next = 21;
111
81
  break;
112
-
113
- case 22:
114
- _context2.prev = 22;
82
+ case 17:
83
+ _context2.prev = 17;
115
84
  _context2.t0 = _context2["catch"](3);
116
85
  _didIteratorError = true;
117
86
  _iteratorError = _context2.t0;
118
-
119
- case 26:
120
- _context2.prev = 26;
121
- _context2.prev = 27;
122
-
123
- if (!(!_iteratorNormalCompletion && _iterator.return != null)) {
124
- _context2.next = 31;
87
+ case 21:
88
+ _context2.prev = 21;
89
+ _context2.prev = 22;
90
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
91
+ _context2.next = 26;
125
92
  break;
126
93
  }
127
-
128
- _context2.next = 31;
94
+ _context2.next = 26;
129
95
  return (0, _awaitAsyncGenerator2.default)(_iterator.return());
130
-
131
- case 31:
132
- _context2.prev = 31;
133
-
96
+ case 26:
97
+ _context2.prev = 26;
134
98
  if (!_didIteratorError) {
135
- _context2.next = 34;
99
+ _context2.next = 29;
136
100
  break;
137
101
  }
138
-
139
102
  throw _iteratorError;
140
-
141
- case 34:
142
- return _context2.finish(31);
143
-
144
- case 35:
103
+ case 29:
145
104
  return _context2.finish(26);
146
-
147
- case 36:
148
- _context2.next = 38;
105
+ case 30:
106
+ return _context2.finish(21);
107
+ case 31:
108
+ _context2.next = 33;
149
109
  return (0, _awaitAsyncGenerator2.default)(_this.concatenate(arrayBuffers));
150
-
151
- case 38:
110
+ case 33:
152
111
  output = _context2.sent;
153
- _context2.next = 41;
112
+ _context2.next = 36;
154
113
  return (0, _awaitAsyncGenerator2.default)(_this.hash(output));
155
-
156
- case 41:
114
+ case 36:
157
115
  hash = _context2.sent;
158
116
  (_this$options$crypto = _this.options.crypto) === null || _this$options$crypto === void 0 ? void 0 : (_this$options$crypto$ = _this$options$crypto.onEnd) === null || _this$options$crypto$ === void 0 ? void 0 : _this$options$crypto$.call(_this$options$crypto, {
159
117
  hash: hash
160
118
  });
161
-
162
- case 43:
119
+ case 38:
163
120
  case "end":
164
121
  return _context2.stop();
165
122
  }
166
123
  }
167
- }, _callee2, null, [[3, 22, 26, 36], [27,, 31, 35]]);
124
+ }, _callee2, null, [[3, 17, 21, 31], [22,, 26, 30]]);
168
125
  }))();
169
126
  }
127
+
170
128
  }, {
171
129
  key: "concatenate",
172
130
  value: function () {
@@ -177,10 +135,8 @@ var Hash = function () {
177
135
  case 0:
178
136
  _context3.next = 2;
179
137
  return (0, _loaderUtils.concatenateArrayBuffersAsync)(asyncIterator);
180
-
181
138
  case 2:
182
139
  return _context3.abrupt("return", _context3.sent);
183
-
184
140
  case 3:
185
141
  case "end":
186
142
  return _context3.stop();
@@ -188,16 +144,13 @@ var Hash = function () {
188
144
  }
189
145
  }, _callee3);
190
146
  }));
191
-
192
147
  function concatenate(_x) {
193
148
  return _concatenate.apply(this, arguments);
194
149
  }
195
-
196
150
  return concatenate;
197
151
  }()
198
152
  }]);
199
153
  return Hash;
200
154
  }();
201
-
202
155
  exports.Hash = Hash;
203
156
  //# sourceMappingURL=hash.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/hash.ts"],"names":["Hash","options","hashBatches","bind","asyncIterator","arrayBuffers","arrayBuffer","push","concatenate","output","hash","crypto","onEnd"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;IAUsBA,I;AAIpB,kBAAuC;AAAA,QAA3BC,OAA2B,uEAAJ,EAAI;AAAA;AAAA;AAAA;AACrC,SAAKC,WAAL,GAAmB,KAAKA,WAAL,CAAiBC,IAAjB,CAAsB,IAAtB,CAAnB;AACD;;;;;+EAED;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAMA,qBACEC,aADF,EAE8B;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AACtBC,gBAAAA,YADsB,GACQ,EADR;AAAA;AAAA;AAAA;AAAA,yDAEID,aAFJ;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAEXE,gBAAAA,YAFW;AAG1BD,gBAAAA,YAAY,CAACE,IAAb,CAAkBD,YAAlB;AAH0B;AAI1B,uBAAMA,YAAN;;AAJ0B;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,0DAMP,KAAI,CAACE,WAAL,CAAiBH,YAAjB,CANO;;AAAA;AAMtBI,gBAAAA,MANsB;AAAA;AAAA,0DAOT,KAAI,CAACC,IAAL,CAAUD,MAAV,CAPS;;AAAA;AAOtBC,gBAAAA,IAPsB;AAQ5B,wCAAA,KAAI,CAACT,OAAL,CAAaU,MAAb,uGAAqBC,KAArB,2GAA6B;AAACF,kBAAAA,IAAI,EAAJA;AAAD,iBAA7B;;AAR4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS7B;;;;mFAID,kBAA4BN,aAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACe,+CAA6BA,aAA7B,CADf;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O","sourcesContent":["// Hash\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\ntype HashOptions = {\n modules?: {[moduleName: string]: any};\n crypto?: {\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/** Abstract hash base class */\nexport abstract class Hash {\n abstract readonly name: string;\n abstract readonly options: HashOptions;\n\n constructor(options: HashOptions = {}) {\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n async preload(): Promise<void> {\n return;\n }\n\n abstract hash(arrayBuffer: ArrayBuffer): Promise<string>;\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const arrayBuffer of asyncIterator) {\n arrayBuffers.push(arrayBuffer);\n yield arrayBuffer;\n }\n const output = await this.concatenate(arrayBuffers);\n const hash = await this.hash(output);\n this.options.crypto?.onEnd?.({hash});\n }\n\n // HELPERS\n\n protected async concatenate(asyncIterator): Promise<ArrayBuffer> {\n return await concatenateArrayBuffersAsync(asyncIterator);\n }\n}\n"],"file":"hash.js"}
1
+ {"version":3,"file":"hash.js","names":["Hash","options","hashBatches","bind","asyncIterator","arrayBuffers","arrayBuffer","push","concatenate","output","hash","crypto","onEnd","concatenateArrayBuffersAsync"],"sources":["../../../src/lib/hash.ts"],"sourcesContent":["// Hash\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\ntype HashOptions = {\n modules?: {[moduleName: string]: any};\n crypto?: {\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/** Abstract hash base class */\nexport abstract class Hash {\n abstract readonly name: string;\n abstract readonly options: HashOptions;\n\n constructor(options: HashOptions = {}) {\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n async preload(): Promise<void> {\n return;\n }\n\n abstract hash(arrayBuffer: ArrayBuffer): Promise<string>;\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const arrayBuffer of asyncIterator) {\n arrayBuffers.push(arrayBuffer);\n yield arrayBuffer;\n }\n const output = await this.concatenate(arrayBuffers);\n const hash = await this.hash(output);\n this.options.crypto?.onEnd?.({hash});\n }\n\n // HELPERS\n\n protected async concatenate(asyncIterator): Promise<ArrayBuffer> {\n return await concatenateArrayBuffersAsync(asyncIterator);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AACA;AAAsE;AAAA;AAAA,IAUhDA,IAAI;EAIxB,gBAAuC;IAAA,IAA3BC,OAAoB,uEAAG,CAAC,CAAC;IAAA;IAAA;IAAA;IACnC,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC;EAChD;EAAC;IAAA;IAAA;MAAA,yEAED;QAAA;UAAA;YAAA;cAAA;gBAAA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAEC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAID,qBACEC,aAAiE,EACrC;MAAA;MAAA;QAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACtBC,YAA2B,GAAG,EAAE;gBAAA;gBAAA;gBAAA;gBAAA,2BACND,aAAa;cAAA;gBAAA;gBAAA;cAAA;gBAAA;kBAAA;kBAAA;gBAAA;gBAA5BE,YAAW;gBAC1BD,YAAY,CAACE,IAAI,CAACD,YAAW,CAAC;gBAAC;gBAC/B,OAAMA,YAAW;cAAA;gBAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAAA;kBAAA;kBAAA;gBAAA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;kBAAA;kBAAA;gBAAA;gBAAA;cAAA;gBAAA;cAAA;gBAAA;cAAA;gBAAA;gBAAA,0CAEE,KAAI,CAACE,WAAW,CAACH,YAAY,CAAC;cAAA;gBAA7CI,MAAM;gBAAA;gBAAA,0CACO,KAAI,CAACC,IAAI,CAACD,MAAM,CAAC;cAAA;gBAA9BC,IAAI;gBACV,6BAAI,CAACT,OAAO,CAACU,MAAM,kFAAnB,qBAAqBC,KAAK,0DAA1B,iDAA6B;kBAACF,IAAI,EAAJA;gBAAI,CAAC,CAAC;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACvC;;EAAC;IAAA;IAAA;MAAA,6EAID,kBAA4BN,aAAa;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC1B,IAAAS,yCAA4B,EAACT,aAAa,CAAC;cAAA;gBAAA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACzD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA;AAAA"}
@@ -1,48 +1,29 @@
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.MD5Hash = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
26
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
17
  var _hash2 = require("./hash");
29
-
30
18
  var _md5Wasm = _interopRequireDefault(require("./algorithms/md5-wasm"));
31
-
32
19
  var _digestUtils = require("./utils/digest-utils");
33
-
34
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
35
-
36
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
-
38
22
  var MD5Hash = function (_Hash) {
39
23
  (0, _inherits2.default)(MD5Hash, _Hash);
40
-
41
24
  var _super = _createSuper(MD5Hash);
42
-
43
25
  function MD5Hash() {
44
26
  var _this;
45
-
46
27
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
47
28
  (0, _classCallCheck2.default)(this, MD5Hash);
48
29
  _this = _super.call(this);
@@ -62,15 +43,15 @@ var MD5Hash = function (_Hash) {
62
43
  switch (_context.prev = _context.next) {
63
44
  case 0:
64
45
  md5Promise = new Promise(function (resolve, reject) {
65
- return (0, _md5Wasm.default)(input).then(resolve).catch(reject);
46
+ return (
47
+ (0, _md5Wasm.default)(input).then(resolve).catch(reject)
48
+ );
66
49
  });
67
50
  _context.next = 3;
68
51
  return md5Promise;
69
-
70
52
  case 3:
71
53
  hex = _context.sent;
72
54
  return _context.abrupt("return", (0, _digestUtils.hexToBase64)(hex));
73
-
74
55
  case 5:
75
56
  case "end":
76
57
  return _context.stop();
@@ -78,16 +59,13 @@ var MD5Hash = function (_Hash) {
78
59
  }
79
60
  }, _callee);
80
61
  }));
81
-
82
62
  function hash(_x) {
83
63
  return _hash.apply(this, arguments);
84
64
  }
85
-
86
65
  return hash;
87
66
  }()
88
67
  }]);
89
68
  return MD5Hash;
90
69
  }(_hash2.Hash);
91
-
92
70
  exports.MD5Hash = MD5Hash;
93
71
  //# sourceMappingURL=md5-hash.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/md5-hash.ts"],"names":["MD5Hash","options","input","md5Promise","Promise","resolve","reject","then","catch","hex","Hash"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;IAKaA,O;;;;;AAIX,qBAA0B;AAAA;;AAAA,QAAdC,OAAc,uEAAJ,EAAI;AAAA;AACxB;AADwB,uFAHV,KAGU;AAAA;AAExB,UAAKA,OAAL,GAAeA,OAAf;AAFwB;AAGzB;;;;;4EAMD,iBAAWC,KAAX;AAAA;AAAA;AAAA;AAAA;AAAA;AACQC,gBAAAA,UADR,GACqB,IAAIC,OAAJ,CAAoB,UAACC,OAAD,EAAUC,MAAV;AAAA,yBAErC,sBAAQJ,KAAR,EAAeK,IAAf,CAAoBF,OAApB,EAA6BG,KAA7B,CAAmCF,MAAnC,CAFqC;AAAA,iBAApB,CADrB;AAAA;AAAA,uBAKoBH,UALpB;;AAAA;AAKQM,gBAAAA,GALR;AAAA,iDAMS,8BAAYA,GAAZ,CANT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAb2BC,W","sourcesContent":["// Fork of https://github.com/briantbutton/md5-wasm under MIT license\nimport {Hash} from './hash';\nimport md5WASM from './algorithms/md5-wasm';\nimport {hexToBase64} from './utils/digest-utils';\n\n/**\n * A transform that calculates MD5 hashes, passing data through\n */\nexport class MD5Hash extends Hash {\n readonly name = 'md5';\n readonly options;\n\n constructor(options = {}) {\n super();\n this.options = options;\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer): Promise<string> {\n const md5Promise = new Promise<string>((resolve, reject) =>\n // @ts-expect-error\n md5WASM(input).then(resolve).catch(reject)\n );\n const hex = await md5Promise;\n return hexToBase64(hex);\n }\n}\n"],"file":"md5-hash.js"}
1
+ {"version":3,"file":"md5-hash.js","names":["MD5Hash","options","input","md5Promise","Promise","resolve","reject","md5WASM","then","catch","hex","hexToBase64","Hash"],"sources":["../../../src/lib/md5-hash.ts"],"sourcesContent":["// Fork of https://github.com/briantbutton/md5-wasm under MIT license\nimport {Hash} from './hash';\nimport md5WASM from './algorithms/md5-wasm';\nimport {hexToBase64} from './utils/digest-utils';\n\n/**\n * A transform that calculates MD5 hashes, passing data through\n */\nexport class MD5Hash extends Hash {\n readonly name = 'md5';\n readonly options;\n\n constructor(options = {}) {\n super();\n this.options = options;\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer): Promise<string> {\n const md5Promise = new Promise<string>((resolve, reject) =>\n // @ts-expect-error\n md5WASM(input).then(resolve).catch(reject)\n );\n const hex = await md5Promise;\n return hexToBase64(hex);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA;AACA;AACA;AAAiD;AAAA;AAAA,IAKpCA,OAAO;EAAA;EAAA;EAIlB,mBAA0B;IAAA;IAAA,IAAdC,OAAO,uEAAG,CAAC,CAAC;IAAA;IACtB;IAAQ,mFAJM,KAAK;IAAA;IAKnB,MAAKA,OAAO,GAAGA,OAAO;IAAC;EACzB;;EAAC;IAAA;IAAA;MAAA,sEAMD,iBAAWC,KAAkB;QAAA;QAAA;UAAA;YAAA;cAAA;gBACrBC,UAAU,GAAG,IAAIC,OAAO,CAAS,UAACC,OAAO,EAAEC,MAAM;kBAAA;oBAErD,IAAAC,gBAAO,EAACL,KAAK,CAAC,CAACM,IAAI,CAACH,OAAO,CAAC,CAACI,KAAK,CAACH,MAAM;kBAAC;gBAAA,EAC3C;gBAAA;gBAAA,OACiBH,UAAU;cAAA;gBAAtBO,GAAG;gBAAA,iCACF,IAAAC,wBAAW,EAACD,GAAG,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EApB0BE,WAAI;AAAA"}