Skip to content
This repository has been archived by the owner on May 11, 2018. It is now read-only.

Commit

Permalink
Add polyfills for ES6 static Object methods
Browse files Browse the repository at this point in the history
This functions do exist in ES5, but we still need to
load the polyfills, as they now accept different values
  • Loading branch information
danez authored and existentialism committed Oct 13, 2017
1 parent edd6ec8 commit 52a35ee
Show file tree
Hide file tree
Showing 10 changed files with 196 additions and 4 deletions.
12 changes: 12 additions & 0 deletions data/built-in-features.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,18 @@ const es2015 = {
]
},

"es6.object.freeze": "Object static methods accept primitives / Object.freeze",
"es6.object.seal": "Object static methods accept primitives / Object.seal",
"es6.object.prevent-extensions": "Object static methods accept primitives / Object.preventExtensions",
"es6.object.is-frozen": "Object static methods accept primitives / Object.isFrozen",
"es6.object.is-sealed": "Object static methods accept primitives / Object.isSealed",
"es6.object.is-extensible": "Object static methods accept primitives / Object.isExtensible",
"es6.object.get-own-property-descriptor":
"Object static methods accept primitives / Object.getOwnPropertyDescriptor",
"es6.object.get-prototype-of": "Object static methods accept primitives / Object.getPrototypeOf",
"es6.object.keys": "Object static methods accept primitives / Object.keys",
"es6.object.get-own-property-names": "Object static methods accept primitives / Object.getOwnPropertyNames",

