UNPKG

@intlayer/core

Version:

Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.

36 lines (34 loc) 1.4 kB
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs'); const require_transpiler_insertion_getInsertionValues = require('./getInsertionValues.cjs'); let __intlayer_types = require("@intlayer/types"); //#region src/transpiler/insertion/insertion.ts /** * Function intended to be used to build intlayer dictionaries. * * Allow to identify insertions inside a content. * * Usage: * * ```ts * insertion('Hi, my name is {{name}} and I am {{age}} years old.') * ``` * */ const insertion = (content) => { const getInsertions = () => { if (typeof content === "string") return require_transpiler_insertion_getInsertionValues.getInsertionValues(content); let stringContent; if (typeof content === "function") stringContent = content(); else if (typeof content.then === "function") stringContent = async () => require_transpiler_insertion_getInsertionValues.getInsertionValues(await content); if (typeof stringContent === "string") return require_transpiler_insertion_getInsertionValues.getInsertionValues(stringContent); try { return require_transpiler_insertion_getInsertionValues.getInsertionValues(JSON.stringify(content)); } catch (_e) { return []; } }; return (0, __intlayer_types.formatNodeType)(__intlayer_types.NodeType.Insertion, content, { fields: getInsertions() }); }; //#endregion exports.insert = insertion; //# sourceMappingURL=insertion.cjs.map