igir
Version:
🕹 A zero-setup ROM collection manager that sorts, filters, extracts or archives, patches, and reports on collections of any size on any OS.
44 lines (43 loc) • 1.59 kB
JavaScript
var fileRecordUtil_default = {
parseExtraFields: (buffer) => {
if (buffer.length === 0) {
return /* @__PURE__ */ new Map();
}
const extraFields = /* @__PURE__ */ new Map();
let position = 0;
while (position < buffer.length - 3) {
const headerId = buffer.readUInt16LE(position);
const dataSize = buffer.readUInt16LE(position + 2);
extraFields.set(headerId, buffer.subarray(position + 4, position + 4 + dataSize));
position += 4 + dataSize;
}
return extraFields;
},
parseZip64ExtendedInformation: (buffer, originalUncompressedSize, originalCompressedSize, originalLocalFileHeaderRelativeOffset, originalFileDiskStart) => {
if (buffer === void 0 || buffer.length === 0) {
return void 0;
}
const extendedInformation = {};
let position = 0;
if (originalUncompressedSize === 4294967295) {
extendedInformation.uncompressedSize = Number(buffer.readBigUInt64LE(position));
position += 8;
}
if (originalCompressedSize === 4294967295) {
extendedInformation.compressedSize = Number(buffer.readBigUInt64LE(position));
position += 8;
}
if (originalLocalFileHeaderRelativeOffset === 4294967295) {
extendedInformation.localFileHeaderRelativeOffset = Number(buffer.readBigUInt64LE(position));
position += 8;
}
if (originalFileDiskStart === 65535) {
extendedInformation.fileDiskStart = buffer.readUInt32LE(position);
}
return extendedInformation;
}
};
export {
fileRecordUtil_default as default
};
//# sourceMappingURL=fileRecordUtil.js.map