diff --git a/features/string-at.yml b/features/string-at.yml new file mode 100644 index 00000000000..7e4b81c3ca7 --- /dev/null +++ b/features/string-at.yml @@ -0,0 +1,6 @@ +name: String at() +description: The `at()` method of strings returns the character (one UTF-16 code unit) at an index, including negative indices for getting the character relative to the end of the string. Also known as the relative indexing method. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.at diff --git a/features/string-at.yml.dist b/features/string-at.yml.dist new file mode 100644 index 00000000000..1c512a030a2 --- /dev/null +++ b/features/string-at.yml.dist @@ -0,0 +1,16 @@ +# Generated from: string-at.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: low + baseline_low_date: 2022-03-14 + support: + chrome: "92" + chrome_android: "92" + edge: "92" + firefox: "90" + firefox_android: "90" + safari: "15.4" + safari_ios: "15.4" +compat_features: + - javascript.builtins.String.at diff --git a/features/string-codepoint.yml b/features/string-codepoint.yml new file mode 100644 index 00000000000..77f2b4f70c5 --- /dev/null +++ b/features/string-codepoint.yml @@ -0,0 +1,7 @@ +name: String codePointAt() and fromCodePoint() +description: The `codePointAt()` method returns the numeric value of the UTF-16 code point at an index of the string. The `fromCodePoint()` method returns a string created from one or more code points. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.codePointAt + - javascript.builtins.String.fromCodePoint diff --git a/features/string-codepoint.yml.dist b/features/string-codepoint.yml.dist new file mode 100644 index 00000000000..fa4b88b48e9 --- /dev/null +++ b/features/string-codepoint.yml.dist @@ -0,0 +1,18 @@ +# Generated from: string-codepoint.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-09-30 + baseline_high_date: 2018-03-30 + support: + chrome: "41" + chrome_android: "41" + edge: "12" + firefox: "29" + firefox_android: "29" + safari: "9" + safari_ios: "9" +compat_features: + - javascript.builtins.String.codePointAt + - javascript.builtins.String.fromCodePoint diff --git a/features/string-includes.yml b/features/string-includes.yml new file mode 100644 index 00000000000..cd711aa836a --- /dev/null +++ b/features/string-includes.yml @@ -0,0 +1,7 @@ +name: String includes() +description: The `includes()` method of strings returns whether a search string appears within the string. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +caniuse: es6-string-includes +compat_features: + - javascript.builtins.String.includes diff --git a/features/string-includes.yml.dist b/features/string-includes.yml.dist new file mode 100644 index 00000000000..fd6c02b5d33 --- /dev/null +++ b/features/string-includes.yml.dist @@ -0,0 +1,17 @@ +# Generated from: string-includes.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-09-30 + baseline_high_date: 2018-03-30 + support: + chrome: "41" + chrome_android: "41" + edge: "12" + firefox: "40" + firefox_android: "40" + safari: "9" + safari_ios: "9" +compat_features: + - javascript.builtins.String.includes diff --git a/features/string-matchall.yml b/features/string-matchall.yml new file mode 100644 index 00000000000..aa3f3602343 --- /dev/null +++ b/features/string-matchall.yml @@ -0,0 +1,6 @@ +name: String matchAll() +description: The `matchAll()` method of strings matches a string against a regular expression and returns an iterator of all results, including capturing groups. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.matchAll diff --git a/features/string-matchall.yml.dist b/features/string-matchall.yml.dist new file mode 100644 index 00000000000..4b2a5af16f7 --- /dev/null +++ b/features/string-matchall.yml.dist @@ -0,0 +1,17 @@ +# Generated from: string-matchall.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-01-15 + baseline_high_date: 2022-07-15 + support: + chrome: "73" + chrome_android: "73" + edge: "79" + firefox: "67" + firefox_android: "67" + safari: "13" + safari_ios: "13" +compat_features: + - javascript.builtins.String.matchAll diff --git a/features/string-normalize.yml b/features/string-normalize.yml new file mode 100644 index 00000000000..b4f54fbd724 --- /dev/null +++ b/features/string-normalize.yml @@ -0,0 +1,6 @@ +name: String normalize() +description: The `normalize()` method of strings returns a Unicode normal form of a string as a new string. More than one code point sequence can represent the same characters. You can use the `normalize()` method to find canonically or compatibly equivalent strings. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.normalize diff --git a/features/string-normalize.yml.dist b/features/string-normalize.yml.dist new file mode 100644 index 00000000000..ad362de32bb --- /dev/null +++ b/features/string-normalize.yml.dist @@ -0,0 +1,17 @@ +# Generated from: string-normalize.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2016-09-20 + baseline_high_date: 2019-03-20 + support: + chrome: "34" + chrome_android: "34" + edge: "12" + firefox: "31" + firefox_android: "31" + safari: "10" + safari_ios: "10" +compat_features: + - javascript.builtins.String.normalize diff --git a/features/string-pad.yml b/features/string-pad.yml new file mode 100644 index 00000000000..aab853263e7 --- /dev/null +++ b/features/string-pad.yml @@ -0,0 +1,8 @@ +name: String padStart() and padEnd() +description: The `padStart()` and `padEnd()` methods of strings return a string lengthened to a minimum number of characters by adding characters to the start or end of the string. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +caniuse: pad-start-end +compat_features: + - javascript.builtins.String.padEnd + - javascript.builtins.String.padStart diff --git a/features/string-pad.yml.dist b/features/string-pad.yml.dist new file mode 100644 index 00000000000..5e2a61e41ed --- /dev/null +++ b/features/string-pad.yml.dist @@ -0,0 +1,18 @@ +# Generated from: string-pad.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2017-04-05 + baseline_high_date: 2019-10-05 + support: + chrome: "57" + chrome_android: "57" + edge: "15" + firefox: "48" + firefox_android: "48" + safari: "10" + safari_ios: "10" +compat_features: + - javascript.builtins.String.padEnd + - javascript.builtins.String.padStart diff --git a/features/string-raw.yml b/features/string-raw.yml new file mode 100644 index 00000000000..4d7b3d887a4 --- /dev/null +++ b/features/string-raw.yml @@ -0,0 +1,6 @@ +name: String raw() +description: The `String.raw()` static method interpolates template literal substitutions, but ignores escape sequences. It is the tag function for template literals. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.raw diff --git a/features/string-raw.yml.dist b/features/string-raw.yml.dist new file mode 100644 index 00000000000..9e52b1a7e25 --- /dev/null +++ b/features/string-raw.yml.dist @@ -0,0 +1,17 @@ +# Generated from: string-raw.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-09-30 + baseline_high_date: 2018-03-30 + support: + chrome: "41" + chrome_android: "41" + edge: "12" + firefox: "34" + firefox_android: "34" + safari: "9" + safari_ios: "9" +compat_features: + - javascript.builtins.String.raw diff --git a/features/string-repeat.yml b/features/string-repeat.yml new file mode 100644 index 00000000000..6b24e4c9e04 --- /dev/null +++ b/features/string-repeat.yml @@ -0,0 +1,6 @@ +name: String repeat() +description: The `repeat()` method of strings returns the original string repeated a number of times. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.repeat diff --git a/features/string-repeat.yml.dist b/features/string-repeat.yml.dist new file mode 100644 index 00000000000..3f4e34894dd --- /dev/null +++ b/features/string-repeat.yml.dist @@ -0,0 +1,17 @@ +# Generated from: string-repeat.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-09-30 + baseline_high_date: 2018-03-30 + support: + chrome: "41" + chrome_android: "36" + edge: "12" + firefox: "24" + firefox_android: "24" + safari: "9" + safari_ios: "9" +compat_features: + - javascript.builtins.String.repeat diff --git a/features/string-replaceall.yml b/features/string-replaceall.yml new file mode 100644 index 00000000000..7e885f097b2 --- /dev/null +++ b/features/string-replaceall.yml @@ -0,0 +1,6 @@ +name: String replaceAll() +description: The `replaceAll()` method of strings returns a new string where all matches of a pattern (a string or regular expression) have been substituted with a replacement string. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.replaceAll diff --git a/features/string-replaceall.yml.dist b/features/string-replaceall.yml.dist new file mode 100644 index 00000000000..e1db094c39a --- /dev/null +++ b/features/string-replaceall.yml.dist @@ -0,0 +1,17 @@ +# Generated from: string-replaceall.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-08-27 + baseline_high_date: 2023-02-27 + support: + chrome: "85" + chrome_android: "85" + edge: "85" + firefox: "77" + firefox_android: "79" + safari: "13.1" + safari_ios: "13.4" +compat_features: + - javascript.builtins.String.replaceAll diff --git a/features/string-startsends-with.yml b/features/string-startsends-with.yml new file mode 100644 index 00000000000..45e23755a4c --- /dev/null +++ b/features/string-startsends-with.yml @@ -0,0 +1,7 @@ +name: String startsWith() and endsWith() +description: The `startsWith()` and `endsWith()` methods of strings returns whether a search string appears at the beginning or end of the provided string. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.endsWith + - javascript.builtins.String.startsWith diff --git a/features/string-startsends-with.yml.dist b/features/string-startsends-with.yml.dist new file mode 100644 index 00000000000..cb769232add --- /dev/null +++ b/features/string-startsends-with.yml.dist @@ -0,0 +1,18 @@ +# Generated from: string-startsends-with.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-09-30 + baseline_high_date: 2018-03-30 + support: + chrome: "41" + chrome_android: "36" + edge: "12" + firefox: "17" + firefox_android: "17" + safari: "9" + safari_ios: "9" +compat_features: + - javascript.builtins.String.endsWith + - javascript.builtins.String.startsWith diff --git a/features/string-trim-startend.yml b/features/string-trim-startend.yml new file mode 100644 index 00000000000..f24a6a9d2bd --- /dev/null +++ b/features/string-trim-startend.yml @@ -0,0 +1,7 @@ +name: String trimStart() and trimEnd() +description: The `trimStart()` and `trimEnd()` methods of strings return a new string with whitespace removed from the beginning or end of the string. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.trimEnd + - javascript.builtins.String.trimStart diff --git a/features/string-trim-startend.yml.dist b/features/string-trim-startend.yml.dist new file mode 100644 index 00000000000..b4fdc167ee8 --- /dev/null +++ b/features/string-trim-startend.yml.dist @@ -0,0 +1,18 @@ +# Generated from: string-trim-startend.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-01-15 + baseline_high_date: 2022-07-15 + support: + chrome: "66" + chrome_android: "66" + edge: "79" + firefox: "61" + firefox_android: "61" + safari: "12" + safari_ios: "12" +compat_features: + - javascript.builtins.String.trimEnd + - javascript.builtins.String.trimStart diff --git a/features/string-wellformed.yml b/features/string-wellformed.yml new file mode 100644 index 00000000000..2468d836520 --- /dev/null +++ b/features/string-wellformed.yml @@ -0,0 +1,7 @@ +name: String isWellFormed() and toWellFormed() +description: The `isWellFormed()` method of strings returns a boolean indicating if the string contains any Unicode lone surrogates. The `toWellFormed()` method returns a new string where all lone surrogates are replaced by the Unicode replacement character. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: string +compat_features: + - javascript.builtins.String.isWellFormed + - javascript.builtins.String.toWellFormed diff --git a/features/string-wellformed.yml.dist b/features/string-wellformed.yml.dist new file mode 100644 index 00000000000..eb0f30f87ca --- /dev/null +++ b/features/string-wellformed.yml.dist @@ -0,0 +1,17 @@ +# Generated from: string-wellformed.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: low + baseline_low_date: 2023-10-24 + support: + chrome: "111" + chrome_android: "111" + edge: "111" + firefox: "119" + firefox_android: "119" + safari: "16.4" + safari_ios: "16.4" +compat_features: + - javascript.builtins.String.isWellFormed + - javascript.builtins.String.toWellFormed diff --git a/features/strings.yml b/features/strings.yml new file mode 100644 index 00000000000..ce876e3eb4b --- /dev/null +++ b/features/strings.yml @@ -0,0 +1,30 @@ +name: String (initial support) +description: The string type (and `String` object) represents a sequence of characters. +spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-string-objects +group: primitive-types +status: + compute_from: javascript.builtins.String +compat_features: + - javascript.builtins.String + - javascript.builtins.String.String + - javascript.builtins.String.charAt + - javascript.builtins.String.charCodeAt + - javascript.builtins.String.concat + - javascript.builtins.String.fromCharCode + - javascript.builtins.String.indexOf + - javascript.builtins.String.lastIndexOf + - javascript.builtins.String.length + - javascript.builtins.String.match + - javascript.builtins.String.replace + - javascript.builtins.String.search + - javascript.builtins.String.slice + - javascript.builtins.String.split + - javascript.builtins.String.substring + - javascript.builtins.String.toLowerCase + - javascript.builtins.String.toString + - javascript.builtins.String.toUpperCase + - javascript.builtins.String.trim + - javascript.builtins.String.unicode_code_point_escapes + - javascript.builtins.String.valueOf + - javascript.builtins.String.@@iterator + - javascript.grammar.string_literals diff --git a/features/strings.yml.dist b/features/strings.yml.dist new file mode 100644 index 00000000000..83f32c26470 --- /dev/null +++ b/features/strings.yml.dist @@ -0,0 +1,87 @@ +# Generated from: strings.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "1" + chrome_android: "18" + edge: "12" + firefox: "1" + firefox_android: "4" + safari: "1" + safari_ios: "1" +compat_features: + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - javascript.builtins.String + - javascript.builtins.String.String + - javascript.builtins.String.charAt + - javascript.builtins.String.charCodeAt + - javascript.builtins.String.concat + - javascript.builtins.String.fromCharCode + - javascript.builtins.String.indexOf + - javascript.builtins.String.lastIndexOf + - javascript.builtins.String.length + - javascript.builtins.String.match + - javascript.builtins.String.replace + - javascript.builtins.String.search + - javascript.builtins.String.slice + - javascript.builtins.String.split + - javascript.builtins.String.substring + - javascript.builtins.String.toLowerCase + - javascript.builtins.String.toString + - javascript.builtins.String.toUpperCase + - javascript.builtins.String.valueOf + - javascript.grammar.string_literals + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "4" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "5" + # safari_ios: "5" + - javascript.builtins.String.trim + + # baseline: high + # baseline_low_date: 2015-08-11 + # baseline_high_date: 2018-02-11 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "40" + # firefox_android: "40" + # safari: "1" + # safari_ios: "1" + - javascript.builtins.String.unicode_code_point_escapes + + # baseline: high + # baseline_low_date: 2015-09-30 + # baseline_high_date: 2018-03-30 + # support: + # chrome: "38" + # chrome_android: "38" + # edge: "12" + # firefox: "36" + # firefox_android: "36" + # safari: "9" + # safari_ios: "9" + - javascript.builtins.String.@@iterator diff --git a/groups/string.yml b/groups/string.yml new file mode 100644 index 00000000000..4c39c0dd6aa --- /dev/null +++ b/groups/string.yml @@ -0,0 +1,2 @@ +name: Strings +parent: primitive-types