Remove unused Intl.Segmenter polyfill (#1789)

zio/stable
dan 2023-11-01 16:52:34 +00:00 committed by GitHub
parent 4bf1719092
commit 9fb20517ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 1 additions and 24 deletions

View File

@ -102,7 +102,6 @@
"expo-system-ui": "~2.4.0", "expo-system-ui": "~2.4.0",
"expo-updates": "~0.18.12", "expo-updates": "~0.18.12",
"fast-text-encoding": "^1.0.6", "fast-text-encoding": "^1.0.6",
"graphemer": "^1.4.0",
"history": "^5.3.0", "history": "^5.3.0",
"js-sha256": "^0.9.0", "js-sha256": "^0.9.0",
"lande": "^1.0.10", "lande": "^1.0.10",

View File

@ -1,5 +1,4 @@
import 'fast-text-encoding' import 'fast-text-encoding'
import Graphemer from 'graphemer'
// @ts-ignore no decl -prf // @ts-ignore no decl -prf
import findLast from 'array.prototype.findlast' import findLast from 'array.prototype.findlast'
export {} export {}
@ -54,18 +53,3 @@ globalThis.atob = (str: string): string => {
} }
return result return result
} }
const splitter = new Graphemer()
globalThis.Intl = globalThis.Intl || {}
// @ts-ignore we're polyfilling -prf
globalThis.Intl.Segmenter =
// @ts-ignore we're polyfilling -prf
globalThis.Intl.Segmenter ||
class Segmenter {
constructor() {}
// NOTE
// this is not a precisely correct polyfill but it's sufficient for our needs
// -prf
segment = splitter.iterateGraphemes
}

View File

@ -9,12 +9,8 @@ window.setImmediate = (cb: () => void) => setTimeout(cb, 0)
// @ts-ignore not on the TS signature due to bad support -prf // @ts-ignore not on the TS signature due to bad support -prf
if (!globalThis.Intl?.Segmenter) { if (!globalThis.Intl?.Segmenter) {
// NOTE loading as a separate script to reduce main bundle size, as this is only needed in FF -prf
const script = document.createElement('script')
script.setAttribute('src', '/static/js/intl-segmenter-polyfill.min.js')
document.head.appendChild(script)
// loading emoji mart data // loading emoji mart data
// TODO: This condition doesn't make sense; emojimart has nothing to do with Intl.
const emojiMartScript = document.createElement('script') const emojiMartScript = document.createElement('script')
emojiMartScript.setAttribute('src', '/static/js/emoji-mart-data.js') emojiMartScript.setAttribute('src', '/static/js/emoji-mart-data.js')
document.head.appendChild(emojiMartScript) document.head.appendChild(emojiMartScript)

File diff suppressed because one or more lines are too long