export function formatString()

in fuse-ui-shared/i18n/index.ts [33:61]


export function formatString(fmt: string, ...args: any[]): string {
  if (args.length === 0) {
    return fmt;
  }

  let match = templateRegex.exec(fmt);
  let cur = 0;
  let sb = [];
  while (match) {
    if (match.index > cur) {
      sb.push(fmt.substr(cur, match.index - cur));
    }
    const arg = args[parseInt(match[1], 10)];
    if (_.isDate(arg)) {
      sb.push(arg.toISOString());
    } else {
      sb.push(arg);
    }
    cur = match.index + match[0].length;
    match = templateRegex.exec(fmt);
  }
  templateRegex.lastIndex = 0;

  if (cur < fmt.length) {
    sb.push(fmt.substr(cur));
  }

  return sb.join('');
}