split-hash 0.2.0 → 0.2.2
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/lib/nodejs/split-hash-validator.js.map +1 -1
- package/lib/nodejs/split-hash.d.ts +1 -1
- package/lib/nodejs/split-hash.js +3 -3
- package/lib/nodejs/split-hash.js.map +1 -1
- package/lib/whatwg/split-hash.d.ts +1 -1
- package/lib/whatwg/split-hash.js +3 -3
- package/lib/whatwg/split-hash.js.map +1 -1
- package/package.json +3 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-hash-validator.js","sourceRoot":"","sources":["../../src/nodejs/split-hash-validator.ts"],"names":[],"mappings":";;;AAAA,mCAAqD;AACrD,+CAAgD;AAGhD,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,GAAwB,IAAI,CAAC,UAAU,EAAE,CAAA;QAC7C,SAAI,GAAG,CAAC,CAAA;QACR,gBAAW,GAAG,CAAC,CAAA;IASvB,CAAC;IAED,UAAU,
|
|
1
|
+
{"version":3,"file":"split-hash-validator.js","sourceRoot":"","sources":["../../src/nodejs/split-hash-validator.ts"],"names":[],"mappings":";;;AAAA,mCAAqD;AACrD,+CAAgD;AAGhD,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,GAAwB,IAAI,CAAC,UAAU,EAAE,CAAA;QAC7C,SAAI,GAAG,CAAC,CAAA;QACR,gBAAW,GAAG,CAAC,CAAA;IASvB,CAAC;IAED,UAAU,CACR,KAAa,EACb,QAAwB,EACxB,QAA2B;QAI3B,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;AAnED,gDAmEC;AAED,MAAa,eAAgB,SAAQ,oBAAW;IAC9C;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAC9B,CAAC;CACF;AAJD,0CAIC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { CustomError } from '@blackglory/errors';
|
|
3
3
|
import { ProgressiveHashFactory } from './types';
|
|
4
|
-
export declare function splitHash<T>(stream: NodeJS.ReadableStream,
|
|
4
|
+
export declare function splitHash<T>(stream: NodeJS.ReadableStream, blockSizeBytes: number, createHash: ProgressiveHashFactory<T>): AsyncIterable<T>;
|
|
5
5
|
export declare class StreamEncodingError extends CustomError {
|
|
6
6
|
constructor();
|
|
7
7
|
}
|
package/lib/nodejs/split-hash.js
CHANGED
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StreamEncodingError = exports.splitHash = void 0;
|
|
4
4
|
const errors_1 = require("@blackglory/errors");
|
|
5
|
-
async function* splitHash(stream,
|
|
5
|
+
async function* splitHash(stream, blockSizeBytes, createHash) {
|
|
6
6
|
let hash = createHash();
|
|
7
7
|
let accu = 0;
|
|
8
8
|
for await (const chunk of stream) {
|
|
9
9
|
if (!Buffer.isBuffer(chunk))
|
|
10
10
|
throw new StreamEncodingError();
|
|
11
|
-
if (accu + chunk.length <
|
|
11
|
+
if (accu + chunk.length < blockSizeBytes) {
|
|
12
12
|
hash.update(chunk);
|
|
13
13
|
accu += chunk.length;
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
16
|
let offset = 0;
|
|
17
17
|
while (true) {
|
|
18
|
-
const needed =
|
|
18
|
+
const needed = blockSizeBytes - accu;
|
|
19
19
|
const slice = chunk.slice(offset, offset + needed);
|
|
20
20
|
if (slice.length === needed) {
|
|
21
21
|
hash.update(slice);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-hash.js","sourceRoot":"","sources":["../../src/nodejs/split-hash.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGzC,KAAK,SAAS,CAAC,CAAC,SAAS,CAC9B,MAA6B,EAC7B,
|
|
1
|
+
{"version":3,"file":"split-hash.js","sourceRoot":"","sources":["../../src/nodejs/split-hash.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAGzC,KAAK,SAAS,CAAC,CAAC,SAAS,CAC9B,MAA6B,EAC7B,cAAsB,EACtB,UAAqC;IAErC,IAAI,IAAI,GAAG,UAAU,EAAE,CAAA;IACvB,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,mBAAmB,EAAE,CAAA;QAC5D,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAClB,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;SACrB;aAAM;YACL,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,OAAO,IAAI,EAAE;gBACX,MAAM,MAAM,GAAG,cAAc,GAAG,IAAI,CAAA;gBACpC,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,MAAM,CAAC,KAAK,CAAC,CAAA;oBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;oBAC5B,MAAM,MAAM,CAAA;oBAEZ,IAAI,GAAG,UAAU,EAAE,CAAA;oBACnB,IAAI,GAAG,CAAC,CAAA;oBACR,MAAM,IAAI,KAAK,CAAC,MAAM,CAAA;iBACvB;qBAAM;oBAEL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAClB,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;oBACpB,MAAK;iBACN;aACF;SACF;KACF;IAED,IAAI,IAAI,GAAG,CAAC;QAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;AACnC,CAAC;AApCD,8BAoCC;AAED,MAAa,mBAAoB,SAAQ,oBAAW;IAClD;QACE,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAC1C,CAAC;CACF;AAJD,kDAIC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ProgressiveHashFactory } from './types';
|
|
2
|
-
export declare function splitHash<T>(stream: ReadableStream,
|
|
2
|
+
export declare function splitHash<T>(stream: ReadableStream, blockSizeBytes: number, createHash: ProgressiveHashFactory<T>): AsyncIterable<T>;
|
package/lib/whatwg/split-hash.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.splitHash = void 0;
|
|
4
|
-
async function* splitHash(stream,
|
|
4
|
+
async function* splitHash(stream, blockSizeBytes, createHash) {
|
|
5
5
|
let hash = createHash();
|
|
6
6
|
let accu = 0;
|
|
7
7
|
for await (const chunk of getIterator(stream)) {
|
|
8
|
-
if (accu + chunk.length <
|
|
8
|
+
if (accu + chunk.length < blockSizeBytes) {
|
|
9
9
|
hash.update(chunk);
|
|
10
10
|
accu += chunk.length;
|
|
11
11
|
}
|
|
12
12
|
else {
|
|
13
13
|
let offset = 0;
|
|
14
14
|
while (true) {
|
|
15
|
-
const needed =
|
|
15
|
+
const needed = blockSizeBytes - accu;
|
|
16
16
|
const slice = chunk.slice(offset, offset + needed);
|
|
17
17
|
if (slice.length === needed) {
|
|
18
18
|
hash.update(slice);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-hash.js","sourceRoot":"","sources":["../../src/whatwg/split-hash.ts"],"names":[],"mappings":";;;AAEO,KAAK,SAAS,CAAC,CAAC,SAAS,CAC9B,MAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"split-hash.js","sourceRoot":"","sources":["../../src/whatwg/split-hash.ts"],"names":[],"mappings":";;;AAEO,KAAK,SAAS,CAAC,CAAC,SAAS,CAC9B,MAAsB,EACtB,cAAsB,EACtB,UAAqC;IAErC,IAAI,IAAI,GAAG,UAAU,EAAE,CAAA;IACvB,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;QAC7C,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAClB,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;SACrB;aAAM;YACL,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,OAAO,IAAI,EAAE;gBACX,MAAM,MAAM,GAAG,cAAc,GAAG,IAAI,CAAA;gBACpC,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,MAAM,CAAC,KAAK,CAAC,CAAA;oBAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;oBAClC,MAAM,MAAM,CAAA;oBAEZ,IAAI,GAAG,UAAU,EAAE,CAAA;oBACnB,IAAI,GAAG,CAAC,CAAA;oBACR,MAAM,IAAI,KAAK,CAAC,MAAM,CAAA;iBACvB;qBAAM;oBAGL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAClB,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;oBACpB,MAAK;iBACN;aACF;SACF;KACF;IAED,IAAI,IAAI,GAAG,CAAC;QAAE,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;AACzC,CAAC;AApCD,8BAoCC;AAED,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,MAAsB;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,IAAI;QACF,OAAO,IAAI,EAAE;YACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI;gBAAE,MAAK;YACf,MAAM,KAAK,CAAA;SACZ;KACF;YAAS;QACR,MAAM,CAAC,MAAM,EAAE,CAAA;QACf,MAAM,CAAC,WAAW,EAAE,CAAA;KACrB;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "split-hash",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Split the stream based on bytes and get digests from each part.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"split",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"lib"
|
|
14
14
|
],
|
|
15
15
|
"exports": {
|
|
16
|
-
"nodejs": "./lib/nodejs/index.js",
|
|
17
|
-
"whatwg": "./lib/whatwg/index.js"
|
|
16
|
+
"./nodejs": "./lib/nodejs/index.js",
|
|
17
|
+
"./whatwg": "./lib/whatwg/index.js"
|
|
18
18
|
},
|
|
19
19
|
"sideEffects": false,
|
|
20
20
|
"repository": "git@github.com:BlackGlory/split-hash.git",
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@blackglory/jest-matchers": "0.3",
|
|
43
42
|
"@blackglory/prelude": "^0.1.7",
|
|
44
43
|
"@blackglory/structures": "^0.11.3",
|
|
45
44
|
"@blackglory/wait-for": "^0.5.3",
|