/* istanbul ignore next */
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
define(["require", "exports", "./decode-stream"], function (require, exports, decode_stream_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var _PdfDecryptStream = (function (_super) {
__extends(_PdfDecryptStream, _super);
function _PdfDecryptStream(stream, maybeLength, cipher) {
var _this = _super.call(this, maybeLength) || this;
_this._chunkSize = 512;
_this.stream = stream;
_this.dictionary = stream.dictionary;
_this._cipher = cipher;
_this._nextChunk = null;
_this._initialized = false;
return _this;
}
_PdfDecryptStream.prototype.readBlock = function () {
var chunk;
if (this._initialized) {
chunk = this._nextChunk;
}
else {
chunk = this.stream.getBytes(this._chunkSize);
this._initialized = true;
}
if (!chunk || chunk.length === 0) {
this.eof = true;
return;
}
this._nextChunk = this.stream.getBytes(this._chunkSize);
var hasMoreData = this._nextChunk && this._nextChunk.length > 0;
chunk = this._cipher._decryptBlock(chunk, !hasMoreData);
var n = chunk.length;
var buffer = this.ensureBuffer(this.bufferLength + n);
buffer.set(chunk, this.bufferLength);
this.bufferLength += n;
};
return _PdfDecryptStream;
}(decode_stream_1._PdfDecodeStream));
exports._PdfDecryptStream = _PdfDecryptStream;
});
|