Add a Modernizr check for v mode regexes

I plan to use v mode regexes to test for emoji sequences, and Michael has advised me that we need to ensure that the "incompatible browser" screen shows if they are not supported.
This commit is contained in:
Robin 2024-07-04 12:35:48 -04:00
parent cd2bd81268
commit e4d138f4d1

View file

@ -56,8 +56,8 @@ function checkBrowserFeatures(): boolean {
return false; return false;
} }
// Custom checks atop Modernizr because it doesn't have ES2018/ES2019 checks // Custom checks atop Modernizr because it doesn't have checks in it for
// in it for some features we depend on. // some features we depend on.
// Modernizr requires rules to be lowercase with no punctuation. // Modernizr requires rules to be lowercase with no punctuation.
// ES2018: http://262.ecma-international.org/9.0/#sec-promise.prototype.finally // ES2018: http://262.ecma-international.org/9.0/#sec-promise.prototype.finally
window.Modernizr.addTest("promiseprototypefinally", () => typeof window.Promise?.prototype?.finally === "function"); window.Modernizr.addTest("promiseprototypefinally", () => typeof window.Promise?.prototype?.finally === "function");
@ -70,6 +70,11 @@ function checkBrowserFeatures(): boolean {
); );
// ES2019: http://262.ecma-international.org/10.0/#sec-object.fromentries // ES2019: http://262.ecma-international.org/10.0/#sec-object.fromentries
window.Modernizr.addTest("objectfromentries", () => typeof window.Object?.fromEntries === "function"); window.Modernizr.addTest("objectfromentries", () => typeof window.Object?.fromEntries === "function");
// ES2024: https://tc39.es/ecma262/2024/#sec-get-regexp.prototype.unicodesets
window.Modernizr.addTest(
"regexpunicodesets",
() => window.RegExp?.prototype && "unicodeSets" in window.RegExp.prototype,
);
const featureList = Object.keys(window.Modernizr) as Array<keyof ModernizrStatic>; const featureList = Object.keys(window.Modernizr) as Array<keyof ModernizrStatic>;