Use private fields in the PDFDataRangeTransport class
This commit is contained in:
parent
f72f240699
commit
99b23ea1f6
@ -722,6 +722,16 @@ class PDFDocumentLoadingTask {
|
|||||||
* main-thread memory usage, however it will take ownership of the TypedArrays.
|
* main-thread memory usage, however it will take ownership of the TypedArrays.
|
||||||
*/
|
*/
|
||||||
class PDFDataRangeTransport {
|
class PDFDataRangeTransport {
|
||||||
|
#capability = Promise.withResolvers();
|
||||||
|
|
||||||
|
#progressiveDoneListeners = [];
|
||||||
|
|
||||||
|
#progressiveReadListeners = [];
|
||||||
|
|
||||||
|
#progressListeners = [];
|
||||||
|
|
||||||
|
#rangeListeners = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {number} length
|
* @param {number} length
|
||||||
* @param {Uint8Array|null} initialData
|
* @param {Uint8Array|null} initialData
|
||||||
@ -738,40 +748,34 @@ class PDFDataRangeTransport {
|
|||||||
this.initialData = initialData;
|
this.initialData = initialData;
|
||||||
this.progressiveDone = progressiveDone;
|
this.progressiveDone = progressiveDone;
|
||||||
this.contentDispositionFilename = contentDispositionFilename;
|
this.contentDispositionFilename = contentDispositionFilename;
|
||||||
|
|
||||||
this._rangeListeners = [];
|
|
||||||
this._progressListeners = [];
|
|
||||||
this._progressiveReadListeners = [];
|
|
||||||
this._progressiveDoneListeners = [];
|
|
||||||
this._readyCapability = Promise.withResolvers();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {function} listener
|
* @param {function} listener
|
||||||
*/
|
*/
|
||||||
addRangeListener(listener) {
|
addRangeListener(listener) {
|
||||||
this._rangeListeners.push(listener);
|
this.#rangeListeners.push(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {function} listener
|
* @param {function} listener
|
||||||
*/
|
*/
|
||||||
addProgressListener(listener) {
|
addProgressListener(listener) {
|
||||||
this._progressListeners.push(listener);
|
this.#progressListeners.push(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {function} listener
|
* @param {function} listener
|
||||||
*/
|
*/
|
||||||
addProgressiveReadListener(listener) {
|
addProgressiveReadListener(listener) {
|
||||||
this._progressiveReadListeners.push(listener);
|
this.#progressiveReadListeners.push(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {function} listener
|
* @param {function} listener
|
||||||
*/
|
*/
|
||||||
addProgressiveDoneListener(listener) {
|
addProgressiveDoneListener(listener) {
|
||||||
this._progressiveDoneListeners.push(listener);
|
this.#progressiveDoneListeners.push(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -779,7 +783,7 @@ class PDFDataRangeTransport {
|
|||||||
* @param {Uint8Array|null} chunk
|
* @param {Uint8Array|null} chunk
|
||||||
*/
|
*/
|
||||||
onDataRange(begin, chunk) {
|
onDataRange(begin, chunk) {
|
||||||
for (const listener of this._rangeListeners) {
|
for (const listener of this.#rangeListeners) {
|
||||||
listener(begin, chunk);
|
listener(begin, chunk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -789,8 +793,8 @@ class PDFDataRangeTransport {
|
|||||||
* @param {number|undefined} total
|
* @param {number|undefined} total
|
||||||
*/
|
*/
|
||||||
onDataProgress(loaded, total) {
|
onDataProgress(loaded, total) {
|
||||||
this._readyCapability.promise.then(() => {
|
this.#capability.promise.then(() => {
|
||||||
for (const listener of this._progressListeners) {
|
for (const listener of this.#progressListeners) {
|
||||||
listener(loaded, total);
|
listener(loaded, total);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -800,23 +804,23 @@ class PDFDataRangeTransport {
|
|||||||
* @param {Uint8Array|null} chunk
|
* @param {Uint8Array|null} chunk
|
||||||
*/
|
*/
|
||||||
onDataProgressiveRead(chunk) {
|
onDataProgressiveRead(chunk) {
|
||||||
this._readyCapability.promise.then(() => {
|
this.#capability.promise.then(() => {
|
||||||
for (const listener of this._progressiveReadListeners) {
|
for (const listener of this.#progressiveReadListeners) {
|
||||||
listener(chunk);
|
listener(chunk);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
onDataProgressiveDone() {
|
onDataProgressiveDone() {
|
||||||
this._readyCapability.promise.then(() => {
|
this.#capability.promise.then(() => {
|
||||||
for (const listener of this._progressiveDoneListeners) {
|
for (const listener of this.#progressiveDoneListeners) {
|
||||||
listener();
|
listener();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
transportReady() {
|
transportReady() {
|
||||||
this._readyCapability.resolve();
|
this.#capability.resolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user