Merge pull request #15510 from Snuffleupagus/compatibility-loading

Change how `src/shared/compatibility.js` is imported
This commit is contained in:
Jonas Jenwald 2022-10-01 13:47:44 +02:00 committed by GitHub
commit a93c01ae6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 71 additions and 71 deletions

View File

@ -16,15 +16,8 @@
import { isNodeJS } from "./is_node.js";
// Skip compatibility checks for modern builds and if we already ran the module.
if (
(typeof PDFJSDev === "undefined" || !PDFJSDev.test("SKIP_BABEL")) &&
!globalThis._pdfjsCompatibilityChecked
) {
globalThis._pdfjsCompatibilityChecked = true;
// Support: Node.js<16.0.0
(function checkNodeBtoa() {
// Support: Node.js<16.0.0
(function checkNodeBtoa() {
if (globalThis.btoa || !isNodeJS) {
return;
}
@ -32,10 +25,10 @@ if (
// eslint-disable-next-line no-undef
return Buffer.from(chars, "binary").toString("base64");
};
})();
})();
// Support: Node.js<16.0.0
(function checkNodeAtob() {
// Support: Node.js<16.0.0
(function checkNodeAtob() {
if (globalThis.atob || !isNodeJS) {
return;
}
@ -43,44 +36,44 @@ if (
// eslint-disable-next-line no-undef
return Buffer.from(input, "base64").toString("binary");
};
})();
})();
// Support: Node.js
(function checkDOMMatrix() {
// Support: Node.js
(function checkDOMMatrix() {
if (globalThis.DOMMatrix || !isNodeJS) {
return;
}
globalThis.DOMMatrix = __non_webpack_require__("canvas").DOMMatrix;
})();
})();
// Support: Node.js
(function checkReadableStream() {
// Support: Node.js
(function checkReadableStream() {
if (globalThis.ReadableStream || !isNodeJS) {
return;
}
globalThis.ReadableStream = __non_webpack_require__(
"web-streams-polyfill/dist/ponyfill.js"
).ReadableStream;
})();
})();
// Support: Firefox<90, Chrome<92, Safari<15.4, Node.js<16.6.0
(function checkArrayAt() {
// Support: Firefox<90, Chrome<92, Safari<15.4, Node.js<16.6.0
(function checkArrayAt() {
if (Array.prototype.at) {
return;
}
require("core-js/es/array/at.js");
})();
})();
// Support: Firefox<90, Chrome<92, Safari<15.4, Node.js<16.6.0
(function checkTypedArrayAt() {
// Support: Firefox<90, Chrome<92, Safari<15.4, Node.js<16.6.0
(function checkTypedArrayAt() {
if (Uint8Array.prototype.at) {
return;
}
require("core-js/es/typed-array/at.js");
})();
})();
// Support: Firefox<94, Chrome<98, Safari<15.4, Node.js<17.0.0
(function checkStructuredClone() {
// Support: Firefox<94, Chrome<98, Safari<15.4, Node.js<17.0.0
(function checkStructuredClone() {
if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("IMAGE_DECODERS")) {
// The current image decoders are synchronous, hence `structuredClone`
// shouldn't need to be polyfilled for the IMAGE_DECODERS build target.
@ -90,5 +83,4 @@ if (
return;
}
require("core-js/web/structured-clone.js");
})();
}
})();

View File

@ -13,7 +13,15 @@
* limitations under the License.
*/
import "./compatibility.js";
// Skip compatibility checks for modern builds and if we already ran the module.
if (
typeof PDFJSDev !== "undefined" &&
!PDFJSDev.test("SKIP_BABEL") &&
!globalThis._pdfjsCompatibilityChecked
) {
globalThis._pdfjsCompatibilityChecked = true;
require("./compatibility.js");
}
const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];