code: function promisifyReadEntry(ZipFile, Promise) {
  	const readEntry = ZipFile.prototype.readEntry;
  
  	ZipFile.prototype.readEntry = function() {
  		return new Promise((resolve, reject) => {
  			if (getError(this)) return rejectWithStoredError(this, reject);
  			if (!this.isOpen) return reject(new Error('ZipFile is not open'));
  			if (getState(this)) return reject(new Error('Previous operation has not completed yet'));
  
  			setState(this, {action: 'read', resolve, reject});
  			readEntry.call(this);
  		});
  	};
  }
docs: /*
  Promisify ZipFile `readEntry` method