MCPcopy Index your code
hub / github.com/coder/coder / write

Method write

site/src/utils/tar.ts:218–244  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

216 }
217
218 async write() {
219 this.createBuffer();
220 const view = new Uint8Array(this.buffer);
221 let offset = 0;
222 for (const item of this.fileData) {
223 // write header
224 this.writeFileName(item.name, offset);
225 this.writeFileType(item.type, offset);
226 this.writeFileSize(item.size, offset);
227 this.fillHeader(
228 offset,
229 item.opts as Partial<ITarWriteOptions>,
230 item.type,
231 );
232 this.writeChecksum(offset);
233
234 // write data
235 const data = new Uint8Array((await item.data) as ArrayBuffer);
236 view.set(data, offset + 512);
237 offset += 512 + 512 * Math.floor((item.size + 511) / 512);
238 }
239 // Required so it works in the browser and node.
240 if (typeof Blob !== "undefined") {
241 return new Blob([this.buffer], { type: "application/x-tar" });
242 }
243 return this.buffer;
244 }
245
246 private writeString(str: string, offset: number, size: number) {
247 const strView = utf8Encode(str);

Callers 7

generateVersionFilesFunction · 0.95
createTemplateVersionTarFunction · 0.95
WorkspaceTerminalFunction · 0.45
tar.test.tsFile · 0.45
updateTemplateFunction · 0.45

Calls 7

createBufferMethod · 0.95
writeFileNameMethod · 0.95
writeFileTypeMethod · 0.95
writeFileSizeMethod · 0.95
fillHeaderMethod · 0.95
writeChecksumMethod · 0.95
setMethod · 0.45

Tested by

no test coverage detected