{"version":3,"file":"farrapa.mjs","sources":["../src/checkers/index.mjs","../src/numbers/index.mjs","../src/collections/index.mjs","../src/colors/mods.mjs","../src/colors/hex.mjs","../src/commons/index.mjs","../src/encoding/base64.mjs","../src/iter/index.mjs","../src/memoize/index.mjs","../src/objects/index.mjs","../src/pretty-console/index.mjs","../src/promises/index.mjs","../src/strings/index.mjs","../src/url/index.mjs","../src/index.mjs"],"sourcesContent":["function isValidId(id) {\n  try {\n    id = parseInt(id)\n    if (isNaN(id) || id <= 0) {\n      return false\n    }\n  } catch (e) {\n    return false\n  }\n  return true\n}\n\n\nfunction isValidEmail(email) {\n  const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n  return re.test(String(email).toLowerCase());\n}\n\nfunction isValidHostnameOrIp(address) {\n  const re = /((^\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$))|(^\\s*((?=.{1,255}$)(?=.*[A-Za-z].*)[0-9A-Za-z](?:(?:[0-9A-Za-z]|\\b-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|\\b-){0,61}[0-9A-Za-z])?)*)\\s*$)/;\n  return re.test(String(address).toLowerCase());\n}\n\nfunction isValidURL(address) {\n  //const re = /((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=+$,\\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[+~%/.\\w-_]*)?\\??(?:[-+=&;%@.\\w_]*)#?(?:[\\w]*))?)/;\n  const re = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\n  return re.test(String(address).toLowerCase())\n}\n\n\n\n\n\nexport { isValidId, isValidEmail, isValidHostnameOrIp, isValidURL }","function asDecimal(n, d) {\n  if (isNaN(n))\n    n= parseFloat(0)\n  const f = d==undefined\n            ? parseFloat(n)\n            : parseFloat(n).toFixed(d)\n  const parts = f.toString().split(\".\")\n  parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\")\n  return parts.join(\",\")\n}\n\nfunction asPrice(n) {\n  return asDecimal(n, 2)\n}\n\nfunction asPriceWithCurrency(n) {\n  return asPrice(n) + ' €'\n}\n\nfunction parseNum(n) {\n  const f = parseFloat(n)\n  if (isNaN(f))\n    return parseFloat(0)\n  return f\n}\n\n\n\nexport { asDecimal, asPrice, asPriceWithCurrency, parseNum }","import {parseNum}  from '../numbers/index.mjs'\n\nfunction arrayChunk(myArray, chunk_size){\n  let results = [];\n  \n  while (myArray.length) {\n      results.push(myArray.splice(0, chunk_size));\n  }\n  \n  return results;\n}\n\nfunction arraySum(a) {\n  return a.reduce((x,y) => x+y, 0);\n}\n\nfunction arrayRemove (a, element) {\n  let index = a.indexOf(element)\n  if (index > -1) {\n    return a.splice(index, 1)\n  }\n  return []  \n}\n\n\nfunction _deepGet(obj, path) {\n  return path.split('.').reduce(function (prev, curr) {\n    return prev ? prev[curr] : undefined\n  }, obj || self)\n}\n\n\n\nfunction collMatches(coll, params) {\n  const fdata = coll.filter((d) => {\n    const _pflds = Object.keys(params)\n    let valids= 0;\n    let eqs = 0\n    for (const idx in _pflds) {\n      const fld = _pflds[idx]\n      if (d[fld]!=undefined) {\n        valids += 1\n        if (d[fld] == params[fld]) {\n          eqs += 1\n        } else {\n          if (Array.isArray(params[fld])) {\n            if (params[fld].indexOf(d[fld])>=0) {\n              eqs += 1\n            }\n          }\n        }\n      }\n    }\n    return (eqs == valids)\n  })\n  return fdata\n}\n\n\nfunction collSort(coll, by, order) {\n  if (by==undefined) {\n    return coll\n  }\n  const ft = order=='desc' ? -1 : 1\n  return coll.slice().sort(function (a, b) {\n    /*\n    const fa = a[by].toLowerCase(), fb = b[by].toLowerCase()\n    if (fa < fb) //sort string ascending\n      return -1 * ft\n    if (fa > fb)\n      return 1 * ft\n    return 0 //default return value (no sorting)\n    */\n   //return (a[by]-b[by])*ft\n   let av,bv\n\n   if (typeof by == 'object') {\n    \n    av = _deepGet(a, by.field)\n    bv = _deepGet(b, by.field)\n    av= by.map[av] || ''\n    bv= by.map[bv] || ''\n   } else if (typeof by == 'function') {\n    av = by(a) || ''\n    bv = by(b) || ''\n   } else {\n    av = _deepGet(a, by)\n    bv = _deepGet(b, by)\n   }\n   if (typeof av == 'string' && typeof bv == 'string') {\n     av= av.toLowerCase()\n     bv= bv.toLowerCase()\n   }\n\n    if (av < bv) //sort string ascending\n      return -1 * ft\n    if (av > bv)\n      return 1 * ft\n    return 0\n  })  \n}\n\n/*\nhttps://stackoverflow.com/a/10124053\n\n(function(){\n  if (typeof Object.defineProperty === 'function'){\n    try{Object.defineProperty(Array.prototype,'sortBy',{value:sb}); }catch(e){}\n  }\n  if (!Array.prototype.sortBy) Array.prototype.sortBy = sb;\n\n  function sb(f){\n    for (var i=this.length;i;){\n      var o = this[--i];\n      this[i] = [].concat(f.call(o,o,i),o);\n    }\n    this.sort(function(a,b){\n      for (var i=0,len=a.length;i<len;++i){\n        if (a[i]!=b[i]) return a[i]<b[i]?-1:1;\n      }\n      return 0;\n    });\n    for (var i=this.length;i;){\n      this[--i]=this[i][this[i].length-1];\n    }\n    return this;\n  }\n})();\n\n*/\n\n\nfunction collMaxBy(coll, fld) {\n  let m= -99999;\n  coll.map((c) => {\n    if (c[fld]!=undefined)\n      m= Math.max(m, c[fld])\n  })\n  return coll.find((c) => c[fld]==m)\n}\n\nfunction collTotalBy(arr, field) {\n  let f = parseFloat(0)\n  arr.map((d) => {\n    f += parseNum(d[field])\n  })\n  return f\n}\n\nexport { arrayChunk, arraySum, arrayRemove, collMatches, collSort, collMaxBy, collTotalBy}","function isTooDark(col) {\n  try {\n    const c = col.substring(1);   // strip #\n    const rgb = parseInt(c, 16);  // convert rrggbb to decimal\n    const r = (rgb >> 16) & 0xff; // extract red\n    const g = (rgb >> 8) & 0xff;  // extract green\n    const b = (rgb >> 0) & 0xff;  // extract blue\n    const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709\n\n    if (luma < 42) {\n      return true\n    }\n  } catch (e) {}\n  return false\n}\n\n\nfunction shadeColor(color, percent) {\n  const f = parseInt(color.slice(1), 16), t = percent < 0 ? 0 : 255, p = percent < 0 ? percent * -1 : percent, R = f >> 16, G = f >> 8 & 0x00FF, B = f & 0x0000FF;\n  return \"#\" + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1);\n}\n\nfunction blendColors(c0, c1, p) {\n  const f = parseInt(c0.slice(1), 16), t = parseInt(c1.slice(1), 16), R1 = f >> 16, G1 = f >> 8 & 0x00FF, B1 = f & 0x0000FF, R2 = t >> 16, G2 = t >> 8 & 0x00FF, B2 = t & 0x0000FF;\n  return \"#\" + (0x1000000 + (Math.round((R2 - R1) * p) + R1) * 0x10000 + (Math.round((G2 - G1) * p) + G1) * 0x100 + (Math.round((B2 - B1) * p) + B1)).toString(16).slice(1);\n}\n\n\n\nexport { isTooDark, \n         shadeColor, \n         blendColors\n        }","\nfunction hslToHex(h, s, l) {\n  h /= 360;\n  s /= 100;\n  l /= 100;\n  let r, g, b;\n  if (s === 0) {\n    r = g = b = l; // achromatic\n  } else {\n    const hue2rgb = (p, q, t) => {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    };\n    const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n    const p = 2 * l - q;\n    r = hue2rgb(p, q, h + 1 / 3);\n    g = hue2rgb(p, q, h);\n    b = hue2rgb(p, q, h - 1 / 3);\n  }\n  const toHex = x => {\n    const hex = Math.round(x * 255).toString(16);\n    return hex.length === 1 ? '0' + hex : hex;\n  };\n  return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nfunction randomHex() {\n  return '#'+(Math.random()*0xFFFFFF<<0).toString(16)\n}\n\nexport {hslToHex, randomHex}","const uvl = (v1, v2) => {\n  return v1!=undefined ? v1 : v2\n}\n\nexport {uvl}","const b64toBlob = (b64Data, contentType = '', sliceSize = 512) => {\n  const byteCharacters = atob(b64Data);\n  const byteArrays = [];\n\n  for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n    const slice = byteCharacters.slice(offset, offset + sliceSize);\n\n    const byteNumbers = new Array(slice.length);\n    for (let i = 0; i < slice.length; i++) {\n      byteNumbers[i] = slice.charCodeAt(i);\n    }\n\n    const byteArray = new Uint8Array(byteNumbers);\n\n    byteArrays.push(byteArray);\n  }\n\n  const blob = new Blob(byteArrays, { type: contentType });\n  return blob;\n}\n\nfunction uint8arrayToBase64(bytes) {\n  let base64    = ''\n  let encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\n  let byteLength    = bytes.byteLength\n  let byteRemainder = byteLength % 3\n  let mainLength    = byteLength - byteRemainder\n\n  let a, b, c, d\n  let chunk\n\n  // Main loop deals with bytes in chunks of 3\n  for (let i = 0; i < mainLength; i = i + 3) {\n    // Combine the three bytes into a single integer\n    chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]\n\n    // Use bitmasks to extract 6-bit segments from the triplet\n    a = (chunk & 16515072) >> 18 // 16515072 = (2^6 - 1) << 18\n    b = (chunk & 258048)   >> 12 // 258048   = (2^6 - 1) << 12\n    c = (chunk & 4032)     >>  6 // 4032     = (2^6 - 1) << 6\n    d = chunk & 63               // 63       = 2^6 - 1\n\n    // Convert the raw binary segments to the appropriate ASCII encoding\n    base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]\n  }\n\n  // Deal with the remaining bytes and padding\n  if (byteRemainder == 1) {\n    chunk = bytes[mainLength]\n\n    a = (chunk & 252) >> 2 // 252 = (2^6 - 1) << 2\n\n    // Set the 4 least significant bits to zero\n    b = (chunk & 3)   << 4 // 3   = 2^2 - 1\n\n    base64 += encodings[a] + encodings[b] + '=='\n  } else if (byteRemainder == 2) {\n    chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]\n\n    a = (chunk & 64512) >> 10 // 64512 = (2^6 - 1) << 10\n    b = (chunk & 1008)  >>  4 // 1008  = (2^6 - 1) << 4\n\n    // Set the 2 least significant bits to zero\n    c = (chunk & 15)    <<  2 // 15    = 2^4 - 1\n\n    base64 += encodings[a] + encodings[b] + encodings[c] + '='\n  }\n  \n  return base64\n}\n\nfunction arrayBufferToBase64(arrayBuffer) {\n  let bytes = new Uint8Array(arrayBuffer)\n  return uint8arrayToBase64(bytes)\n}\n\nfunction b64Size(base64) {\n  if (base64==undefined) {\n    return 0\n  }\n  try {\n    return ((4 * base64.length / 3) + 3) & ~3\n  } catch(e) {\n    return base64.length\n  }\n}\n\n/*\nconst b64Size = (b64String) => {\n  try {\n    return parseInt((b64String).replace(/=/g,\"\").length * 0.75)\n  } catch(e) {\n    return b64String.length\n  }\n}\n*/\n\nexport { b64toBlob, uint8arrayToBase64, arrayBufferToBase64, b64Size }","function range(f, t) {\n  if (t==undefined) {\n    t= f-1\n    f= 0\n  }\n  let r = []\n  for (let i = f; i <= t; i++) {\n    r.push(i)\n  }\n  return r\n}\n\n\nexport { range }","\n// function hashCode(str) {\n//   let hash = 0, i, chr, len;\n//   if (str.length === 0) return hash;\n//   for (i = 0, len = str.length; i < len; i++) {\n//     chr = str.charCodeAt(i);\n//     hash = ((hash << 5) - hash) + chr;\n//     hash |= 0; // Convert to 32bit integer\n//   }\n//   return hash\n// }\n\n\nconst memoize = function(target, key, descriptor) {\n  const fType = descriptor.get ? 'get' : 'value';\n  const fn = descriptor[fType];\n  const char0 = String.fromCharCode(0);\n  const memoizedCache = '_memo' //Symbol.for('memoizedCache');\n\n  descriptor[fType] = function() {\n    this[memoizedCache] = this[memoizedCache] || Object.create(null);\n    let cacheKey = key;\n\n    for (const arg of arguments) {\n      const type = typeof arg;\n\n      cacheKey += char0 + (\n        (arg  === null)                     ? 'null'              :\n        (arg  === void 0)                   ? 'undefined'         :\n        (type === 'function')               ? arg                 :\n        (type === 'object' && arg.id)       ? arg.id              :\n        //(type === 'object' && arg.hashCode) ? arg.hashCode()      :\n        (type === 'object')                 ? JSON.stringify(arg) :\n        arg\n      );\n    }\n\n    if (!(cacheKey in this[memoizedCache])) {\n      this[memoizedCache][cacheKey] = fn.apply(this, arguments);\n    }\n\n    return this[memoizedCache][cacheKey];\n  };\n\n  return descriptor;\n};\n\nexport {memoize}\n\n/*\n\nhttps://github.com/linusnorton/memoized-decorator/blob/master/index.js\n\nmodule.exports = function(target, key, descriptor) {\n  const fType = descriptor.get ? 'get' : 'value';\n  const fn = descriptor[fType];\n  const char0 = String.fromCharCode(0);\n  const memoizedCache = Symbol.for('memoizedCache');\n\n  descriptor[fType] = function() {\n    this[memoizedCache] = this[memoizedCache] || Object.create(null);\n    let cacheKey = key;\n\n    for (const arg of arguments) {\n      const type = typeof arg;\n\n      cacheKey += char0 + (\n        (arg  === null)                     ? 'null'              :\n        (arg  === void 0)                   ? 'undefined'         :\n        (type === 'function')               ? arg                 :\n        (type === 'object' && arg.id)       ? arg.id              :\n        (type === 'object' && arg.hashCode) ? arg.hashCode()      :\n        (type === 'object')                 ? JSON.stringify(arg) :\n        arg\n      );\n    }\n\n    if (!(cacheKey in this[memoizedCache])) {\n      this[memoizedCache][cacheKey] = fn.apply(this, arguments);\n    }\n\n    return this[memoizedCache][cacheKey];\n  };\n\n  return descriptor;\n};\n\n*/","const isEmptyObject = (o) =>\n  Object.keys(o).length === 0 && o.constructor === Object\n\nfunction objFilter(obj, func) {\n  let isNum= true\n  Object.keys(obj).map((k) => {\n    if (isNaN(parseInt(k))) {\n      isNum= false\n      return\n    }\n  })\n  const parseK = (k) => isNum ? parseInt(k) : k\n  let out= {}\n  Object.keys(obj)\n        .filter((key) => func(parseK(key), obj[key]))\n        .map((key) => out[parseK(key)]= obj[key])\n  return out\n}\n\n\nfunction objClone (obj) {\n  let copy\n\n  // Handle the 3 simple types, and null or undefined\n  if (null == obj || 'object' != typeof obj) return obj\n\n  // Handle Date\n  if (obj instanceof Date) {\n    copy = new Date()\n    copy.setTime(obj.getTime())\n    return copy\n  }\n\n  // Handle Array\n  if (obj instanceof Array) {\n    copy = []\n    for (let i = 0, len = obj.length; i < len; i++) {\n      copy[i] = objClone(obj[i])\n    }\n    return copy\n  }\n\n  // Handle Object\n  if (obj instanceof Object) {\n    copy = {}\n    for (let attr in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, attr)) copy[attr] = objClone(obj[attr])\n    }\n    return copy\n  }\n\n  throw new Error('Unable to copy obj! Its type isn\\'t supported')\n}\n\nfunction objAreEqual () {\n  /**\n   * https://stackoverflow.com/questions/1068834/object-comparison-in-javascript\n   */\n  let i, l, leftChain, rightChain;\n\n  function compare2Objects (x, y) {\n    let p;\n\n    // remember that NaN === NaN returns false\n    // and isNaN(undefined) returns true\n    if (isNaN(x) && isNaN(y) && typeof x === 'number' && typeof y === 'number') {\n      return true\n    }\n\n    // Compare primitives and functions.     \n    // Check if both arguments link to the same object.\n    // Especially useful on the step where we compare prototypes\n    if (x === y) {\n      return true\n    }\n\n    // Works in case when functions are created in constructor.\n    // Comparing dates is a common scenario. Another built-ins?\n    // We can even handle functions passed across iframes\n    if ((typeof x === 'function' && typeof y === 'function') ||\n       (x instanceof Date && y instanceof Date) ||\n       (x instanceof RegExp && y instanceof RegExp) ||\n       (x instanceof String && y instanceof String) ||\n       (x instanceof Number && y instanceof Number)) {\n        return x.toString() === y.toString()\n    }\n\n    // At last checking prototypes as good as we can\n    if (!(x instanceof Object && y instanceof Object)) {\n      return false\n    }\n    \n    if ((Object.prototype.isPrototypeOf.call(x, y)) | (Object.prototype.hasOwnProperty.call(y, x))) {\n      return false\n    }\n\n    if (x.constructor !== y.constructor) {\n      return false\n    }\n\n    if (x.prototype !== y.prototype) {\n      return false\n    }\n\n    // Check for infinitive linking loops\n    if (leftChain.indexOf(x) > -1 || rightChain.indexOf(y) > -1) {\n      return false\n    }\n\n    // Quick checking of one object being a subset of another.\n    // todo: cache the structure of arguments[0] for performance\n    for (p in y) {\n      if (Object.prototype.hasOwnProperty.call(y, p) !== Object.prototype.hasOwnProperty.call(x, p)) {\n        return false\n      }\n      else if (typeof y[p] !== typeof x[p]) {\n        return false\n      }\n    }\n\n    for (p in x) {\n      if (Object.prototype.hasOwnProperty.call(y, p) !== Object.prototype.hasOwnProperty.call(x, p)) {\n        return false\n      }\n      else if (typeof y[p] !== typeof x[p]) {\n        return false\n      }\n\n      switch (typeof (x[p])) {\n        case 'object':\n        case 'function':\n\n          leftChain.push(x)\n          rightChain.push(y)\n\n          if (!compare2Objects (x[p], y[p])) {\n              return false;\n          }\n\n          leftChain.pop()\n          rightChain.pop()\n          break;\n\n        default:\n          if (x[p] !== y[p]) {\n              return false\n          }\n          break\n      }\n    }\n\n    return true\n  }\n\n  if (arguments.length < 1) {\n    return true //Die silently? Don't know how to handle such case, please help...\n    // throw \"Need two or more arguments to compare\";\n  }\n\n  for (i = 1, l = arguments.length; i < l; i++) {\n\n    leftChain = [] //Todo: this can be cached\n    rightChain = []\n\n    if (!compare2Objects(arguments[0], arguments[i])) {\n        return false\n    }\n  }\n\n  return true\n}\n\n\nexport {isEmptyObject, objFilter, objClone, objAreEqual}","import {magenta, cyan, blue, white, yellow, red} from 'tinguir'\n\nfunction logger(color) {\n  return function() {\n    // Get arguments without deoptimizing v8\n    const args = []\n    for (let i = 0; i < arguments.length; i++) {\n      args.push(arguments[i])\n    }\n    const sargs=args.join(' ')\n    const time= (new Date()).toString().substr(4, 20)\n    console.log(time +': ' + color(sargs))\n  }\n}\n\nconsole.silly   = logger(magenta).bind(console)\nconsole.debug   = logger(cyan   ).bind(console)\nconsole.verbose = logger(blue   ).bind(console)\nconsole.info    = logger(white  ).bind(console)\nconsole.warn    = logger(yellow ).bind(console)\nconsole.error   = logger(red    ).bind(console)\n","function sleep(ms) {\n  return new Promise(resolve => setTimeout(resolve(), ms));\n}\n\n\nexport { sleep }","function lpad(n, width, z) {\n  z = z || '0';\n  n = n + '';\n  return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;\n}\n\nfunction ltrim(s) {\n  return s.replace(/^\\s+/,\"\");\n}\n\n// based on https://stackoverflow.com/a/18123682/1141611\n// not complete, but probably good enough\nfunction slugify(str) {\n  return str\n      .replace(/[ÀÁÂÃÄÅàáâãäåæÆ]/g, 'a')\n      .replace(/[çÇ]/g, 'c')\n      .replace(/[ðÐ]/g, 'd')\n      .replace(/[ÈÉÊËéèêë]/g, 'e')\n      .replace(/[ÏïÎîÍíÌì]/g, 'i')\n      .replace(/[Ññ]/g, 'n')\n      .replace(/[øØœŒÕõÔôÓóÒò]/g, 'o')\n      .replace(/[ÜüÛûÚúÙù]/g, 'u')\n      .replace(/[ŸÿÝý]/g, 'y')\n      .replace(/[^a-z0-9- ]/gi, '')\n      .replace(/ /gi, '-')\n      .toLowerCase();\n}\n\nfunction hashFromString(s) {\n  let hash = 0, i, chr;\n  for (i = 0; i < s.length; i++) {\n    chr   = s.charCodeAt(i);\n    hash  = ((hash << 5) - hash) + chr;\n    hash |= 0; // Convert to 32bit integer\n  }\n  return hash;\n}\n\nfunction toTitleCase(str) {\n  return str.replace(\n    /\\w*/g,\n    function(txt) {\n      return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n    }\n  );\n}\n\n\nexport {lpad, ltrim, slugify, hashFromString, toTitleCase}","function queryStringToJson(url) {     \n  let search= url.indexOf('?')>=0 ? url.substr(url.indexOf('?')) : ''\n  if (search && search!='?') {\n    let pairs = search.slice(1).split('&')\n    \n    let result = {}\n    pairs.forEach(function(pair) {\n        pair = pair.split('=')\n        const name= pair[0]\n        const value= pair[1]\n\n        // Replace '+' with space and decode URI component\n        // If you want to pass '+'in the query string, you can encode it as '%2B'\n        ///   value.replace(/\\+/g, '%2B')\n        result[name] = decodeURIComponent((value || '').replace(/\\+/g, ' '))\n    })\n    return JSON.parse(JSON.stringify(result))\n  }\n  return {}\n}\n\n\nexport {queryStringToJson}\n","import * as checkers from './checkers/index.mjs'\nimport * as collections from './collections/index.mjs'\nimport * as colors from './colors/index.mjs'\nimport * as commons from './commons/index.mjs'\nimport * as encoding from './encoding/index.mjs'\nimport * as iter from './iter/index.mjs'\nimport * as memoize from './memoize/index.mjs'\nimport * as numbers from './numbers/index.mjs'\nimport * as objects from './objects/index.mjs'\nimport * as pretty_console from './pretty-console/index.mjs'\nimport * as promises from './promises/index.mjs'\nimport * as strings from './strings/index.mjs'\nimport * as url from './url/index.mjs'\n\nconst all= {\n  ...checkers,\n  ...collections,\n  ...colors,\n  ...commons,\n  ...encoding,\n  ...iter,\n  ...memoize,\n  ...numbers,\n  ...objects,\n  ...pretty_console,\n  ...promises,\n  ...strings,\n  ...url,  \n}\n\nmodule.exports= all"],"names":["isValidId","id","parseInt","isNaN","e","isValidEmail","email","re","test","String","toLowerCase","isValidHostnameOrIp","address","isValidURL","asDecimal","n","d","parseFloat","f","undefined","toFixed","parts","toString","split","replace","join","asPrice","asPriceWithCurrency","parseNum","arrayChunk","myArray","chunk_size","results","length","push","splice","arraySum","a","reduce","x","y","arrayRemove","element","index","indexOf","_deepGet","obj","path","prev","curr","self","collMatches","coll","params","fdata","filter","_pflds","Object","keys","valids","eqs","idx","fld","Array","isArray","collSort","by","order","ft","slice","sort","b","av","bv","field","map","collMaxBy","m","c","Math","max","find","collTotalBy","arr","isTooDark","col","substring","rgb","r","g","luma","shadeColor","color","percent","t","p","R","G","B","round","blendColors","c0","c1","R1","G1","B1","R2","G2","B2","hslToHex","h","s","l","hue2rgb","q","toHex","hex","concat","randomHex","random","uvl","v1","v2","b64toBlob","b64Data","contentType","arguments","sliceSize","byteCharacters","atob","byteArrays","offset","byteNumbers","i","charCodeAt","byteArray","Uint8Array","blob","Blob","type","uint8arrayToBase64","bytes","base64","encodings","byteLength","byteRemainder","mainLength","chunk","arrayBufferToBase64","arrayBuffer","b64Size","range","memoize","target","key","descriptor","fType","get","fn","char0","fromCharCode","memoizedCache","create","cacheKey","arg","JSON","stringify","apply","isEmptyObject","o","constructor","objFilter","func","isNum","k","parseK","out","objClone","copy","Date","setTime","getTime","len","attr","prototype","hasOwnProperty","call","Error","objAreEqual","leftChain","rightChain","compare2Objects","RegExp","Number","isPrototypeOf","pop","logger","args","sargs","time","substr","console","log","silly","magenta","bind","debug","cyan","verbose","blue","info","white","warn","yellow","error","red","sleep","ms","Promise","resolve","setTimeout","lpad","width","z","ltrim","slugify","str","hashFromString","hash","chr","toTitleCase","txt","charAt","toUpperCase","queryStringToJson","url","search","pairs","result","forEach","pair","name","value","decodeURIComponent","parse","all","_objectSpread","checkers","collections","colors","commons","encoding","iter","numbers","objects","pretty_console","promises","strings","module","exports"],"mappings":"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"}