From 1d2c9402f22f763d0fbbeadd4f179dd9f9639b93 Mon Sep 17 00:00:00 2001 From: fantasticit Date: Sun, 8 Jan 2023 13:27:46 +0800 Subject: [PATCH] close #218 add Array.prototype.at polyfill to fix js error in weixin --- packages/client/src/pages/_app.tsx | 1 + packages/client/src/thirtypart/array-prototype-at.js | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 packages/client/src/thirtypart/array-prototype-at.js diff --git a/packages/client/src/pages/_app.tsx b/packages/client/src/pages/_app.tsx index e546ca23..440fa1bf 100644 --- a/packages/client/src/pages/_app.tsx +++ b/packages/client/src/pages/_app.tsx @@ -4,6 +4,7 @@ import 'styles/globals.scss'; import 'tiptap/core/styles/index.scss'; import '@react-pdf-viewer/core/lib/styles/index.css'; import '@react-pdf-viewer/default-layout/lib/styles/index.css'; +import 'thirtypart/array-prototype-at'; import { Worker } from '@react-pdf-viewer/core'; import { isMobile } from 'helpers/env'; diff --git a/packages/client/src/thirtypart/array-prototype-at.js b/packages/client/src/thirtypart/array-prototype-at.js new file mode 100644 index 00000000..fca79bcc --- /dev/null +++ b/packages/client/src/thirtypart/array-prototype-at.js @@ -0,0 +1,8 @@ +if (![].at) { + Array.prototype.at = function at(n) { + n = Math.trunc(n) || 0; + if (n < 0) n += this.length; + if (n < 0 || n >= this.length) return undefined; + return this[n]; + }; +}