@nodesecure/i18n
Version:
NodeSecure Internationalization
25 lines • 863 B
JavaScript
/**
* @function taggedString
* @memberof utils#
* @description Create a tagged String
* @param {TemplateStringsArray} chaines initial string
* @param {string[] | number[]} cles keys
* @returns {Function} Return clojure function to build the final string
*
* @example
* const { taggedString } = require("@myunisoft/utils");
*
* const myStrClojure = taggedString`Hello ${0}!`;
* console.log(myStrClojure("Thomas")); // stdout: Hello Thomas!
*/
export function taggedString(chaines, ...cles) {
return function cur(...valeurs) {
const dict = valeurs[valeurs.length - 1] || {};
const resultat = [chaines[0]];
cles.forEach((cle, index) => {
resultat.push(typeof cle === "number" ? valeurs[cle] : dict[cle], chaines[index + 1]);
});
return resultat.join("");
};
}
//# sourceMappingURL=utils.js.map