return Object.defineProperties without a closure in property methods assignment unless it's really necessary

This commit is contained in:
Sebastian McKenzie
2015-01-02 00:42:28 +11:00
parent 5b6c0fcacd
commit e268dc6138
4 changed files with 42 additions and 47 deletions

View File

@@ -20,14 +20,21 @@ exports.ObjectExpression = function (node, parent, file) {
if (!hasAny) return;
var objId = util.getUid(parent, file);
if (node.properties.length) {
var objId = util.getUid(parent, file);
return util.template("object-define-properties-closure", {
KEY: objId,
OBJECT: node,
CONTENT: util.template("object-define-properties", {
OBJECT: objId,
return util.template("object-define-properties-closure", {
KEY: objId,
OBJECT: node,
CONTENT: util.template("object-define-properties", {
OBJECT: objId,
PROPS: util.buildDefineProperties(mutatorMap)
})
});
} else {
return util.template("object-define-properties", {
OBJECT: node,
PROPS: util.buildDefineProperties(mutatorMap)
})
});
});
}
};

View File

@@ -1,17 +1,13 @@
"use strict";
var obj = (function (_obj) {
Object.defineProperties(_obj, {
foo: {
get: function () {
return 5 + 5;
},
set: function (value) {
this._foo = value;
},
enumerable: true
}
});
return _obj;
})({});
var obj = Object.defineProperties({}, {
foo: {
get: function () {
return 5 + 5;
},
set: function (value) {
this._foo = value;
},
enumerable: true
}
});

View File

@@ -1,14 +1,10 @@
"use strict";
var obj = (function (_obj) {
Object.defineProperties(_obj, {
foo: {
get: function () {
return 5 + 5;
},
enumerable: true
}
});
return _obj;
})({});
var obj = Object.defineProperties({}, {
foo: {
get: function () {
return 5 + 5;
},
enumerable: true
}
});

View File

@@ -1,14 +1,10 @@
"use strict";
var obj = (function (_obj) {
Object.defineProperties(_obj, {
foo: {
set: function (value) {
this._foo = value;
},
enumerable: true
}
});
return _obj;
})({});
var obj = Object.defineProperties({}, {
foo: {
set: function (value) {
this._foo = value;
},
enumerable: true
}
});