UNPKG

unbag

Version:

一个专门用来开发npm工具的包

29 lines 766 B
import { Locale } from "../common.mjs"; import { useDefaultConfig } from "../config.mjs"; import { message as zh_cn_message } from "./zh-cn.mjs"; const messageMap = { [Locale.zh_cn]: zh_cn_message }; const p = (o, d) => { const a = new Proxy({}, { get(_target, property, _receiver) { const key = property; const value = o[key] || d[key]; if (typeof value === "object") { return p(value, d[key]); } return value; } }); return a; }; const useMessage = params => { const { locale } = params; const defaultConfig = useDefaultConfig(); const targetMessage = messageMap[locale]; const defaultMessage = messageMap[defaultConfig.locale]; return p(targetMessage, defaultMessage); }; export { useMessage };