UNPKG

jjb-lc-designable

Version:

基于alibaba-designable源码二次封装的表单设计器。

30 lines 1.05 kB
import { each, isPlainObj } from 'jjb-lc-designable/shared'; import { globalThisPolyfill } from 'jjb-lc-designable/shared'; export const lowerSnake = str => { return String(str).replace(/\s+/g, '_').toLocaleLowerCase(); }; export const mergeLocales = (target, source) => { if (isPlainObj(target) && isPlainObj(source)) { each(source, function (value, key) { const token = lowerSnake(key); const messages = mergeLocales(target[key] || target[token], value); target[token] = messages; }); return target; } else if (isPlainObj(source)) { const result = Array.isArray(source) ? [] : {}; each(source, function (value, key) { const messages = mergeLocales(undefined, value); result[lowerSnake(key)] = messages; }); return result; } return source; }; export const getBrowserLanguage = () => { /* istanbul ignore next */ if (!globalThisPolyfill.navigator) { return 'en'; } return globalThisPolyfill.navigator['browserlanguage'] || globalThisPolyfill.navigator?.language || 'en'; };