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

Commit 40de393

Browse files
committed
perf(core): use find over filter()[0]
This change brings a decent performance improvement when you are using `valueOf` with a lot of provided reusable elements
1 parent 698524e commit 40de393

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

packages/api-elements/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# API Elements (JavaScript) CHANGELOG
22

3+
## Master
4+
5+
### Enhancements
6+
7+
- Performance of the `valueOf` has been improved under certain cases.
8+
39
## 0.2.0 (2019-06-11)
410

511
### Breaking

packages/api-elements/lib/define-value-of.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ module.exports = (namespace) => {
129129

130130
if (elements) {
131131
if (e.element === 'ref') {
132-
const result = elements.filter(el => el.id.equals(e.content))[0];
132+
const result = elements.find(el => el.id.equals(e.content));
133133
const inheritedElements = elements.filter(el => !el.id.equals(e.content));
134134

135135
if (e.path && e.path.toValue() === 'content') {
@@ -139,7 +139,7 @@ module.exports = (namespace) => {
139139
return mapValue(result, opts, f, inheritedElements);
140140
}
141141

142-
const result = elements.filter(el => el.id.equals(e.element))[0];
142+
const result = elements.find(el => el.id.equals(e.element));
143143
if (result) {
144144
const inheritedElements = elements.filter(el => !el.id.equals(e.element));
145145
return mapValue(result, opts, f, inheritedElements);

0 commit comments

Comments
 (0)