UNPKG

@nwpr/pass-js

Version:

Apple Wallet Pass generating and pushing updates from Node.js

37 lines 1.26 kB
import { promisify } from 'util'; import { EventIterator } from 'event-iterator'; import { ZipFile, fromBuffer as ZipFromBuffer } from 'yauzl'; import { streamToBuffer } from './stream-to-buffer.js'; // Promisifying yauzl Object.defineProperties(ZipFile.prototype, { [Symbol.asyncIterator]: { enumerable: true, writable: false, configurable: false, value() { return new EventIterator(queue => { this.addListener('entry', queue.push); this.addListener('end', queue.stop); this.addListener('error', queue.fail); })[Symbol.asyncIterator](); }, }, openReadStreamAsync: { enumerable: true, writable: false, configurable: false, // eslint-disable-next-line @typescript-eslint/unbound-method value: promisify(ZipFile.prototype.openReadStream), }, getBuffer: { enumerable: true, writable: false, configurable: false, async value(entry) { const stream = await this.openReadStreamAsync(entry); return streamToBuffer(stream); }, }, }); export const unzipBuffer = promisify(ZipFromBuffer); //# sourceMappingURL=yazul-promisified.js.map