diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2019-11-14 05:42:34 +1100 |
---|---|---|
committer | Ry Dahl <ry@tinyclouds.org> | 2019-11-13 13:42:34 -0500 |
commit | 9837d324a7c3f5e1c850dadabfd670edad4aa85b (patch) | |
tree | a81de8e9e15f64edd2ccb6e30a351ca3b2305035 /std/util/deep_assign.ts | |
parent | 279191ad9447c66fe1278589a7be242d035bb68b (diff) |
Update to TypeScript 3.7 (#3275)
and update to prettier 1.19
Also, update `assert()` and remove not null assertions where possibly
in `cli`.
Closes #3273
Diffstat (limited to 'std/util/deep_assign.ts')
-rw-r--r-- | std/util/deep_assign.ts | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/std/util/deep_assign.ts b/std/util/deep_assign.ts index 1dfc00a5b..b1c9f9ac9 100644 --- a/std/util/deep_assign.ts +++ b/std/util/deep_assign.ts @@ -8,26 +8,24 @@ export function deepAssign( if (!source || typeof source !== `object`) { return; } - Object.entries(source).forEach( - ([key, value]: [string, unknown]): void => { - if (value instanceof Date) { - target[key] = new Date(value); - return; - } - if (!value || typeof value !== `object`) { - target[key] = value; - return; - } - if (Array.isArray(value)) { - target[key] = []; - } - // value is an Object - if (typeof target[key] !== `object` || !target[key]) { - target[key] = {}; - } - deepAssign(target[key] as Record<string, unknown>, value!); + Object.entries(source).forEach(([key, value]: [string, unknown]): void => { + if (value instanceof Date) { + target[key] = new Date(value); + return; } - ); + if (!value || typeof value !== `object`) { + target[key] = value; + return; + } + if (Array.isArray(value)) { + target[key] = []; + } + // value is an Object + if (typeof target[key] !== `object` || !target[key]) { + target[key] = {}; + } + deepAssign(target[key] as Record<string, unknown>, value!); + }); } return target; } |