@loaders.gl/crypto 4.0.0-alpha.5 → 4.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +2 -2
- package/dist/crypto-worker-node.js +2 -0
- package/dist/crypto-worker-node.js.map +7 -0
- package/dist/crypto-worker.js +2 -0
- package/dist/crypto-worker.js.map +7 -0
- package/dist/dist.min.js +1 -1
- package/dist/dist.min.js.map +2 -2
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/index.js +83 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/algorithms/crc32.js +41 -0
- package/dist/es5/lib/algorithms/crc32.js.map +1 -0
- package/dist/es5/lib/algorithms/crc32c.js +44 -0
- package/dist/es5/lib/algorithms/crc32c.js.map +1 -0
- package/dist/es5/lib/algorithms/md5-wasm.js +436 -0
- package/dist/es5/lib/algorithms/md5-wasm.js.map +1 -0
- package/dist/es5/lib/crc32-hash.js +150 -0
- package/dist/es5/lib/crc32-hash.js.map +1 -0
- package/dist/es5/lib/crc32c-hash.js +149 -0
- package/dist/es5/lib/crc32c-hash.js.map +1 -0
- package/dist/es5/lib/crypto-hash.js +186 -0
- package/dist/es5/lib/crypto-hash.js.map +1 -0
- package/dist/es5/lib/hash.js +149 -0
- package/dist/es5/lib/hash.js.map +1 -0
- package/dist/es5/lib/md5-hash.js +66 -0
- package/dist/es5/lib/md5-hash.js.map +1 -0
- package/dist/es5/lib/node-hash.js +147 -0
- package/dist/es5/lib/node-hash.js.map +1 -0
- package/dist/es5/lib/sha256-hash.js +33 -0
- package/dist/es5/lib/sha256-hash.js.map +1 -0
- package/dist/es5/lib/utils/base64-utils.js +55 -0
- package/dist/es5/lib/utils/base64-utils.js.map +1 -0
- package/dist/es5/lib/utils/digest-utils.js +23 -0
- package/dist/es5/lib/utils/digest-utils.js.map +1 -0
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/workers/worker.js +65 -0
- package/dist/es5/workers/worker.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/index.js +27 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/algorithms/crc32.js +24 -0
- package/dist/esm/lib/algorithms/crc32.js.map +1 -0
- package/dist/esm/lib/algorithms/crc32c.js +27 -0
- package/dist/esm/lib/algorithms/crc32c.js.map +1 -0
- package/dist/esm/lib/algorithms/md5-wasm.js +428 -0
- package/dist/esm/lib/algorithms/md5-wasm.js.map +1 -0
- package/dist/esm/lib/crc32-hash.js +43 -0
- package/dist/esm/lib/crc32-hash.js.map +1 -0
- package/dist/esm/lib/crc32c-hash.js +42 -0
- package/dist/esm/lib/crc32c-hash.js.map +1 -0
- package/dist/esm/lib/crypto-hash.js +54 -0
- package/dist/esm/lib/crypto-hash.js.map +1 -0
- package/dist/esm/lib/hash.js +30 -0
- package/dist/esm/lib/hash.js.map +1 -0
- package/dist/esm/lib/md5-hash.js +19 -0
- package/dist/esm/lib/md5-hash.js.map +1 -0
- package/dist/esm/lib/node-hash.js +38 -0
- package/dist/esm/lib/node-hash.js.map +1 -0
- package/dist/esm/lib/sha256-hash.js +13 -0
- package/dist/esm/lib/sha256-hash.js.map +1 -0
- package/dist/esm/lib/utils/base64-utils.js +49 -0
- package/dist/esm/lib/utils/base64-utils.js.map +1 -0
- package/dist/esm/lib/utils/digest-utils.js +14 -0
- package/dist/esm/lib/utils/digest-utils.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/workers/cryptojs-worker.ts.disabled +26 -0
- package/dist/esm/workers/worker.js +22 -0
- package/dist/esm/workers/worker.js.map +1 -0
- package/dist/index.js +45 -25
- package/dist/lib/algorithms/crc32.js +25 -26
- package/dist/lib/algorithms/crc32c.js +33 -29
- package/dist/lib/algorithms/md5-wasm.js +414 -449
- package/dist/lib/crc32-hash.js +45 -54
- package/dist/lib/crc32c-hash.js +49 -53
- package/dist/lib/crypto-hash.d.ts +1 -1
- package/dist/lib/crypto-hash.d.ts.map +1 -1
- package/dist/lib/crypto-hash.js +55 -70
- package/dist/lib/hash.d.ts +1 -1
- package/dist/lib/hash.d.ts.map +1 -1
- package/dist/lib/hash.js +27 -36
- package/dist/lib/md5-hash.js +31 -22
- package/dist/lib/node-hash.d.ts +1 -1
- package/dist/lib/node-hash.d.ts.map +1 -1
- package/dist/lib/node-hash.js +39 -49
- package/dist/lib/sha256-hash.d.ts +1 -1
- package/dist/lib/sha256-hash.d.ts.map +1 -1
- package/dist/lib/sha256-hash.js +13 -11
- package/dist/lib/utils/base64-utils.js +62 -57
- package/dist/lib/utils/digest-utils.js +25 -13
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/workers/worker.js +22 -24
- package/package.json +10 -9
- package/src/lib/hash.ts +1 -1
- package/dist/bundle.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/algorithms/crc32.js.map +0 -1
- package/dist/lib/algorithms/crc32c.js.map +0 -1
- package/dist/lib/algorithms/md5-wasm.js.map +0 -1
- package/dist/lib/crc32-hash.js.map +0 -1
- package/dist/lib/crc32c-hash.js.map +0 -1
- package/dist/lib/crypto-hash.js.map +0 -1
- package/dist/lib/hash.js.map +0 -1
- package/dist/lib/md5-hash.js.map +0 -1
- package/dist/lib/node-hash.js.map +0 -1
- package/dist/lib/sha256-hash.js.map +0 -1
- package/dist/lib/utils/base64-utils.js.map +0 -1
- package/dist/lib/utils/digest-utils.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/worker.js +0 -2
- package/dist/worker.js.map +0 -7
- package/dist/workers/worker.js.map +0 -1
- /package/dist/{workers → es5/workers}/cryptojs-worker.ts.disabled +0 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.CryptoHash = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
18
|
+
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
19
|
+
var _hash2 = require("./hash");
|
|
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); }; }
|
|
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; } }
|
|
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); }
|
|
24
|
+
var CryptoJS;
|
|
25
|
+
var CryptoHash = function (_Hash) {
|
|
26
|
+
(0, _inherits2.default)(CryptoHash, _Hash);
|
|
27
|
+
var _super = _createSuper(CryptoHash);
|
|
28
|
+
function CryptoHash(options) {
|
|
29
|
+
var _this2$options, _this2$options$crypto;
|
|
30
|
+
var _this2;
|
|
31
|
+
(0, _classCallCheck2.default)(this, CryptoHash);
|
|
32
|
+
_this2 = _super.call(this);
|
|
33
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "name", void 0);
|
|
34
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "options", void 0);
|
|
35
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "_algorithm", void 0);
|
|
36
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "_hash", void 0);
|
|
37
|
+
_this2.options = options;
|
|
38
|
+
_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;
|
|
39
|
+
if (!_this2._algorithm) {
|
|
40
|
+
throw new Error(_this2.name);
|
|
41
|
+
}
|
|
42
|
+
_this2.name = _this2._algorithm.toLowerCase();
|
|
43
|
+
return _this2;
|
|
44
|
+
}
|
|
45
|
+
(0, _createClass2.default)(CryptoHash, [{
|
|
46
|
+
key: "preload",
|
|
47
|
+
value: function () {
|
|
48
|
+
var _preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
49
|
+
var _this$options, _this$options$modules, algo;
|
|
50
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
51
|
+
while (1) switch (_context.prev = _context.next) {
|
|
52
|
+
case 0:
|
|
53
|
+
if (CryptoJS) {
|
|
54
|
+
_context.next = 4;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
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;
|
|
58
|
+
if (CryptoJS) {
|
|
59
|
+
_context.next = 4;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
throw new Error(this.name);
|
|
63
|
+
case 4:
|
|
64
|
+
if (!this._hash) {
|
|
65
|
+
algo = CryptoJS.algo[this._algorithm];
|
|
66
|
+
this._hash = algo.create();
|
|
67
|
+
}
|
|
68
|
+
if (this._hash) {
|
|
69
|
+
_context.next = 7;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
throw new Error(this.name);
|
|
73
|
+
case 7:
|
|
74
|
+
case "end":
|
|
75
|
+
return _context.stop();
|
|
76
|
+
}
|
|
77
|
+
}, _callee, this);
|
|
78
|
+
}));
|
|
79
|
+
function preload() {
|
|
80
|
+
return _preload.apply(this, arguments);
|
|
81
|
+
}
|
|
82
|
+
return preload;
|
|
83
|
+
}()
|
|
84
|
+
}, {
|
|
85
|
+
key: "hash",
|
|
86
|
+
value: function () {
|
|
87
|
+
var _hash = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(input) {
|
|
88
|
+
var typedWordArray;
|
|
89
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
90
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
91
|
+
case 0:
|
|
92
|
+
_context2.next = 2;
|
|
93
|
+
return this.preload();
|
|
94
|
+
case 2:
|
|
95
|
+
typedWordArray = CryptoJS.lib.WordArray.create(input);
|
|
96
|
+
return _context2.abrupt("return", this._hash.update(typedWordArray).finalize().toString(CryptoJS.enc.Base64));
|
|
97
|
+
case 4:
|
|
98
|
+
case "end":
|
|
99
|
+
return _context2.stop();
|
|
100
|
+
}
|
|
101
|
+
}, _callee2, this);
|
|
102
|
+
}));
|
|
103
|
+
function hash(_x) {
|
|
104
|
+
return _hash.apply(this, arguments);
|
|
105
|
+
}
|
|
106
|
+
return hash;
|
|
107
|
+
}()
|
|
108
|
+
}, {
|
|
109
|
+
key: "hashBatches",
|
|
110
|
+
value: function hashBatches(asyncIterator) {
|
|
111
|
+
var _this = this;
|
|
112
|
+
return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee3() {
|
|
113
|
+
var _this$options2, _this$options2$crypto, _this$options2$crypto2;
|
|
114
|
+
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, typedWordArray, hash;
|
|
115
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
116
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
117
|
+
case 0:
|
|
118
|
+
_context3.next = 2;
|
|
119
|
+
return (0, _awaitAsyncGenerator2.default)(_this.preload());
|
|
120
|
+
case 2:
|
|
121
|
+
_iteratorAbruptCompletion = false;
|
|
122
|
+
_didIteratorError = false;
|
|
123
|
+
_context3.prev = 4;
|
|
124
|
+
_iterator = _asyncIterator(asyncIterator);
|
|
125
|
+
case 6:
|
|
126
|
+
_context3.next = 8;
|
|
127
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
128
|
+
case 8:
|
|
129
|
+
if (!(_iteratorAbruptCompletion = !(_step = _context3.sent).done)) {
|
|
130
|
+
_context3.next = 17;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
chunk = _step.value;
|
|
134
|
+
typedWordArray = CryptoJS.lib.WordArray.create(chunk);
|
|
135
|
+
_this._hash.update(typedWordArray);
|
|
136
|
+
_context3.next = 14;
|
|
137
|
+
return chunk;
|
|
138
|
+
case 14:
|
|
139
|
+
_iteratorAbruptCompletion = false;
|
|
140
|
+
_context3.next = 6;
|
|
141
|
+
break;
|
|
142
|
+
case 17:
|
|
143
|
+
_context3.next = 23;
|
|
144
|
+
break;
|
|
145
|
+
case 19:
|
|
146
|
+
_context3.prev = 19;
|
|
147
|
+
_context3.t0 = _context3["catch"](4);
|
|
148
|
+
_didIteratorError = true;
|
|
149
|
+
_iteratorError = _context3.t0;
|
|
150
|
+
case 23:
|
|
151
|
+
_context3.prev = 23;
|
|
152
|
+
_context3.prev = 24;
|
|
153
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
154
|
+
_context3.next = 28;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
_context3.next = 28;
|
|
158
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
159
|
+
case 28:
|
|
160
|
+
_context3.prev = 28;
|
|
161
|
+
if (!_didIteratorError) {
|
|
162
|
+
_context3.next = 31;
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
throw _iteratorError;
|
|
166
|
+
case 31:
|
|
167
|
+
return _context3.finish(28);
|
|
168
|
+
case 32:
|
|
169
|
+
return _context3.finish(23);
|
|
170
|
+
case 33:
|
|
171
|
+
hash = _this._hash.finalize().toString(CryptoJS.enc.Base64);
|
|
172
|
+
(_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, {
|
|
173
|
+
hash: hash
|
|
174
|
+
});
|
|
175
|
+
case 35:
|
|
176
|
+
case "end":
|
|
177
|
+
return _context3.stop();
|
|
178
|
+
}
|
|
179
|
+
}, _callee3, null, [[4, 19, 23, 33], [24,, 28, 32]]);
|
|
180
|
+
}))();
|
|
181
|
+
}
|
|
182
|
+
}]);
|
|
183
|
+
return CryptoHash;
|
|
184
|
+
}(_hash2.Hash);
|
|
185
|
+
exports.CryptoHash = CryptoHash;
|
|
186
|
+
//# sourceMappingURL=crypto-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto-hash.js","names":["_hash2","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Object","Promise","reject","done","resolve","value","then","n","next","return","_return","ret","throw","_throw","thr","CryptoJS","CryptoHash","_Hash","_inherits2","_super","options","_this2$options","_this2$options$crypto","_this2","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_algorithm","crypto","algorithm","Error","name","toLowerCase","_createClass2","key","_preload","_asyncToGenerator2","_regenerator","mark","_callee","_this$options","_this$options$modules","algo","wrap","_callee$","_context","prev","modules","_hash","create","stop","preload","_callee2","input","typedWordArray","_callee2$","_context2","lib","WordArray","abrupt","update","finalize","toString","enc","Base64","hash","_x","hashBatches","_this","_wrapAsyncGenerator2","_callee3","_this$options2","_this$options2$crypto","_this$options2$crypto2","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","chunk","_callee3$","_context3","_awaitAsyncGenerator2","sent","t0","finish","onEnd","Hash","exports"],"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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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Hash = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
14
|
+
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
15
|
+
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
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); }
|
|
18
|
+
var Hash = function () {
|
|
19
|
+
function Hash() {
|
|
20
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
21
|
+
(0, _classCallCheck2.default)(this, Hash);
|
|
22
|
+
(0, _defineProperty2.default)(this, "name", void 0);
|
|
23
|
+
(0, _defineProperty2.default)(this, "options", void 0);
|
|
24
|
+
this.hashBatches = this.hashBatches.bind(this);
|
|
25
|
+
}
|
|
26
|
+
(0, _createClass2.default)(Hash, [{
|
|
27
|
+
key: "preload",
|
|
28
|
+
value: function () {
|
|
29
|
+
var _preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
30
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
31
|
+
while (1) switch (_context.prev = _context.next) {
|
|
32
|
+
case 0:
|
|
33
|
+
return _context.abrupt("return");
|
|
34
|
+
case 1:
|
|
35
|
+
case "end":
|
|
36
|
+
return _context.stop();
|
|
37
|
+
}
|
|
38
|
+
}, _callee);
|
|
39
|
+
}));
|
|
40
|
+
function preload() {
|
|
41
|
+
return _preload.apply(this, arguments);
|
|
42
|
+
}
|
|
43
|
+
return preload;
|
|
44
|
+
}()
|
|
45
|
+
}, {
|
|
46
|
+
key: "hashBatches",
|
|
47
|
+
value: function hashBatches(asyncIterator) {
|
|
48
|
+
var _this = this;
|
|
49
|
+
return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
50
|
+
var _this$options$crypto, _this$options$crypto$;
|
|
51
|
+
var arrayBuffers, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _arrayBuffer, output, hash;
|
|
52
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
53
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
54
|
+
case 0:
|
|
55
|
+
arrayBuffers = [];
|
|
56
|
+
_iteratorAbruptCompletion = false;
|
|
57
|
+
_didIteratorError = false;
|
|
58
|
+
_context2.prev = 3;
|
|
59
|
+
_iterator = _asyncIterator(asyncIterator);
|
|
60
|
+
case 5:
|
|
61
|
+
_context2.next = 7;
|
|
62
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
63
|
+
case 7:
|
|
64
|
+
if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
|
|
65
|
+
_context2.next = 15;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
_arrayBuffer = _step.value;
|
|
69
|
+
arrayBuffers.push(_arrayBuffer);
|
|
70
|
+
_context2.next = 12;
|
|
71
|
+
return _arrayBuffer;
|
|
72
|
+
case 12:
|
|
73
|
+
_iteratorAbruptCompletion = false;
|
|
74
|
+
_context2.next = 5;
|
|
75
|
+
break;
|
|
76
|
+
case 15:
|
|
77
|
+
_context2.next = 21;
|
|
78
|
+
break;
|
|
79
|
+
case 17:
|
|
80
|
+
_context2.prev = 17;
|
|
81
|
+
_context2.t0 = _context2["catch"](3);
|
|
82
|
+
_didIteratorError = true;
|
|
83
|
+
_iteratorError = _context2.t0;
|
|
84
|
+
case 21:
|
|
85
|
+
_context2.prev = 21;
|
|
86
|
+
_context2.prev = 22;
|
|
87
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
88
|
+
_context2.next = 26;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
_context2.next = 26;
|
|
92
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
93
|
+
case 26:
|
|
94
|
+
_context2.prev = 26;
|
|
95
|
+
if (!_didIteratorError) {
|
|
96
|
+
_context2.next = 29;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
throw _iteratorError;
|
|
100
|
+
case 29:
|
|
101
|
+
return _context2.finish(26);
|
|
102
|
+
case 30:
|
|
103
|
+
return _context2.finish(21);
|
|
104
|
+
case 31:
|
|
105
|
+
_context2.next = 33;
|
|
106
|
+
return (0, _awaitAsyncGenerator2.default)(_this.concatenate(arrayBuffers));
|
|
107
|
+
case 33:
|
|
108
|
+
output = _context2.sent;
|
|
109
|
+
_context2.next = 36;
|
|
110
|
+
return (0, _awaitAsyncGenerator2.default)(_this.hash(output));
|
|
111
|
+
case 36:
|
|
112
|
+
hash = _context2.sent;
|
|
113
|
+
(_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, {
|
|
114
|
+
hash: hash
|
|
115
|
+
});
|
|
116
|
+
case 38:
|
|
117
|
+
case "end":
|
|
118
|
+
return _context2.stop();
|
|
119
|
+
}
|
|
120
|
+
}, _callee2, null, [[3, 17, 21, 31], [22,, 26, 30]]);
|
|
121
|
+
}))();
|
|
122
|
+
}
|
|
123
|
+
}, {
|
|
124
|
+
key: "concatenate",
|
|
125
|
+
value: function () {
|
|
126
|
+
var _concatenate = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(asyncIterator) {
|
|
127
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
128
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
129
|
+
case 0:
|
|
130
|
+
_context3.next = 2;
|
|
131
|
+
return (0, _loaderUtils.concatenateArrayBuffersAsync)(asyncIterator);
|
|
132
|
+
case 2:
|
|
133
|
+
return _context3.abrupt("return", _context3.sent);
|
|
134
|
+
case 3:
|
|
135
|
+
case "end":
|
|
136
|
+
return _context3.stop();
|
|
137
|
+
}
|
|
138
|
+
}, _callee3);
|
|
139
|
+
}));
|
|
140
|
+
function concatenate(_x) {
|
|
141
|
+
return _concatenate.apply(this, arguments);
|
|
142
|
+
}
|
|
143
|
+
return concatenate;
|
|
144
|
+
}()
|
|
145
|
+
}]);
|
|
146
|
+
return Hash;
|
|
147
|
+
}();
|
|
148
|
+
exports.Hash = Hash;
|
|
149
|
+
//# sourceMappingURL=hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","names":["_loaderUtils","require","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Object","Promise","reject","done","resolve","value","then","n","next","prototype","apply","arguments","return","_return","ret","throw","_throw","thr","Hash","options","length","undefined","_classCallCheck2","default","_defineProperty2","hashBatches","bind","_createClass2","key","_preload","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","abrupt","stop","preload","_this","_wrapAsyncGenerator2","_callee2","_this$options$crypto","_this$options$crypto$","arrayBuffers","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","_arrayBuffer","output","hash","_callee2$","_context2","_awaitAsyncGenerator2","sent","arrayBuffer","push","t0","finish","concatenate","crypto","onEnd","_concatenate","_callee3","_callee3$","_context3","concatenateArrayBuffersAsync","_x","exports"],"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":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.MD5Hash = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _hash2 = require("./hash");
|
|
18
|
+
var _md5Wasm = _interopRequireDefault(require("./algorithms/md5-wasm"));
|
|
19
|
+
var _digestUtils = require("./utils/digest-utils");
|
|
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); }; }
|
|
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; } }
|
|
22
|
+
var MD5Hash = function (_Hash) {
|
|
23
|
+
(0, _inherits2.default)(MD5Hash, _Hash);
|
|
24
|
+
var _super = _createSuper(MD5Hash);
|
|
25
|
+
function MD5Hash() {
|
|
26
|
+
var _this;
|
|
27
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
28
|
+
(0, _classCallCheck2.default)(this, MD5Hash);
|
|
29
|
+
_this = _super.call(this);
|
|
30
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "name", 'md5');
|
|
31
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "options", void 0);
|
|
32
|
+
_this.options = options;
|
|
33
|
+
return _this;
|
|
34
|
+
}
|
|
35
|
+
(0, _createClass2.default)(MD5Hash, [{
|
|
36
|
+
key: "hash",
|
|
37
|
+
value: function () {
|
|
38
|
+
var _hash = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(input) {
|
|
39
|
+
var md5Promise, hex;
|
|
40
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
41
|
+
while (1) switch (_context.prev = _context.next) {
|
|
42
|
+
case 0:
|
|
43
|
+
md5Promise = new Promise(function (resolve, reject) {
|
|
44
|
+
return (0, _md5Wasm.default)(input).then(resolve).catch(reject);
|
|
45
|
+
});
|
|
46
|
+
_context.next = 3;
|
|
47
|
+
return md5Promise;
|
|
48
|
+
case 3:
|
|
49
|
+
hex = _context.sent;
|
|
50
|
+
return _context.abrupt("return", (0, _digestUtils.hexToBase64)(hex));
|
|
51
|
+
case 5:
|
|
52
|
+
case "end":
|
|
53
|
+
return _context.stop();
|
|
54
|
+
}
|
|
55
|
+
}, _callee);
|
|
56
|
+
}));
|
|
57
|
+
function hash(_x) {
|
|
58
|
+
return _hash.apply(this, arguments);
|
|
59
|
+
}
|
|
60
|
+
return hash;
|
|
61
|
+
}()
|
|
62
|
+
}]);
|
|
63
|
+
return MD5Hash;
|
|
64
|
+
}(_hash2.Hash);
|
|
65
|
+
exports.MD5Hash = MD5Hash;
|
|
66
|
+
//# sourceMappingURL=md5-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md5-hash.js","names":["_hash2","require","_md5Wasm","_interopRequireDefault","_digestUtils","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","MD5Hash","_Hash","_inherits2","_super","_this","options","length","undefined","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_hash","_asyncToGenerator2","_regenerator","mark","_callee","input","md5Promise","hex","wrap","_callee$","_context","prev","next","Promise","resolve","reject","md5WASM","then","catch","sent","abrupt","hexToBase64","stop","hash","_x","Hash","exports"],"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,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAAiD,SAAAI,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAP,KAAA,EAAAQ,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAS,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAR,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAQ,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,IAKpCC,OAAO,aAAAC,KAAA;EAAA,IAAAC,UAAA,CAAAlB,OAAA,EAAAgB,OAAA,EAAAC,KAAA;EAAA,IAAAE,MAAA,GAAA1B,YAAA,CAAAuB,OAAA;EAIlB,SAAAA,QAAA,EAA0B;IAAA,IAAAI,KAAA;IAAA,IAAdC,OAAO,GAAAf,SAAA,CAAAgB,MAAA,QAAAhB,SAAA,QAAAiB,SAAA,GAAAjB,SAAA,MAAG,CAAC,CAAC;IAAA,IAAAkB,gBAAA,CAAAxB,OAAA,QAAAgB,OAAA;IACtBI,KAAA,GAAAD,MAAA,CAAAL,IAAA;IAAQ,IAAAW,gBAAA,CAAAzB,OAAA,MAAA0B,uBAAA,CAAA1B,OAAA,EAAAoB,KAAA,WAJM,KAAK;IAAA,IAAAK,gBAAA,CAAAzB,OAAA,MAAA0B,uBAAA,CAAA1B,OAAA,EAAAoB,KAAA;IAKnBA,KAAA,CAAKC,OAAO,GAAGA,OAAO;IAAC,OAAAD,KAAA;EACzB;EAAC,IAAAO,aAAA,CAAA3B,OAAA,EAAAgB,OAAA;IAAAY,GAAA;IAAAC,KAAA;MAAA,IAAAC,KAAA,OAAAC,kBAAA,CAAA/B,OAAA,EAAAgC,YAAA,CAAAhC,OAAA,CAAAiC,IAAA,CAMD,SAAAC,QAAWC,KAAkB;QAAA,IAAAC,UAAA,EAAAC,GAAA;QAAA,OAAAL,YAAA,CAAAhC,OAAA,CAAAsC,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACrBN,UAAU,GAAG,IAAIO,OAAO,CAAS,UAACC,OAAO,EAAEC,MAAM;gBAAA,OAErD,IAAAC,gBAAO,EAACX,KAAK,CAAC,CAACY,IAAI,CAACH,OAAO,CAAC,CAACI,KAAK,CAACH,MAAM,CAAC;cAAA,CAC5C,CAAC;cAAAL,QAAA,CAAAE,IAAA;cAAA,OACiBN,UAAU;YAAA;cAAtBC,GAAG,GAAAG,QAAA,CAAAS,IAAA;cAAA,OAAAT,QAAA,CAAAU,MAAA,WACF,IAAAC,wBAAW,EAACd,GAAG,CAAC;YAAA;YAAA;cAAA,OAAAG,QAAA,CAAAY,IAAA;UAAA;QAAA,GAAAlB,OAAA;MAAA,CACxB;MAAA,SAAAmB,KAAAC,EAAA;QAAA,OAAAxB,KAAA,CAAAvB,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAA+C,IAAA;IAAA;EAAA;EAAA,OAAArC,OAAA;AAAA,EApB0BuC,WAAI;AAAAC,OAAA,CAAAxC,OAAA,GAAAA,OAAA"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.NodeHash = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
18
|
+
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
19
|
+
var _hash2 = require("./hash");
|
|
20
|
+
var _crypto = require("crypto");
|
|
21
|
+
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); }; }
|
|
22
|
+
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; } }
|
|
23
|
+
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"); }
|
|
24
|
+
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); }
|
|
25
|
+
var NodeHash = function (_Hash) {
|
|
26
|
+
(0, _inherits2.default)(NodeHash, _Hash);
|
|
27
|
+
var _super = _createSuper(NodeHash);
|
|
28
|
+
function NodeHash(options) {
|
|
29
|
+
var _this2$options, _this2$options$crypto;
|
|
30
|
+
var _this2;
|
|
31
|
+
(0, _classCallCheck2.default)(this, NodeHash);
|
|
32
|
+
_this2 = _super.call(this);
|
|
33
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "name", 'crypto-node');
|
|
34
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "options", void 0);
|
|
35
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "_algorithm", void 0);
|
|
36
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "_hash", void 0);
|
|
37
|
+
_this2.options = options;
|
|
38
|
+
if (!((_this2$options = _this2.options) !== null && _this2$options !== void 0 && (_this2$options$crypto = _this2$options.crypto) !== null && _this2$options$crypto !== void 0 && _this2$options$crypto.algorithm)) {
|
|
39
|
+
throw new Error(_this2.name);
|
|
40
|
+
}
|
|
41
|
+
return _this2;
|
|
42
|
+
}
|
|
43
|
+
(0, _createClass2.default)(NodeHash, [{
|
|
44
|
+
key: "hash",
|
|
45
|
+
value: function () {
|
|
46
|
+
var _hash = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(input) {
|
|
47
|
+
var _this$options, _this$options$crypto, _this$options$crypto$;
|
|
48
|
+
var hash, inputArray;
|
|
49
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
50
|
+
while (1) switch (_context.prev = _context.next) {
|
|
51
|
+
case 0:
|
|
52
|
+
_context.next = 2;
|
|
53
|
+
return this.preload();
|
|
54
|
+
case 2:
|
|
55
|
+
hash = (0, _crypto.createHash)((_this$options = this.options) === null || _this$options === void 0 ? void 0 : (_this$options$crypto = _this$options.crypto) === null || _this$options$crypto === void 0 ? void 0 : (_this$options$crypto$ = _this$options$crypto.algorithm) === null || _this$options$crypto$ === void 0 ? void 0 : _this$options$crypto$.toLowerCase());
|
|
56
|
+
inputArray = new Uint8Array(input);
|
|
57
|
+
return _context.abrupt("return", hash.update(inputArray).digest('base64'));
|
|
58
|
+
case 5:
|
|
59
|
+
case "end":
|
|
60
|
+
return _context.stop();
|
|
61
|
+
}
|
|
62
|
+
}, _callee, this);
|
|
63
|
+
}));
|
|
64
|
+
function hash(_x) {
|
|
65
|
+
return _hash.apply(this, arguments);
|
|
66
|
+
}
|
|
67
|
+
return hash;
|
|
68
|
+
}()
|
|
69
|
+
}, {
|
|
70
|
+
key: "hashBatches",
|
|
71
|
+
value: function hashBatches(asyncIterator) {
|
|
72
|
+
var _this = this;
|
|
73
|
+
return (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
74
|
+
var _this$options2, _this$options2$crypto, _this$options2$crypto2, _this$options3, _this$options3$crypto, _this$options3$crypto2;
|
|
75
|
+
var hash, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, inputArray;
|
|
76
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
77
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
78
|
+
case 0:
|
|
79
|
+
_context2.next = 2;
|
|
80
|
+
return (0, _awaitAsyncGenerator2.default)(_this.preload());
|
|
81
|
+
case 2:
|
|
82
|
+
hash = (0, _crypto.createHash)((_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.algorithm) === null || _this$options2$crypto2 === void 0 ? void 0 : _this$options2$crypto2.toLowerCase());
|
|
83
|
+
_iteratorAbruptCompletion = false;
|
|
84
|
+
_didIteratorError = false;
|
|
85
|
+
_context2.prev = 5;
|
|
86
|
+
_iterator = _asyncIterator(asyncIterator);
|
|
87
|
+
case 7:
|
|
88
|
+
_context2.next = 9;
|
|
89
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
90
|
+
case 9:
|
|
91
|
+
if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
|
|
92
|
+
_context2.next = 18;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
chunk = _step.value;
|
|
96
|
+
inputArray = new Uint8Array(chunk);
|
|
97
|
+
hash.update(inputArray);
|
|
98
|
+
_context2.next = 15;
|
|
99
|
+
return chunk;
|
|
100
|
+
case 15:
|
|
101
|
+
_iteratorAbruptCompletion = false;
|
|
102
|
+
_context2.next = 7;
|
|
103
|
+
break;
|
|
104
|
+
case 18:
|
|
105
|
+
_context2.next = 24;
|
|
106
|
+
break;
|
|
107
|
+
case 20:
|
|
108
|
+
_context2.prev = 20;
|
|
109
|
+
_context2.t0 = _context2["catch"](5);
|
|
110
|
+
_didIteratorError = true;
|
|
111
|
+
_iteratorError = _context2.t0;
|
|
112
|
+
case 24:
|
|
113
|
+
_context2.prev = 24;
|
|
114
|
+
_context2.prev = 25;
|
|
115
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
116
|
+
_context2.next = 29;
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
_context2.next = 29;
|
|
120
|
+
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
121
|
+
case 29:
|
|
122
|
+
_context2.prev = 29;
|
|
123
|
+
if (!_didIteratorError) {
|
|
124
|
+
_context2.next = 32;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
throw _iteratorError;
|
|
128
|
+
case 32:
|
|
129
|
+
return _context2.finish(29);
|
|
130
|
+
case 33:
|
|
131
|
+
return _context2.finish(24);
|
|
132
|
+
case 34:
|
|
133
|
+
(_this$options3 = _this.options) === null || _this$options3 === void 0 ? void 0 : (_this$options3$crypto = _this$options3.crypto) === null || _this$options3$crypto === void 0 ? void 0 : (_this$options3$crypto2 = _this$options3$crypto.onEnd) === null || _this$options3$crypto2 === void 0 ? void 0 : _this$options3$crypto2.call(_this$options3$crypto, {
|
|
134
|
+
hash: hash.digest('base64')
|
|
135
|
+
});
|
|
136
|
+
case 35:
|
|
137
|
+
case "end":
|
|
138
|
+
return _context2.stop();
|
|
139
|
+
}
|
|
140
|
+
}, _callee2, null, [[5, 20, 24, 34], [25,, 29, 33]]);
|
|
141
|
+
}))();
|
|
142
|
+
}
|
|
143
|
+
}]);
|
|
144
|
+
return NodeHash;
|
|
145
|
+
}(_hash2.Hash);
|
|
146
|
+
exports.NodeHash = NodeHash;
|
|
147
|
+
//# sourceMappingURL=node-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-hash.js","names":["_hash2","require","_crypto","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Object","Promise","reject","done","resolve","value","then","n","next","return","_return","ret","throw","_throw","thr","NodeHash","_Hash","_inherits2","_super","options","_this2$options","_this2$options$crypto","_this2","_classCallCheck2","_defineProperty2","_assertThisInitialized2","crypto","algorithm","Error","name","_createClass2","key","_hash","_asyncToGenerator2","_regenerator","mark","_callee","input","_this$options","_this$options$crypto","_this$options$crypto$","hash","inputArray","wrap","_callee$","_context","prev","preload","createHash","toLowerCase","Uint8Array","abrupt","update","digest","stop","_x","hashBatches","_this","_wrapAsyncGenerator2","_callee2","_this$options2","_this$options2$crypto","_this$options2$crypto2","_this$options3","_this$options3$crypto","_this$options3$crypto2","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","chunk","_callee2$","_context2","_awaitAsyncGenerator2","sent","t0","finish","onEnd","Hash","exports"],"sources":["../../../src/lib/node-hash.ts"],"sourcesContent":["// This dependency is too big, application must provide it\nimport {Hash} from './hash';\nimport {createHash} from 'crypto'; // Node.js builtin\n\ntype CryptoHashOptions = {\n crypto: {\n algorithm: string;\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/**\n * Calculates Cryptographic Hash using Node.js crypto library\n * @deprecated Warning, experimental class\n */\nexport class NodeHash extends Hash {\n readonly name = 'crypto-node';\n\n options: CryptoHashOptions;\n // @ts-ignore\n private _algorithm;\n // @ts-ignore\n private _hash;\n\n constructor(options: CryptoHashOptions) {\n super();\n this.options = options;\n if (!this.options?.crypto?.algorithm) {\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 const hash = createHash(this.options?.crypto?.algorithm?.toLowerCase());\n const inputArray = new Uint8Array(input);\n return hash.update(inputArray).digest('base64');\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n await this.preload();\n const hash = createHash(this.options?.crypto?.algorithm?.toLowerCase());\n for await (const chunk of asyncIterator) {\n // https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer\n const inputArray = new Uint8Array(chunk);\n hash.update(inputArray);\n yield chunk;\n }\n this.options?.crypto?.onEnd?.({hash: hash.digest('base64')});\n }\n}\n"],"mappings":"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"}
|