@poe-platform/safe-bash 0.1.655 → 0.1.657
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/safe-bash/chunks/{xz-U4QDTPZL.js → xz-4V5FXSPG.js} +555 -514
- package/dist/safe-bash/chunks/xz-4V5FXSPG.js.map +7 -0
- package/dist/safe-bash/commands/archive/index.d.ts +1 -1
- package/dist/safe-bash/commands/archive/index.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/internal.d.ts +32 -0
- package/dist/safe-bash/commands/archive/internal.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/internal.js.map +1 -1
- package/dist/safe-bash/commands/archive/unzip/arguments.d.ts +3 -0
- package/dist/safe-bash/commands/archive/unzip/arguments.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/unzip/arguments.js +31 -5
- package/dist/safe-bash/commands/archive/unzip/arguments.js.map +1 -1
- package/dist/safe-bash/commands/archive/unzip/safety.d.ts +4 -0
- package/dist/safe-bash/commands/archive/unzip/safety.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/unzip/safety.js +3 -0
- package/dist/safe-bash/commands/archive/unzip/safety.js.map +1 -1
- package/dist/safe-bash/commands/archive/unzip.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/unzip.js +159 -112
- package/dist/safe-bash/commands/archive/unzip.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts +2 -0
- package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js +3 -0
- package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts +2 -0
- package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/aes-primitives.js +3 -0
- package/dist/safe-bash/commands/archive/zip/aes-primitives.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/aes.d.ts +18 -0
- package/dist/safe-bash/commands/archive/zip/aes.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/aes.js +157 -0
- package/dist/safe-bash/commands/archive/zip/aes.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/crypto.d.ts +16 -0
- package/dist/safe-bash/commands/archive/zip/crypto.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip/crypto.js +85 -0
- package/dist/safe-bash/commands/archive/zip/crypto.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip/grow.d.ts +4 -0
- package/dist/safe-bash/commands/archive/zip/grow.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/grow.js +3 -0
- package/dist/safe-bash/commands/archive/zip/grow.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/help.d.ts +4 -2
- package/dist/safe-bash/commands/archive/zip/help.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip/help.js +98 -3
- package/dist/safe-bash/commands/archive/zip/help.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip/line-endings.d.ts +1 -0
- package/dist/safe-bash/commands/archive/zip/line-endings.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip/line-endings.js +158 -0
- package/dist/safe-bash/commands/archive/zip/line-endings.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip/log.d.ts +23 -0
- package/dist/safe-bash/commands/archive/zip/log.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/log.js +159 -0
- package/dist/safe-bash/commands/archive/zip/log.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/lzma.d.ts +10 -0
- package/dist/safe-bash/commands/archive/zip/lzma.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/lzma.js +41 -0
- package/dist/safe-bash/commands/archive/zip/lzma.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/names.d.ts +3 -0
- package/dist/safe-bash/commands/archive/zip/names.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/names.js +34 -0
- package/dist/safe-bash/commands/archive/zip/names.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/options.d.ts +7 -0
- package/dist/safe-bash/commands/archive/zip/options.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip/options.js +88 -17
- package/dist/safe-bash/commands/archive/zip/options.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip/repair.d.ts +11 -0
- package/dist/safe-bash/commands/archive/zip/repair.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/repair.js +392 -0
- package/dist/safe-bash/commands/archive/zip/repair.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/safety.d.ts +23 -4
- package/dist/safe-bash/commands/archive/zip/safety.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip/safety.js +73 -23
- package/dist/safe-bash/commands/archive/zip/safety.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip/sfx.d.ts +5 -0
- package/dist/safe-bash/commands/archive/zip/sfx.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/sfx.js +56 -0
- package/dist/safe-bash/commands/archive/zip/sfx.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/test-command.d.ts +6 -0
- package/dist/safe-bash/commands/archive/zip/test-command.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/test-command.js +101 -0
- package/dist/safe-bash/commands/archive/zip/test-command.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/volumes.d.ts +22 -0
- package/dist/safe-bash/commands/archive/zip/volumes.d.ts.map +1 -0
- package/dist/safe-bash/commands/archive/zip/volumes.js +265 -0
- package/dist/safe-bash/commands/archive/zip/volumes.js.map +1 -0
- package/dist/safe-bash/commands/archive/zip/zip64.d.ts +20 -1
- package/dist/safe-bash/commands/archive/zip/zip64.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip/zip64.js +127 -17
- package/dist/safe-bash/commands/archive/zip/zip64.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip-format.d.ts +30 -5
- package/dist/safe-bash/commands/archive/zip-format.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip-format.js +489 -91
- package/dist/safe-bash/commands/archive/zip-format.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip.js +729 -128
- package/dist/safe-bash/commands/archive/zip.js.map +1 -1
- package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts +7 -0
- package/dist/safe-bash/commands/bytes/compression/bounded-codec.d.ts.map +1 -1
- package/dist/safe-bash/commands/bytes/compression/bounded-codec.js.map +1 -1
- package/dist/safe-bash/commands/bytes/compression/codec-loader.d.ts.map +1 -1
- package/dist/safe-bash/commands/bytes/compression/codec-loader.js +8 -1
- package/dist/safe-bash/commands/bytes/compression/codec-loader.js.map +1 -1
- package/dist/safe-bash/commands/bytes/compression/native/generated/xz.mjs +1 -1
- package/dist/safe-bash/commands/bytes/compression/native/sources.json +2 -2
- package/dist/safe-bash/commands/bytes/compression/native/types.d.ts +1 -0
- package/dist/safe-bash/commands/bytes/compression/native/types.d.ts.map +1 -1
- package/dist/safe-bash/commands/text.js +1 -1
- package/dist/safe-bash/commands/text.js.map +1 -1
- package/dist/safe-bash/core.browser.js +3106 -717
- package/dist/safe-bash/core.browser.js.map +4 -4
- package/package.json +11 -3
- package/dist/safe-bash/chunks/xz-U4QDTPZL.js.map +0 -7
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { collectBytes } from "../../../contracts/index.js";
|
|
2
|
+
import { yieldTurn } from "../../../contracts/yield.js";
|
|
3
|
+
import { writeFileOutput } from "../../../contracts/filesystem-output.js";
|
|
4
|
+
import { checkPath, fail, hasIdentity, sameIdentity, vfsPath } from "../internal.js";
|
|
5
|
+
import { ZipFailure } from "./options.js";
|
|
6
|
+
import { stageZip } from "./safety.js";
|
|
7
|
+
import { zip64Directory, zip64Fields } from "./zip64.js";
|
|
8
|
+
export function splitSize(value) {
|
|
9
|
+
if (value === "-")
|
|
10
|
+
return 0;
|
|
11
|
+
let end = 0;
|
|
12
|
+
while (end < value.length && value[end] >= "0" && value[end] <= "9")
|
|
13
|
+
end++;
|
|
14
|
+
const unit = value.slice(end).toLowerCase();
|
|
15
|
+
const factor = { "": 1, k: 1024, m: 1024 ** 2, g: 1024 ** 3, t: 1024 ** 4 }[unit];
|
|
16
|
+
const raw = Number(value.slice(0, end)) * (factor ?? 0);
|
|
17
|
+
const size = raw < 1024 ? raw * 1024 ** 2 : raw;
|
|
18
|
+
if (!end || factor === undefined || !Number.isSafeInteger(size) || size !== 0 && size < 65536)
|
|
19
|
+
throw new ZipFailure(16, "Invalid command arguments", "split size must be zero or at least 64 KB");
|
|
20
|
+
return size;
|
|
21
|
+
}
|
|
22
|
+
export function volumeName(archive, disk, disks) {
|
|
23
|
+
if (!archive.toLowerCase().endsWith(".zip"))
|
|
24
|
+
fail("split output requires a .zip filename");
|
|
25
|
+
return disk === disks - 1 ? archive : `${archive.slice(0, -4)}.z${String(disk + 1).padStart(2, "0")}`;
|
|
26
|
+
}
|
|
27
|
+
export function zipEndOffset(bytes) {
|
|
28
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
29
|
+
let found = -1;
|
|
30
|
+
for (let offset = bytes.length - 22; offset >= Math.max(0, bytes.length - 65557); offset--) {
|
|
31
|
+
if (view.getUint32(offset, true) === 0x06054b50 && offset + 22 + view.getUint16(offset + 20, true) === bytes.length) {
|
|
32
|
+
if (found !== -1)
|
|
33
|
+
fail("ZIP ambiguous end records");
|
|
34
|
+
found = offset;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (found < 0)
|
|
38
|
+
fail("ZIP missing end record");
|
|
39
|
+
return found;
|
|
40
|
+
}
|
|
41
|
+
/** Input disks are supplied by the host, then read solely through the invocation VFS. */
|
|
42
|
+
export async function resolveZipVolumes(scope, archive, final, host) {
|
|
43
|
+
const { fs, signal, cwd } = scope.context;
|
|
44
|
+
const end = zipEndOffset(final);
|
|
45
|
+
const view = new DataView(final.buffer, final.byteOffset, final.byteLength);
|
|
46
|
+
const disk = view.getUint16(end + 4, true);
|
|
47
|
+
const locator = end >= 20 && view.getUint32(end - 20, true) === 0x07064b50;
|
|
48
|
+
const count = locator ? view.getUint32(end - 4, true) : disk + 1;
|
|
49
|
+
if (count === 1 && !disk && !view.getUint16(end + 6, true))
|
|
50
|
+
return { bytes: final, paths: [archive], ...(view.getUint32(0, true) === 0x08074b50 ? { disks: { starts: [0], lengths: [final.length] } } : {}) };
|
|
51
|
+
if (!host?.volume)
|
|
52
|
+
fail("ZIP multi-disk archive requires an explicit VFS volume resolver");
|
|
53
|
+
if (count < 2 || count > scope.limits.maxMembers || disk !== count - 1)
|
|
54
|
+
fail("ZIP invalid volume count");
|
|
55
|
+
const parts = [], starts = [], lengths = [], paths = [];
|
|
56
|
+
const stats = [];
|
|
57
|
+
const finalPath = await scope.operation(() => fs.realpath(archive, { signal }));
|
|
58
|
+
const finalStat = await scope.stat(finalPath);
|
|
59
|
+
let total = 0;
|
|
60
|
+
for (let index = 0; index < count; index++) {
|
|
61
|
+
const name = index === count - 1 ? finalPath : await scope.operation(() => host.volume({ archive, disk: index, disks: count, signal }));
|
|
62
|
+
if (!name)
|
|
63
|
+
fail("ZIP missing input volume");
|
|
64
|
+
checkPath(name, scope.limits);
|
|
65
|
+
const path = await scope.operation(() => fs.realpath(vfsPath(cwd, name), { signal }));
|
|
66
|
+
const stat = index === count - 1 ? finalStat : await scope.stat(path);
|
|
67
|
+
if (!stat || stat.type !== "file" || !hasIdentity(stat) || stat.nlink !== 1)
|
|
68
|
+
fail("ZIP volume requires a regular single-link file with known identity");
|
|
69
|
+
if (index !== count - 1 && path === finalPath || paths.includes(path) || stats.some(other => sameIdentity(stat, other)))
|
|
70
|
+
fail("ZIP repeated or aliased input volume");
|
|
71
|
+
if (!Number.isSafeInteger(stat.size) || stat.size < 1 || stat.size > scope.limits.maxArchiveBytes - total)
|
|
72
|
+
fail("ZIP volume byte limit exceeded");
|
|
73
|
+
const bytes = index === count - 1 ? final : await collectBytes(scope.input(path), { signal, maxBytes: stat.size });
|
|
74
|
+
const after = await scope.stat(path);
|
|
75
|
+
if (bytes.length !== stat.size || !after || !sameIdentity(stat, after) || after.size !== stat.size || after.mtimeMs !== stat.mtimeMs || after.ctimeMs !== stat.ctimeMs)
|
|
76
|
+
fail("ZIP input volume changed while reading");
|
|
77
|
+
starts.push(total);
|
|
78
|
+
lengths.push(bytes.length);
|
|
79
|
+
paths.push(path);
|
|
80
|
+
stats.push(stat);
|
|
81
|
+
total += bytes.length;
|
|
82
|
+
parts.push(bytes);
|
|
83
|
+
}
|
|
84
|
+
// Later resolver callbacks and reads may change an earlier, already-read disk.
|
|
85
|
+
for (let index = 0; index < paths.length; index++) {
|
|
86
|
+
const before = stats[index], after = await scope.stat(paths[index]);
|
|
87
|
+
if (!after || !sameIdentity(before, after) || after.size !== before.size || after.mtimeMs !== before.mtimeMs || after.ctimeMs !== before.ctimeMs)
|
|
88
|
+
fail("ZIP input volume changed while reading");
|
|
89
|
+
}
|
|
90
|
+
const bytes = new Uint8Array(total);
|
|
91
|
+
for (let index = 0; index < parts.length; index++) {
|
|
92
|
+
for (let offset = 0; offset < parts[index].length; offset += scope.limits.chunkSize) {
|
|
93
|
+
signal.throwIfAborted();
|
|
94
|
+
bytes.set(parts[index].subarray(offset, offset + scope.limits.chunkSize), starts[index] + offset);
|
|
95
|
+
await yieldTurn(signal);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return { bytes, disks: { starts, lengths }, paths, volumes: paths.map((path, index) => ({ path, stat: stats[index] })) };
|
|
99
|
+
}
|
|
100
|
+
/** Partition a validated single-disk encoding, preserving record boundaries and ciphertext. */
|
|
101
|
+
export async function splitZipVolumes(input, size, limits, signal) {
|
|
102
|
+
signal.throwIfAborted();
|
|
103
|
+
if (!Number.isSafeInteger(size) || size < 65536)
|
|
104
|
+
fail("ZIP invalid split size");
|
|
105
|
+
if (input.length > limits.maxArchiveBytes - 4)
|
|
106
|
+
fail("ZIP split archive byte limit exceeded");
|
|
107
|
+
const view = new DataView(input.buffer, input.byteOffset, input.byteLength);
|
|
108
|
+
const end = zipEndOffset(input);
|
|
109
|
+
const directory = zip64Directory(view, end, limits);
|
|
110
|
+
const records = [], central = [];
|
|
111
|
+
let offset = directory.centralStart;
|
|
112
|
+
for (let index = 0; index < directory.members; index++) {
|
|
113
|
+
signal.throwIfAborted();
|
|
114
|
+
if (offset + 46 > directory.centralEnd || view.getUint32(offset, true) !== 0x02014b50)
|
|
115
|
+
fail("ZIP invalid central record");
|
|
116
|
+
const name = view.getUint16(offset + 28, true), extra = view.getUint16(offset + 30, true), comment = view.getUint16(offset + 32, true);
|
|
117
|
+
const next = offset + 46 + name + extra + comment;
|
|
118
|
+
if (next > directory.centralEnd)
|
|
119
|
+
fail("ZIP truncated central record");
|
|
120
|
+
let zip64, extraOffset;
|
|
121
|
+
for (let field = offset + 46 + name; field < next - comment;) {
|
|
122
|
+
if (field + 4 > next - comment)
|
|
123
|
+
fail("ZIP truncated extra field");
|
|
124
|
+
const finish = field + 4 + view.getUint16(field + 2, true);
|
|
125
|
+
if (finish > next - comment)
|
|
126
|
+
fail("ZIP truncated extra field");
|
|
127
|
+
if (view.getUint16(field, true) === 1) {
|
|
128
|
+
zip64 = input.subarray(field + 4, finish);
|
|
129
|
+
extraOffset = field + 4;
|
|
130
|
+
}
|
|
131
|
+
field = finish;
|
|
132
|
+
}
|
|
133
|
+
const raw = [view.getUint32(offset + 24, true), view.getUint32(offset + 20, true), view.getUint32(offset + 42, true)];
|
|
134
|
+
const values = zip64Fields(zip64, raw);
|
|
135
|
+
const local = values[2];
|
|
136
|
+
if (local + 30 > directory.centralStart || view.getUint32(local, true) !== 0x04034b50)
|
|
137
|
+
fail("ZIP invalid local record");
|
|
138
|
+
const payload = local + 30 + view.getUint16(local + 26, true) + view.getUint16(local + 28, true);
|
|
139
|
+
records.push({ start: local, end: payload }, { start: offset, end: next });
|
|
140
|
+
if (view.getUint16(local + 6, true) & 8) {
|
|
141
|
+
const descriptor = payload + values[1];
|
|
142
|
+
const wide = view.getUint32(local + 18, true) === 0xffffffff || view.getUint32(local + 22, true) === 0xffffffff;
|
|
143
|
+
records.push({ start: descriptor, end: descriptor + (view.getUint32(descriptor, true) === 0x08074b50 ? 4 : 0) + (wide ? 20 : 12) });
|
|
144
|
+
}
|
|
145
|
+
central.push({ start: offset, local, ...(raw[2] === 0xffffffff && extraOffset !== undefined ? { extraOffset: extraOffset + (raw[0] === 0xffffffff ? 8 : 0) + (raw[1] === 0xffffffff ? 8 : 0) } : {}) });
|
|
146
|
+
offset = next;
|
|
147
|
+
await yieldTurn(signal);
|
|
148
|
+
}
|
|
149
|
+
if (directory.centralEnd !== end)
|
|
150
|
+
records.push({ start: directory.centralEnd, end: end - 20 }, { start: end - 20, end });
|
|
151
|
+
records.push({ start: end, end: input.length });
|
|
152
|
+
records.sort((a, b) => a.start - b.start);
|
|
153
|
+
const starts = [0];
|
|
154
|
+
let source = 0, used = 4;
|
|
155
|
+
for (const record of records) {
|
|
156
|
+
if (record.start < source || record.end > input.length || record.end - record.start > size)
|
|
157
|
+
fail("ZIP record cannot fit in split volume");
|
|
158
|
+
while (record.start - source >= size - used && record.start > source) {
|
|
159
|
+
source += size - used;
|
|
160
|
+
starts.push(source);
|
|
161
|
+
used = 0;
|
|
162
|
+
}
|
|
163
|
+
used += record.start - source;
|
|
164
|
+
source = record.start;
|
|
165
|
+
if (record.end - record.start > size - used) {
|
|
166
|
+
starts.push(source);
|
|
167
|
+
used = 0;
|
|
168
|
+
}
|
|
169
|
+
used += record.end - source;
|
|
170
|
+
source = record.end;
|
|
171
|
+
}
|
|
172
|
+
if (starts.length > limits.maxMembers || starts.length >= 65535)
|
|
173
|
+
fail("ZIP split volume count limit exceeded");
|
|
174
|
+
const parts = starts.map((start, index) => new Uint8Array((starts[index + 1] ?? input.length) - start + (index === 0 ? 4 : 0)));
|
|
175
|
+
new DataView(parts[0].buffer).setUint32(0, 0x08074b50, true);
|
|
176
|
+
for (let index = 0; index < parts.length; index++) {
|
|
177
|
+
const finish = starts[index + 1] ?? input.length;
|
|
178
|
+
for (let pos = starts[index]; pos < finish; pos += limits.chunkSize) {
|
|
179
|
+
signal.throwIfAborted();
|
|
180
|
+
parts[index].set(input.subarray(pos, Math.min(finish, pos + limits.chunkSize)), pos - starts[index] + (index === 0 ? 4 : 0));
|
|
181
|
+
await yieldTurn(signal);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
const location = (position) => {
|
|
185
|
+
let disk = starts.length - 1;
|
|
186
|
+
while (starts[disk] > position)
|
|
187
|
+
disk--;
|
|
188
|
+
return { disk, relative: position - starts[disk] + (disk === 0 ? 4 : 0) };
|
|
189
|
+
};
|
|
190
|
+
for (const record of central) {
|
|
191
|
+
const here = location(record.start), local = location(record.local);
|
|
192
|
+
const header = new DataView(parts[here.disk].buffer);
|
|
193
|
+
header.setUint16(here.relative + 34, local.disk, true);
|
|
194
|
+
if (record.extraOffset === undefined)
|
|
195
|
+
header.setUint32(here.relative + 42, local.relative, true);
|
|
196
|
+
else
|
|
197
|
+
header.setBigUint64(here.relative + record.extraOffset - record.start, BigInt(local.relative), true);
|
|
198
|
+
}
|
|
199
|
+
const last = parts.length - 1, finish = location(end), centralStart = location(directory.centralStart);
|
|
200
|
+
const header = new DataView(parts[last].buffer);
|
|
201
|
+
const onLast = central.filter(record => location(record.start).disk === last).length;
|
|
202
|
+
header.setUint16(finish.relative + 4, last, true);
|
|
203
|
+
header.setUint16(finish.relative + 6, centralStart.disk, true);
|
|
204
|
+
header.setUint16(finish.relative + 8, Math.min(onLast, 65535), true);
|
|
205
|
+
if (view.getUint32(end + 16, true) !== 0xffffffff)
|
|
206
|
+
header.setUint32(finish.relative + 16, centralStart.relative, true);
|
|
207
|
+
if (directory.centralEnd !== end) {
|
|
208
|
+
const wide = location(directory.centralEnd);
|
|
209
|
+
const wideHeader = new DataView(parts[wide.disk].buffer);
|
|
210
|
+
const onWide = central.filter(record => location(record.start).disk === wide.disk).length;
|
|
211
|
+
wideHeader.setUint32(wide.relative + 16, wide.disk, true);
|
|
212
|
+
wideHeader.setUint32(wide.relative + 20, centralStart.disk, true);
|
|
213
|
+
wideHeader.setBigUint64(wide.relative + 24, BigInt(onWide), true);
|
|
214
|
+
wideHeader.setBigUint64(wide.relative + 48, BigInt(centralStart.relative), true);
|
|
215
|
+
const locator = location(end - 20), locatorHeader = new DataView(parts[locator.disk].buffer);
|
|
216
|
+
locatorHeader.setUint32(locator.relative + 4, wide.disk, true);
|
|
217
|
+
locatorHeader.setBigUint64(locator.relative + 8, BigInt(wide.relative), true);
|
|
218
|
+
locatorHeader.setUint32(locator.relative + 16, parts.length, true);
|
|
219
|
+
}
|
|
220
|
+
return parts;
|
|
221
|
+
}
|
|
222
|
+
/** All destinations preflight; all volumes staged before the first per-volume publication. */
|
|
223
|
+
export async function publishZipVolumes(scope, publication, parts, inputPaths, before) {
|
|
224
|
+
const { fs, signal } = scope.context;
|
|
225
|
+
if (!fs.publishStagedFile)
|
|
226
|
+
fail("ZIP split publication requires atomic owned staging");
|
|
227
|
+
const destinations = [];
|
|
228
|
+
const forbidden = new Set(inputPaths);
|
|
229
|
+
const inputStats = await Promise.all(inputPaths.map(path => scope.stat(path)));
|
|
230
|
+
for (let disk = 0; disk < parts.length; disk++) {
|
|
231
|
+
const output = volumeName(publication.output, disk, parts.length);
|
|
232
|
+
checkPath(output, scope.limits);
|
|
233
|
+
if (forbidden.has(output))
|
|
234
|
+
fail("ZIP split output aliases an input volume");
|
|
235
|
+
const existing = await scope.stat(output);
|
|
236
|
+
if (existing && (existing.type !== "file" || !hasIdentity(existing) || existing.nlink !== 1 || inputStats.some(stat => stat && sameIdentity(stat, existing))))
|
|
237
|
+
fail("ZIP split destination is not a safe regular file");
|
|
238
|
+
const capabilities = await scope.operation(() => fs.capabilitiesFor?.(output, { signal, create: true }) ?? fs.capabilities);
|
|
239
|
+
if (capabilities.atomicFileStaging !== true)
|
|
240
|
+
fail("ZIP split publication requires atomic owned staging");
|
|
241
|
+
destinations.push({ ...publication, output, existing, bytes: parts[disk] });
|
|
242
|
+
}
|
|
243
|
+
const staged = [];
|
|
244
|
+
const stage = async (disk) => {
|
|
245
|
+
if (disk < destinations.length) {
|
|
246
|
+
const prepared = destinations[disk];
|
|
247
|
+
await writeFileOutput(scope.context, prepared.bytes, () => stageZip(scope, { ...prepared, stagingPrefix: `zip-volume-${disk + 1}`, reservedPath: prepared.output, parent: prepared.stagingParent ?? prepared.parent, parentStat: prepared.stagingParentStat ?? prepared.parentStat }, async (value) => {
|
|
248
|
+
staged.push(value);
|
|
249
|
+
await before(prepared.output, disk);
|
|
250
|
+
await stage(disk + 1);
|
|
251
|
+
}));
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
if (await scope.operation(() => fs.realpath(publication.parentName, { signal })) !== publication.parent)
|
|
255
|
+
fail("ZIP split parent changed before publication");
|
|
256
|
+
if (publication.stagingName && await scope.operation(() => fs.realpath(publication.stagingName, { signal })) !== publication.stagingParent)
|
|
257
|
+
fail("ZIP split staging parent changed before publication");
|
|
258
|
+
for (let index = 0; index < staged.length; index++) {
|
|
259
|
+
const prepared = destinations[index];
|
|
260
|
+
await scope.operation(() => fs.publishStagedFile(staged[index], prepared.output, { signal, parent: prepared.parentStat, destination: prepared.existing ?? null }));
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
await stage(0);
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=volumes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volumes.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/volumes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
import { type ArchiveLimits } from "../internal.js";
|
|
2
|
-
export
|
|
2
|
+
export interface ZipDisks {
|
|
3
|
+
readonly starts: readonly number[];
|
|
4
|
+
readonly lengths: readonly number[];
|
|
5
|
+
}
|
|
6
|
+
export declare function zipDiskRecord(disks: ZipDisks | undefined, start: number, end: number): void;
|
|
7
|
+
export declare function zipDiskOffset(disks: ZipDisks | undefined, disk: number, offset: number): number;
|
|
8
|
+
export declare function zip64Directory(view: DataView, end: number, limits: ArchiveLimits, disks?: ZipDisks, displacement?: number): {
|
|
3
9
|
members: number;
|
|
4
10
|
centralStart: number;
|
|
5
11
|
centralSize: number;
|
|
6
12
|
centralEnd: number;
|
|
13
|
+
diskMembers: number;
|
|
14
|
+
disk: number;
|
|
15
|
+
zip64Disk: number;
|
|
16
|
+
zip64DiskMembers: number;
|
|
7
17
|
};
|
|
8
18
|
export declare function zip64Fields(data: Uint8Array | undefined, values: readonly number[]): number[];
|
|
9
19
|
export declare function stripZip64(bytes: Uint8Array): Uint8Array;
|
|
10
20
|
export declare function zip64Extra(values: readonly number[], retained: Uint8Array): Uint8Array;
|
|
11
21
|
export declare function writeZip64End(view: DataView, offset: number, count: number, size: number, start: number, recordOffset?: number): number;
|
|
22
|
+
export declare function zip64Member(size: number, compressed: number, offset: number, force?: boolean, allowed?: boolean, forceSizes?: boolean): {
|
|
23
|
+
size: number;
|
|
24
|
+
compressed: number;
|
|
25
|
+
offset: number;
|
|
26
|
+
values: number[];
|
|
27
|
+
wide: boolean;
|
|
28
|
+
};
|
|
29
|
+
export declare function zipEnd(count: number, size: number, start: number, comment: Uint8Array, force?: boolean, allowed?: boolean): Uint8Array;
|
|
30
|
+
export declare function zipDescriptor(checksum: number, compressed: number, size: number, wide: boolean, signed?: boolean): Uint8Array;
|
|
12
31
|
//# sourceMappingURL=zip64.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip64.d.ts","sourceRoot":"","sources":["../../../../src/commands/archive/zip/zip64.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS1D,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa
|
|
1
|
+
{"version":3,"file":"zip64.d.ts","sourceRoot":"","sources":["../../../../src/commands/archive/zip/zip64.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS1D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAK3F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK/F;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,SAAI;;;;;;;;;EA2CpH;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAY7F;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAkBxD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,CAUtF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,SAAS,GAAG,MAAM,CAkBvI;AAMD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ,EAAE,OAAO,UAAO,EAAE,UAAU,UAAQ;;;;;;EAW9H;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,UAAQ,EAAE,OAAO,UAAO,GAAG,UAAU,CAmBjI;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAO,GAAG,UAAU,CAiB1H"}
|
|
@@ -7,33 +7,73 @@ function wide(view, offset) {
|
|
|
7
7
|
fail("ZIP64 unsafe numeric field");
|
|
8
8
|
return Number(value);
|
|
9
9
|
}
|
|
10
|
-
export function
|
|
10
|
+
export function zipDiskRecord(disks, start, end) {
|
|
11
|
+
if (!disks)
|
|
12
|
+
return;
|
|
13
|
+
let disk = disks.starts.length - 1;
|
|
14
|
+
while (disk >= 0 && disks.starts[disk] > start)
|
|
15
|
+
disk--;
|
|
16
|
+
if (disk < 0 || end > disks.starts[disk] + disks.lengths[disk])
|
|
17
|
+
fail("ZIP record straddles volume boundary");
|
|
18
|
+
}
|
|
19
|
+
export function zipDiskOffset(disks, disk, offset) {
|
|
20
|
+
if (!Number.isSafeInteger(disk) || disk < 0 || !Number.isSafeInteger(offset) || offset < 0)
|
|
21
|
+
fail("ZIP invalid disk offset");
|
|
22
|
+
if (!disks) {
|
|
23
|
+
if (disk)
|
|
24
|
+
fail("ZIP multi-disk archive requires a volume resolver");
|
|
25
|
+
return offset;
|
|
26
|
+
}
|
|
27
|
+
if (disk >= disks.starts.length || offset >= disks.lengths[disk])
|
|
28
|
+
fail("ZIP disk offset outside volume");
|
|
29
|
+
return disks.starts[disk] + offset;
|
|
30
|
+
}
|
|
31
|
+
export function zip64Directory(view, end, limits, disks, displacement = 0) {
|
|
32
|
+
zipDiskRecord(disks, end, view.byteLength);
|
|
11
33
|
let members = view.getUint16(end + 10, true);
|
|
12
34
|
let centralSize = view.getUint32(end + 12, true);
|
|
13
35
|
let centralStart = view.getUint32(end + 16, true);
|
|
14
36
|
let centralEnd = end;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
37
|
+
let zip64Disk = -1, zip64DiskMembers = -1;
|
|
38
|
+
let diskMembers = view.getUint16(end + 8, true);
|
|
39
|
+
const disk = view.getUint16(end + 4, true);
|
|
40
|
+
if (!disks && disk)
|
|
41
|
+
fail("ZIP multi-disk archive requires a volume resolver");
|
|
42
|
+
const centralDisk = view.getUint16(end + 6, true);
|
|
43
|
+
if (disks && disk !== disks.starts.length - 1)
|
|
44
|
+
fail("ZIP final disk number mismatch");
|
|
45
|
+
if (centralStart !== 0xffffffff)
|
|
46
|
+
centralStart = zipDiskOffset(disks, centralDisk, centralStart);
|
|
47
|
+
if (centralStart !== 0xffffffff)
|
|
48
|
+
centralStart += displacement;
|
|
18
49
|
const locator = end >= 20 && view.getUint32(end - 20, true) === 0x07064b50;
|
|
19
50
|
if (locator) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
51
|
+
zipDiskRecord(disks, end - 20, end);
|
|
52
|
+
const recordDisk = view.getUint32(end - 16, true);
|
|
53
|
+
if (view.getUint32(end - 4, true) !== (disks?.starts.length ?? 1))
|
|
54
|
+
fail("ZIP64 multi-disk locator count mismatch");
|
|
55
|
+
centralEnd = zipDiskOffset(disks, recordDisk, wide(view, end - 12)) + displacement;
|
|
56
|
+
if (centralEnd > end - 76 || view.getUint32(centralEnd, true) !== 0x06064b50)
|
|
24
57
|
fail("ZIP64 invalid end-record span");
|
|
25
58
|
const length = wide(view, centralEnd + 4);
|
|
26
|
-
if (length < 44 || length - 44 > limits.maxPaxBytes ||
|
|
59
|
+
if (length < 44 || length - 44 > limits.maxPaxBytes || length !== end - 32 - centralEnd)
|
|
27
60
|
fail("ZIP64 invalid end-record length");
|
|
28
|
-
|
|
61
|
+
zipDiskRecord(disks, centralEnd, centralEnd + 12 + length);
|
|
62
|
+
const version = view.getUint16(centralEnd + 14, true);
|
|
63
|
+
if (version < 45 || version > 46)
|
|
29
64
|
fail("ZIP64 unsupported end-record extraction version");
|
|
30
|
-
if (view.getUint32(centralEnd + 16, true) || view.getUint32(centralEnd + 20, true))
|
|
31
|
-
fail("ZIP64
|
|
65
|
+
if (view.getUint32(centralEnd + 16, true) !== recordDisk || view.getUint32(centralEnd + 20, true) !== centralDisk)
|
|
66
|
+
fail("ZIP64 inconsistent disk numbers");
|
|
32
67
|
const count = wide(view, centralEnd + 32);
|
|
33
|
-
|
|
68
|
+
const wideDiskMembers = wide(view, centralEnd + 24);
|
|
69
|
+
if (wideDiskMembers > count || recordDisk === disk && wideDiskMembers !== diskMembers && diskMembers !== 65535 || members !== 65535 && members !== count || !disks && wideDiskMembers !== count)
|
|
34
70
|
fail("ZIP64 inconsistent member count");
|
|
71
|
+
if (recordDisk === disk)
|
|
72
|
+
diskMembers = wideDiskMembers;
|
|
73
|
+
zip64Disk = recordDisk;
|
|
74
|
+
zip64DiskMembers = wideDiskMembers;
|
|
35
75
|
const size = wide(view, centralEnd + 40);
|
|
36
|
-
const start = wide(view, centralEnd + 48);
|
|
76
|
+
const start = zipDiskOffset(disks, centralDisk, wide(view, centralEnd + 48)) + displacement;
|
|
37
77
|
if (centralSize !== 0xffffffff && centralSize !== size || centralStart !== 0xffffffff && centralStart !== start)
|
|
38
78
|
fail("ZIP64 inconsistent central directory");
|
|
39
79
|
members = count;
|
|
@@ -42,13 +82,13 @@ export function zip64Directory(view, end, limits) {
|
|
|
42
82
|
}
|
|
43
83
|
else if (centralSize === 0xffffffff || centralStart === 0xffffffff)
|
|
44
84
|
fail("ZIP64 missing end record and locator");
|
|
45
|
-
else if (diskMembers !== members)
|
|
85
|
+
else if (!disks && diskMembers !== members)
|
|
46
86
|
fail("ZIP inconsistent member count");
|
|
47
87
|
if (members > limits.maxMembers)
|
|
48
88
|
fail("ZIP member limit exceeded");
|
|
49
|
-
if (centralStart > limits.maxArchiveBytes || centralSize > limits.maxArchiveBytes ||
|
|
89
|
+
if (centralStart > limits.maxArchiveBytes || centralSize > limits.maxArchiveBytes || centralSize !== centralEnd - centralStart)
|
|
50
90
|
fail("ZIP invalid central directory span");
|
|
51
|
-
return { members, centralStart, centralSize, centralEnd };
|
|
91
|
+
return { members, centralStart, centralSize, centralEnd, diskMembers, disk, zip64Disk, zip64DiskMembers };
|
|
52
92
|
}
|
|
53
93
|
export function zip64Fields(data, values) {
|
|
54
94
|
let offset = 0;
|
|
@@ -91,6 +131,7 @@ export function stripZip64(bytes) {
|
|
|
91
131
|
return result;
|
|
92
132
|
}
|
|
93
133
|
export function zip64Extra(values, retained) {
|
|
134
|
+
values.forEach(counter);
|
|
94
135
|
if (retained.length + 4 + values.length * 8 > 65535)
|
|
95
136
|
fail("ZIP64 extra field limit exceeded");
|
|
96
137
|
const bytes = new Uint8Array(4 + values.length * 8 + retained.length);
|
|
@@ -102,17 +143,86 @@ export function zip64Extra(values, retained) {
|
|
|
102
143
|
return bytes;
|
|
103
144
|
}
|
|
104
145
|
export function writeZip64End(view, offset, count, size, start, recordOffset = offset) {
|
|
146
|
+
[offset, count, size, start, recordOffset].forEach(counter);
|
|
147
|
+
if (offset > view.byteLength - 76)
|
|
148
|
+
fail("ZIP64 truncated end-record destination");
|
|
105
149
|
view.setUint32(offset, 0x06064b50, true);
|
|
106
150
|
view.setBigUint64(offset + 4, 44n, true);
|
|
107
151
|
view.setUint16(offset + 12, 0x32d, true);
|
|
108
152
|
view.setUint16(offset + 14, 45, true);
|
|
153
|
+
view.setUint32(offset + 16, 0, true);
|
|
154
|
+
view.setUint32(offset + 20, 0, true);
|
|
109
155
|
view.setBigUint64(offset + 24, BigInt(count), true);
|
|
110
156
|
view.setBigUint64(offset + 32, BigInt(count), true);
|
|
111
157
|
view.setBigUint64(offset + 40, BigInt(size), true);
|
|
112
158
|
view.setBigUint64(offset + 48, BigInt(start), true);
|
|
113
159
|
view.setUint32(offset + 56, 0x07064b50, true);
|
|
160
|
+
view.setUint32(offset + 60, 0, true);
|
|
114
161
|
view.setBigUint64(offset + 64, BigInt(recordOffset), true);
|
|
115
162
|
view.setUint32(offset + 72, 1, true);
|
|
116
163
|
return offset + 76;
|
|
117
164
|
}
|
|
165
|
+
function counter(value) {
|
|
166
|
+
if (!Number.isSafeInteger(value) || value < 0)
|
|
167
|
+
fail("ZIP64 unsafe or invalid numeric field");
|
|
168
|
+
}
|
|
169
|
+
export function zip64Member(size, compressed, offset, force = false, allowed = true, forceSizes = false) {
|
|
170
|
+
[size, compressed, offset].forEach(counter);
|
|
171
|
+
const widths = [size, compressed, offset].map((value, index) => force || forceSizes && index < 2 || value >= 0xffffffff);
|
|
172
|
+
if (!allowed && widths.some(Boolean))
|
|
173
|
+
fail("ZIP64 required but disabled");
|
|
174
|
+
return {
|
|
175
|
+
size: widths[0] ? 0xffffffff : size,
|
|
176
|
+
compressed: widths[1] ? 0xffffffff : compressed,
|
|
177
|
+
offset: widths[2] ? 0xffffffff : offset,
|
|
178
|
+
values: [size, compressed, offset].filter((_, index) => widths[index]),
|
|
179
|
+
wide: widths.some(Boolean),
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
export function zipEnd(count, size, start, comment, force = false, allowed = true) {
|
|
183
|
+
[count, size, start].forEach(counter);
|
|
184
|
+
if (size > Number.MAX_SAFE_INTEGER - start)
|
|
185
|
+
fail("ZIP64 unsafe directory sum");
|
|
186
|
+
if (comment.length > 65535)
|
|
187
|
+
fail("ZIP archive comment limit exceeded");
|
|
188
|
+
const wide = force || count >= 65535 || size >= 0xffffffff || start >= 0xffffffff;
|
|
189
|
+
if (wide && !allowed)
|
|
190
|
+
fail("ZIP64 required but disabled");
|
|
191
|
+
const length = (wide ? 76 : 0) + 22 + comment.length;
|
|
192
|
+
if (start + size > Number.MAX_SAFE_INTEGER - length)
|
|
193
|
+
fail("ZIP64 unsafe archive sum");
|
|
194
|
+
const bytes = new Uint8Array(length);
|
|
195
|
+
const view = new DataView(bytes.buffer);
|
|
196
|
+
const end = wide ? writeZip64End(view, 0, count, size, start, start + size) : 0;
|
|
197
|
+
view.setUint32(end, 0x06054b50, true);
|
|
198
|
+
view.setUint16(end + 8, Math.min(count, 65535), true);
|
|
199
|
+
view.setUint16(end + 10, Math.min(count, 65535), true);
|
|
200
|
+
view.setUint32(end + 12, size >= 0xffffffff ? 0xffffffff : size, true);
|
|
201
|
+
view.setUint32(end + 16, start >= 0xffffffff ? 0xffffffff : start, true);
|
|
202
|
+
view.setUint16(end + 20, comment.length, true);
|
|
203
|
+
bytes.set(comment, end + 22);
|
|
204
|
+
return bytes;
|
|
205
|
+
}
|
|
206
|
+
export function zipDescriptor(checksum, compressed, size, wide, signed = true) {
|
|
207
|
+
[checksum, compressed, size].forEach(counter);
|
|
208
|
+
if (checksum > 0xffffffff)
|
|
209
|
+
fail("ZIP invalid descriptor checksum");
|
|
210
|
+
if (!wide && (compressed >= 0xffffffff || size >= 0xffffffff))
|
|
211
|
+
fail("ZIP64 descriptor required");
|
|
212
|
+
const bytes = new Uint8Array((signed ? 4 : 0) + (wide ? 20 : 12));
|
|
213
|
+
const view = new DataView(bytes.buffer);
|
|
214
|
+
const base = signed ? 4 : 0;
|
|
215
|
+
if (signed)
|
|
216
|
+
view.setUint32(0, 0x08074b50, true);
|
|
217
|
+
view.setUint32(base, checksum, true);
|
|
218
|
+
if (wide) {
|
|
219
|
+
view.setBigUint64(base + 4, BigInt(compressed), true);
|
|
220
|
+
view.setBigUint64(base + 12, BigInt(size), true);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
view.setUint32(base + 4, compressed, true);
|
|
224
|
+
view.setUint32(base + 8, size, true);
|
|
225
|
+
}
|
|
226
|
+
return bytes;
|
|
227
|
+
}
|
|
118
228
|
//# sourceMappingURL=zip64.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip64.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/zip64.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zip64.js","sourceRoot":"","sources":["../../../../src/commands/archive/zip/zip64.ts"],"names":[],"mappings":"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"}
|