@intlayer/core
Version:
Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.
28 lines (26 loc) • 1.69 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/getEmptyNode.ts
const getEmptyNode = (section) => {
if (typeof section === "string") return "";
if (typeof section === "number") return 0;
if (typeof section === "boolean") return true;
if (typeof section?.nodeType === "string") {
const typedNode = section;
const content = typedNode[typedNode.nodeType];
if (typedNode.nodeType === _intlayer_types_nodeType.TRANSLATION || typedNode.nodeType === _intlayer_types_nodeType.ENUMERATION || typedNode.nodeType === _intlayer_types_nodeType.PLURAL || typedNode.nodeType === _intlayer_types_nodeType.CONDITION || typedNode.nodeType === _intlayer_types_nodeType.INSERTION || typedNode.nodeType === _intlayer_types_nodeType.HTML) return getEmptyNode(content);
if (typedNode.nodeType === _intlayer_types_nodeType.NESTED) return "dictionary-key";
if (typedNode.nodeType === _intlayer_types_nodeType.FILE) return "file/path";
if (typedNode.nodeType === _intlayer_types_nodeType.MARKDOWN) return getEmptyNode(content);
return content;
}
if (!section || typeof section !== "object") return section;
if (Array.isArray(section)) return section.map(getEmptyNode);
const mappedSectionObject = Object.entries(section).map(([key, value]) => [key, getEmptyNode(value)]);
return Object.fromEntries(mappedSectionObject);
};
//#endregion
exports.getEmptyNode = getEmptyNode;
//# sourceMappingURL=getEmptyNode.cjs.map