"es6.object.assign": "Object static methods / Object.assign",
"es6.object.is": "Object static methods / Object.is",
"es6.object.set-prototype-of": "Object static methods / Object.setPrototypeOf",
Expand Down
100 changes: 100 additions & 0 deletions data/built-ins.json
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,106 @@
"opera": "38",
"electron": "1.2"
},
"es6.object.freeze": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.seal": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.prevent-extensions": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.is-frozen": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.is-sealed": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.is-extensible": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.get-own-property-descriptor": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.get-prototype-of": {
"chrome": "44",
"edge": "12",
"firefox": "3.5",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.keys": {
"chrome": "40",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "27",
"electron": "0.21"
},
"es6.object.get-own-property-names": {
"chrome": "40",
"edge": "12",
"firefox": "33",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "27",
"electron": "0.21"
},
"es6.object.assign": {
"chrome": "45",
"edge": "12",
Expand Down
12 changes: 11 additions & 1 deletion test/debug-fixtures/android/stdout.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,16 @@ Using polyfills:
es6.reflect.set-prototype-of {"android":"4"}
es6.promise {"android":"4"}
es6.symbol {"android":"4"}
es6.object.freeze {"android":"4"}
es6.object.seal {"android":"4"}
es6.object.prevent-extensions {"android":"4"}
es6.object.is-frozen {"android":"4"}
es6.object.is-sealed {"android":"4"}
es6.object.is-extensible {"android":"4"}
es6.object.get-own-property-descriptor {"android":"4"}
es6.object.get-prototype-of {"android":"4"}
es6.object.keys {"android":"4"}
es6.object.get-own-property-names {"android":"4"}
es6.object.assign {"android":"4"}
es6.object.is {"android":"4"}
es6.object.set-prototype-of {"android":"4"}
Expand Down Expand Up @@ -118,4 +128,4 @@ Using polyfills:
web.timers {"android":"4"}
web.immediate {"android":"4"}
web.dom.iterable {"android":"4"}
src/in.js -> lib/in.js
src/in.js -> lib/in.js
12 changes: 11 additions & 1 deletion test/debug-fixtures/builtins/stdout.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,16 @@ Using polyfills:
es6.reflect.set-prototype-of {"ie":"10"}
es6.promise {"ie":"10","node":"6"}
es6.symbol {"ie":"10","node":"6"}
es6.object.freeze {"ie":"10"}
es6.object.seal {"ie":"10"}
es6.object.prevent-extensions {"ie":"10"}
es6.object.is-frozen {"ie":"10"}
es6.object.is-sealed {"ie":"10"}
es6.object.is-extensible {"ie":"10"}
es6.object.get-own-property-descriptor {"ie":"10"}
es6.object.get-prototype-of {"ie":"10"}
es6.object.keys {"ie":"10"}
es6.object.get-own-property-names {"ie":"10"}
es6.object.assign {"ie":"10"}
es6.object.is {"ie":"10"}
es6.object.set-prototype-of {"ie":"10"}
Expand Down Expand Up @@ -120,4 +130,4 @@ Using polyfills:
web.timers {"chrome":"54","ie":"10","node":"6"}
web.immediate {"chrome":"54","ie":"10","node":"6"}
web.dom.iterable {"chrome":"54","ie":"10","node":"6"}
src/in.js -> lib/in.js
src/in.js -> lib/in.js
12 changes: 11 additions & 1 deletion test/debug-fixtures/specific-targets/stdout.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,16 @@ Using polyfills:
es6.reflect.set-prototype-of {"ie":"10","ios":"9","safari":"7"}
es6.promise {"ie":"10","ios":"9","safari":"7"}
es6.symbol {"edge":"13","firefox":"49","ie":"10","ios":"9","safari":"7"}
es6.object.freeze {"ie":"10","safari":"7"}
es6.object.seal {"ie":"10","safari":"7"}
es6.object.prevent-extensions {"ie":"10","safari":"7"}
es6.object.is-frozen {"ie":"10","safari":"7"}
es6.object.is-sealed {"ie":"10","safari":"7"}
es6.object.is-extensible {"ie":"10","safari":"7"}
es6.object.get-own-property-descriptor {"ie":"10","safari":"7"}
es6.object.get-prototype-of {"ie":"10","safari":"7"}
es6.object.keys {"ie":"10","safari":"7"}
es6.object.get-own-property-names {"ie":"10","safari":"7"}
es6.object.assign {"ie":"10","safari":"7"}
es6.object.is {"ie":"10","safari":"7"}
es6.object.set-prototype-of {"ie":"10","safari":"7"}
Expand Down Expand Up @@ -123,4 +133,4 @@ Using polyfills:
web.timers {"chrome":"54","edge":"13","firefox":"49","ie":"10","ios":"9","safari":"7"}
web.immediate {"chrome":"54","edge":"13","firefox":"49","ie":"10","ios":"9","safari":"7"}
web.dom.iterable {"chrome":"54","edge":"13","firefox":"49","ie":"10","ios":"9","safari":"7"}
src/in.js -> lib/in.js
src/in.js -> lib/in.js
10 changes: 10 additions & 0 deletions test/fixtures/preset-options/exclude-regenerator/expected.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ import "core-js/modules/es6.reflect.set";
import "core-js/modules/es6.reflect.set-prototype-of";
import "core-js/modules/es6.promise";
import "core-js/modules/es6.symbol";
import "core-js/modules/es6.object.freeze";
import "core-js/modules/es6.object.seal";
import "core-js/modules/es6.object.prevent-extensions";
import "core-js/modules/es6.object.is-frozen";
import "core-js/modules/es6.object.is-sealed";
import "core-js/modules/es6.object.is-extensible";
import "core-js/modules/es6.object.get-own-property-descriptor";
import "core-js/modules/es6.object.get-prototype-of";
import "core-js/modules/es6.object.keys";
import "core-js/modules/es6.object.get-own-property-names";
import "core-js/modules/es6.object.assign";
import "core-js/modules/es6.object.is";
import "core-js/modules/es6.object.set-prototype-of";
Expand Down
10 changes: 10 additions & 0 deletions test/fixtures/preset-options/ie-11-built-ins/expected.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,16 @@ import "core-js/modules/es6.reflect.set";
import "core-js/modules/es6.reflect.set-prototype-of";
import "core-js/modules/es6.promise";
import "core-js/modules/es6.symbol";
import "core-js/modules/es6.object.freeze";
import "core-js/modules/es6.object.seal";
import "core-js/modules/es6.object.prevent-extensions";
import "core-js/modules/es6.object.is-frozen";
import "core-js/modules/es6.object.is-sealed";
import "core-js/modules/es6.object.is-extensible";
import "core-js/modules/es6.object.get-own-property-descriptor";
import "core-js/modules/es6.object.get-prototype-of";
import "core-js/modules/es6.object.keys";
import "core-js/modules/es6.object.get-own-property-names";
import "core-js/modules/es6.object.assign";
import "core-js/modules/es6.object.is";
import "core-js/modules/es6.function.name";
Expand Down
10 changes: 10 additions & 0 deletions test/fixtures/preset-options/ios-6/expected.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,16 @@ import "core-js/modules/es6.reflect.set";
import "core-js/modules/es6.reflect.set-prototype-of";
import "core-js/modules/es6.promise";
import "core-js/modules/es6.symbol";
import "core-js/modules/es6.object.freeze";
import "core-js/modules/es6.object.seal";
import "core-js/modules/es6.object.prevent-extensions";
import "core-js/modules/es6.object.is-frozen";
import "core-js/modules/es6.object.is-sealed";
import "core-js/modules/es6.object.is-extensible";
import "core-js/modules/es6.object.get-own-property-descriptor";
import "core-js/modules/es6.object.get-prototype-of";
import "core-js/modules/es6.object.keys";
import "core-js/modules/es6.object.get-own-property-names";
import "core-js/modules/es6.object.assign";
import "core-js/modules/es6.object.is";
import "core-js/modules/es6.object.set-prototype-of";
Expand Down
10 changes: 10 additions & 0 deletions test/fixtures/preset-options/use-builtins-all/expected.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ import "core-js/modules/es6.reflect.set";
import "core-js/modules/es6.reflect.set-prototype-of";
import "core-js/modules/es6.promise";
import "core-js/modules/es6.symbol";
import "core-js/modules/es6.object.freeze";
import "core-js/modules/es6.object.seal";
import "core-js/modules/es6.object.prevent-extensions";
import "core-js/modules/es6.object.is-frozen";
import "core-js/modules/es6.object.is-sealed";
import "core-js/modules/es6.object.is-extensible";
import "core-js/modules/es6.object.get-own-property-descriptor";
import "core-js/modules/es6.object.get-prototype-of";
import "core-js/modules/es6.object.keys";
import "core-js/modules/es6.object.get-own-property-names";
import "core-js/modules/es6.object.assign";
import "core-js/modules/es6.object.is";
import "core-js/modules/es6.object.set-prototype-of";
Expand Down
12 changes: 11 additions & 1 deletion test/fixtures/preset-options/use-builtins-ie-9/expected.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ import "core-js/modules/es6.reflect.set";
import "core-js/modules/es6.reflect.set-prototype-of";
import "core-js/modules/es6.promise";
import "core-js/modules/es6.symbol";
import "core-js/modules/es6.object.freeze";
import "core-js/modules/es6.object.seal";
import "core-js/modules/es6.object.prevent-extensions";
import "core-js/modules/es6.object.is-frozen";
import "core-js/modules/es6.object.is-sealed";
import "core-js/modules/es6.object.is-extensible";
import "core-js/modules/es6.object.get-own-property-descriptor";
import "core-js/modules/es6.object.get-prototype-of";
import "core-js/modules/es6.object.keys";
import "core-js/modules/es6.object.get-own-property-names";
import "core-js/modules/es6.object.assign";
import "core-js/modules/es6.object.is";
import "core-js/modules/es6.object.set-prototype-of";
Expand Down Expand Up @@ -84,4 +94,4 @@ import "core-js/modules/es7.string.pad-end";
import "core-js/modules/web.timers";
import "core-js/modules/web.immediate";
import "core-js/modules/web.dom.iterable";
import "regenerator-runtime/runtime";
import "regenerator-runtime/runtime";

0 comments on commit 52a35ee

Please # to comment.