zip-writer 1.1.0 → 1.1.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/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -1
- package/dist/utils.d.ts +11 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +16 -0
- package/dist/utils.js.map +1 -1
- package/dist/write-central-directory.d.ts.map +1 -1
- package/dist/write-central-directory.js +157 -202
- package/dist/write-central-directory.js.map +1 -1
- package/dist/write-entry.d.ts +2 -0
- package/dist/write-entry.d.ts.map +1 -1
- package/dist/write-entry.js +53 -66
- package/dist/write-entry.js.map +1 -1
- package/package.json +3 -3
package/dist/constants.d.ts
CHANGED
|
@@ -18,4 +18,8 @@ export declare const EOCD_SIZE = 22;
|
|
|
18
18
|
export declare const EOCD64_SIZE = 56;
|
|
19
19
|
export declare const EOCD64_LOCATOR_SIZE = 20;
|
|
20
20
|
export declare const ZIP64_LIMIT: bigint;
|
|
21
|
+
/** Little-endian for DataView methods */
|
|
22
|
+
export declare const LITTLE_ENDIAN = true;
|
|
23
|
+
/** Big-endian for DataView methods */
|
|
24
|
+
export declare const BIG_ENDIAN = false;
|
|
21
25
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B,aAAa,CAAC;AACtD,eAAO,MAAM,yBAAyB,aAAa,CAAC;AACpD,eAAO,MAAM,2BAA2B,aAAa,CAAC;AACtD,eAAO,MAAM,4BAA4B,aAAa,CAAC;AACvD,eAAO,MAAM,kCAAkC,aAAa,CAAC;AAC7D,eAAO,MAAM,0CAA0C,aAAa,CAAC;AAGrE,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,qBAAqB,OAAwB,CAAC;AAG3D,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAG5C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,WAAW,QAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B,aAAa,CAAC;AACtD,eAAO,MAAM,yBAAyB,aAAa,CAAC;AACpD,eAAO,MAAM,2BAA2B,aAAa,CAAC;AACtD,eAAO,MAAM,4BAA4B,aAAa,CAAC;AACvD,eAAO,MAAM,kCAAkC,aAAa,CAAC;AAC7D,eAAO,MAAM,0CAA0C,aAAa,CAAC;AAGrE,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,qBAAqB,OAAwB,CAAC;AAG3D,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAG5C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,WAAW,QAAqB,CAAC;AAE9C,yCAAyC;AACzC,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,sCAAsC;AACtC,eAAO,MAAM,UAAU,QAAQ,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -24,4 +24,8 @@ export const EOCD64_SIZE = 56;
|
|
|
24
24
|
export const EOCD64_LOCATOR_SIZE = 20;
|
|
25
25
|
// Limits
|
|
26
26
|
export const ZIP64_LIMIT = BigInt(0xffffffff);
|
|
27
|
+
/** Little-endian for DataView methods */
|
|
28
|
+
export const LITTLE_ENDIAN = true;
|
|
29
|
+
/** Big-endian for DataView methods */
|
|
30
|
+
export const BIG_ENDIAN = false;
|
|
27
31
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC,CAAC,eAAe;AACtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC,CAAC,eAAe;AACpE,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC,CAAC,eAAe;AACtE,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC,CAAC,eAAe;AACvE,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,CAAC,CAAC,eAAe;AAC7E,MAAM,CAAC,MAAM,0CAA0C,GAAG,UAAU,CAAC,CAAC,eAAe;AAErF,oBAAoB;AACpB,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC,CAAC,8BAA8B;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,CAAC,cAAc;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,CAAC,wBAAwB;AAEhE,QAAQ;AACR,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,wCAAwC;AAEpG,sBAAsB;AACtB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C,iBAAiB;AACjB,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,SAAS;AACT,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC,CAAC,eAAe;AACtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC,CAAC,eAAe;AACpE,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC,CAAC,eAAe;AACtE,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC,CAAC,eAAe;AACvE,MAAM,CAAC,MAAM,kCAAkC,GAAG,UAAU,CAAC,CAAC,eAAe;AAC7E,MAAM,CAAC,MAAM,0CAA0C,GAAG,UAAU,CAAC,CAAC,eAAe;AAErF,oBAAoB;AACpB,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC,CAAC,8BAA8B;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,CAAC,cAAc;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,CAAC,wBAAwB;AAEhE,QAAQ;AACR,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,wCAAwC;AAEpG,sBAAsB;AACtB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C,iBAAiB;AACjB,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,SAAS;AACT,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAE9C,yCAAyC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
export declare function getDosTime(date: Date): number;
|
|
2
2
|
export declare function getDosDate(date: Date): number;
|
|
3
3
|
export declare function noop(): void;
|
|
4
|
+
type DataViewValue<T extends keyof typeof OFFSETS = keyof typeof OFFSETS> = T extends "setBigUint64" ? [T, bigint, boolean] : [T, number, boolean];
|
|
5
|
+
export declare const UINT16 = "setUint16";
|
|
6
|
+
export declare const UINT32 = "setUint32";
|
|
7
|
+
export declare const UINT64 = "setBigUint64";
|
|
8
|
+
declare const OFFSETS: {
|
|
9
|
+
setUint16: number;
|
|
10
|
+
setUint32: number;
|
|
11
|
+
setBigUint64: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function writeDataView(view: DataView, values: DataViewValue[], offset?: number): number;
|
|
14
|
+
export {};
|
|
4
15
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAM7C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAM7C;AAED,wBAAgB,IAAI,SAAK"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAM7C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAM7C;AAED,wBAAgB,IAAI,SAAK;AAEzB,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,OAAO,OAAO,GAAG,MAAM,OAAO,OAAO,IACtE,CAAC,SAAS,cAAc,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEzE,eAAO,MAAM,MAAM,cAAc,CAAC;AAClC,eAAO,MAAM,MAAM,cAAc,CAAC;AAClC,eAAO,MAAM,MAAM,iBAAiB,CAAC;AAGrC,QAAA,MAAM,OAAO;;;;CAImB,CAAC;AAEjC,wBAAgB,aAAa,CAC3B,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,GAAE,MAAU,GACjB,MAAM,CAOR"}
|
package/dist/utils.js
CHANGED
|
@@ -9,4 +9,20 @@ export function getDosDate(date) {
|
|
|
9
9
|
date.getDate());
|
|
10
10
|
}
|
|
11
11
|
export function noop() { }
|
|
12
|
+
export const UINT16 = "setUint16";
|
|
13
|
+
export const UINT32 = "setUint32";
|
|
14
|
+
export const UINT64 = "setBigUint64";
|
|
15
|
+
const OFFSETS = {
|
|
16
|
+
setUint16: 2,
|
|
17
|
+
setUint32: 4,
|
|
18
|
+
setBigUint64: 8,
|
|
19
|
+
};
|
|
20
|
+
export function writeDataView(view, values, offset = 0) {
|
|
21
|
+
for (const [method, value, littleEndian] of values) {
|
|
22
|
+
// @ts-expect-error
|
|
23
|
+
view[method](offset, value, littleEndian);
|
|
24
|
+
offset += OFFSETS[method];
|
|
25
|
+
}
|
|
26
|
+
return offset;
|
|
27
|
+
}
|
|
12
28
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,KAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,KAAI,CAAC;AAKzB,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC;AAClC,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC;AAClC,MAAM,CAAC,MAAM,MAAM,GAAG,cAAc,CAAC;AAGrC,MAAM,OAAO,GAAG;IACd,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CACe,CAAC;AAEjC,MAAM,UAAU,aAAa,CAC3B,IAAc,EACd,MAAuB,EACvB,SAAiB,CAAC;IAElB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,MAAM,EAAE,CAAC;QACnD,mBAAmB;QACnB,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-central-directory.d.ts","sourceRoot":"","sources":["../src/write-central-directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAqC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"write-central-directory.d.ts","sourceRoot":"","sources":["../src/write-central-directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAqC,MAAM,YAAY,CAAC;AA+B/E;;GAEG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAMrE;AA2JD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,sBAAsB,EAAE,MAAM,EAC9B,oBAAoB,EAAE,MAAM,GAC3B,UAAU,CAAC,WAAW,CAAC,CAwBzB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,sBAAsB,EAAE,MAAM,EAC9B,oBAAoB,EAAE,MAAM,GAC3B,UAAU,CAAC,WAAW,CAAC,CA6DzB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CENTRAL_DIRECTORY_SIGNATURE, END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATURE, VERSION_MADE_BY, VERSION_NEEDED_STANDARD, VERSION_NEEDED_ZIP64, GENERAL_PURPOSE_FLAGS, COMPRESSION_METHOD_STORE, COMPRESSION_METHOD_DEFLATE, ZIP64_LIMIT, CENTRAL_DIRECTORY_HEADER_SIZE, EOCD_SIZE, EOCD64_SIZE, EOCD64_LOCATOR_SIZE, } from "./constants.js";
|
|
2
|
-
import { getDosTime, getDosDate } from "./utils.js";
|
|
1
|
+
import { CENTRAL_DIRECTORY_SIGNATURE, END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATURE, VERSION_MADE_BY, VERSION_NEEDED_STANDARD, VERSION_NEEDED_ZIP64, GENERAL_PURPOSE_FLAGS, COMPRESSION_METHOD_STORE, COMPRESSION_METHOD_DEFLATE, ZIP64_LIMIT, CENTRAL_DIRECTORY_HEADER_SIZE, EOCD_SIZE, EOCD64_SIZE, EOCD64_LOCATOR_SIZE, BIG_ENDIAN, LITTLE_ENDIAN, } from "./constants.js";
|
|
2
|
+
import { getDosTime, getDosDate, writeDataView, UINT16, UINT32, UINT64, } from "./utils.js";
|
|
3
3
|
const textEncoder = new TextEncoder();
|
|
4
4
|
/**
|
|
5
5
|
* Generate the Central Directory File Header for the given entry info.
|
|
@@ -20,59 +20,46 @@ function getCDFHStandard(entryInfo) {
|
|
|
20
20
|
const headerSize = CENTRAL_DIRECTORY_HEADER_SIZE + nameBytes.length + commentBytes.length;
|
|
21
21
|
const header = new Uint8Array(headerSize);
|
|
22
22
|
const view = new DataView(header.buffer);
|
|
23
|
-
let offset = 0;
|
|
24
|
-
// Central directory file header signature
|
|
25
|
-
view.setUint32(offset, CENTRAL_DIRECTORY_SIGNATURE);
|
|
26
|
-
offset += 4;
|
|
27
|
-
// Version made by
|
|
28
|
-
view.setUint16(offset, VERSION_MADE_BY, true);
|
|
29
|
-
offset += 2;
|
|
30
|
-
// Version needed to extract
|
|
31
|
-
view.setUint16(offset, VERSION_NEEDED_STANDARD, true);
|
|
32
|
-
offset += 2;
|
|
33
|
-
// General purpose bit flag
|
|
34
|
-
view.setUint16(offset, GENERAL_PURPOSE_FLAGS);
|
|
35
|
-
offset += 2;
|
|
36
|
-
// Compression method
|
|
37
|
-
view.setUint16(offset, entryInfo.store ? COMPRESSION_METHOD_STORE : COMPRESSION_METHOD_DEFLATE, true);
|
|
38
|
-
offset += 2;
|
|
39
|
-
// Last mod file time & date
|
|
40
23
|
const date = entryInfo.date || new Date();
|
|
41
|
-
view.setUint16(offset, getDosTime(date), true);
|
|
42
|
-
offset += 2;
|
|
43
|
-
view.setUint16(offset, getDosDate(date), true);
|
|
44
|
-
offset += 2;
|
|
45
|
-
// CRC-32
|
|
46
|
-
view.setUint32(offset, entryInfo.crc32, true);
|
|
47
|
-
offset += 4;
|
|
48
|
-
// Compressed size
|
|
49
|
-
view.setUint32(offset, entryInfo.compressedSize, true);
|
|
50
|
-
offset += 4;
|
|
51
|
-
// Uncompressed size
|
|
52
|
-
view.setUint32(offset, entryInfo.uncompressedSize, true);
|
|
53
|
-
offset += 4;
|
|
54
|
-
// File name length
|
|
55
|
-
view.setUint16(offset, nameBytes.length, true);
|
|
56
|
-
offset += 2;
|
|
57
|
-
// Extra field length
|
|
58
|
-
view.setUint16(offset, 0, true);
|
|
59
|
-
offset += 2;
|
|
60
|
-
// File comment length
|
|
61
|
-
view.setUint16(offset, commentBytes.length, true);
|
|
62
|
-
offset += 2;
|
|
63
|
-
// Disk number start
|
|
64
|
-
view.setUint16(offset, 0, true);
|
|
65
|
-
offset += 2;
|
|
66
|
-
// Internal file attributes
|
|
67
|
-
view.setUint16(offset, 0, true);
|
|
68
|
-
offset += 2;
|
|
69
|
-
// External file attributes (Unix permissions if provided)
|
|
70
24
|
const externalAttrs = entryInfo.mode ? entryInfo.mode << 16 : 0;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
25
|
+
const compressionMethod = entryInfo.store
|
|
26
|
+
? COMPRESSION_METHOD_STORE
|
|
27
|
+
: COMPRESSION_METHOD_DEFLATE;
|
|
28
|
+
let offset = writeDataView(view, [
|
|
29
|
+
// Central directory file header signature
|
|
30
|
+
[UINT32, CENTRAL_DIRECTORY_SIGNATURE, BIG_ENDIAN],
|
|
31
|
+
// Version made by
|
|
32
|
+
[UINT16, VERSION_MADE_BY, LITTLE_ENDIAN],
|
|
33
|
+
// Version needed to extract
|
|
34
|
+
[UINT16, VERSION_NEEDED_STANDARD, LITTLE_ENDIAN],
|
|
35
|
+
// General purpose bit flag
|
|
36
|
+
[UINT16, GENERAL_PURPOSE_FLAGS, LITTLE_ENDIAN],
|
|
37
|
+
// Compression method
|
|
38
|
+
[UINT16, compressionMethod, LITTLE_ENDIAN],
|
|
39
|
+
// Last mod file time & date
|
|
40
|
+
[UINT16, getDosTime(date), LITTLE_ENDIAN],
|
|
41
|
+
[UINT16, getDosDate(date), LITTLE_ENDIAN],
|
|
42
|
+
// CRC-32
|
|
43
|
+
[UINT32, entryInfo.crc32, LITTLE_ENDIAN],
|
|
44
|
+
// Compressed size
|
|
45
|
+
[UINT32, entryInfo.compressedSize, LITTLE_ENDIAN],
|
|
46
|
+
// Uncompressed size
|
|
47
|
+
[UINT32, entryInfo.uncompressedSize, LITTLE_ENDIAN],
|
|
48
|
+
// File name length
|
|
49
|
+
[UINT16, nameBytes.length, LITTLE_ENDIAN],
|
|
50
|
+
// Extra field length
|
|
51
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
52
|
+
// File comment length
|
|
53
|
+
[UINT16, commentBytes.length, LITTLE_ENDIAN],
|
|
54
|
+
// Disk number start
|
|
55
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
56
|
+
// Internal file attributes
|
|
57
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
58
|
+
// External file attributes (Unix permissions if provided)
|
|
59
|
+
[UINT32, externalAttrs, LITTLE_ENDIAN],
|
|
60
|
+
// Relative offset of local header
|
|
61
|
+
[UINT32, entryInfo.startOffset, LITTLE_ENDIAN],
|
|
62
|
+
]);
|
|
76
63
|
// File name
|
|
77
64
|
header.set(nameBytes, offset);
|
|
78
65
|
offset += nameBytes.length;
|
|
@@ -90,70 +77,64 @@ function getCDFHZip64(entryInfo) {
|
|
|
90
77
|
// Extra field for ZIP64
|
|
91
78
|
const extraField = new Uint8Array(28); // ZIP64 extra field
|
|
92
79
|
const extraView = new DataView(extraField.buffer);
|
|
93
|
-
extraView
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
80
|
+
writeDataView(extraView, [
|
|
81
|
+
// ZIP64 extra field tag
|
|
82
|
+
[UINT16, 0x0001, LITTLE_ENDIAN],
|
|
83
|
+
// Size of extra field data (3x 8-byte fields)
|
|
84
|
+
[UINT16, 24, LITTLE_ENDIAN],
|
|
85
|
+
// Original size
|
|
86
|
+
[UINT64, entryInfo.uncompressedSize, LITTLE_ENDIAN],
|
|
87
|
+
// Compressed size
|
|
88
|
+
[UINT64, entryInfo.compressedSize, LITTLE_ENDIAN],
|
|
89
|
+
// Relative header offset
|
|
90
|
+
[UINT64, entryInfo.startOffset, LITTLE_ENDIAN],
|
|
91
|
+
]);
|
|
98
92
|
const headerSize = CENTRAL_DIRECTORY_HEADER_SIZE +
|
|
99
93
|
nameBytes.length +
|
|
100
94
|
extraField.length +
|
|
101
95
|
commentBytes.length;
|
|
102
96
|
const header = new Uint8Array(headerSize);
|
|
103
97
|
const view = new DataView(header.buffer);
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
offset += 4;
|
|
108
|
-
// Version made by
|
|
109
|
-
view.setUint16(offset, VERSION_MADE_BY, true);
|
|
110
|
-
offset += 2;
|
|
111
|
-
// Version needed to extract
|
|
112
|
-
view.setUint16(offset, VERSION_NEEDED_ZIP64, true);
|
|
113
|
-
offset += 2;
|
|
114
|
-
// General purpose bit flag
|
|
115
|
-
view.setUint16(offset, GENERAL_PURPOSE_FLAGS);
|
|
116
|
-
offset += 2;
|
|
117
|
-
// Compression method
|
|
118
|
-
view.setUint16(offset, entryInfo.store ? COMPRESSION_METHOD_STORE : COMPRESSION_METHOD_DEFLATE, true);
|
|
119
|
-
offset += 2;
|
|
120
|
-
// Last mod file time & date
|
|
98
|
+
const compressionMethod = entryInfo.store
|
|
99
|
+
? COMPRESSION_METHOD_STORE
|
|
100
|
+
: COMPRESSION_METHOD_DEFLATE;
|
|
121
101
|
const date = entryInfo.date || new Date();
|
|
122
|
-
view.setUint16(offset, getDosTime(date), true);
|
|
123
|
-
offset += 2;
|
|
124
|
-
view.setUint16(offset, getDosDate(date), true);
|
|
125
|
-
offset += 2;
|
|
126
|
-
// CRC-32
|
|
127
|
-
view.setUint32(offset, entryInfo.crc32, true);
|
|
128
|
-
offset += 4;
|
|
129
|
-
// Compressed size (0xFFFFFFFF for ZIP64)
|
|
130
|
-
view.setUint32(offset, 0xffffffff, true);
|
|
131
|
-
offset += 4;
|
|
132
|
-
// Uncompressed size (0xFFFFFFFF for ZIP64)
|
|
133
|
-
view.setUint32(offset, 0xffffffff, true);
|
|
134
|
-
offset += 4;
|
|
135
|
-
// File name length
|
|
136
|
-
view.setUint16(offset, nameBytes.length, true);
|
|
137
|
-
offset += 2;
|
|
138
|
-
// Extra field length
|
|
139
|
-
view.setUint16(offset, extraField.length, true);
|
|
140
|
-
offset += 2;
|
|
141
|
-
// File comment length
|
|
142
|
-
view.setUint16(offset, commentBytes.length, true);
|
|
143
|
-
offset += 2;
|
|
144
|
-
// Disk number start
|
|
145
|
-
view.setUint16(offset, 0, true);
|
|
146
|
-
offset += 2;
|
|
147
|
-
// Internal file attributes
|
|
148
|
-
view.setUint16(offset, 0, true);
|
|
149
|
-
offset += 2;
|
|
150
|
-
// External file attributes (Unix permissions if provided)
|
|
151
102
|
const externalAttrs = entryInfo.mode ? entryInfo.mode << 16 : 0;
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
103
|
+
let offset = writeDataView(view, [
|
|
104
|
+
// Central directory file header signature
|
|
105
|
+
[UINT32, CENTRAL_DIRECTORY_SIGNATURE, BIG_ENDIAN],
|
|
106
|
+
// Version made by
|
|
107
|
+
[UINT16, VERSION_MADE_BY, LITTLE_ENDIAN],
|
|
108
|
+
// Version needed to extract
|
|
109
|
+
[UINT16, VERSION_NEEDED_ZIP64, LITTLE_ENDIAN],
|
|
110
|
+
// General purpose bit flag
|
|
111
|
+
[UINT16, GENERAL_PURPOSE_FLAGS, LITTLE_ENDIAN],
|
|
112
|
+
// Compression method
|
|
113
|
+
[UINT16, compressionMethod, LITTLE_ENDIAN],
|
|
114
|
+
// Last mod file time & date
|
|
115
|
+
[UINT16, getDosTime(date), LITTLE_ENDIAN],
|
|
116
|
+
[UINT16, getDosDate(date), LITTLE_ENDIAN],
|
|
117
|
+
// CRC-32
|
|
118
|
+
[UINT32, entryInfo.crc32, LITTLE_ENDIAN],
|
|
119
|
+
// Compressed size (0xFFFFFFFF for ZIP64)
|
|
120
|
+
[UINT32, 0xffffffff, LITTLE_ENDIAN],
|
|
121
|
+
// Uncompressed size (0xFFFFFFFF for ZIP64)
|
|
122
|
+
[UINT32, 0xffffffff, LITTLE_ENDIAN],
|
|
123
|
+
// File name length
|
|
124
|
+
[UINT16, nameBytes.length, LITTLE_ENDIAN],
|
|
125
|
+
// Extra field length
|
|
126
|
+
[UINT16, extraField.length, LITTLE_ENDIAN],
|
|
127
|
+
// File comment length
|
|
128
|
+
[UINT16, commentBytes.length, LITTLE_ENDIAN],
|
|
129
|
+
// Disk number start
|
|
130
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
131
|
+
// Internal file attributes
|
|
132
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
133
|
+
// External file attributes (Unix permissions if provided)
|
|
134
|
+
[UINT32, externalAttrs, LITTLE_ENDIAN],
|
|
135
|
+
// Relative offset of local header (0xFFFFFFFF for ZIP64)
|
|
136
|
+
[UINT32, 0xffffffff, LITTLE_ENDIAN],
|
|
137
|
+
]);
|
|
157
138
|
// File name
|
|
158
139
|
header.set(nameBytes, offset);
|
|
159
140
|
offset += nameBytes.length;
|
|
@@ -172,30 +153,24 @@ function getCDFHZip64(entryInfo) {
|
|
|
172
153
|
export function getEOCDStandard(entriesCount, centralDirectoryOffset, centralDirectorySize) {
|
|
173
154
|
const eocd = new Uint8Array(EOCD_SIZE);
|
|
174
155
|
const view = new DataView(eocd.buffer);
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
offset += 4;
|
|
194
|
-
// Offset of start of central directory
|
|
195
|
-
view.setUint32(offset, Number(centralDirectoryOffset), true);
|
|
196
|
-
offset += 4;
|
|
197
|
-
// ZIP file comment length
|
|
198
|
-
view.setUint16(offset, 0, true);
|
|
156
|
+
writeDataView(view, [
|
|
157
|
+
// End of central dir signature
|
|
158
|
+
[UINT32, END_OF_CENTRAL_DIR_SIGNATURE, BIG_ENDIAN],
|
|
159
|
+
// Number of this disk
|
|
160
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
161
|
+
// Disk where central directory starts
|
|
162
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
163
|
+
// Number of central directory records on this disk
|
|
164
|
+
[UINT16, entriesCount, LITTLE_ENDIAN],
|
|
165
|
+
// Total number of central directory records
|
|
166
|
+
[UINT16, entriesCount, LITTLE_ENDIAN],
|
|
167
|
+
// Size of central directory
|
|
168
|
+
[UINT32, centralDirectorySize, LITTLE_ENDIAN],
|
|
169
|
+
// Offset of start of central directory
|
|
170
|
+
[UINT32, centralDirectoryOffset, LITTLE_ENDIAN],
|
|
171
|
+
// ZIP file comment length
|
|
172
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
173
|
+
]);
|
|
199
174
|
return eocd;
|
|
200
175
|
}
|
|
201
176
|
/**
|
|
@@ -205,75 +180,55 @@ export function getEOCDZip64(entriesCount, centralDirectoryOffset, centralDirect
|
|
|
205
180
|
const totalSize = EOCD64_SIZE + EOCD64_LOCATOR_SIZE + EOCD_SIZE;
|
|
206
181
|
const buffer = new Uint8Array(totalSize);
|
|
207
182
|
const view = new DataView(buffer.buffer);
|
|
208
|
-
let offset =
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
// Number of this disk
|
|
258
|
-
view.setUint16(offset, 0, true);
|
|
259
|
-
offset += 2;
|
|
260
|
-
// Disk where central directory starts
|
|
261
|
-
view.setUint16(offset, 0, true);
|
|
262
|
-
offset += 2;
|
|
263
|
-
// Number of central directory records on this disk
|
|
264
|
-
view.setUint16(offset, 0xffff, true);
|
|
265
|
-
offset += 2;
|
|
266
|
-
// Total number of central directory records
|
|
267
|
-
view.setUint16(offset, 0xffff, true);
|
|
268
|
-
offset += 2;
|
|
269
|
-
// Size of central directory
|
|
270
|
-
view.setUint32(offset, 0xffffffff, true);
|
|
271
|
-
offset += 4;
|
|
272
|
-
// Offset of start of central directory
|
|
273
|
-
view.setUint32(offset, 0xffffffff, true);
|
|
274
|
-
offset += 4;
|
|
275
|
-
// ZIP file comment length
|
|
276
|
-
view.setUint16(offset, 0, true);
|
|
183
|
+
let offset = writeDataView(view, [
|
|
184
|
+
// === ZIP64 End of Central Directory Record ===
|
|
185
|
+
// End of central dir signature
|
|
186
|
+
[UINT32, ZIP64_END_OF_CENTRAL_DIR_SIGNATURE, BIG_ENDIAN],
|
|
187
|
+
// Size of zip64 end of central directory record excluding the leading 12 bytes
|
|
188
|
+
[UINT64, BigInt(EOCD64_SIZE - 12), LITTLE_ENDIAN],
|
|
189
|
+
// Version made by
|
|
190
|
+
[UINT16, VERSION_MADE_BY, LITTLE_ENDIAN],
|
|
191
|
+
// Version needed to extract
|
|
192
|
+
[UINT16, VERSION_NEEDED_ZIP64, LITTLE_ENDIAN],
|
|
193
|
+
// Number of this disk
|
|
194
|
+
[UINT32, 0, LITTLE_ENDIAN],
|
|
195
|
+
// Disk where central directory starts
|
|
196
|
+
[UINT32, 0, LITTLE_ENDIAN],
|
|
197
|
+
// Number of central directory records on this disk
|
|
198
|
+
[UINT64, entriesCount, LITTLE_ENDIAN],
|
|
199
|
+
// Total number of central directory records
|
|
200
|
+
[UINT64, entriesCount, LITTLE_ENDIAN],
|
|
201
|
+
// Size of central directory
|
|
202
|
+
[UINT64, centralDirectorySize, LITTLE_ENDIAN],
|
|
203
|
+
// Offset of start of central directory
|
|
204
|
+
[UINT64, centralDirectoryOffset, LITTLE_ENDIAN],
|
|
205
|
+
// === ZIP64 End of Central Directory Locator ===
|
|
206
|
+
// Zip64 end of central dir locator signature
|
|
207
|
+
[UINT32, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATURE, BIG_ENDIAN],
|
|
208
|
+
// Number of the disk with the start of the zip64 end of central directory
|
|
209
|
+
[UINT32, 0, LITTLE_ENDIAN],
|
|
210
|
+
// Relative offset of the zip64 end of central directory record
|
|
211
|
+
[UINT64, centralDirectoryOffset + centralDirectorySize, LITTLE_ENDIAN],
|
|
212
|
+
// Total number of disks
|
|
213
|
+
[UINT32, 1, LITTLE_ENDIAN],
|
|
214
|
+
// === Standard End of Central Directory Record ===
|
|
215
|
+
// End of central dir signature
|
|
216
|
+
[UINT32, END_OF_CENTRAL_DIR_SIGNATURE, BIG_ENDIAN],
|
|
217
|
+
// Number of this disk
|
|
218
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
219
|
+
// Disk where central directory starts
|
|
220
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
221
|
+
// Number of central directory records on this disk
|
|
222
|
+
[UINT16, 0xffff, LITTLE_ENDIAN],
|
|
223
|
+
// Total number of central directory records
|
|
224
|
+
[UINT16, 0xffff, LITTLE_ENDIAN],
|
|
225
|
+
// Size of central directory
|
|
226
|
+
[UINT32, 0xffffffff, LITTLE_ENDIAN],
|
|
227
|
+
// Offset of start of central directory
|
|
228
|
+
[UINT32, 0xffffffff, LITTLE_ENDIAN],
|
|
229
|
+
// ZIP file comment length
|
|
230
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
231
|
+
]);
|
|
277
232
|
return buffer;
|
|
278
233
|
}
|
|
279
234
|
//# sourceMappingURL=write-central-directory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-central-directory.js","sourceRoot":"","sources":["../src/write-central-directory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"write-central-directory.js","sourceRoot":"","sources":["../src/write-central-directory.ts"],"names":[],"mappings":"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"}
|
package/dist/write-entry.d.ts
CHANGED
|
@@ -18,9 +18,11 @@ export declare function getLocalFileHeader(options: EntryOptions): Uint8Array<Ar
|
|
|
18
18
|
export declare function getDataDescriptorStandard(entryInfo: {
|
|
19
19
|
uncompressedSize: number;
|
|
20
20
|
compressedSize: number;
|
|
21
|
+
crc32: number;
|
|
21
22
|
}): Uint8Array<ArrayBuffer>;
|
|
22
23
|
export declare function getDataDescriptorZip64(entryInfo: {
|
|
23
24
|
uncompressedSize: bigint;
|
|
24
25
|
compressedSize: bigint;
|
|
26
|
+
crc32: number;
|
|
25
27
|
}): Uint8Array<ArrayBuffer>;
|
|
26
28
|
//# sourceMappingURL=write-entry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-entry.d.ts","sourceRoot":"","sources":["../src/write-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"write-entry.d.ts","sourceRoot":"","sources":["../src/write-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;AA0BpB;;GAEG;AACH,wBAAsB,aAAa,CAAC,EAClC,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAW,EACX,KAAK,GACN,EAAE;IACD,iCAAiC;IACjC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,gCAAgC;IAChC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,gCAAgC;IAChC,YAAY,EAAE,YAAY,CAAC;IAC3B,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAClE,+CAsFA;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,GACpB,UAAU,CAAC,WAAW,CAAC,CAsCzB;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,UAAU,CAAC,WAAW,CAAC,CAgB1B;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,UAAU,CAAC,WAAW,CAAC,CAgB1B"}
|
package/dist/write-entry.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LOCAL_FILE_HEADER_SIGNATURE, DATA_DESCRIPTOR_SIGNATURE, VERSION_NEEDED_STANDARD, GENERAL_PURPOSE_FLAGS, COMPRESSION_METHOD_STORE, COMPRESSION_METHOD_DEFLATE, LOCAL_FILE_HEADER_SIZE, ZIP64_LIMIT, DATA_DESCRIPTOR_SIZE, DATA_DESCRIPTOR_SIZE_ZIP64, } from "./constants.js";
|
|
2
|
-
import { getDosTime, getDosDate } from "./utils.js";
|
|
1
|
+
import { LOCAL_FILE_HEADER_SIGNATURE, DATA_DESCRIPTOR_SIGNATURE, VERSION_NEEDED_STANDARD, GENERAL_PURPOSE_FLAGS, COMPRESSION_METHOD_STORE, COMPRESSION_METHOD_DEFLATE, LOCAL_FILE_HEADER_SIZE, ZIP64_LIMIT, DATA_DESCRIPTOR_SIZE, DATA_DESCRIPTOR_SIZE_ZIP64, LITTLE_ENDIAN, BIG_ENDIAN, } from "./constants.js";
|
|
2
|
+
import { getDosTime, getDosDate, writeDataView, UINT16, UINT32, UINT64, } from "./utils.js";
|
|
3
3
|
const textEncoder = new TextEncoder();
|
|
4
4
|
/**
|
|
5
5
|
* Write a zip entry to the given writer from the given reader.
|
|
@@ -7,7 +7,7 @@ const textEncoder = new TextEncoder();
|
|
|
7
7
|
export async function writeZipEntry({ writer, reader, entryOptions, startOffset, crc32, }) {
|
|
8
8
|
let uncompressedSize = BigInt(0);
|
|
9
9
|
let compressedSize = BigInt(0);
|
|
10
|
-
let
|
|
10
|
+
let checksum = 0;
|
|
11
11
|
await writer.write(getLocalFileHeader(entryOptions));
|
|
12
12
|
if (entryOptions.store) {
|
|
13
13
|
// Store mode: no compression, direct copy
|
|
@@ -18,7 +18,7 @@ export async function writeZipEntry({ writer, reader, entryOptions, startOffset,
|
|
|
18
18
|
const byteLength = BigInt(value.byteLength);
|
|
19
19
|
uncompressedSize += byteLength;
|
|
20
20
|
compressedSize += byteLength;
|
|
21
|
-
|
|
21
|
+
checksum = crc32(value, checksum);
|
|
22
22
|
await writer.write(value);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -34,7 +34,7 @@ export async function writeZipEntry({ writer, reader, entryOptions, startOffset,
|
|
|
34
34
|
if (done)
|
|
35
35
|
break;
|
|
36
36
|
uncompressedSize += BigInt(value.byteLength);
|
|
37
|
-
|
|
37
|
+
checksum = crc32(value, checksum);
|
|
38
38
|
await compressionWriter.write(value);
|
|
39
39
|
}
|
|
40
40
|
await compressionWriter.close();
|
|
@@ -69,7 +69,7 @@ export async function writeZipEntry({ writer, reader, entryOptions, startOffset,
|
|
|
69
69
|
const entryInfo = {
|
|
70
70
|
...entryOptions,
|
|
71
71
|
startOffset,
|
|
72
|
-
crc32:
|
|
72
|
+
crc32: checksum,
|
|
73
73
|
uncompressedSize,
|
|
74
74
|
compressedSize,
|
|
75
75
|
zip64: true,
|
|
@@ -81,7 +81,7 @@ export async function writeZipEntry({ writer, reader, entryOptions, startOffset,
|
|
|
81
81
|
const entryInfo = {
|
|
82
82
|
...entryOptions,
|
|
83
83
|
startOffset: Number(startOffset),
|
|
84
|
-
crc32:
|
|
84
|
+
crc32: checksum,
|
|
85
85
|
uncompressedSize: Number(uncompressedSize),
|
|
86
86
|
compressedSize: Number(compressedSize),
|
|
87
87
|
zip64: false,
|
|
@@ -95,40 +95,33 @@ export function getLocalFileHeader(options) {
|
|
|
95
95
|
const headerSize = LOCAL_FILE_HEADER_SIZE + nameBytes.length;
|
|
96
96
|
const header = new Uint8Array(headerSize);
|
|
97
97
|
const view = new DataView(header.buffer);
|
|
98
|
-
let offset = 0;
|
|
99
|
-
// Local file header signature
|
|
100
|
-
view.setUint32(offset, LOCAL_FILE_HEADER_SIGNATURE);
|
|
101
|
-
offset += 4;
|
|
102
|
-
// Version needed to extract
|
|
103
|
-
view.setUint16(offset, VERSION_NEEDED_STANDARD);
|
|
104
|
-
offset += 2;
|
|
105
|
-
// General purpose bit flag
|
|
106
|
-
view.setUint16(offset, GENERAL_PURPOSE_FLAGS);
|
|
107
|
-
offset += 2;
|
|
108
|
-
// Compression method
|
|
109
|
-
view.setUint16(offset, options.store ? COMPRESSION_METHOD_STORE : COMPRESSION_METHOD_DEFLATE, true);
|
|
110
|
-
offset += 2;
|
|
111
|
-
// Last mod file time & date (MS-DOS format)
|
|
112
98
|
const date = options.date || new Date();
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
offset
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
99
|
+
const compressionMethod = options.store
|
|
100
|
+
? COMPRESSION_METHOD_STORE
|
|
101
|
+
: COMPRESSION_METHOD_DEFLATE;
|
|
102
|
+
let offset = writeDataView(view, [
|
|
103
|
+
// Local file header signature
|
|
104
|
+
[UINT32, LOCAL_FILE_HEADER_SIGNATURE, BIG_ENDIAN],
|
|
105
|
+
// Version needed to extract
|
|
106
|
+
[UINT16, VERSION_NEEDED_STANDARD, LITTLE_ENDIAN],
|
|
107
|
+
// General purpose bit flag
|
|
108
|
+
[UINT16, GENERAL_PURPOSE_FLAGS, LITTLE_ENDIAN],
|
|
109
|
+
// Compression method
|
|
110
|
+
[UINT16, compressionMethod, LITTLE_ENDIAN],
|
|
111
|
+
// Last mod file time & date (MS-DOS format)
|
|
112
|
+
[UINT16, getDosTime(date), LITTLE_ENDIAN],
|
|
113
|
+
[UINT16, getDosDate(date), LITTLE_ENDIAN],
|
|
114
|
+
// CRC-32 (0 when using data descriptor)
|
|
115
|
+
[UINT32, 0, LITTLE_ENDIAN],
|
|
116
|
+
// Compressed size (0 when using data descriptor)
|
|
117
|
+
[UINT32, 0, LITTLE_ENDIAN],
|
|
118
|
+
// Uncompressed size (0 when using data descriptor)
|
|
119
|
+
[UINT32, 0, LITTLE_ENDIAN],
|
|
120
|
+
// File name length
|
|
121
|
+
[UINT16, nameBytes.length, LITTLE_ENDIAN],
|
|
122
|
+
// Extra field length
|
|
123
|
+
[UINT16, 0, LITTLE_ENDIAN],
|
|
124
|
+
]);
|
|
132
125
|
// File name
|
|
133
126
|
header.set(nameBytes, offset);
|
|
134
127
|
return header;
|
|
@@ -136,37 +129,31 @@ export function getLocalFileHeader(options) {
|
|
|
136
129
|
export function getDataDescriptorStandard(entryInfo) {
|
|
137
130
|
const descriptor = new Uint8Array(DATA_DESCRIPTOR_SIZE);
|
|
138
131
|
const view = new DataView(descriptor.buffer);
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
// Uncompressed size (4 bytes)
|
|
150
|
-
view.setUint32(offset, entryInfo.uncompressedSize, true);
|
|
151
|
-
offset += 4;
|
|
132
|
+
writeDataView(view, [
|
|
133
|
+
// Data descriptor signature
|
|
134
|
+
[UINT32, DATA_DESCRIPTOR_SIGNATURE, BIG_ENDIAN],
|
|
135
|
+
// CRC-32 (4 bytes)
|
|
136
|
+
[UINT32, entryInfo.crc32, LITTLE_ENDIAN],
|
|
137
|
+
// Compressed size (4 bytes)
|
|
138
|
+
[UINT32, entryInfo.compressedSize, LITTLE_ENDIAN],
|
|
139
|
+
// Uncompressed size (4 bytes)
|
|
140
|
+
[UINT32, entryInfo.uncompressedSize, LITTLE_ENDIAN],
|
|
141
|
+
]);
|
|
152
142
|
return descriptor;
|
|
153
143
|
}
|
|
154
144
|
export function getDataDescriptorZip64(entryInfo) {
|
|
155
145
|
const descriptor = new Uint8Array(DATA_DESCRIPTOR_SIZE_ZIP64);
|
|
156
146
|
const view = new DataView(descriptor.buffer);
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
// Uncompressed size (8 bytes for ZIP64)
|
|
168
|
-
view.setBigUint64(offset, entryInfo.uncompressedSize, true);
|
|
169
|
-
offset += 8;
|
|
147
|
+
writeDataView(view, [
|
|
148
|
+
// Data descriptor signature
|
|
149
|
+
[UINT32, DATA_DESCRIPTOR_SIGNATURE, BIG_ENDIAN],
|
|
150
|
+
// CRC-32 (4 bytes)
|
|
151
|
+
[UINT32, entryInfo.crc32, LITTLE_ENDIAN],
|
|
152
|
+
// Compressed size (8 bytes)
|
|
153
|
+
[UINT64, entryInfo.compressedSize, LITTLE_ENDIAN],
|
|
154
|
+
// Uncompressed size (8 bytes)
|
|
155
|
+
[UINT64, entryInfo.uncompressedSize, LITTLE_ENDIAN],
|
|
156
|
+
]);
|
|
170
157
|
return descriptor;
|
|
171
158
|
}
|
|
172
159
|
//# sourceMappingURL=write-entry.js.map
|
package/dist/write-entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-entry.js","sourceRoot":"","sources":["../src/write-entry.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,WAAW,EACX,oBAAoB,EACpB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"write-entry.js","sourceRoot":"","sources":["../src/write-entry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zip-writer",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"exports": {
|
|
5
5
|
".": {
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
},
|
|
10
10
|
"imports": {
|
|
11
11
|
"#crc32": {
|
|
12
|
-
"browser": "./
|
|
13
|
-
"default": "./
|
|
12
|
+
"browser": "./dist/crc-browser.js",
|
|
13
|
+
"default": "./dist/crc-node.js"
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|