@loaders.gl/zip 4.1.0-alpha.1 → 4.1.0-alpha.10
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/dist/dist.dev.js +313 -51
- package/dist/filesystems/zip-filesystem.d.ts.map +1 -1
- package/dist/filesystems/zip-filesystem.js.map +1 -1
- package/dist/hash-file-utility.d.ts +6 -0
- package/dist/hash-file-utility.d.ts.map +1 -1
- package/dist/hash-file-utility.js +22 -0
- package/dist/hash-file-utility.js.map +1 -1
- package/dist/index.cjs +290 -56
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/tar/header.d.ts.map +1 -1
- package/dist/lib/tar/header.js.map +1 -1
- package/dist/lib/tar/tar.d.ts.map +1 -1
- package/dist/lib/tar/tar.js.map +1 -1
- package/dist/lib/tar/types.d.ts.map +1 -1
- package/dist/lib/tar/types.js.map +1 -1
- package/dist/lib/tar/utils.d.ts.map +1 -1
- package/dist/lib/tar/utils.js.map +1 -1
- package/dist/parse-zip/cd-file-header.d.ts +1 -1
- package/dist/parse-zip/cd-file-header.d.ts.map +1 -1
- package/dist/parse-zip/cd-file-header.js +4 -4
- package/dist/parse-zip/cd-file-header.js.map +1 -1
- package/dist/parse-zip/end-of-central-directory.d.ts +19 -0
- package/dist/parse-zip/end-of-central-directory.d.ts.map +1 -1
- package/dist/parse-zip/end-of-central-directory.js +41 -8
- package/dist/parse-zip/end-of-central-directory.js.map +1 -1
- package/dist/parse-zip/local-file-header.d.ts +16 -0
- package/dist/parse-zip/local-file-header.d.ts.map +1 -1
- package/dist/parse-zip/local-file-header.js +73 -1
- package/dist/parse-zip/local-file-header.js.map +1 -1
- package/dist/parse-zip/search-from-the-end.d.ts.map +1 -1
- package/dist/parse-zip/search-from-the-end.js.map +1 -1
- package/dist/parse-zip/zip-compozition.d.ts +8 -0
- package/dist/parse-zip/zip-compozition.d.ts.map +1 -0
- package/dist/parse-zip/zip-compozition.js +43 -0
- package/dist/parse-zip/zip-compozition.js.map +1 -0
- package/dist/parse-zip/zip64-info-generation.d.ts +5 -8
- package/dist/parse-zip/zip64-info-generation.d.ts.map +1 -1
- package/dist/parse-zip/zip64-info-generation.js +6 -3
- package/dist/parse-zip/zip64-info-generation.js.map +1 -1
- package/dist/tar-builder.d.ts.map +1 -1
- package/dist/tar-builder.js.map +1 -1
- package/dist/zip-loader.d.ts.map +1 -1
- package/dist/zip-loader.js +1 -1
- package/dist/zip-loader.js.map +1 -1
- package/dist/zip-writer.d.ts +2 -2
- package/dist/zip-writer.d.ts.map +1 -1
- package/dist/zip-writer.js +22 -7
- package/dist/zip-writer.js.map +1 -1
- package/package.json +7 -7
- package/src/filesystems/zip-filesystem.ts +2 -1
- package/src/hash-file-utility.ts +52 -2
- package/src/index.ts +6 -3
- package/src/lib/tar/header.ts +2 -1
- package/src/lib/tar/tar.ts +2 -1
- package/src/lib/tar/types.ts +2 -1
- package/src/lib/tar/utils.ts +2 -1
- package/src/parse-zip/cd-file-header.ts +8 -6
- package/src/parse-zip/end-of-central-directory.ts +99 -9
- package/src/parse-zip/local-file-header.ts +128 -2
- package/src/parse-zip/search-from-the-end.ts +2 -1
- package/src/parse-zip/zip-compozition.ts +113 -0
- package/src/parse-zip/zip64-info-generation.ts +20 -4
- package/src/tar-builder.ts +2 -1
- package/src/zip-loader.ts +2 -1
- package/src/zip-writer.ts +24 -10
package/dist/index.cjs
CHANGED
|
@@ -35,7 +35,10 @@ __export(src_exports, {
|
|
|
35
35
|
ZipFileSystem: () => ZipFileSystem,
|
|
36
36
|
ZipLoader: () => ZipLoader,
|
|
37
37
|
ZipWriter: () => ZipWriter,
|
|
38
|
+
addOneFile: () => addOneFile,
|
|
39
|
+
composeHashFile: () => composeHashFile,
|
|
38
40
|
generateCDHeader: () => generateCDHeader,
|
|
41
|
+
generateLocalHeader: () => generateLocalHeader,
|
|
39
42
|
localHeaderSignature: () => signature3,
|
|
40
43
|
makeHashTableFromZipHeaders: () => makeHashTableFromZipHeaders,
|
|
41
44
|
makeZipCDHeaderIterator: () => makeZipCDHeaderIterator,
|
|
@@ -94,27 +97,41 @@ async function loadZipEntry(jsZip, subFilename, options = {}) {
|
|
|
94
97
|
|
|
95
98
|
// src/zip-writer.ts
|
|
96
99
|
var import_jszip2 = __toESM(require("jszip"), 1);
|
|
100
|
+
var VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
97
101
|
var ZipWriter = {
|
|
98
102
|
name: "Zip Archive",
|
|
103
|
+
id: "zip",
|
|
104
|
+
module: "zip",
|
|
105
|
+
version: VERSION2,
|
|
99
106
|
extensions: ["zip"],
|
|
100
107
|
category: "archive",
|
|
101
108
|
mimeTypes: ["application/zip"],
|
|
102
|
-
|
|
109
|
+
options: {
|
|
110
|
+
zip: {
|
|
111
|
+
onUpdate: () => {
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
jszip: {}
|
|
115
|
+
},
|
|
103
116
|
encode: encodeZipAsync
|
|
104
117
|
};
|
|
105
118
|
async function encodeZipAsync(fileMap, options = {}) {
|
|
119
|
+
var _a;
|
|
106
120
|
const jsZip = new import_jszip2.default();
|
|
107
121
|
for (const subFileName in fileMap) {
|
|
108
122
|
const subFileData = fileMap[subFileName];
|
|
109
123
|
jsZip.file(subFileName, subFileData, (options == null ? void 0 : options.jszip) || {});
|
|
110
124
|
}
|
|
111
|
-
const
|
|
112
|
-
const {
|
|
113
|
-
} } = options;
|
|
125
|
+
const zipOptions = { ...ZipWriter.options.zip, ...options == null ? void 0 : options.zip };
|
|
126
|
+
const jszipOptions = { ...(_a = ZipWriter.options) == null ? void 0 : _a.jszip, ...options.jszip };
|
|
114
127
|
try {
|
|
115
|
-
return await jsZip.generateAsync(
|
|
128
|
+
return await jsZip.generateAsync(
|
|
129
|
+
{ ...jszipOptions, type: "arraybuffer" },
|
|
130
|
+
// generate an arraybuffer
|
|
131
|
+
zipOptions.onUpdate
|
|
132
|
+
);
|
|
116
133
|
} catch (error) {
|
|
117
|
-
options.log.error(`Unable to
|
|
134
|
+
options.log.error(`Unable to encode zip archive: ${error}`);
|
|
118
135
|
throw error;
|
|
119
136
|
}
|
|
120
137
|
}
|
|
@@ -338,7 +355,7 @@ var TarBuilder = class {
|
|
|
338
355
|
var import_loader_utils3 = require("@loaders.gl/loader-utils");
|
|
339
356
|
|
|
340
357
|
// src/parse-zip/end-of-central-directory.ts
|
|
341
|
-
var
|
|
358
|
+
var import_loader_utils2 = require("@loaders.gl/loader-utils");
|
|
342
359
|
|
|
343
360
|
// src/parse-zip/search-from-the-end.ts
|
|
344
361
|
var searchFromTheEnd = async (file, target) => {
|
|
@@ -362,43 +379,8 @@ var searchFromTheEnd = async (file, target) => {
|
|
|
362
379
|
return targetOffset;
|
|
363
380
|
};
|
|
364
381
|
|
|
365
|
-
// src/parse-zip/end-of-central-directory.ts
|
|
366
|
-
var eoCDSignature = new Uint8Array([80, 75, 5, 6]);
|
|
367
|
-
var zip64EoCDLocatorSignature = new Uint8Array([80, 75, 6, 7]);
|
|
368
|
-
var zip64EoCDSignature = new Uint8Array([80, 75, 6, 6]);
|
|
369
|
-
var CD_RECORDS_NUMBER_OFFSET = 8n;
|
|
370
|
-
var CD_START_OFFSET_OFFSET = 16n;
|
|
371
|
-
var ZIP64_EOCD_START_OFFSET_OFFSET = 8n;
|
|
372
|
-
var ZIP64_CD_RECORDS_NUMBER_OFFSET = 24n;
|
|
373
|
-
var ZIP64_CD_START_OFFSET_OFFSET = 48n;
|
|
374
|
-
var parseEoCDRecord = async (file) => {
|
|
375
|
-
const zipEoCDOffset = await searchFromTheEnd(file, eoCDSignature);
|
|
376
|
-
let cdRecordsNumber = BigInt(await file.getUint16(zipEoCDOffset + CD_RECORDS_NUMBER_OFFSET));
|
|
377
|
-
let cdStartOffset = BigInt(await file.getUint32(zipEoCDOffset + CD_START_OFFSET_OFFSET));
|
|
378
|
-
if (cdStartOffset === BigInt(4294967295) || cdRecordsNumber === BigInt(4294967295)) {
|
|
379
|
-
const zip64EoCDLocatorOffset = zipEoCDOffset - 20n;
|
|
380
|
-
const magicBytes = await file.slice(zip64EoCDLocatorOffset, zip64EoCDLocatorOffset + 4n);
|
|
381
|
-
if (!(0, import_loader_utils.compareArrayBuffers)(magicBytes, zip64EoCDLocatorSignature)) {
|
|
382
|
-
throw new Error("zip64 EoCD locator not found");
|
|
383
|
-
}
|
|
384
|
-
const zip64EoCDOffset = await file.getBigUint64(
|
|
385
|
-
zip64EoCDLocatorOffset + ZIP64_EOCD_START_OFFSET_OFFSET
|
|
386
|
-
);
|
|
387
|
-
const endOfCDMagicBytes = await file.slice(zip64EoCDOffset, zip64EoCDOffset + 4n);
|
|
388
|
-
if (!(0, import_loader_utils.compareArrayBuffers)(endOfCDMagicBytes, zip64EoCDSignature.buffer)) {
|
|
389
|
-
throw new Error("zip64 EoCD not found");
|
|
390
|
-
}
|
|
391
|
-
cdRecordsNumber = await file.getBigUint64(zip64EoCDOffset + ZIP64_CD_RECORDS_NUMBER_OFFSET);
|
|
392
|
-
cdStartOffset = await file.getBigUint64(zip64EoCDOffset + ZIP64_CD_START_OFFSET_OFFSET);
|
|
393
|
-
}
|
|
394
|
-
return {
|
|
395
|
-
cdRecordsNumber,
|
|
396
|
-
cdStartOffset
|
|
397
|
-
};
|
|
398
|
-
};
|
|
399
|
-
|
|
400
382
|
// src/parse-zip/zip64-info-generation.ts
|
|
401
|
-
var
|
|
383
|
+
var import_loader_utils = require("@loaders.gl/loader-utils");
|
|
402
384
|
var signature = new Uint8Array([1, 0]);
|
|
403
385
|
function createZip64Info(options) {
|
|
404
386
|
const optionsToUse = {
|
|
@@ -414,14 +396,17 @@ function createZip64Info(options) {
|
|
|
414
396
|
NUMBER_SETTERS[field.size](newValue, 0, optionsToUse[field.name ?? ""] ?? field.default);
|
|
415
397
|
arraysToConcat.push(newValue.buffer);
|
|
416
398
|
}
|
|
417
|
-
return (0,
|
|
399
|
+
return (0, import_loader_utils.concatenateArrayBuffers)(...arraysToConcat);
|
|
400
|
+
}
|
|
401
|
+
function setFieldToNumber(header, fieldSize, fieldOffset, value) {
|
|
402
|
+
NUMBER_SETTERS[fieldSize](header, Number(fieldOffset), value);
|
|
418
403
|
}
|
|
419
404
|
var NUMBER_SETTERS = {
|
|
420
405
|
2: (header, offset, value) => {
|
|
421
|
-
header.setUint16(offset, value, true);
|
|
406
|
+
header.setUint16(offset, Number(value), true);
|
|
422
407
|
},
|
|
423
408
|
4: (header, offset, value) => {
|
|
424
|
-
header.setUint32(offset, value, true);
|
|
409
|
+
header.setUint32(offset, Number(value), true);
|
|
425
410
|
},
|
|
426
411
|
8: (header, offset, value) => {
|
|
427
412
|
header.setBigUint64(offset, BigInt(value), true);
|
|
@@ -455,6 +440,83 @@ var ZIP64_FIELDS = [
|
|
|
455
440
|
}
|
|
456
441
|
];
|
|
457
442
|
|
|
443
|
+
// src/parse-zip/end-of-central-directory.ts
|
|
444
|
+
var eoCDSignature = new Uint8Array([80, 75, 5, 6]);
|
|
445
|
+
var zip64EoCDLocatorSignature = new Uint8Array([80, 75, 6, 7]);
|
|
446
|
+
var zip64EoCDSignature = new Uint8Array([80, 75, 6, 6]);
|
|
447
|
+
var CD_RECORDS_NUMBER_OFFSET = 8n;
|
|
448
|
+
var CD_RECORDS_NUMBER_ON_DISC_OFFSET = 10n;
|
|
449
|
+
var CD_CD_BYTE_SIZE_OFFSET = 12n;
|
|
450
|
+
var CD_START_OFFSET_OFFSET = 16n;
|
|
451
|
+
var ZIP64_EOCD_START_OFFSET_OFFSET = 8n;
|
|
452
|
+
var ZIP64_CD_RECORDS_NUMBER_OFFSET = 24n;
|
|
453
|
+
var ZIP64_CD_RECORDS_NUMBER_ON_DISC_OFFSET = 32n;
|
|
454
|
+
var ZIP64_CD_CD_BYTE_SIZE_OFFSET = 40n;
|
|
455
|
+
var ZIP64_CD_START_OFFSET_OFFSET = 48n;
|
|
456
|
+
var parseEoCDRecord = async (file) => {
|
|
457
|
+
const zipEoCDOffset = await searchFromTheEnd(file, eoCDSignature);
|
|
458
|
+
let cdRecordsNumber = BigInt(await file.getUint16(zipEoCDOffset + CD_RECORDS_NUMBER_OFFSET));
|
|
459
|
+
let cdStartOffset = BigInt(await file.getUint32(zipEoCDOffset + CD_START_OFFSET_OFFSET));
|
|
460
|
+
let zip64EoCDLocatorOffset = zipEoCDOffset - 20n;
|
|
461
|
+
let zip64EoCDOffset = 0n;
|
|
462
|
+
const magicBytes = await file.slice(zip64EoCDLocatorOffset, zip64EoCDLocatorOffset + 4n);
|
|
463
|
+
if ((0, import_loader_utils2.compareArrayBuffers)(magicBytes, zip64EoCDLocatorSignature)) {
|
|
464
|
+
zip64EoCDOffset = await file.getBigUint64(
|
|
465
|
+
zip64EoCDLocatorOffset + ZIP64_EOCD_START_OFFSET_OFFSET
|
|
466
|
+
);
|
|
467
|
+
const endOfCDMagicBytes = await file.slice(zip64EoCDOffset, zip64EoCDOffset + 4n);
|
|
468
|
+
if (!(0, import_loader_utils2.compareArrayBuffers)(endOfCDMagicBytes, zip64EoCDSignature.buffer)) {
|
|
469
|
+
throw new Error("zip64 EoCD not found");
|
|
470
|
+
}
|
|
471
|
+
cdRecordsNumber = await file.getBigUint64(zip64EoCDOffset + ZIP64_CD_RECORDS_NUMBER_OFFSET);
|
|
472
|
+
cdStartOffset = await file.getBigUint64(zip64EoCDOffset + ZIP64_CD_START_OFFSET_OFFSET);
|
|
473
|
+
} else {
|
|
474
|
+
zip64EoCDLocatorOffset = 0n;
|
|
475
|
+
}
|
|
476
|
+
return {
|
|
477
|
+
cdRecordsNumber,
|
|
478
|
+
cdStartOffset,
|
|
479
|
+
offsets: {
|
|
480
|
+
zip64EoCDOffset,
|
|
481
|
+
zip64EoCDLocatorOffset,
|
|
482
|
+
zipEoCDOffset
|
|
483
|
+
}
|
|
484
|
+
};
|
|
485
|
+
};
|
|
486
|
+
async function updateEoCD(eocdBody, oldEoCDOffsets, newCDStartOffset, eocdStartOffset, newCDRecordsNumber) {
|
|
487
|
+
const eocd = new DataView(eocdBody);
|
|
488
|
+
const classicEoCDOffset = oldEoCDOffsets.zip64EoCDOffset ? oldEoCDOffsets.zipEoCDOffset - oldEoCDOffsets.zip64EoCDOffset : 0n;
|
|
489
|
+
if (Number(newCDRecordsNumber) <= 65535) {
|
|
490
|
+
setFieldToNumber(eocd, 2, classicEoCDOffset + CD_RECORDS_NUMBER_OFFSET, newCDRecordsNumber);
|
|
491
|
+
setFieldToNumber(
|
|
492
|
+
eocd,
|
|
493
|
+
2,
|
|
494
|
+
classicEoCDOffset + CD_RECORDS_NUMBER_ON_DISC_OFFSET,
|
|
495
|
+
newCDRecordsNumber
|
|
496
|
+
);
|
|
497
|
+
}
|
|
498
|
+
if (eocdStartOffset - newCDStartOffset <= 4294967295) {
|
|
499
|
+
setFieldToNumber(
|
|
500
|
+
eocd,
|
|
501
|
+
4,
|
|
502
|
+
classicEoCDOffset + CD_CD_BYTE_SIZE_OFFSET,
|
|
503
|
+
eocdStartOffset - newCDStartOffset
|
|
504
|
+
);
|
|
505
|
+
}
|
|
506
|
+
if (newCDStartOffset < 4294967295) {
|
|
507
|
+
setFieldToNumber(eocd, 4, classicEoCDOffset + CD_START_OFFSET_OFFSET, newCDStartOffset);
|
|
508
|
+
}
|
|
509
|
+
if (oldEoCDOffsets.zip64EoCDLocatorOffset && oldEoCDOffsets.zip64EoCDOffset) {
|
|
510
|
+
const locatorOffset = oldEoCDOffsets.zip64EoCDLocatorOffset - oldEoCDOffsets.zip64EoCDOffset;
|
|
511
|
+
setFieldToNumber(eocd, 8, locatorOffset + ZIP64_EOCD_START_OFFSET_OFFSET, eocdStartOffset);
|
|
512
|
+
setFieldToNumber(eocd, 8, ZIP64_CD_START_OFFSET_OFFSET, newCDStartOffset);
|
|
513
|
+
setFieldToNumber(eocd, 8, ZIP64_CD_RECORDS_NUMBER_OFFSET, newCDRecordsNumber);
|
|
514
|
+
setFieldToNumber(eocd, 8, ZIP64_CD_RECORDS_NUMBER_ON_DISC_OFFSET, newCDRecordsNumber);
|
|
515
|
+
setFieldToNumber(eocd, 8, ZIP64_CD_CD_BYTE_SIZE_OFFSET, eocdStartOffset - newCDStartOffset);
|
|
516
|
+
}
|
|
517
|
+
return new Uint8Array(eocd.buffer);
|
|
518
|
+
}
|
|
519
|
+
|
|
458
520
|
// src/parse-zip/cd-file-header.ts
|
|
459
521
|
var CD_COMPRESSED_SIZE_OFFSET = 20n;
|
|
460
522
|
var CD_UNCOMPRESSED_SIZE_OFFSET = 24n;
|
|
@@ -558,7 +620,7 @@ function generateCDHeader(options) {
|
|
|
558
620
|
const optionsToZip64 = {};
|
|
559
621
|
if (optionsToUse.offset >= 4294967295) {
|
|
560
622
|
optionsToZip64.offset = optionsToUse.offset;
|
|
561
|
-
optionsToUse.offset = 4294967295;
|
|
623
|
+
optionsToUse.offset = BigInt(4294967295);
|
|
562
624
|
}
|
|
563
625
|
if (optionsToUse.length >= 4294967295) {
|
|
564
626
|
optionsToZip64.size = optionsToUse.length;
|
|
@@ -568,10 +630,11 @@ function generateCDHeader(options) {
|
|
|
568
630
|
zip64header = createZip64Info(optionsToZip64);
|
|
569
631
|
optionsToUse.extraLength = zip64header.byteLength;
|
|
570
632
|
}
|
|
571
|
-
const header = new DataView(new ArrayBuffer(
|
|
633
|
+
const header = new DataView(new ArrayBuffer(Number(CD_FILE_NAME_OFFSET)));
|
|
572
634
|
for (const field of ZIP_HEADER_FIELDS) {
|
|
573
|
-
|
|
635
|
+
setFieldToNumber(
|
|
574
636
|
header,
|
|
637
|
+
field.size,
|
|
575
638
|
field.offset,
|
|
576
639
|
optionsToUse[field.name ?? ""] ?? field.default ?? 0
|
|
577
640
|
);
|
|
@@ -734,9 +797,162 @@ var parseZipLocalFileHeader = async (headerOffset, buffer) => {
|
|
|
734
797
|
compressionMethod
|
|
735
798
|
};
|
|
736
799
|
};
|
|
800
|
+
function generateLocalHeader(options) {
|
|
801
|
+
const optionsToUse = {
|
|
802
|
+
...options,
|
|
803
|
+
extraLength: 0,
|
|
804
|
+
fnlength: options.fileName.length
|
|
805
|
+
};
|
|
806
|
+
let zip64header = new ArrayBuffer(0);
|
|
807
|
+
const optionsToZip64 = {};
|
|
808
|
+
if (optionsToUse.length >= 4294967295) {
|
|
809
|
+
optionsToZip64.size = optionsToUse.length;
|
|
810
|
+
optionsToUse.length = 4294967295;
|
|
811
|
+
}
|
|
812
|
+
if (Object.keys(optionsToZip64).length) {
|
|
813
|
+
zip64header = createZip64Info(optionsToZip64);
|
|
814
|
+
optionsToUse.extraLength = zip64header.byteLength;
|
|
815
|
+
}
|
|
816
|
+
const header = new DataView(new ArrayBuffer(Number(FILE_NAME_OFFSET)));
|
|
817
|
+
for (const field of ZIP_HEADER_FIELDS2) {
|
|
818
|
+
setFieldToNumber(
|
|
819
|
+
header,
|
|
820
|
+
field.size,
|
|
821
|
+
field.offset,
|
|
822
|
+
optionsToUse[field.name ?? ""] ?? field.default ?? 0
|
|
823
|
+
);
|
|
824
|
+
}
|
|
825
|
+
const encodedName = new TextEncoder().encode(optionsToUse.fileName);
|
|
826
|
+
const resHeader = (0, import_loader_utils4.concatenateArrayBuffers)(header.buffer, encodedName, zip64header);
|
|
827
|
+
return resHeader;
|
|
828
|
+
}
|
|
829
|
+
var ZIP_HEADER_FIELDS2 = [
|
|
830
|
+
// Local file header signature = 0x04034b50
|
|
831
|
+
{
|
|
832
|
+
offset: 0,
|
|
833
|
+
size: 4,
|
|
834
|
+
default: new DataView(signature3.buffer).getUint32(0, true)
|
|
835
|
+
},
|
|
836
|
+
// Version needed to extract (minimum)
|
|
837
|
+
{
|
|
838
|
+
offset: 4,
|
|
839
|
+
size: 2,
|
|
840
|
+
default: 45
|
|
841
|
+
},
|
|
842
|
+
// General purpose bit flag
|
|
843
|
+
{
|
|
844
|
+
offset: 6,
|
|
845
|
+
size: 2,
|
|
846
|
+
default: 0
|
|
847
|
+
},
|
|
848
|
+
// Compression method
|
|
849
|
+
{
|
|
850
|
+
offset: 8,
|
|
851
|
+
size: 2,
|
|
852
|
+
default: 0
|
|
853
|
+
},
|
|
854
|
+
// File last modification time
|
|
855
|
+
{
|
|
856
|
+
offset: 10,
|
|
857
|
+
size: 2,
|
|
858
|
+
default: 0
|
|
859
|
+
},
|
|
860
|
+
// File last modification date
|
|
861
|
+
{
|
|
862
|
+
offset: 12,
|
|
863
|
+
size: 2,
|
|
864
|
+
default: 0
|
|
865
|
+
},
|
|
866
|
+
// CRC-32 of uncompressed data
|
|
867
|
+
{
|
|
868
|
+
offset: 14,
|
|
869
|
+
size: 4,
|
|
870
|
+
name: "crc32"
|
|
871
|
+
},
|
|
872
|
+
// Compressed size (or 0xffffffff for ZIP64)
|
|
873
|
+
{
|
|
874
|
+
offset: 18,
|
|
875
|
+
size: 4,
|
|
876
|
+
name: "length"
|
|
877
|
+
},
|
|
878
|
+
// Uncompressed size (or 0xffffffff for ZIP64)
|
|
879
|
+
{
|
|
880
|
+
offset: 22,
|
|
881
|
+
size: 4,
|
|
882
|
+
name: "length"
|
|
883
|
+
},
|
|
884
|
+
// File name length (n)
|
|
885
|
+
{
|
|
886
|
+
offset: 26,
|
|
887
|
+
size: 2,
|
|
888
|
+
name: "fnlength"
|
|
889
|
+
},
|
|
890
|
+
// Extra field length (m)
|
|
891
|
+
{
|
|
892
|
+
offset: 28,
|
|
893
|
+
size: 2,
|
|
894
|
+
default: 0,
|
|
895
|
+
name: "extraLength"
|
|
896
|
+
}
|
|
897
|
+
];
|
|
737
898
|
|
|
738
|
-
// src/
|
|
899
|
+
// src/parse-zip/zip-compozition.ts
|
|
900
|
+
var import_loader_utils5 = require("@loaders.gl/loader-utils");
|
|
739
901
|
var import_crypto = require("@loaders.gl/crypto");
|
|
902
|
+
async function cutTheTailOff(provider) {
|
|
903
|
+
const oldEoCDinfo = await parseEoCDRecord(provider);
|
|
904
|
+
const oldCDStartOffset = oldEoCDinfo.cdStartOffset;
|
|
905
|
+
const oldCDLength = Number(
|
|
906
|
+
oldEoCDinfo.offsets.zip64EoCDOffset ? oldEoCDinfo.offsets.zip64EoCDOffset - oldCDStartOffset : oldEoCDinfo.offsets.zipEoCDOffset - oldCDStartOffset
|
|
907
|
+
);
|
|
908
|
+
const zipEnding = await provider.slice(oldCDStartOffset, provider.length);
|
|
909
|
+
await provider.truncate(Number(oldCDStartOffset));
|
|
910
|
+
const oldCDBody = zipEnding.slice(0, oldCDLength);
|
|
911
|
+
const eocdBody = zipEnding.slice(oldCDLength, zipEnding.byteLength);
|
|
912
|
+
return [oldCDBody, eocdBody, oldEoCDinfo];
|
|
913
|
+
}
|
|
914
|
+
async function generateFileHeaders(fileName, fileToAdd, localFileHeaderOffset) {
|
|
915
|
+
const newFileCRC322 = parseInt(await new import_crypto.CRC32Hash().hash(fileToAdd, "hex"), 16);
|
|
916
|
+
const newFileLocalHeader = generateLocalHeader({
|
|
917
|
+
crc32: newFileCRC322,
|
|
918
|
+
fileName,
|
|
919
|
+
length: fileToAdd.byteLength
|
|
920
|
+
});
|
|
921
|
+
const newFileCDHeader = generateCDHeader({
|
|
922
|
+
crc32: newFileCRC322,
|
|
923
|
+
fileName,
|
|
924
|
+
offset: localFileHeaderOffset,
|
|
925
|
+
length: fileToAdd.byteLength
|
|
926
|
+
});
|
|
927
|
+
return [
|
|
928
|
+
new Uint8Array((0, import_loader_utils5.concatenateArrayBuffers)(newFileLocalHeader, fileToAdd)),
|
|
929
|
+
new Uint8Array(newFileCDHeader)
|
|
930
|
+
];
|
|
931
|
+
}
|
|
932
|
+
async function addOneFile(zipUrl, fileToAdd, fileName) {
|
|
933
|
+
const provider = new import_loader_utils5.FileHandleFile(zipUrl, true);
|
|
934
|
+
const [oldCDBody, eocdBody, oldEoCDinfo] = await cutTheTailOff(provider);
|
|
935
|
+
const newFileOffset = provider.length;
|
|
936
|
+
const [localPart, cdHeaderPart] = await generateFileHeaders(fileName, fileToAdd, newFileOffset);
|
|
937
|
+
await provider.append(localPart);
|
|
938
|
+
const newCDBody = (0, import_loader_utils5.concatenateArrayBuffers)(oldCDBody, cdHeaderPart);
|
|
939
|
+
const newCDStartOffset = provider.length;
|
|
940
|
+
await provider.append(new Uint8Array(newCDBody));
|
|
941
|
+
const eocdOffset = provider.length;
|
|
942
|
+
await provider.append(
|
|
943
|
+
await updateEoCD(
|
|
944
|
+
eocdBody,
|
|
945
|
+
oldEoCDinfo.offsets,
|
|
946
|
+
newCDStartOffset,
|
|
947
|
+
eocdOffset,
|
|
948
|
+
oldEoCDinfo.cdRecordsNumber + 1n
|
|
949
|
+
)
|
|
950
|
+
);
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
// src/hash-file-utility.ts
|
|
954
|
+
var import_crypto2 = require("@loaders.gl/crypto");
|
|
955
|
+
var import_loader_utils6 = require("@loaders.gl/loader-utils");
|
|
740
956
|
function parseHashTable(arrayBuffer) {
|
|
741
957
|
const dataView = new DataView(arrayBuffer);
|
|
742
958
|
const hashMap = {};
|
|
@@ -752,7 +968,7 @@ function bufferToHex(buffer, start, length) {
|
|
|
752
968
|
}
|
|
753
969
|
async function makeHashTableFromZipHeaders(fileProvider) {
|
|
754
970
|
const zipCDIterator = makeZipCDHeaderIterator(fileProvider);
|
|
755
|
-
const md5Hash = new
|
|
971
|
+
const md5Hash = new import_crypto2.MD5Hash();
|
|
756
972
|
const textEncoder = new TextEncoder();
|
|
757
973
|
const hashTable = {};
|
|
758
974
|
for await (const cdHeader of zipCDIterator) {
|
|
@@ -763,11 +979,29 @@ async function makeHashTableFromZipHeaders(fileProvider) {
|
|
|
763
979
|
}
|
|
764
980
|
return hashTable;
|
|
765
981
|
}
|
|
982
|
+
async function composeHashFile(fileProvider) {
|
|
983
|
+
const hashArray = await makeHashTableFromZipHeaders(fileProvider);
|
|
984
|
+
const bufferArray = Object.entries(hashArray).map(([key, value]) => (0, import_loader_utils6.concatenateArrayBuffers)(hexStringToBuffer(key), bigintToBuffer(value))).sort(compareHashes);
|
|
985
|
+
return (0, import_loader_utils6.concatenateArrayBuffersFromArray)(bufferArray);
|
|
986
|
+
}
|
|
987
|
+
function compareHashes(arrA, arrB) {
|
|
988
|
+
const a = new BigUint64Array(arrA);
|
|
989
|
+
const b = new BigUint64Array(arrB);
|
|
990
|
+
return Number(a[0] === b[0] ? a[1] - b[1] : a[0] - b[0]);
|
|
991
|
+
}
|
|
992
|
+
function hexStringToBuffer(str) {
|
|
993
|
+
var _a;
|
|
994
|
+
const byteArray = (_a = str.match(/../g)) == null ? void 0 : _a.map((h) => parseInt(h, 16));
|
|
995
|
+
return new Uint8Array(byteArray ?? new Array(16)).buffer;
|
|
996
|
+
}
|
|
997
|
+
function bigintToBuffer(n) {
|
|
998
|
+
return new BigUint64Array([n]).buffer;
|
|
999
|
+
}
|
|
766
1000
|
|
|
767
1001
|
// src/filesystems/zip-filesystem.ts
|
|
768
|
-
var import_loader_utils5 = require("@loaders.gl/loader-utils");
|
|
769
|
-
var import_loader_utils6 = require("@loaders.gl/loader-utils");
|
|
770
1002
|
var import_loader_utils7 = require("@loaders.gl/loader-utils");
|
|
1003
|
+
var import_loader_utils8 = require("@loaders.gl/loader-utils");
|
|
1004
|
+
var import_loader_utils9 = require("@loaders.gl/loader-utils");
|
|
771
1005
|
var import_compression = require("@loaders.gl/compression");
|
|
772
1006
|
var COMPRESSION_METHODS = {
|
|
773
1007
|
/** No compression */
|
|
@@ -789,12 +1023,12 @@ var ZipFileSystem = class {
|
|
|
789
1023
|
this.fileProvider = null;
|
|
790
1024
|
if (typeof file === "string") {
|
|
791
1025
|
this.fileName = file;
|
|
792
|
-
if (!
|
|
793
|
-
this.fileProvider = new
|
|
1026
|
+
if (!import_loader_utils7.isBrowser) {
|
|
1027
|
+
this.fileProvider = new import_loader_utils9.FileHandleFile(file);
|
|
794
1028
|
} else {
|
|
795
1029
|
throw new Error("Cannot open file for random access in a WEB browser");
|
|
796
1030
|
}
|
|
797
|
-
} else if ((0,
|
|
1031
|
+
} else if ((0, import_loader_utils8.isFileProvider)(file)) {
|
|
798
1032
|
this.fileProvider = file;
|
|
799
1033
|
}
|
|
800
1034
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ export { ZipLoader } from './zip-loader';
|
|
|
2
2
|
export { ZipWriter } from './zip-writer';
|
|
3
3
|
export { TarBuilder } from './tar-builder';
|
|
4
4
|
export { parseZipCDFileHeader, makeZipCDHeaderIterator, signature as CD_HEADER_SIGNATURE, generateCDHeader } from './parse-zip/cd-file-header';
|
|
5
|
-
export { parseZipLocalFileHeader, signature as localHeaderSignature } from './parse-zip/local-file-header';
|
|
5
|
+
export { parseZipLocalFileHeader, signature as localHeaderSignature, generateLocalHeader } from './parse-zip/local-file-header';
|
|
6
6
|
export { parseEoCDRecord } from './parse-zip/end-of-central-directory';
|
|
7
7
|
export { searchFromTheEnd } from './parse-zip/search-from-the-end';
|
|
8
|
-
export {
|
|
8
|
+
export { addOneFile } from './parse-zip/zip-compozition';
|
|
9
|
+
export { parseHashTable, makeHashTableFromZipHeaders, composeHashFile } from './hash-file-utility';
|
|
9
10
|
export { ZipFileSystem } from './filesystems/zip-filesystem';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,SAAS,IAAI,mBAAmB,EAChC,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,SAAS,IAAI,oBAAoB,EACjC,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAGvD,OAAO,EAAC,cAAc,EAAE,2BAA2B,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,10 @@ export { ZipLoader } from "./zip-loader.js";
|
|
|
2
2
|
export { ZipWriter } from "./zip-writer.js";
|
|
3
3
|
export { TarBuilder } from "./tar-builder.js";
|
|
4
4
|
export { parseZipCDFileHeader, makeZipCDHeaderIterator, signature as CD_HEADER_SIGNATURE, generateCDHeader } from "./parse-zip/cd-file-header.js";
|
|
5
|
-
export { parseZipLocalFileHeader, signature as localHeaderSignature } from "./parse-zip/local-file-header.js";
|
|
5
|
+
export { parseZipLocalFileHeader, signature as localHeaderSignature, generateLocalHeader } from "./parse-zip/local-file-header.js";
|
|
6
6
|
export { parseEoCDRecord } from "./parse-zip/end-of-central-directory.js";
|
|
7
7
|
export { searchFromTheEnd } from "./parse-zip/search-from-the-end.js";
|
|
8
|
-
export {
|
|
8
|
+
export { addOneFile } from "./parse-zip/zip-compozition.js";
|
|
9
|
+
export { parseHashTable, makeHashTableFromZipHeaders, composeHashFile } from "./hash-file-utility.js";
|
|
9
10
|
export { ZipFileSystem } from "./filesystems/zip-filesystem.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ZipLoader","ZipWriter","TarBuilder","parseZipCDFileHeader","makeZipCDHeaderIterator","signature","CD_HEADER_SIGNATURE","generateCDHeader","parseZipLocalFileHeader","localHeaderSignature","parseEoCDRecord","searchFromTheEnd","parseHashTable","makeHashTableFromZipHeaders","ZipFileSystem"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"index.js","names":["ZipLoader","ZipWriter","TarBuilder","parseZipCDFileHeader","makeZipCDHeaderIterator","signature","CD_HEADER_SIGNATURE","generateCDHeader","parseZipLocalFileHeader","localHeaderSignature","generateLocalHeader","parseEoCDRecord","searchFromTheEnd","addOneFile","parseHashTable","makeHashTableFromZipHeaders","composeHashFile","ZipFileSystem"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport {ZipLoader} from './zip-loader';\nexport {ZipWriter} from './zip-writer';\nexport {TarBuilder} from './tar-builder';\n\nexport {\n parseZipCDFileHeader,\n makeZipCDHeaderIterator,\n signature as CD_HEADER_SIGNATURE,\n generateCDHeader\n} from './parse-zip/cd-file-header';\nexport {\n parseZipLocalFileHeader,\n signature as localHeaderSignature,\n generateLocalHeader\n} from './parse-zip/local-file-header';\nexport {parseEoCDRecord} from './parse-zip/end-of-central-directory';\nexport {searchFromTheEnd} from './parse-zip/search-from-the-end';\nexport {addOneFile} from './parse-zip/zip-compozition';\n\n// export type {HashElement} from './hash-file-utility';\nexport {parseHashTable, makeHashTableFromZipHeaders, composeHashFile} from './hash-file-utility';\n\nexport {ZipFileSystem} from './filesystems/zip-filesystem';\n"],"mappings":"SAIQA,SAAS;AAAA,SACTC,SAAS;AAAA,SACTC,UAAU;AAAA,SAGhBC,oBAAoB,EACpBC,uBAAuB,EACvBC,SAAS,IAAIC,mBAAmB,EAChCC,gBAAgB;AAAA,SAGhBC,uBAAuB,EACvBH,SAAS,IAAII,oBAAoB,EACjCC,mBAAmB;AAAA,SAEbC,eAAe;AAAA,SACfC,gBAAgB;AAAA,SAChBC,UAAU;AAAA,SAGVC,cAAc,EAAEC,2BAA2B,EAAEC,eAAe;AAAA,SAE5DC,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/lib/tar/header.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/lib/tar/header.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAe,OAAO,EAAC,MAAM,SAAS,CAAC;AAyCnD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,UAAU,CAsB/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","names":["utils","structure","fileName","fileMode","uid","gid","fileSize","mtime","checksum","type","linkName","ustar","owner","group","majorNumber","minorNumber","filenamePrefix","padding","format","data","cb","buffer","clean","offset","Object","entries","forEach","_ref","field","length","str","i","fieldLength","charCodeAt"],"sources":["../../../src/lib/tar/header.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"header.js","names":["utils","structure","fileName","fileMode","uid","gid","fileSize","mtime","checksum","type","linkName","ustar","owner","group","majorNumber","minorNumber","filenamePrefix","padding","format","data","cb","buffer","clean","offset","Object","entries","forEach","_ref","field","length","str","i","fieldLength","charCodeAt"],"sources":["../../../src/lib/tar/header.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// This file is derived from the tar-js code base under MIT license\n// See https://github.com/beatgammit/tar-js/blob/master/LICENSE\n/*\n * tar-js\n * MIT (c) 2011 T. Jameson Little\n */\n/* eslint-disable */\nimport * as utils from './utils';\nimport type {TarStructure, TarData} from './types';\n/*\nstruct posix_header { // byte offset\n\tchar name[100]; // 0\n\tchar mode[8]; // 100\n\tchar uid[8]; // 108\n\tchar gid[8]; // 116\n\tchar size[12]; // 124\n\tchar mtime[12]; // 136\n\tchar chksum[8]; // 148\n\tchar typeflag; // 156\n\tchar linkname[100]; // 157\n\tchar magic[6]; // 257\n\tchar version[2]; // 263\n\tchar uname[32]; // 265\n\tchar gname[32]; // 297\n\tchar devmajor[8]; // 329\n\tchar devminor[8]; // 337\n\tchar prefix[155]; // 345\n // 500\n};\n*/\n\nconst structure: TarStructure = {\n fileName: 100,\n fileMode: 8,\n uid: 8,\n gid: 8,\n fileSize: 12,\n mtime: 12,\n checksum: 8,\n type: 1,\n linkName: 100,\n ustar: 8,\n owner: 32,\n group: 32,\n majorNumber: 8,\n minorNumber: 8,\n filenamePrefix: 155,\n padding: 12\n};\n/**\n * Getting the header\n * @param data\n * @param [cb]\n * @returns {Uint8Array} | Array\n */\nexport function format(data: TarData, cb?: any): [string, number][] | Uint8Array {\n const buffer = utils.clean(512);\n let offset = 0;\n\n Object.entries(structure).forEach(([field, length]) => {\n const str = data[field] || '';\n let i: number;\n let fieldLength: number;\n\n for (i = 0, fieldLength = str.length; i < fieldLength; i += 1) {\n buffer[offset] = str.charCodeAt(i);\n offset += 1;\n }\n\n // space it out with nulls\n offset += length - i;\n });\n\n if (typeof cb === 'function') {\n return cb(buffer, offset);\n }\n return buffer;\n}\n"],"mappings":"OAWO,KAAKA,KAAK;AAwBjB,MAAMC,SAAuB,GAAG;EAC9BC,QAAQ,EAAE,GAAG;EACbC,QAAQ,EAAE,CAAC;EACXC,GAAG,EAAE,CAAC;EACNC,GAAG,EAAE,CAAC;EACNC,QAAQ,EAAE,EAAE;EACZC,KAAK,EAAE,EAAE;EACTC,QAAQ,EAAE,CAAC;EACXC,IAAI,EAAE,CAAC;EACPC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,WAAW,EAAE,CAAC;EACdC,WAAW,EAAE,CAAC;EACdC,cAAc,EAAE,GAAG;EACnBC,OAAO,EAAE;AACX,CAAC;AAOD,OAAO,SAASC,MAAMA,CAACC,IAAa,EAAEC,EAAQ,EAAmC;EAC/E,MAAMC,MAAM,GAAGrB,KAAK,CAACsB,KAAK,CAAC,GAAG,CAAC;EAC/B,IAAIC,MAAM,GAAG,CAAC;EAEdC,MAAM,CAACC,OAAO,CAACxB,SAAS,CAAC,CAACyB,OAAO,CAACC,IAAA,IAAqB;IAAA,IAApB,CAACC,KAAK,EAAEC,MAAM,CAAC,GAAAF,IAAA;IAChD,MAAMG,GAAG,GAAGX,IAAI,CAACS,KAAK,CAAC,IAAI,EAAE;IAC7B,IAAIG,CAAS;IACb,IAAIC,WAAmB;IAEvB,KAAKD,CAAC,GAAG,CAAC,EAAEC,WAAW,GAAGF,GAAG,CAACD,MAAM,EAAEE,CAAC,GAAGC,WAAW,EAAED,CAAC,IAAI,CAAC,EAAE;MAC7DV,MAAM,CAACE,MAAM,CAAC,GAAGO,GAAG,CAACG,UAAU,CAACF,CAAC,CAAC;MAClCR,MAAM,IAAI,CAAC;IACb;IAGAA,MAAM,IAAIM,MAAM,GAAGE,CAAC;EACtB,CAAC,CAAC;EAEF,IAAI,OAAOX,EAAE,KAAK,UAAU,EAAE;IAC5B,OAAOA,EAAE,CAACC,MAAM,EAAEE,MAAM,CAAC;EAC3B;EACA,OAAOF,MAAM;AACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tar.d.ts","sourceRoot":"","sources":["../../../src/lib/tar/tar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tar.d.ts","sourceRoot":"","sources":["../../../src/lib/tar/tar.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAC,SAAS,EAAE,UAAU,EAAsB,MAAM,SAAS,CAAC;AAQxE,cAAM,GAAG;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,SAAS,CAAM;IACvB,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;gBACS,eAAe,EAAE,MAAM,GAAG,SAAS;IAY/C;;;;;OAKG;IAEH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS;IA+DlF;;;OAGG;IACH,IAAI,IAAI,IAAI;IAkCZ;;OAEG;IACH,KAAK;CAIN;AAED,eAAe,GAAG,CAAC"}
|
package/dist/lib/tar/tar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tar.js","names":["clean","pad","stringToUint8","format","blockSize","headerLength","inputLength","recordSize","Tar","constructor","recordsPerBlock","written","out","blocks","length","save","bind","clear","append","filepath","input","opts","checksum","Uint8Array","prototype","errorInputMatch","exec","toString","errorInput","errorMessage","mode","parseInt","mtime","Math","floor","Number","Date","uid","gid","data","fileName","fileMode","fileSize","type","ustar","owner","group","Object","keys","forEach","key","i","value","charCodeAt","headerArr","ceil","push","header","buffers","chunks","Array","max","pow","chunk","b","arguments","undefined","c","buffer","set","Blob"],"sources":["../../../src/lib/tar/tar.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"tar.js","names":["clean","pad","stringToUint8","format","blockSize","headerLength","inputLength","recordSize","Tar","constructor","recordsPerBlock","written","out","blocks","length","save","bind","clear","append","filepath","input","opts","checksum","Uint8Array","prototype","errorInputMatch","exec","toString","errorInput","errorMessage","mode","parseInt","mtime","Math","floor","Number","Date","uid","gid","data","fileName","fileMode","fileSize","type","ustar","owner","group","Object","keys","forEach","key","i","value","charCodeAt","headerArr","ceil","push","header","buffers","chunks","Array","max","pow","chunk","b","arguments","undefined","c","buffer","set","Blob"],"sources":["../../../src/lib/tar/tar.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// This file is derived from the tar-js code base under MIT license\n// See https://github.com/beatgammit/tar-js/blob/master/LICENSE\n/*\n * tar-js\n * MIT (c) 2011 T. Jameson Little\n */\n\nimport {clean, pad, stringToUint8} from './utils';\nimport {format} from './header';\nimport type {TarBlocks, TarOptions, TarChunks, TarChunk} from './types';\n\nlet blockSize: number;\nlet headerLength: number;\nlet inputLength: number;\n\nconst recordSize = 512;\n\nclass Tar {\n written: number;\n out: Uint8Array;\n blocks: TarBlocks = [];\n length: number;\n\n /**\n * @param [recordsPerBlock]\n */\n constructor(recordsPerBlock: number | undefined) {\n this.written = 0;\n blockSize = (recordsPerBlock || 20) * recordSize;\n this.out = clean(blockSize);\n\n this.blocks = [];\n this.length = 0;\n this.save = this.save.bind(this);\n this.clear = this.clear.bind(this);\n this.append = this.append.bind(this);\n }\n\n /**\n * Append a file to the tar archive\n * @param filepath\n * @param input\n * @param [opts]\n */\n // eslint-disable-next-line complexity\n append(filepath: string, input: string | Uint8Array, opts?: TarOptions | undefined) {\n let checksum: string | any;\n\n if (typeof input === 'string') {\n input = stringToUint8(input);\n } else if (input.constructor && input.constructor !== Uint8Array.prototype.constructor) {\n // @ts-ignore\n const errorInputMatch = /function\\s*([$A-Za-z_][0-9A-Za-z_]*)\\s*\\(/.exec(\n input.constructor.toString()\n );\n const errorInput = errorInputMatch && errorInputMatch[1];\n const errorMessage = `Invalid input type. You gave me: ${errorInput}`;\n throw errorMessage;\n }\n\n opts = opts || {};\n\n const mode = opts.mode || parseInt('777', 8) & 0xfff;\n const mtime = opts.mtime || Math.floor(Number(new Date()) / 1000);\n const uid = opts.uid || 0;\n const gid = opts.gid || 0;\n\n const data: Record<string, string> = {\n fileName: filepath,\n fileMode: pad(mode, 7),\n uid: pad(uid, 7),\n gid: pad(gid, 7),\n fileSize: pad(input.length, 11),\n mtime: pad(mtime, 11),\n checksum: ' ',\n // 0 = just a file\n type: '0',\n ustar: 'ustar ',\n owner: opts.owner || '',\n group: opts.group || ''\n };\n\n // calculate the checksum\n checksum = 0;\n Object.keys(data).forEach((key) => {\n let i: number;\n const value = data[key];\n let length: number;\n\n for (i = 0, length = value.length; i < length; i += 1) {\n checksum += value.charCodeAt(i);\n }\n });\n\n data.checksum = `${pad(checksum, 6)}\\u0000 `;\n\n const headerArr = format(data);\n\n headerLength = Math.ceil(headerArr.length / recordSize) * recordSize;\n inputLength = Math.ceil(input.length / recordSize) * recordSize;\n\n this.blocks.push({\n header: headerArr,\n input,\n headerLength,\n inputLength\n });\n }\n /**\n * Compiling data to a Blob object\n * @returns {Blob}\n */\n save(): Blob {\n const buffers: any = [];\n const chunks = new Array<TarChunks>();\n let length = 0;\n const max = Math.pow(2, 20);\n\n let chunk = new Array<TarChunk>();\n this.blocks.forEach((b: any = []) => {\n if (length + b.headerLength + b.inputLength > max) {\n chunks.push({blocks: chunk, length});\n chunk = [];\n length = 0;\n }\n chunk.push(b);\n length += b.headerLength + b.inputLength;\n });\n chunks.push({blocks: chunk, length});\n\n chunks.forEach((c: any = []) => {\n const buffer = new Uint8Array(c.length);\n let written = 0;\n c.blocks.forEach((b: any = []) => {\n buffer.set(b.header, written);\n written += b.headerLength;\n buffer.set(b.input, written);\n written += b.inputLength;\n });\n buffers.push(buffer);\n });\n\n buffers.push(new Uint8Array(2 * recordSize));\n\n return new Blob(buffers, {type: 'octet/stream'});\n }\n /**\n * Clear the data by its blocksize\n */\n clear() {\n this.written = 0;\n this.out = clean(blockSize);\n }\n}\n\nexport default Tar;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/tar/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/tar/types.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AACF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;CAC/B,CAAC;AACF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;IACrB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AACF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC;AACF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/lib/tar/types.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/lib/tar/types.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/**\n * Structure of data\n */\nexport type TarStructure = {\n [index: string]: number;\n};\n/**\n * Image of input data\n */\nexport type TarData = {\n [index: string]: string | any;\n};\n/**\n * Describes inner content of the blocks in the Tar's constructor\n */\nexport type TarBlocks = {\n [index: string]: any;\n header?: Uint8Array;\n input?: string | Uint8Array;\n headerLength?: number;\n inputLength?: number;\n};\n/**\n * Describes additional options for Tar class\n */\nexport type TarOptions = {\n mode?: number;\n mtime?: number;\n uid?: number;\n gid?: number;\n owner?: any;\n group?: any;\n};\n/**\n * Array of numbers for TarChunks\n */\nexport type TarChunk = {\n [index: number]: any;\n};\n/**\n * Sections of binary data inside the Tar class\n */\nexport type TarChunks = {\n [index: number]: TarChunk;\n length?: number;\n blocks?: any;\n};\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/tar/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/tar/utils.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAOhD;AACD;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAGrE;AACD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAa1F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["clean","length","i","buffer","Uint8Array","pad","num","bytes","base","numStr","toString","substr","stringToUint8","input","out","offset","charCodeAt"],"sources":["../../../src/lib/tar/utils.ts"],"sourcesContent":["// loaders.gl
|
|
1
|
+
{"version":3,"file":"utils.js","names":["clean","length","i","buffer","Uint8Array","pad","num","bytes","base","numStr","toString","substr","stringToUint8","input","out","offset","charCodeAt"],"sources":["../../../src/lib/tar/utils.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// This file is derived from the tar-js code base under MIT license\n// See https://github.com/beatgammit/tar-js/blob/master/LICENSE\n/*\n * tar-js\n * MIT (c) 2011 T. Jameson Little\n */\n/**\n * Returns the memory area specified by length\n * @param length\n * @returns {Uint8Array}\n */\nexport function clean(length: number): Uint8Array {\n let i: number;\n const buffer = new Uint8Array(length);\n for (i = 0; i < length; i += 1) {\n buffer[i] = 0;\n }\n return buffer;\n}\n/**\n * Converting data to a string\n * @param num\n * @param bytes\n * @param base\n * @returns string\n */\nexport function pad(num: number, bytes: number, base?: number): string {\n const numStr = num.toString(base || 8);\n return '000000000000'.substr(numStr.length + 12 - bytes) + numStr;\n}\n/**\n * Converting input to binary data\n * @param input\n * @param out\n * @param offset\n * @returns {Uint8Array}\n */\nexport function stringToUint8(input: string, out?: Uint8Array, offset?: number): Uint8Array {\n let i: number;\n let length: number;\n\n out = out || clean(input.length);\n\n offset = offset || 0;\n for (i = 0, length = input.length; i < length; i += 1) {\n out[offset] = input.charCodeAt(i);\n offset += 1;\n }\n\n return out;\n}\n"],"mappings":"AAeA,OAAO,SAASA,KAAKA,CAACC,MAAc,EAAc;EAChD,IAAIC,CAAS;EACb,MAAMC,MAAM,GAAG,IAAIC,UAAU,CAACH,MAAM,CAAC;EACrC,KAAKC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;IAC9BC,MAAM,CAACD,CAAC,CAAC,GAAG,CAAC;EACf;EACA,OAAOC,MAAM;AACf;AAQA,OAAO,SAASE,GAAGA,CAACC,GAAW,EAAEC,KAAa,EAAEC,IAAa,EAAU;EACrE,MAAMC,MAAM,GAAGH,GAAG,CAACI,QAAQ,CAACF,IAAI,IAAI,CAAC,CAAC;EACtC,OAAO,cAAc,CAACG,MAAM,CAACF,MAAM,CAACR,MAAM,GAAG,EAAE,GAAGM,KAAK,CAAC,GAAGE,MAAM;AACnE;AAQA,OAAO,SAASG,aAAaA,CAACC,KAAa,EAAEC,GAAgB,EAAEC,MAAe,EAAc;EAC1F,IAAIb,CAAS;EACb,IAAID,MAAc;EAElBa,GAAG,GAAGA,GAAG,IAAId,KAAK,CAACa,KAAK,CAACZ,MAAM,CAAC;EAEhCc,MAAM,GAAGA,MAAM,IAAI,CAAC;EACpB,KAAKb,CAAC,GAAG,CAAC,EAAED,MAAM,GAAGY,KAAK,CAACZ,MAAM,EAAEC,CAAC,GAAGD,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;IACrDY,GAAG,CAACC,MAAM,CAAC,GAAGF,KAAK,CAACG,UAAU,CAACd,CAAC,CAAC;IACjCa,MAAM,IAAI,CAAC;EACb;EAEA,OAAOD,GAAG;AACZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cd-file-header.d.ts","sourceRoot":"","sources":["../../src/parse-zip/cd-file-header.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cd-file-header.d.ts","sourceRoot":"","sources":["../../src/parse-zip/cd-file-header.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAA+C,MAAM,0BAA0B,CAAC;AAEpG,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAGnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAyBF,eAAO,MAAM,SAAS,EAAE,YAAuD,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,iBACjB,MAAM,QACd,YAAY,KACjB,QAAQ,eAAe,GAAG,IAAI,CA2ChC,CAAC;AAEF;;;GAGG;AACH,wBAAuB,uBAAuB,CAC5C,YAAY,EAAE,YAAY,GACzB,aAAa,CAAC,eAAe,CAAC,CAUhC;AAoED,6CAA6C;AAC7C,KAAK,iBAAiB,GAAG;IACvB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,CAuCxE"}
|