aboutsummaryrefslogtreecommitdiff
path: root/src/services/theme_data/theme_data_3.service.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2024-09-26 01:10:57 +0300
committerHenry Jameson <me@hjkos.com>2024-09-26 01:10:57 +0300
commit6fc929a0a040bfdf3b403c5f2b708ab4a51fe2e8 (patch)
treec85c68d9e09826a9d81b4ef21706f782c5a9a5d6 /src/services/theme_data/theme_data_3.service.js
parent22cc96705ab3af42a6373ccab6df473ba1243fed (diff)
parent05c0b16a935c2799ece31845897d3a29d39e3eee (diff)
Merge remote-tracking branch 'origin/develop' into shadow-control-2.0
Diffstat (limited to 'src/services/theme_data/theme_data_3.service.js')
-rw-r--r--src/services/theme_data/theme_data_3.service.js16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/services/theme_data/theme_data_3.service.js b/src/services/theme_data/theme_data_3.service.js
index 8a0c170b..3c2f8a63 100644
--- a/src/services/theme_data/theme_data_3.service.js
+++ b/src/services/theme_data/theme_data_3.service.js
@@ -522,9 +522,21 @@ export const init = ({
console.debug('Eager processing took ' + (t2 - t1) + ' ms')
}
+ // optimization to traverse big-ass array only once instead of twice
+ const eager = []
+ const lazy = []
+
+ result.forEach(x => {
+ if (typeof x === 'function') {
+ lazy.push(x)
+ } else {
+ eager.push(x)
+ }
+ })
+
return {
- lazy: result.filter(x => typeof x === 'function'),
- eager: result.filter(x => typeof x !== 'function'),
+ lazy,
+ eager,
staticVars,
engineChecksum
}