diff options
| author | Henry Jameson <me@hjkos.com> | 2024-09-26 01:10:57 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2024-09-26 01:10:57 +0300 |
| commit | 6fc929a0a040bfdf3b403c5f2b708ab4a51fe2e8 (patch) | |
| tree | c85c68d9e09826a9d81b4ef21706f782c5a9a5d6 /src/services/theme_data/theme_data_3.service.js | |
| parent | 22cc96705ab3af42a6373ccab6df473ba1243fed (diff) | |
| parent | 05c0b16a935c2799ece31845897d3a29d39e3eee (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.js | 16 |
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 } |
