MCPcopy
hub / github.com/gildas-lormeau/zip.js / write

Method write

index-native.cjs:3066–3094  ·  view source on GitHub ↗
(chunk)

Source from the content-addressed store, hash-verified

3064 let diskSourceWriter, diskWritable, diskWriter;
3065 const writable = new WritableStream({
3066 async write(chunk) {
3067 const { availableSize } = writer;
3068 if (!diskWriter) {
3069 const { value, done } = await writerGenerator.next();
3070 if (done && !value) {
3071 throw new Error(ERR_ITERATOR_COMPLETED_TOO_SOON);
3072 } else {
3073 diskSourceWriter = value;
3074 diskSourceWriter.size = 0;
3075 if (diskSourceWriter.maxSize) {
3076 writer.maxSize = diskSourceWriter.maxSize;
3077 }
3078 writer.availableSize = writer.maxSize;
3079 await initStream(diskSourceWriter);
3080 diskWritable = value.writable;
3081 diskWriter = diskWritable.getWriter();
3082 }
3083 await this.write(chunk);
3084 } else if (chunk.length >= availableSize) {
3085 await writeChunk(chunk.subarray(0, availableSize));
3086 await closeDisk();
3087 writer.diskOffset += diskSourceWriter.size;
3088 writer.diskNumber++;
3089 diskWriter = null;
3090 await this.write(chunk.subarray(availableSize));
3091 } else {
3092 await writeChunk(chunk);
3093 }
3094 },
3095 async close() {
3096 await diskWriter.ready;
3097 await closeDisk();

Callers

nothing calls this directly

Calls 1

initStreamFunction · 0.70

Tested by

no test coverage detected