split-hash 0.1.6 → 0.1.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.
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA0B;AAC1B,kDAA+B;AAC/B,4DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,kDAA+B;AAC/B,4DAAyC"}
@@ -2,7 +2,13 @@
2
2
  import { ProgressiveHashFactory } from './types';
3
3
  import { Transform, TransformCallback } from 'stream';
4
4
  export declare class SplitHashValidator<T> extends Transform {
5
- #private;
5
+ private digests;
6
+ private blockSize;
7
+ private createHash;
8
+ private equals;
9
+ private hash;
10
+ private accu;
11
+ private digestIndex;
6
12
  constructor(digests: T[], blockSize: number, createHash: ProgressiveHashFactory<T>, equals?: (a: T, b: T) => boolean);
7
13
  _transform(chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback): void;
8
14
  _flush(callback: TransformCallback): void;
@@ -1,60 +1,42 @@
1
1
  "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _SplitHashValidator_digests, _SplitHashValidator_blockSize, _SplitHashValidator_createHash, _SplitHashValidator_hash, _SplitHashValidator_equals, _SplitHashValidator_accu, _SplitHashValidator_digestIndex;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.NotMatchedError = exports.SplitHashValidator = void 0;
16
4
  const stream_1 = require("stream");
17
5
  class SplitHashValidator extends stream_1.Transform {
18
6
  constructor(digests, blockSize, createHash, equals = Object.is) {
19
7
  super();
20
- _SplitHashValidator_digests.set(this, void 0);
21
- _SplitHashValidator_blockSize.set(this, void 0);
22
- _SplitHashValidator_createHash.set(this, void 0);
23
- _SplitHashValidator_hash.set(this, void 0);
24
- _SplitHashValidator_equals.set(this, void 0);
25
- _SplitHashValidator_accu.set(this, 0);
26
- _SplitHashValidator_digestIndex.set(this, 0);
27
- __classPrivateFieldSet(this, _SplitHashValidator_digests, digests, "f");
28
- __classPrivateFieldSet(this, _SplitHashValidator_blockSize, blockSize, "f");
29
- __classPrivateFieldSet(this, _SplitHashValidator_createHash, createHash, "f");
30
- __classPrivateFieldSet(this, _SplitHashValidator_hash, __classPrivateFieldGet(this, _SplitHashValidator_createHash, "f").call(this), "f");
31
- __classPrivateFieldSet(this, _SplitHashValidator_equals, equals, "f");
8
+ this.digests = digests;
9
+ this.blockSize = blockSize;
10
+ this.createHash = createHash;
11
+ this.equals = equals;
12
+ this.hash = this.createHash();
13
+ this.accu = 0;
14
+ this.digestIndex = 0;
32
15
  }
33
16
  _transform(chunk, encoding, callback) {
34
- var _a;
35
- if (__classPrivateFieldGet(this, _SplitHashValidator_accu, "f") + chunk.length < __classPrivateFieldGet(this, _SplitHashValidator_blockSize, "f")) {
36
- __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").update(chunk);
37
- __classPrivateFieldSet(this, _SplitHashValidator_accu, __classPrivateFieldGet(this, _SplitHashValidator_accu, "f") + chunk.length, "f");
17
+ if (this.accu + chunk.length < this.blockSize) {
18
+ this.hash.update(chunk);
19
+ this.accu += chunk.length;
38
20
  }
39
21
  else {
40
22
  let offset = 0;
41
23
  while (true) {
42
- const needed = __classPrivateFieldGet(this, _SplitHashValidator_blockSize, "f") - __classPrivateFieldGet(this, _SplitHashValidator_accu, "f");
24
+ const needed = this.blockSize - this.accu;
43
25
  const slice = chunk.slice(offset, offset + needed);
44
26
  if (slice.length === needed) {
45
- __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").update(slice);
46
- const digest = __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").digest();
47
- if (!__classPrivateFieldGet(this, _SplitHashValidator_equals, "f").call(this, __classPrivateFieldGet(this, _SplitHashValidator_digests, "f")[__classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f")], digest)) {
27
+ this.hash.update(slice);
28
+ const digest = this.hash.digest();
29
+ if (!this.equals(this.digests[this.digestIndex], digest)) {
48
30
  return callback(new NotMatchedError());
49
31
  }
50
- __classPrivateFieldSet(this, _SplitHashValidator_digestIndex, (_a = __classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f"), _a++, _a), "f");
51
- __classPrivateFieldSet(this, _SplitHashValidator_hash, __classPrivateFieldGet(this, _SplitHashValidator_createHash, "f").call(this), "f");
52
- __classPrivateFieldSet(this, _SplitHashValidator_accu, 0, "f");
32
+ this.digestIndex++;
33
+ this.hash = this.createHash();
34
+ this.accu = 0;
53
35
  offset += slice.length;
54
36
  }
55
37
  else {
56
- __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").update(slice);
57
- __classPrivateFieldSet(this, _SplitHashValidator_accu, __classPrivateFieldGet(this, _SplitHashValidator_accu, "f") + slice.length, "f");
38
+ this.hash.update(slice);
39
+ this.accu += slice.length;
58
40
  break;
59
41
  }
60
42
  }
@@ -62,22 +44,20 @@ class SplitHashValidator extends stream_1.Transform {
62
44
  callback(null, chunk);
63
45
  }
64
46
  _flush(callback) {
65
- var _a;
66
- if (__classPrivateFieldGet(this, _SplitHashValidator_accu, "f") > 0) {
67
- const digest = __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").digest();
68
- if (!__classPrivateFieldGet(this, _SplitHashValidator_equals, "f").call(this, __classPrivateFieldGet(this, _SplitHashValidator_digests, "f")[__classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f")], digest)) {
47
+ if (this.accu > 0) {
48
+ const digest = this.hash.digest();
49
+ if (!this.equals(this.digests[this.digestIndex], digest)) {
69
50
  return callback(new NotMatchedError());
70
51
  }
71
- __classPrivateFieldSet(this, _SplitHashValidator_digestIndex, (_a = __classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f"), _a++, _a), "f");
52
+ this.digestIndex++;
72
53
  }
73
- if (__classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f") !== __classPrivateFieldGet(this, _SplitHashValidator_digests, "f").length) {
54
+ if (this.digestIndex !== this.digests.length) {
74
55
  return callback(new NotMatchedError());
75
56
  }
76
57
  callback();
77
58
  }
78
59
  }
79
60
  exports.SplitHashValidator = SplitHashValidator;
80
- _SplitHashValidator_digests = new WeakMap(), _SplitHashValidator_blockSize = new WeakMap(), _SplitHashValidator_createHash = new WeakMap(), _SplitHashValidator_hash = new WeakMap(), _SplitHashValidator_equals = new WeakMap(), _SplitHashValidator_accu = new WeakMap(), _SplitHashValidator_digestIndex = new WeakMap();
81
61
  class NotMatchedError extends Error {
82
62
  constructor() {
83
63
  super('hashes do not match');
@@ -1 +1 @@
1
- {"version":3,"file":"split-hash-validator.js","sourceRoot":"","sources":["../../src/split-hash-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"split-hash-validator.js","sourceRoot":"","sources":["../../src/split-hash-validator.ts"],"names":[],"mappings":";;;AACA,mCAAqD;AAErD,MAAa,kBAAsB,SAAQ,kBAAS;IAKlD,YACU,OAAY,EACZ,SAAiB,EACjB,UAAqC,EACrC,SAAkC,MAAM,CAAC,EAAE;QAEnD,KAAK,EAAE,CAAA;QALC,YAAO,GAAP,OAAO,CAAK;QACZ,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAA2B;QACrC,WAAM,GAAN,MAAM,CAAqC;QAR7C,SAAI,GAAuB,IAAI,CAAC,UAAU,EAAE,CAAA;QAC5C,SAAI,GAAG,CAAC,CAAA;QACR,gBAAW,GAAG,CAAC,CAAA;IASvB,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,QAAwB,EAAE,QAA2B;QAG7E,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;SAC1B;aAAM;YACL,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,OAAO,IAAI,EAAE;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAA;gBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;gBAClD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;oBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;oBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE;wBACxD,OAAO,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAA;qBACvC;oBACD,IAAI,CAAC,WAAW,EAAE,CAAA;oBAElB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;oBAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;oBACb,MAAM,IAAI,KAAK,CAAC,MAAM,CAAA;iBACvB;qBAAM;oBAEL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACvB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;oBACzB,MAAK;iBACN;aACF;SACF;QAED,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,CAAC,QAA2B;QAChC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE;gBACxD,OAAO,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAA;aACvC;YACD,IAAI,CAAC,WAAW,EAAE,CAAA;SACnB;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC5C,OAAO,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAA;SACvC;QAED,QAAQ,EAAE,CAAA;IACZ,CAAC;CACF;AA/DD,gDA+DC;AAED,MAAa,eAAgB,SAAQ,KAAK;IAGxC;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAH9B,SAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAI5B,CAAC;CACF;AAND,0CAMC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA0B;AAC1B,kDAA+B;AAC/B,4DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,kDAA+B;AAC/B,4DAAyC"}
@@ -2,7 +2,13 @@
2
2
  import { ProgressiveHashFactory } from './types';
3
3
  import { Transform, TransformCallback } from 'stream';
4
4
  export declare class SplitHashValidator<T> extends Transform {
5
- #private;
5
+ private digests;
6
+ private blockSize;
7
+ private createHash;
8
+ private equals;
9
+ private hash;
10
+ private accu;
11
+ private digestIndex;
6
12
  constructor(digests: T[], blockSize: number, createHash: ProgressiveHashFactory<T>, equals?: (a: T, b: T) => boolean);
7
13
  _transform(chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback): void;
8
14
  _flush(callback: TransformCallback): void;
@@ -1,60 +1,42 @@
1
1
  "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _SplitHashValidator_digests, _SplitHashValidator_blockSize, _SplitHashValidator_createHash, _SplitHashValidator_hash, _SplitHashValidator_equals, _SplitHashValidator_accu, _SplitHashValidator_digestIndex;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.NotMatchedError = exports.SplitHashValidator = void 0;
16
4
  const stream_1 = require("stream");
17
5
  class SplitHashValidator extends stream_1.Transform {
18
6
  constructor(digests, blockSize, createHash, equals = Object.is) {
19
7
  super();
20
- _SplitHashValidator_digests.set(this, void 0);
21
- _SplitHashValidator_blockSize.set(this, void 0);
22
- _SplitHashValidator_createHash.set(this, void 0);
23
- _SplitHashValidator_hash.set(this, void 0);
24
- _SplitHashValidator_equals.set(this, void 0);
25
- _SplitHashValidator_accu.set(this, 0);
26
- _SplitHashValidator_digestIndex.set(this, 0);
27
- __classPrivateFieldSet(this, _SplitHashValidator_digests, digests, "f");
28
- __classPrivateFieldSet(this, _SplitHashValidator_blockSize, blockSize, "f");
29
- __classPrivateFieldSet(this, _SplitHashValidator_createHash, createHash, "f");
30
- __classPrivateFieldSet(this, _SplitHashValidator_hash, __classPrivateFieldGet(this, _SplitHashValidator_createHash, "f").call(this), "f");
31
- __classPrivateFieldSet(this, _SplitHashValidator_equals, equals, "f");
8
+ this.digests = digests;
9
+ this.blockSize = blockSize;
10
+ this.createHash = createHash;
11
+ this.equals = equals;
12
+ this.hash = this.createHash();
13
+ this.accu = 0;
14
+ this.digestIndex = 0;
32
15
  }
33
16
  _transform(chunk, encoding, callback) {
34
- var _a;
35
- if (__classPrivateFieldGet(this, _SplitHashValidator_accu, "f") + chunk.length < __classPrivateFieldGet(this, _SplitHashValidator_blockSize, "f")) {
36
- __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").update(chunk);
37
- __classPrivateFieldSet(this, _SplitHashValidator_accu, __classPrivateFieldGet(this, _SplitHashValidator_accu, "f") + chunk.length, "f");
17
+ if (this.accu + chunk.length < this.blockSize) {
18
+ this.hash.update(chunk);
19
+ this.accu += chunk.length;
38
20
  }
39
21
  else {
40
22
  let offset = 0;
41
23
  while (true) {
42
- const needed = __classPrivateFieldGet(this, _SplitHashValidator_blockSize, "f") - __classPrivateFieldGet(this, _SplitHashValidator_accu, "f");
24
+ const needed = this.blockSize - this.accu;
43
25
  const slice = chunk.slice(offset, offset + needed);
44
26
  if (slice.length === needed) {
45
- __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").update(slice);
46
- const digest = __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").digest();
47
- if (!__classPrivateFieldGet(this, _SplitHashValidator_equals, "f").call(this, __classPrivateFieldGet(this, _SplitHashValidator_digests, "f")[__classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f")], digest)) {
27
+ this.hash.update(slice);
28
+ const digest = this.hash.digest();
29
+ if (!this.equals(this.digests[this.digestIndex], digest)) {
48
30
  return callback(new NotMatchedError());
49
31
  }
50
- __classPrivateFieldSet(this, _SplitHashValidator_digestIndex, (_a = __classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f"), _a++, _a), "f");
51
- __classPrivateFieldSet(this, _SplitHashValidator_hash, __classPrivateFieldGet(this, _SplitHashValidator_createHash, "f").call(this), "f");
52
- __classPrivateFieldSet(this, _SplitHashValidator_accu, 0, "f");
32
+ this.digestIndex++;
33
+ this.hash = this.createHash();
34
+ this.accu = 0;
53
35
  offset += slice.length;
54
36
  }
55
37
  else {
56
- __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").update(slice);
57
- __classPrivateFieldSet(this, _SplitHashValidator_accu, __classPrivateFieldGet(this, _SplitHashValidator_accu, "f") + slice.length, "f");
38
+ this.hash.update(slice);
39
+ this.accu += slice.length;
58
40
  break;
59
41
  }
60
42
  }
@@ -62,22 +44,20 @@ class SplitHashValidator extends stream_1.Transform {
62
44
  callback(null, chunk);
63
45
  }
64
46
  _flush(callback) {
65
- var _a;
66
- if (__classPrivateFieldGet(this, _SplitHashValidator_accu, "f") > 0) {
67
- const digest = __classPrivateFieldGet(this, _SplitHashValidator_hash, "f").digest();
68
- if (!__classPrivateFieldGet(this, _SplitHashValidator_equals, "f").call(this, __classPrivateFieldGet(this, _SplitHashValidator_digests, "f")[__classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f")], digest)) {
47
+ if (this.accu > 0) {
48
+ const digest = this.hash.digest();
49
+ if (!this.equals(this.digests[this.digestIndex], digest)) {
69
50
  return callback(new NotMatchedError());
70
51
  }
71
- __classPrivateFieldSet(this, _SplitHashValidator_digestIndex, (_a = __classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f"), _a++, _a), "f");
52
+ this.digestIndex++;
72
53
  }
73
- if (__classPrivateFieldGet(this, _SplitHashValidator_digestIndex, "f") !== __classPrivateFieldGet(this, _SplitHashValidator_digests, "f").length) {
54
+ if (this.digestIndex !== this.digests.length) {
74
55
  return callback(new NotMatchedError());
75
56
  }
76
57
  callback();
77
58
  }
78
59
  }
79
60
  exports.SplitHashValidator = SplitHashValidator;
80
- _SplitHashValidator_digests = new WeakMap(), _SplitHashValidator_blockSize = new WeakMap(), _SplitHashValidator_createHash = new WeakMap(), _SplitHashValidator_hash = new WeakMap(), _SplitHashValidator_equals = new WeakMap(), _SplitHashValidator_accu = new WeakMap(), _SplitHashValidator_digestIndex = new WeakMap();
81
61
  class NotMatchedError extends Error {
82
62
  constructor() {
83
63
  super('hashes do not match');
@@ -1 +1 @@
1
- {"version":3,"file":"split-hash-validator.js","sourceRoot":"","sources":["../../src/split-hash-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"split-hash-validator.js","sourceRoot":"","sources":["../../src/split-hash-validator.ts"],"names":[],"mappings":";;;AACA,mCAAqD;AAErD,MAAa,kBAAsB,SAAQ,kBAAS;IAKlD,YACU,OAAY,EACZ,SAAiB,EACjB,UAAqC,EACrC,SAAkC,MAAM,CAAC,EAAE;QAEnD,KAAK,EAAE,CAAA;QALC,YAAO,GAAP,OAAO,CAAK;QACZ,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAA2B;QACrC,WAAM,GAAN,MAAM,CAAqC;QAR7C,SAAI,GAAuB,IAAI,CAAC,UAAU,EAAE,CAAA;QAC5C,SAAI,GAAG,CAAC,CAAA;QACR,gBAAW,GAAG,CAAC,CAAA;IASvB,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,QAAwB,EAAE,QAA2B;QAG7E,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;SAC1B;aAAM;YACL,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,OAAO,IAAI,EAAE;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAA;gBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;gBAClD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;oBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;oBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE;wBACxD,OAAO,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAA;qBACvC;oBACD,IAAI,CAAC,WAAW,EAAE,CAAA;oBAElB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;oBAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;oBACb,MAAM,IAAI,KAAK,CAAC,MAAM,CAAA;iBACvB;qBAAM;oBAEL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACvB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;oBACzB,MAAK;iBACN;aACF;SACF;QAED,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,CAAC,QAA2B;QAChC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE;gBACxD,OAAO,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAA;aACvC;YACD,IAAI,CAAC,WAAW,EAAE,CAAA;SACnB;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC5C,OAAO,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAA;SACvC;QAED,QAAQ,EAAE,CAAA;IACZ,CAAC;CACF;AA/DD,gDA+DC;AAED,MAAa,eAAgB,SAAQ,KAAK;IAGxC;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAH9B,SAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAI5B,CAAC;CACF;AAND,0CAMC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "split-hash",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Split the stream based on bytes and get digests from each part.",
5
5
  "keywords": [
6
6
  "split",
@@ -44,25 +44,24 @@
44
44
  }
45
45
  },
46
46
  "devDependencies": {
47
- "@blackglory/go": "^0.1.1",
48
- "@blackglory/jest-matchers": "^0.2.1",
49
- "@blackglory/types": "^0.6.5",
50
- "@commitlint/cli": "^16.0.1",
51
- "@commitlint/config-conventional": "^16.0.0",
52
- "@types/jest": "^27.4.0",
47
+ "@blackglory/jest-matchers": "0.3",
48
+ "@blackglory/prelude": "^0.1.1",
49
+ "@commitlint/cli": "^16.3.0",
50
+ "@commitlint/config-conventional": "^16.2.4",
51
+ "@types/jest": "^27.5.1",
53
52
  "@types/node": "14",
54
- "@typescript-eslint/eslint-plugin": "^5.9.0",
55
- "@typescript-eslint/parser": "^5.9.0",
56
- "eslint": "^8.6.0",
53
+ "@typescript-eslint/eslint-plugin": "^5.23.0",
54
+ "@typescript-eslint/parser": "^5.23.0",
55
+ "eslint": "^8.15.0",
57
56
  "husky": "^4.3.0",
58
- "iterable-operator": "^0.14.5",
57
+ "iterable-operator": "^1.1.0",
59
58
  "jest": "^27.4.7",
60
59
  "npm-run-all": "^4.1.5",
61
- "return-style": "^0.12.6",
60
+ "return-style": "^1.0.0",
62
61
  "rimraf": "^3.0.2",
63
62
  "standard-version": "^9.3.2",
64
63
  "ts-jest": "^27.0.5",
65
64
  "tscpaths": "^0.0.9",
66
- "typescript": "^4.5.4"
65
+ "typescript": "^4.6.4"
67
66
  }
68
67
  }