UNPKG

@syncfusion/ej2-pdf

Version:

Feature-rich JavaScript PDF library with built-in support for loading and manipulating PDF document.

62 lines (61 loc) 2.2 kB
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 __()); }; })(); import { _PdfDecodeStream } from './decode-stream'; /** * Decrypting stream that reads encrypted data from an underlying stream and * exposes the decrypted bytes. * * @private */ var _PdfDecryptStream = /** @class */ (function (_super) { __extends(_PdfDecryptStream, _super); function _PdfDecryptStream(stream, maybeLength, cipher) { var _this = _super.call(this, maybeLength) || this; /** * Size of chunks read and decrypted from the underlying stream. * * @private */ _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; }(_PdfDecodeStream)); export { _PdfDecryptStream };