Fixed Bundle methods calling javascript confusion: Bundle.getAsStream was calling this.getAsBuffer, but this was PKPass instance

This commit is contained in:
Alexander Cerutti
2021-10-18 23:54:24 +02:00
parent 0f72b4dda8
commit 12a6781c14

View File

@@ -113,12 +113,7 @@ export default class Bundle {
public getAsBuffer(): Buffer {
this[freezeSymbol]();
return zip.toBuffer(
Object.entries(this[filesSymbol]).map(([path, data]) => ({
path,
data,
})),
);
return zip.toBuffer(createZipFilesMap(this[filesSymbol]));
}
/**
@@ -130,7 +125,10 @@ export default class Bundle {
*/
public getAsStream(): Stream {
return Readable.from(this.getAsBuffer());
this[freezeSymbol]();
return Readable.from(
zip.toBuffer(createZipFilesMap(this[filesSymbol])),
);
}
/**
@@ -148,3 +146,17 @@ export default class Bundle {
return Object.freeze({ ...this[filesSymbol] });
}
}
/**
* Creates a files map for do-not-zip
*
* @param files
* @returns
*/
function createZipFilesMap(files: { [key: string]: Buffer }) {
return Object.entries(files).map(([path, data]) => ({
path,
data,
}));
}