@loaders.gl/crypto 4.2.0-alpha.4 → 4.2.0-alpha.6
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/crypto-worker.js +1 -1
- package/dist/crypto-worker.js.map +2 -2
- package/dist/dist.dev.js +609 -47
- package/dist/dist.min.js +9 -0
- package/dist/index.cjs +44 -549
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -16
- package/dist/lib/algorithms/crc32.js +32 -17
- package/dist/lib/algorithms/crc32c.js +34 -20
- package/dist/lib/algorithms/md5-wasm.js +413 -406
- package/dist/lib/crc32-hash.d.ts +1 -1
- package/dist/lib/crc32-hash.d.ts.map +1 -1
- package/dist/lib/crc32-hash.js +30 -36
- package/dist/lib/crc32c-hash.d.ts +1 -1
- package/dist/lib/crc32c-hash.d.ts.map +1 -1
- package/dist/lib/crc32c-hash.js +35 -36
- 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 +53 -51
- package/dist/lib/hash.js +20 -30
- package/dist/lib/md5-hash.d.ts +1 -1
- package/dist/lib/md5-hash.d.ts.map +1 -1
- package/dist/lib/md5-hash.js +24 -13
- 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 +23 -13
- 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 +9 -10
- package/dist/lib/utils/base64-utils.js +148 -75
- package/dist/lib/utils/digest-utils.js +55 -34
- package/dist/types.js +3 -1
- package/dist/workers/crypto-worker-node.d.ts +1 -1
- package/dist/workers/crypto-worker-node.d.ts.map +1 -1
- package/dist/workers/crypto-worker-node.js +0 -1
- package/dist/workers/crypto-worker.d.ts +2 -2
- package/dist/workers/crypto-worker.d.ts.map +1 -1
- package/dist/workers/crypto-worker.js +17 -17
- package/package.json +10 -7
- 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/workers/crypto-worker-node.js.map +0 -1
- package/dist/workers/crypto-worker.js.map +0 -1
- package/dist/workers/cryptojs-worker.ts.disabled +0 -30
package/dist/lib/crc32-hash.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crc32-hash.d.ts","sourceRoot":"","sources":["../../src/lib/crc32-hash.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"crc32-hash.d.ts","sourceRoot":"","sources":["../../src/lib/crc32-hash.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAC,kBAAe;AAI5B;;GAEG;AACH,qBAAa,SAAU,SAAQ,IAAI;IACjC,QAAQ,CAAC,IAAI,WAAW;IAExB,OAAO,MAAC;gBAEI,OAAO,KAAK;IAMxB;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3E,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM;IAOzD,WAAW,CAChB,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EACjE,QAAQ,GAAE,KAAK,GAAG,QAAmB,GACpC,aAAa,CAAC,WAAW,CAAC;CAS9B"}
|
package/dist/lib/crc32-hash.js
CHANGED
|
@@ -1,46 +1,40 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { Hash } from "./hash.js";
|
|
2
5
|
import CRC32 from "./algorithms/crc32.js";
|
|
3
6
|
import { encodeNumber } from "./utils/digest-utils.js";
|
|
7
|
+
/**
|
|
8
|
+
* Calculates CRC32 Cryptographic Hash
|
|
9
|
+
*/
|
|
4
10
|
export class CRC32Hash extends Hash {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
try {
|
|
27
|
-
var _this = this;
|
|
28
|
-
let encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'base64';
|
|
29
|
-
return async function* () {
|
|
30
|
-
var _this$options$crypto, _this$options$crypto$;
|
|
11
|
+
name = 'crc32';
|
|
12
|
+
options;
|
|
13
|
+
constructor(options = {}) {
|
|
14
|
+
super();
|
|
15
|
+
this.options = { crypto: {}, ...options };
|
|
16
|
+
this.hashBatches = this.hashBatches.bind(this);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Atomic hash calculation
|
|
20
|
+
* @returns base64 encoded hash
|
|
21
|
+
*/
|
|
22
|
+
async hash(input, encoding) {
|
|
23
|
+
return this.hashSync(input, encoding);
|
|
24
|
+
}
|
|
25
|
+
hashSync(input, encoding) {
|
|
26
|
+
const hash = new CRC32();
|
|
27
|
+
hash.update(input);
|
|
28
|
+
const digest = hash.finalize();
|
|
29
|
+
return encodeNumber(digest, encoding);
|
|
30
|
+
}
|
|
31
|
+
async *hashBatches(asyncIterator, encoding = 'base64') {
|
|
31
32
|
const hash = new CRC32();
|
|
32
33
|
for await (const chunk of asyncIterator) {
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
hash.update(chunk);
|
|
35
|
+
yield chunk;
|
|
35
36
|
}
|
|
36
37
|
const digest = hash.finalize();
|
|
37
|
-
|
|
38
|
-
hash: encodeNumber(digest, encoding)
|
|
39
|
-
});
|
|
40
|
-
}();
|
|
41
|
-
} catch (e) {
|
|
42
|
-
return Promise.reject(e);
|
|
38
|
+
this.options.crypto?.onEnd?.({ hash: encodeNumber(digest, encoding) });
|
|
43
39
|
}
|
|
44
|
-
}
|
|
45
40
|
}
|
|
46
|
-
//# sourceMappingURL=crc32-hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crc32c-hash.d.ts","sourceRoot":"","sources":["../../src/lib/crc32c-hash.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"crc32c-hash.d.ts","sourceRoot":"","sources":["../../src/lib/crc32c-hash.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAC,kBAAe;AAI5B;;GAEG;AACH,qBAAa,UAAW,SAAQ,IAAI;IAClC,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,MAAC;IAER;;;OAGG;gBACS,OAAO,KAAK;IAKxB;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3E,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM;IASzD,WAAW,CAChB,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EACjE,QAAQ,GAAE,KAAK,GAAG,QAAmB,GACpC,aAAa,CAAC,WAAW,CAAC;CAS9B"}
|
package/dist/lib/crc32c-hash.js
CHANGED
|
@@ -1,45 +1,44 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { Hash } from "./hash.js";
|
|
2
5
|
import CRC32C from "./algorithms/crc32c.js";
|
|
3
6
|
import { encodeNumber } from "./utils/digest-utils.js";
|
|
7
|
+
/**
|
|
8
|
+
* A transform that calculates CRC32c Hash
|
|
9
|
+
*/
|
|
4
10
|
export class CRC32CHash extends Hash {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const hash = new CRC32C(
|
|
11
|
+
name = 'crc32c';
|
|
12
|
+
options;
|
|
13
|
+
/**
|
|
14
|
+
* Atomic hash calculation
|
|
15
|
+
* @returns base64 encoded hash
|
|
16
|
+
*/
|
|
17
|
+
constructor(options = {}) {
|
|
18
|
+
super();
|
|
19
|
+
this.options = { crypto: {}, ...options };
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Atomic hash calculation
|
|
23
|
+
* @returns base64 encoded hash
|
|
24
|
+
*/
|
|
25
|
+
async hash(input, encoding) {
|
|
26
|
+
return this.hashSync(input, encoding);
|
|
27
|
+
}
|
|
28
|
+
hashSync(input, encoding) {
|
|
29
|
+
const hash = new CRC32C(this.options);
|
|
30
|
+
hash.update(input);
|
|
31
|
+
const digest = hash.finalize();
|
|
32
|
+
return encodeNumber(digest, encoding);
|
|
33
|
+
}
|
|
34
|
+
// runInBatches inherited
|
|
35
|
+
async *hashBatches(asyncIterator, encoding = 'base64') {
|
|
36
|
+
const hash = new CRC32C(this.options);
|
|
31
37
|
for await (const chunk of asyncIterator) {
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
hash.update(chunk);
|
|
39
|
+
yield chunk;
|
|
34
40
|
}
|
|
35
41
|
const digest = hash.finalize();
|
|
36
|
-
|
|
37
|
-
hash: encodeNumber(digest, encoding)
|
|
38
|
-
});
|
|
39
|
-
}();
|
|
40
|
-
} catch (e) {
|
|
41
|
-
return Promise.reject(e);
|
|
42
|
+
this.options.crypto?.onEnd?.({ hash: encodeNumber(digest, encoding) });
|
|
42
43
|
}
|
|
43
|
-
}
|
|
44
44
|
}
|
|
45
|
-
//# sourceMappingURL=crc32c-hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-hash.d.ts","sourceRoot":"","sources":["../../src/lib/crypto-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"crypto-hash.d.ts","sourceRoot":"","sources":["../../src/lib/crypto-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,kBAAe;AAE5B,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE;QAAC,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;IACtC,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE;YAAC,IAAI,EAAE,MAAM,CAAA;SAAC,KAAK,GAAG,CAAC;KACzC,CAAC;CACH,CAAC;AAIF;;;GAGG;AACH,qBAAa,UAAW,SAAQ,IAAI;IAClC,QAAQ,CAAC,IAAI,MAAC;IAEd,OAAO,EAAE,iBAAiB,CAAC;IAC3B,+BAA+B;IAC/B,OAAO,CAAC,UAAU,CAAC;IACnB,yBAAyB;IACzB,OAAO,CAAC,KAAK,CAAC;gBAEF,OAAO,EAAE,iBAAiB;IAUhC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBpE,WAAW,CAChB,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EACjE,QAAQ,GAAE,KAAK,GAAG,QAAmB,GACpC,aAAa,CAAC,WAAW,CAAC;CAqB9B"}
|
package/dist/lib/crypto-hash.js
CHANGED
|
@@ -1,65 +1,67 @@
|
|
|
1
1
|
import { Hash } from "./hash.js";
|
|
2
2
|
let CryptoJS;
|
|
3
|
+
/**
|
|
4
|
+
* A transform that calculates Cryptographic Hash using Crypto JS library
|
|
5
|
+
* @deprecated Warning, experimental class
|
|
6
|
+
*/
|
|
3
7
|
export class CryptoHash extends Hash {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
async preload() {
|
|
19
|
-
if (!CryptoJS) {
|
|
20
|
-
var _this$options2, _this$options2$module;
|
|
21
|
-
CryptoJS = (_this$options2 = this.options) === null || _this$options2 === void 0 ? void 0 : (_this$options2$module = _this$options2.modules) === null || _this$options2$module === void 0 ? void 0 : _this$options2$module.CryptoJS;
|
|
8
|
+
name;
|
|
9
|
+
options;
|
|
10
|
+
/** Name of digest algorithm */
|
|
11
|
+
_algorithm;
|
|
12
|
+
/** CryptoJS algorithm */
|
|
13
|
+
_algo;
|
|
14
|
+
constructor(options) {
|
|
15
|
+
super();
|
|
16
|
+
this.options = options;
|
|
17
|
+
this._algorithm = this.options?.crypto?.algorithm;
|
|
18
|
+
if (!this._algorithm) {
|
|
19
|
+
throw new Error(this.name);
|
|
20
|
+
}
|
|
21
|
+
this.name = this._algorithm.toLowerCase();
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
async preload() {
|
|
24
|
+
if (!CryptoJS) {
|
|
25
|
+
CryptoJS = this.options?.modules?.CryptoJS;
|
|
26
|
+
}
|
|
27
|
+
if (!CryptoJS) {
|
|
28
|
+
throw new Error(this.name);
|
|
29
|
+
}
|
|
30
|
+
this._algo = CryptoJS.algo[this._algorithm];
|
|
25
31
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Atomic hash calculation
|
|
34
|
+
* @returns base64 encoded hash
|
|
35
|
+
*/
|
|
36
|
+
async hash(input, encoding) {
|
|
37
|
+
await this.preload();
|
|
38
|
+
const hash = this._algo.create();
|
|
39
|
+
if (!hash) {
|
|
40
|
+
throw new Error(this.name);
|
|
41
|
+
}
|
|
42
|
+
// arrayBuffer is accepted, even though types and docs say no
|
|
43
|
+
// https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer
|
|
44
|
+
const typedWordArray = CryptoJS.lib.WordArray.create(input);
|
|
45
|
+
// Map our encoding constant to Crypto library
|
|
46
|
+
const enc = encoding === 'base64' ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;
|
|
47
|
+
return hash.update(typedWordArray).finalize().toString(enc);
|
|
33
48
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
hashBatches(asyncIterator) {
|
|
39
|
-
try {
|
|
40
|
-
var _this = this;
|
|
41
|
-
let encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'base64';
|
|
42
|
-
return async function* () {
|
|
43
|
-
var _this$options3, _this$options3$crypto, _this$options3$crypto2;
|
|
44
|
-
await _this.preload();
|
|
45
|
-
const hash = _this._algo.create();
|
|
49
|
+
async *hashBatches(asyncIterator, encoding = 'base64') {
|
|
50
|
+
await this.preload();
|
|
51
|
+
const hash = this._algo.create();
|
|
46
52
|
if (!hash) {
|
|
47
|
-
|
|
53
|
+
throw new Error(this.name);
|
|
48
54
|
}
|
|
49
55
|
for await (const chunk of asyncIterator) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
// arrayBuffer is accepted, even though types and docs say no
|
|
57
|
+
// https://stackoverflow.com/questions/25567468/how-to-decrypt-an-arraybuffer
|
|
58
|
+
const typedWordArray = CryptoJS.lib.WordArray.create(chunk);
|
|
59
|
+
hash.update(typedWordArray);
|
|
60
|
+
yield chunk;
|
|
53
61
|
}
|
|
62
|
+
// Map our encoding constant to Crypto library
|
|
54
63
|
const enc = encoding === 'base64' ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;
|
|
55
64
|
const digest = hash.finalize().toString(enc);
|
|
56
|
-
|
|
57
|
-
hash: digest
|
|
58
|
-
});
|
|
59
|
-
}();
|
|
60
|
-
} catch (e) {
|
|
61
|
-
return Promise.reject(e);
|
|
65
|
+
this.options?.crypto?.onEnd?.({ hash: digest });
|
|
62
66
|
}
|
|
63
|
-
}
|
|
64
67
|
}
|
|
65
|
-
//# sourceMappingURL=crypto-hash.js.map
|
package/dist/lib/hash.js
CHANGED
|
@@ -1,37 +1,27 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { concatenateArrayBuffersAsync } from '@loaders.gl/loader-utils';
|
|
5
|
+
/** Abstract hash base class */
|
|
2
6
|
export class Hash {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
hashBatches(asyncIterator) {
|
|
13
|
-
try {
|
|
14
|
-
var _this = this;
|
|
15
|
-
let encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'base64';
|
|
16
|
-
return async function* () {
|
|
17
|
-
var _this$options$crypto, _this$options$crypto$;
|
|
7
|
+
constructor(options = {}) {
|
|
8
|
+
this.hashBatches = this.hashBatches.bind(this);
|
|
9
|
+
}
|
|
10
|
+
async preload() {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
async *hashBatches(asyncIterator, encoding = 'base64') {
|
|
18
14
|
const arrayBuffers = [];
|
|
19
15
|
for await (const arrayBuffer of asyncIterator) {
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
arrayBuffers.push(arrayBuffer);
|
|
17
|
+
yield arrayBuffer;
|
|
22
18
|
}
|
|
23
|
-
const output = await
|
|
24
|
-
const hash = await
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return Promise.reject(e);
|
|
19
|
+
const output = await this.concatenate(arrayBuffers);
|
|
20
|
+
const hash = await this.hash(output, encoding);
|
|
21
|
+
this.options.crypto?.onEnd?.({ hash });
|
|
22
|
+
}
|
|
23
|
+
// HELPERS
|
|
24
|
+
async concatenate(asyncIterator) {
|
|
25
|
+
return await concatenateArrayBuffersAsync(asyncIterator);
|
|
31
26
|
}
|
|
32
|
-
}
|
|
33
|
-
async concatenate(asyncIterator) {
|
|
34
|
-
return await concatenateArrayBuffersAsync(asyncIterator);
|
|
35
|
-
}
|
|
36
27
|
}
|
|
37
|
-
//# sourceMappingURL=hash.js.map
|
package/dist/lib/md5-hash.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"md5-hash.d.ts","sourceRoot":"","sources":["../../src/lib/md5-hash.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,IAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"md5-hash.d.ts","sourceRoot":"","sources":["../../src/lib/md5-hash.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,IAAI,EAAC,kBAAe;AAI5B;;GAEG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,OAAO,MAAC;gBAEL,OAAO,KAAK;IAKxB;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ5E"}
|
package/dist/lib/md5-hash.js
CHANGED
|
@@ -1,18 +1,29 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
// Fork of https://github.com/briantbutton/md5-wasm under MIT license
|
|
1
5
|
import { Hash } from "./hash.js";
|
|
2
6
|
import md5WASM from "./algorithms/md5-wasm.js";
|
|
3
7
|
import { encodeHex } from "./utils/digest-utils.js";
|
|
8
|
+
/**
|
|
9
|
+
* A transform that calculates MD5 hashes, passing data through
|
|
10
|
+
*/
|
|
4
11
|
export class MD5Hash extends Hash {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
name = 'md5';
|
|
13
|
+
options;
|
|
14
|
+
constructor(options = {}) {
|
|
15
|
+
super();
|
|
16
|
+
this.options = options;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Atomic hash calculation
|
|
20
|
+
* @returns base64 encoded hash
|
|
21
|
+
*/
|
|
22
|
+
async hash(input, encoding) {
|
|
23
|
+
const md5Promise = new Promise((resolve, reject) =>
|
|
24
|
+
// @ts-expect-error
|
|
25
|
+
md5WASM(input).then(resolve).catch(reject));
|
|
26
|
+
const hex = await md5Promise;
|
|
27
|
+
return encodeHex(hex, encoding);
|
|
28
|
+
}
|
|
17
29
|
}
|
|
18
|
-
//# sourceMappingURL=md5-hash.js.map
|
package/dist/lib/node-hash.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-hash.d.ts","sourceRoot":"","sources":["../../src/lib/node-hash.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"node-hash.d.ts","sourceRoot":"","sources":["../../src/lib/node-hash.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,IAAI,EAAC,kBAAe;AAE5B,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE;YAAC,IAAI,EAAE,MAAM,CAAA;SAAC,KAAK,GAAG,CAAC;KACzC,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,qBAAa,QAAS,SAAQ,IAAI;IAChC,QAAQ,CAAC,IAAI,MAAC;IACd,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;gBAEtB,OAAO,EAAE,eAAe;IASpC;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;CAG5E"}
|
package/dist/lib/node-hash.js
CHANGED
|
@@ -1,17 +1,27 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { Hash } from "./hash.js";
|
|
5
|
+
/**
|
|
6
|
+
* A transform that calculates Cryptographic Hash using Node's Crypto library
|
|
7
|
+
* @deprecated Only available in Node.js
|
|
8
|
+
*/
|
|
2
9
|
export class NodeHash extends Hash {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
name;
|
|
11
|
+
options;
|
|
12
|
+
constructor(options) {
|
|
13
|
+
super();
|
|
14
|
+
this.options = options;
|
|
15
|
+
if (!globalThis.loaders.NodeHash) {
|
|
16
|
+
throw new Error('install @loaders.gl/crypto on Node.js to use NodeHash');
|
|
17
|
+
}
|
|
18
|
+
return new globalThis.loaders.NodeHash(options);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Atomic hash calculation
|
|
22
|
+
* @returns base64 encoded hash
|
|
23
|
+
*/
|
|
24
|
+
async hash(input, encoding) {
|
|
25
|
+
throw new Error('Not implemented');
|
|
10
26
|
}
|
|
11
|
-
return new globalThis.loaders.NodeHash(options);
|
|
12
|
-
}
|
|
13
|
-
async hash(input, encoding) {
|
|
14
|
-
throw new Error('Not implemented');
|
|
15
|
-
}
|
|
16
27
|
}
|
|
17
|
-
//# sourceMappingURL=node-hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sha256-hash.d.ts","sourceRoot":"","sources":["../../src/lib/sha256-hash.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,
|
|
1
|
+
{"version":3,"file":"sha256-hash.d.ts","sourceRoot":"","sources":["../../src/lib/sha256-hash.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,yBAAsB;AAEzC,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE;QAAC,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;IACrC,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE;YAAC,IAAI,EAAE,MAAM,CAAA;SAAC,KAAK,GAAG,CAAC;KACzC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAW,SAAQ,UAAU;gBAC5B,OAAO,EAAE,iBAAiB;CAGvC"}
|
package/dist/lib/sha256-hash.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
1
4
|
import { CryptoHash } from "./crypto-hash.js";
|
|
5
|
+
/**
|
|
6
|
+
* A transform that calculates Cryptographic Hash
|
|
7
|
+
*/
|
|
2
8
|
export class SHA256Hash extends CryptoHash {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
crypto: {
|
|
7
|
-
...options.crypto,
|
|
8
|
-
algorithm: 'SHA256'
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
}
|
|
9
|
+
constructor(options) {
|
|
10
|
+
super({ ...options, crypto: { ...options.crypto, algorithm: 'SHA256' } });
|
|
11
|
+
}
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=sha256-hash.js.map
|