Skip to content

Commit

Permalink
Merge pull request #17537 from bekzod/dont-alloc-array
Browse files Browse the repository at this point in the history
don't allocate array when object empty in ObjectIterator
  • Loading branch information
stefanpenner committed Jan 31, 2019
2 parents 7df81ec + 85b9324 commit b2aa84a
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions packages/@ember/-internals/glimmer/lib/utils/iterable.ts
Expand Up @@ -120,17 +120,15 @@ class EmberArrayIterator extends BoundedIterator {
class ObjectIterator extends BoundedIterator {
static fromIndexable(obj: Indexable, keyFor: KeyFor): OpaqueIterator {
let keys = Object.keys(obj);
let values: Opaque[] = [];

let { length } = keys;

for (let i = 0; i < length; i++) {
values.push(get(obj, keys[i]));
}

if (length === 0) {
return EMPTY_ITERATOR;
} else {
let values: Opaque[] = [];
for (let i = 0; i < length; i++) {
values.push(get(obj, keys[i]));
}
return new this(keys, values, length, keyFor);
}
}
Expand Down

0 comments on commit b2aa84a

Please sign in to comment.