CoolFace
Apppublic

strong-tie/inbound-calls

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
1'use strict'2function tryStringify (o) {3  try { return JSON.stringify(o) } catch(e) { return '"[Circular]"' }4}5 6module.exports = format7 8function format(f, args, opts) {9  var ss = (opts && opts.stringify) || tryStringify10  var offset = 111  if (typeof f === 'object' && f !== null) {12    var len = args.length + offset13    if (len === 1) return f14    var objects = new Array(len)15    objects[0] = ss(f)16    for (var index = 1; index < len; index++) {17      objects[index] = ss(args[index])18    }19    return objects.join(' ')20  }21  if (typeof f !== 'string') {22    return f23  }24  var argLen = args.length25  if (argLen === 0) return f26  var str = ''27  var a = 1 - offset28  var lastPos = -129  var flen = (f && f.length) || 030  for (var i = 0; i < flen;) {31    if (f.charCodeAt(i) === 37 && i + 1 < flen) {32      lastPos = lastPos > -1 ? lastPos : 033      switch (f.charCodeAt(i + 1)) {34        case 100: // 'd'35        case 102: // 'f'36          if (a >= argLen)37            break38          if (args[a] == null)  break39          if (lastPos < i)40            str += f.slice(lastPos, i)41          str += Number(args[a])42          lastPos = i + 243          i++44          break45        case 105: // 'i'46          if (a >= argLen)47            break48          if (args[a] == null)  break49          if (lastPos < i)50            str += f.slice(lastPos, i)51          str += Math.floor(Number(args[a]))52          lastPos = i + 253          i++54          break55        case 79: // 'O'56        case 111: // 'o'57        case 106: // 'j'58          if (a >= argLen)59            break60          if (args[a] === undefined) break61          if (lastPos < i)62            str += f.slice(lastPos, i)63          var type = typeof args[a]64          if (type === 'string') {65            str += '\'' + args[a] + '\''66            lastPos = i + 267            i++68            break69          }70          if (type === 'function') {71            str += args[a].name || '<anonymous>'72            lastPos = i + 273            i++74            break75          }76          str += ss(args[a])77          lastPos = i + 278          i++79          break80        case 115: // 's'81          if (a >= argLen)82            break83          if (lastPos < i)84            str += f.slice(lastPos, i)85          str += String(args[a])86          lastPos = i + 287          i++88          break89        case 37: // '%'90          if (lastPos < i)91            str += f.slice(lastPos, i)92          str += '%'93          lastPos = i + 294          i++95          a--96          break97      }98      ++a99    }100    ++i101  }102  if (lastPos === -1)103    return f104  else if (lastPos < flen) {105    str += f.slice(lastPos)106  }107 108  return str109}110