Skip to content

Commit de6cd41

Browse files
committed
fix(l10n): deepMerge
1 parent 71a23c9 commit de6cd41

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

core/src/__tests__/util.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ describe('util', () => {
1313
expect(deepMerge({ a: { a: 1 } }, { a: { b: 1 }, b: 1 })).toEqual({ a: { a: 1, b: 1 }, b: 1 })
1414
expect(deepMerge({}, { a: { b: 1 } })).toEqual({ a: { b: 1 } })
1515
expect(deepMerge({ a: { b: 1 } }, { a: { b: 2 } })).toEqual({ a: { b: 2 } })
16+
expect(deepMerge({ a: 1 }, { a: 2 }, { a: 3 })).toEqual({ a: 3 })
1617
})
1718
})

core/src/locale/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ class Locale {
6464
function getLocale(localeCode: string, mixin?: Localization) {
6565
const [language] = localeCode.split('-')
6666
const l = locales[localeCode.toLowerCase()] || locales[language.toLowerCase()] || locales.en
67-
const dict = deepMerge(locales.en, l, mixin || {}) as Localization
67+
// Note: always use an empty object as target
68+
const dict = deepMerge({}, locales.en, l, mixin || {}) as Localization
6869
return new Locale(dict)
6970
}
7071

core/src/util.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ function deepMerge(target: Object, ...sources: { [key: string]: any }[]) {
157157
}
158158
}
159159

160-
if (sources.length > 0) deepMerge(target, sources)
160+
if (sources.length > 0) deepMerge(target, ...sources)
161161
return target
162162
}
163163

0 commit comments

Comments
 (0)