Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 6af2ff2

Browse files
committed
refactor($parse): clean up object literal fn
No measurable impact on performance
1 parent 67919c8 commit 6af2ff2

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/ng/parse.js

+6-7
Original file line numberDiff line numberDiff line change
@@ -789,19 +789,19 @@ Parser.prototype = {
789789
},
790790

791791
object: function () {
792-
var keyValues = [];
792+
var keys = [], valueFns = [];
793793
var allConstant = true;
794794
if (this.peekToken().text !== '}') {
795795
do {
796796
if (this.peek('}')) {
797797
// Support trailing commas per ES5.1.
798798
break;
799799
}
800-
var token = this.expect(),
801-
key = token.string || token.text;
800+
var token = this.expect();
801+
keys.push(token.string || token.text);
802802
this.consume(':');
803803
var value = this.expression();
804-
keyValues.push({key: key, value: value});
804+
valueFns.push(value);
805805
if (!value.constant) {
806806
allConstant = false;
807807
}
@@ -811,9 +811,8 @@ Parser.prototype = {
811811

812812
return extend(function $parseObjectLiteral(self, locals) {
813813
var object = {};
814-
for (var i = 0, ii = keyValues.length; i < ii; i++) {
815-
var keyValue = keyValues[i];
816-
object[keyValue.key] = keyValue.value(self, locals);
814+
for (var i = 0, ii = valueFns.length; i < ii; i++) {
815+
object[keys[i]] = valueFns[i](self, locals);
817816
}
818817
return object;
819818
}, {

0 commit comments

Comments
 (0)