add symbol check to defineProperty helper - fixes #1010

This commit is contained in:
Sebastian McKenzie 2015-03-16 02:00:10 +11:00
parent 29d33dd31a
commit 8d3a7acbd1
13 changed files with 26 additions and 48 deletions

View File

@ -1,7 +1,7 @@
(function (obj, key, value) {
return Object.defineProperty(obj, key, {
value: value,
enumerable: true,
enumerable: key == null || typeof Symbol == "undefined" || key.constructor !== Symbol,
configurable: true,
writable: true
});

View File

@ -1,5 +1,3 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
foo(_defineProperty({}, bar, "foobar"));
foo(babelHelpers.defineProperty({}, bar, "foobar"));

View File

@ -1,5 +1,3 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
foo = _defineProperty({}, bar, "foobar");
foo = babelHelpers.defineProperty({}, bar, "foobar");

View File

@ -1,7 +1,5 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
var obj = _defineProperty({}, foobar, function () {
var obj = babelHelpers.defineProperty({}, foobar, function () {
return "foobar";
});
});

View File

@ -1,17 +1,10 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
var obj = (function () {
var _obj = {};
_defineProperty(_obj, "x" + foo, "heh");
_defineProperty(_obj, "y" + bar, "noo");
_defineProperty(_obj, "foo", "foo");
_defineProperty(_obj, "bar", "bar");
babelHelpers.defineProperty(_obj, "x" + foo, "heh");
babelHelpers.defineProperty(_obj, "y" + bar, "noo");
babelHelpers.defineProperty(_obj, "foo", "foo");
babelHelpers.defineProperty(_obj, "bar", "bar");
return _obj;
})();
})();

View File

@ -1,13 +1,8 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
var obj = (function () {
var _obj = {};
_defineProperty(_obj, "x" + foo, "heh");
_defineProperty(_obj, "y" + bar, "noo");
babelHelpers.defineProperty(_obj, "x" + foo, "heh");
babelHelpers.defineProperty(_obj, "y" + bar, "noo");
return _obj;
})();
})();

View File

@ -0,0 +1,3 @@
{
"externalHelpers": true
}

View File

@ -1,5 +1,3 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
var obj = _defineProperty({}, "x" + foo, "heh");
var obj = babelHelpers.defineProperty({}, "x" + foo, "heh");

View File

@ -1,5 +1,3 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
var obj = _defineProperty({}, "x" + foo.bar, "heh");
var obj = babelHelpers.defineProperty({}, "x" + foo.bar, "heh");

View File

@ -1,6 +1,4 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
var obj = _defineProperty({
first: "first" }, "second", "second");
var obj = babelHelpers.defineProperty({
first: "first" }, "second", "second");

View File

@ -1,5 +1,3 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
var foo = _defineProperty({}, bar, "foobar");
var foo = babelHelpers.defineProperty({}, bar, "foobar");

View File

@ -1,10 +1,8 @@
"use strict";
var _defineProperty = function (obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); };
var x = "y";
var valueSet;
var obj = Object.defineProperties({}, _defineProperty({}, x, {
var obj = Object.defineProperties({}, babelHelpers.defineProperty({}, x, {
get: function () {
return 1;
},
@ -15,4 +13,4 @@ var obj = Object.defineProperties({}, _defineProperty({}, x, {
enumerable: true
}));
obj.y = "foo";
obj.y === 1 && valueSet === "foo";
obj.y === 1 && valueSet === "foo";

View File

@ -0,0 +1,3 @@
{
"externalHelpers": true
}