UNPKG

locize-lastused

Version:

Using API lastUsed using in node.js, in the browser and for deno.

47 lines 1.33 kB
var arr = []; var each = arr.forEach; var slice = arr.slice; export function defaults(obj) { each.call(slice.call(arguments, 1), function (source) { if (source) { for (var prop in source) { if (obj[prop] === undefined) obj[prop] = source[prop]; } } }); return obj; } export function debounce(func, wait, immediate) { var timeout; return function () { var context = this; var args = arguments; var later = function later() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; } export function isMissingOption(obj, props) { return props.reduce(function (mem, p) { if (mem) return mem; if (!obj || !obj[p] || typeof obj[p] !== 'string' || !obj[p].toLowerCase() === p.toLowerCase()) { var err = "i18next-lastused :: got \"".concat(obj[p], "\" in options for ").concat(p, " which is invalid."); console.warn(err); return err; } return false; }, false); } export function replaceIn(str, arr, options) { var ret = str; arr.forEach(function (s) { var regexp = new RegExp("{{".concat(s, "}}"), 'g'); ret = ret.replace(regexp, options[s]); }); return ret; }