unbag
Version:
一个专门用来开发npm工具的包
29 lines • 766 B
JavaScript
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 };