PluginProbe
Extendify / 1.17.1
Extendify v1.17.1
3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 0.7.0 All 126 releases
extendify / src / Shared / lib / utils.js

utils.js in Extendify 1.17.1, at src/Shared/lib/utils.js

26 lines 627 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 export const deepMerge = (target, ...sources) => {
2 return sources.reduce((acc, source) => {
3 if (!isObject(acc) || !isObject(source)) {
4 return null;
5 }
6
7 const newTarget = { ...acc };
8
9 for (const key in source) {
10 if (isObject(source[key]) && key in newTarget) {
11 newTarget[key] = deepMerge(newTarget[key], source[key]);
12 } else {
13 newTarget[key] = source[key];
14 }
15 }
16
17 return newTarget;
18 }, target);
19 };
20
21 export const isObject = (value) => {
22 return typeof value === 'object' && !Array.isArray(value) && value !== null;
23 };
24
25 export const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
26