MCPcopy Index your code
hub / github.com/creationix/js-git / unpackStream

Function unpackStream

test/test-pack-codec.js:13–43  ·  view source on GitHub ↗
(stream)

Source from the content-addressed store, hash-verified

11var newPack;
12
13function unpackStream(stream) {
14 var meta, out = [], finished = false;
15 var write = codec.decodePack(onItem);
16 for (var i = 0, l = stream.length; i < l; i += 128) {
17 var slice = bodec.slice(stream, i, i + 128);
18 try {
19 // console.log("SLICE", slice);
20 write(slice);
21 }
22 catch (err) {
23 throw err;
24 }
25 }
26 write();
27
28 function onItem(item) {
29 // console.log("UNPACK", item);
30 if (item === undefined) {
31 finished = true;
32 }
33 else if (!meta) {
34 meta = item;
35 }
36 else {
37 out.push(item);
38 }
39 }
40 if (!finished) throw new Error("unpack stream didn't finish");
41 if (out.length !== meta.num) throw new Error("Item num mismatch");
42 return out;
43}
44
45
46run([

Callers 1

test-pack-codec.jsFile · 0.85

Calls 1

writeFunction · 0.50

Tested by

no test coverage detected