diff --git a/features/generators.yml b/features/generators.yml new file mode 100644 index 00000000000..6ac6c137f29 --- /dev/null +++ b/features/generators.yml @@ -0,0 +1,25 @@ +name: Generators +description: Generator functions (`function*`) create iterators that return multiple values, one after another, on-demand. +group: javascript +snapshot: ecmascript-2015 +caniuse: es6-generators +spec: + - https://tc39.es/ecma262/multipage/control-abstraction-objects.html#sec-generator-objects + - https://tc39.es/ecma262/multipage/control-abstraction-objects.html#sec-generatorfunction-objects +status: + compute_from: javascript.statements.generator_function +compat_features: + - javascript.builtins.Generator + - javascript.builtins.Generator.next + - javascript.builtins.Generator.return + - javascript.builtins.Generator.throw + - javascript.builtins.GeneratorFunction + - javascript.builtins.GeneratorFunction.GeneratorFunction + - javascript.operators.generator_function + - javascript.operators.generator_function.trailing_comma + - javascript.operators.yield + - javascript.operators.yield_star + - javascript.statements.generator_function + - javascript.statements.generator_function.IteratorResult_object + - javascript.statements.generator_function.not_constructable_with_new + - javascript.statements.generator_function.trailing_comma_in_parameters diff --git a/features/generators.yml.dist b/features/generators.yml.dist new file mode 100644 index 00000000000..64b80961996 --- /dev/null +++ b/features/generators.yml.dist @@ -0,0 +1,138 @@ +# Generated from: generators.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: "39" + chrome_android: "39" + edge: "13" + firefox: "26" + firefox_android: "26" + safari: "10" + safari_ios: "10" +compat_features: + # baseline: high + # baseline_low_date: 2016-09-20 + # baseline_high_date: 2019-03-20 + # support: + # chrome: "39" + # chrome_android: "39" + # edge: "12" + # firefox: "26" + # firefox_android: "26" + # safari: "10" + # safari_ios: "10" + - javascript.operators.yield + + # baseline: high + # baseline_low_date: 2016-09-20 + # baseline_high_date: 2019-03-20 + # support: + # chrome: "39" + # chrome_android: "39" + # edge: "12" + # firefox: "27" + # firefox_android: "27" + # safari: "10" + # safari_ios: "10" + - javascript.operators.yield_star + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2016-09-20 + # baseline_high_date: 2019-03-20 + # support: + # chrome: "39" + # chrome_android: "39" + # edge: "13" + # firefox: "26" + # firefox_android: "26" + # safari: "10" + # safari_ios: "10" + - javascript.builtins.Generator + - javascript.builtins.Generator.next + - javascript.builtins.Generator.throw + - javascript.builtins.GeneratorFunction + - javascript.builtins.GeneratorFunction.GeneratorFunction + - javascript.statements.generator_function + + # baseline: high + # baseline_low_date: 2016-09-20 + # baseline_high_date: 2019-03-20 + # support: + # chrome: "49" + # chrome_android: "49" + # edge: "12" + # firefox: "26" + # firefox_android: "26" + # safari: "10" + # safari_ios: "10" + - javascript.operators.generator_function + + # baseline: high + # baseline_low_date: 2016-09-20 + # baseline_high_date: 2019-03-20 + # support: + # chrome: "49" + # chrome_android: "49" + # edge: "13" + # firefox: "29" + # firefox_android: "29" + # safari: "10" + # safari_ios: "10" + - javascript.statements.generator_function.IteratorResult_object + + # baseline: high + # baseline_low_date: 2016-09-20 + # baseline_high_date: 2019-03-20 + # support: + # chrome: "50" + # chrome_android: "50" + # edge: "13" + # firefox: "38" + # firefox_android: "38" + # safari: "10" + # safari_ios: "10" + - javascript.builtins.Generator.return + + # baseline: high + # baseline_low_date: 2016-09-20 + # baseline_high_date: 2019-03-20 + # support: + # chrome: "50" + # chrome_android: "50" + # edge: "13" + # firefox: "43" + # firefox_android: "43" + # safari: "10" + # safari_ios: "10" + - javascript.statements.generator_function.not_constructable_with_new + + # baseline: high + # baseline_low_date: 2017-04-25 + # baseline_high_date: 2019-10-25 + # support: + # chrome: "58" + # chrome_android: "58" + # edge: "14" + # firefox: "52" + # firefox_android: "52" + # safari: "10" + # safari_ios: "10" + - javascript.statements.generator_function.trailing_comma_in_parameters + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "58" + # chrome_android: "58" + # edge: "79" + # firefox: "52" + # firefox_android: "52" + # safari: "10" + # safari_ios: "10" + - javascript.operators.generator_function.trailing_comma