@intlayer/core
Version:
Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.
64 lines (62 loc) • 2.66 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
let _intlayer_types_nodeType = require("@intlayer/types/nodeType");
_intlayer_types_nodeType = require_runtime.__toESM(_intlayer_types_nodeType);
//#region src/dictionaryManipulator/getDefaultNode.ts
const getDefaultNode = (nodeType, locales, content) => {
const clonedContent = structuredClone(content);
switch (nodeType) {
case _intlayer_types_nodeType.TRANSLATION: return {
nodeType: _intlayer_types_nodeType.TRANSLATION,
[_intlayer_types_nodeType.TRANSLATION]: Object.assign({}, ...locales.map((locale) => ({ [locale]: structuredClone(clonedContent) ?? "" })))
};
case _intlayer_types_nodeType.ENUMERATION: return {
nodeType: _intlayer_types_nodeType.ENUMERATION,
[_intlayer_types_nodeType.ENUMERATION]: { "1": clonedContent ?? "" }
};
case _intlayer_types_nodeType.PLURAL: return {
nodeType: _intlayer_types_nodeType.PLURAL,
[_intlayer_types_nodeType.PLURAL]: {
one: clonedContent ?? "",
other: clonedContent ?? ""
}
};
case _intlayer_types_nodeType.CONDITION: return {
nodeType: _intlayer_types_nodeType.CONDITION,
[_intlayer_types_nodeType.CONDITION]: {
true: clonedContent ?? "",
false: clonedContent ?? ""
}
};
case _intlayer_types_nodeType.INSERTION: return {
nodeType: _intlayer_types_nodeType.INSERTION,
[_intlayer_types_nodeType.INSERTION]: { insertion: clonedContent ?? "" }
};
case _intlayer_types_nodeType.NESTED: return {
nodeType: _intlayer_types_nodeType.NESTED,
[_intlayer_types_nodeType.NESTED]: { dictionaryKey: "" }
};
case _intlayer_types_nodeType.MARKDOWN: return {
nodeType: _intlayer_types_nodeType.MARKDOWN,
[_intlayer_types_nodeType.MARKDOWN]: clonedContent ?? ""
};
case _intlayer_types_nodeType.HTML: return {
nodeType: _intlayer_types_nodeType.HTML,
[_intlayer_types_nodeType.HTML]: clonedContent ?? "",
customComponents: []
};
case _intlayer_types_nodeType.FILE: return {
nodeType: _intlayer_types_nodeType.FILE,
[_intlayer_types_nodeType.FILE]: clonedContent ?? ""
};
case _intlayer_types_nodeType.OBJECT: return { newKey: clonedContent ?? "" };
case _intlayer_types_nodeType.ARRAY: return [clonedContent ?? ""];
case _intlayer_types_nodeType.TEXT: return clonedContent ?? "";
case _intlayer_types_nodeType.NUMBER: return clonedContent ?? 0;
case _intlayer_types_nodeType.BOOLEAN: return clonedContent ?? true;
default: return clonedContent ?? "";
}
};
//#endregion
exports.getDefaultNode = getDefaultNode;
//# sourceMappingURL=getDefaultNode.cjs.map