UNPKG

@busy-web/utils

Version:

@busy-web util methods

28 lines 3.47 kB
"use strict"; /** * @module Utils * */ Object.defineProperty(exports, "__esModule", { value: true }); const getString = (str) => { if (window.__STRING_REGISTRY__ && window.__STRING_REGISTRY__[str]) { return window.__STRING_REGISTRY__[str]; } return str; }; function fmt(str, formats) { // first, replace any ORDERED replacements. let idx = 0; // the current index for non-numerical replacements return str.replace(/%@([0-9]+)?/g, (_s, argIndex) => { let i = argIndex ? parseInt(argIndex, 10) - 1 : idx++; let r = i < formats.length ? formats[i] : undefined; return typeof r === 'string' ? r : r === null ? '(null)' : r === undefined ? '' : '' + r; }); } exports.fmt = fmt; function loc(str, formats) { str = getString(str); return fmt(str, formats); } exports.loc = loc; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3N0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOztBQUlILE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUU7SUFDekMsSUFBSSxNQUFNLENBQUMsbUJBQW1CLElBQUksTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2xFLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3ZDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDWixDQUFDLENBQUM7QUFFRixhQUFvQixHQUFXLEVBQUUsT0FBYztJQUM3QywyQ0FBMkM7SUFDM0MsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsbURBQW1EO0lBQ2hFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFVLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1FBQ2xFLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFSRCxrQkFRQztBQUVELGFBQW9CLEdBQVcsRUFBRSxPQUFjO0lBQzlDLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckIsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFIRCxrQkFHQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBVdGlsc1xuICpcbiAqL1xuXG5kZWNsYXJlIHZhciB3aW5kb3c6IHsgX19TVFJJTkdfUkVHSVNUUllfXzogYW55IH07XG5cbmNvbnN0IGdldFN0cmluZyA9IChzdHI6IHN0cmluZyk6IHN0cmluZyA9PiB7XG5cdGlmICh3aW5kb3cuX19TVFJJTkdfUkVHSVNUUllfXyAmJiB3aW5kb3cuX19TVFJJTkdfUkVHSVNUUllfX1tzdHJdKSB7XG5cdFx0cmV0dXJuIHdpbmRvdy5fX1NUUklOR19SRUdJU1RSWV9fW3N0cl07XG5cdH1cblx0cmV0dXJuIHN0cjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmbXQoc3RyOiBzdHJpbmcsIGZvcm1hdHM6IGFueVtdKSB7XG4gIC8vIGZpcnN0LCByZXBsYWNlIGFueSBPUkRFUkVEIHJlcGxhY2VtZW50cy5cbiAgbGV0IGlkeCA9IDA7IC8vIHRoZSBjdXJyZW50IGluZGV4IGZvciBub24tbnVtZXJpY2FsIHJlcGxhY2VtZW50c1xuICByZXR1cm4gc3RyLnJlcGxhY2UoLyVAKFswLTldKyk/L2csIChfczogc3RyaW5nLCBhcmdJbmRleDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IGkgPSBhcmdJbmRleCA/IHBhcnNlSW50KGFyZ0luZGV4LCAxMCkgLSAxIDogaWR4Kys7XG4gICAgbGV0IHIgPSBpIDwgZm9ybWF0cy5sZW5ndGggPyBmb3JtYXRzW2ldIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiB0eXBlb2YgciA9PT0gJ3N0cmluZycgPyByIDogciA9PT0gbnVsbCA/ICcobnVsbCknIDogciA9PT0gdW5kZWZpbmVkID8gJycgOiAnJyArIHI7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9jKHN0cjogc3RyaW5nLCBmb3JtYXRzOiBhbnlbXSk6IHN0cmluZyB7XG5cdHN0ciA9IGdldFN0cmluZyhzdHIpO1xuXHRyZXR1cm4gZm10KHN0ciwgZm9ybWF0cyk7XG59XG4iXX0=