diff --git a/features/object-object.yml b/features/object-object.yml new file mode 100644 index 00000000000..120c5e5d807 --- /dev/null +++ b/features/object-object.yml @@ -0,0 +1,44 @@ +name: Object +description: Objects in JavaScript are collections of key-value pairs. +spec: https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object-objects +status: + compute_from: javascript.builtins.Object +compat_features: + - javascript.builtins.Object + - javascript.builtins.Object.Object + - javascript.builtins.Object.assign + - javascript.builtins.Object.constructor + - javascript.builtins.Object.create + - javascript.builtins.Object.defineProperties + - javascript.builtins.Object.defineProperty + - javascript.builtins.Object.entries + - javascript.builtins.Object.freeze + - javascript.builtins.Object.fromEntries + - javascript.builtins.Object.getOwnPropertyDescriptor + - javascript.builtins.Object.getOwnPropertyDescriptors + - javascript.builtins.Object.getOwnPropertyNames + - javascript.builtins.Object.getOwnPropertySymbols + - javascript.builtins.Object.getPrototypeOf + - javascript.builtins.Object.hasOwn + - javascript.builtins.Object.hasOwnProperty + - javascript.builtins.Object.is + - javascript.builtins.Object.isExtensible + - javascript.builtins.Object.isFrozen + - javascript.builtins.Object.isPrototypeOf + - javascript.builtins.Object.isSealed + - javascript.builtins.Object.keys + - javascript.builtins.Object.preventExtensions + - javascript.builtins.Object.preventExtensions.ES2015_behavior + - javascript.builtins.Object.propertyIsEnumerable + - javascript.builtins.Object.seal + - javascript.builtins.Object.setPrototypeOf + - javascript.builtins.Object.toString + - javascript.builtins.Object.valueOf + - javascript.builtins.Object.values + - javascript.operators.object_initializer + - javascript.operators.object_initializer.computed_property_names + - javascript.operators.object_initializer.shorthand_method_names + - javascript.operators.object_initializer.shorthand_property_names + - javascript.operators.object_initializer.spread_properties + - javascript.operators.optional_chaining + - javascript.grammar.shorthand_object_literals diff --git a/features/object-object.yml.dist b/features/object-object.yml.dist new file mode 100644 index 00000000000..36d93354c7a --- /dev/null +++ b/features/object-object.yml.dist @@ -0,0 +1,306 @@ +# Generated from: object-object.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.Object + - javascript.builtins.Object.Object + - javascript.builtins.Object.constructor + - javascript.builtins.Object.toString + - javascript.builtins.Object.valueOf + - javascript.operators.object_initializer + + # 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: "3" + # safari_ios: "1" + - javascript.builtins.Object.hasOwnProperty + - javascript.builtins.Object.isPrototypeOf + - javascript.builtins.Object.propertyIsEnumerable + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "5" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "5" + # safari_ios: "5" + - javascript.builtins.Object.getPrototypeOf + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "5" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "5" + # safari_ios: "5" + - javascript.builtins.Object.create + - javascript.builtins.Object.defineProperties + - javascript.builtins.Object.getOwnPropertyDescriptor + - javascript.builtins.Object.getOwnPropertyNames + - javascript.builtins.Object.keys + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "5" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "6" + - javascript.builtins.Object.defineProperty + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "6" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - javascript.builtins.Object.freeze + - javascript.builtins.Object.isExtensible + - javascript.builtins.Object.isFrozen + - javascript.builtins.Object.isSealed + - javascript.builtins.Object.preventExtensions + - javascript.builtins.Object.seal + + # baseline: high + # baseline_low_date: 2015-09-30 + # baseline_high_date: 2018-03-30 + # support: + # chrome: "19" + # chrome_android: "25" + # edge: "12" + # firefox: "22" + # firefox_android: "22" + # safari: "9" + # safari_ios: "9" + - javascript.builtins.Object.is + + # baseline: high + # baseline_low_date: 2015-09-30 + # baseline_high_date: 2018-03-30 + # support: + # chrome: "34" + # chrome_android: "34" + # edge: "12" + # firefox: "31" + # firefox_android: "31" + # safari: "9" + # safari_ios: "9" + - javascript.builtins.Object.setPrototypeOf + + # 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.Object.getOwnPropertySymbols + + # baseline: high + # baseline_low_date: 2015-09-30 + # baseline_high_date: 2018-03-30 + # support: + # chrome: "43" + # chrome_android: "43" + # edge: "12" + # firefox: "33" + # firefox_android: "33" + # safari: "9" + # safari_ios: "9" + - javascript.grammar.shorthand_object_literals + + # baseline: high + # baseline_low_date: 2015-09-30 + # baseline_high_date: 2018-03-30 + # support: + # chrome: "44" + # chrome_android: "44" + # edge: "12" + # firefox: "35" + # firefox_android: "35" + # safari: "9" + # safari_ios: "9" + - javascript.builtins.Object.preventExtensions.ES2015_behavior + + # baseline: high + # baseline_low_date: 2015-09-30 + # baseline_high_date: 2018-03-30 + # support: + # chrome: "45" + # chrome_android: "45" + # edge: "12" + # firefox: "34" + # firefox_android: "34" + # safari: "9" + # safari_ios: "9" + - javascript.builtins.Object.assign + + # baseline: high + # baseline_low_date: 2015-12-02 + # baseline_high_date: 2018-06-02 + # support: + # chrome: "47" + # chrome_android: "47" + # edge: "12" + # firefox: "33" + # firefox_android: "33" + # safari: "9" + # safari_ios: "9" + - javascript.operators.object_initializer.shorthand_property_names + + # baseline: high + # baseline_low_date: 2015-12-02 + # baseline_high_date: 2018-06-02 + # support: + # chrome: "47" + # chrome_android: "47" + # edge: "12" + # firefox: "34" + # firefox_android: "34" + # safari: "8" + # safari_ios: "8" + - javascript.operators.object_initializer.computed_property_names + + # baseline: high + # baseline_low_date: 2015-12-02 + # baseline_high_date: 2018-06-02 + # support: + # chrome: "47" + # chrome_android: "47" + # edge: "12" + # firefox: "34" + # firefox_android: "34" + # safari: "9" + # safari_ios: "9" + - javascript.operators.object_initializer.shorthand_method_names + + # baseline: high + # baseline_low_date: 2017-03-27 + # baseline_high_date: 2019-09-27 + # support: + # chrome: "54" + # chrome_android: "54" + # edge: "14" + # firefox: "47" + # firefox_android: "47" + # safari: "10.1" + # safari_ios: "10.3" + - javascript.builtins.Object.entries + - javascript.builtins.Object.values + + # baseline: high + # baseline_low_date: 2017-04-05 + # baseline_high_date: 2019-10-05 + # support: + # chrome: "54" + # chrome_android: "54" + # edge: "15" + # firefox: "50" + # firefox_android: "50" + # safari: "10" + # safari_ios: "10" + - javascript.builtins.Object.getOwnPropertyDescriptors + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "60" + # chrome_android: "60" + # edge: "79" + # firefox: "55" + # firefox_android: "55" + # safari: "11.1" + # safari_ios: "11.3" + - javascript.operators.object_initializer.spread_properties + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "73" + # chrome_android: "73" + # edge: "79" + # firefox: "63" + # firefox_android: "63" + # safari: "12.1" + # safari_ios: "12.2" + - javascript.builtins.Object.fromEntries + + # baseline: high + # baseline_low_date: 2020-07-28 + # baseline_high_date: 2023-01-28 + # support: + # chrome: "80" + # chrome_android: "80" + # edge: "80" + # firefox: "74" + # firefox_android: "79" + # safari: "13.1" + # safari_ios: "13.4" + - javascript.operators.optional_chaining + + # baseline: high + # baseline_low_date: 2022-03-14 + # baseline_high_date: 2024-09-14 + # support: + # chrome: "93" + # chrome_android: "93" + # edge: "93" + # firefox: "92" + # firefox_android: "92" + # safari: "15.4" + # safari_ios: "15.4" + - javascript.builtins.Object.hasOwn