bmc-i18n-extract-cli
Version: 
这是一款能够自动将代码里的中文转成i18n国际化标记的命令行工具。当然,你也可以用它实现将中文语言包自动翻译成其他语言。适用于vue2、vue3和react
27 lines • 836 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.flatObjectDeep = void 0;
const assertType_1 = require("./assertType");
/**
 * @example
 * 将{a: {bb: 1}} 转成 {'a.bb': 1}
 */
function flatObjectDeep(data) {
    const keyValueMap = {};
    function collectMap(obj, upperKey) {
        Object.keys(obj).forEach((key) => {
            const currentKey = upperKey ? `${upperKey}.${key}` : key;
            const value = obj[key];
            if ((0, assertType_1.isObject)(value)) {
                collectMap(value, currentKey);
            }
            else {
                keyValueMap[currentKey] = value;
            }
        });
    }
    collectMap(data);
    return keyValueMap;
}
exports.flatObjectDeep = flatObjectDeep;
//# sourceMappingURL=flatObjectDeep.js.map