保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { vsprintf } from 'printj'
 
const FORMAT_ARGS = [
  ['additional', 5],
  ['message', 4],
  ['type', 2],
  ['date', 1],
  ['tag', 3]
] // .sort((a, b) => b[0].length - a[0].length)
 
const _compileCache = {}
// process.on('beforeExit', () => { console.log(_compileCache) })
 
export function compileFormat (format) {
  if (_compileCache[format]) {
    return _compileCache[format]
  }
 
  let _format = format
  for (const arg of FORMAT_ARGS) {
    _format = _format.replace(new RegExp('([%-])' + arg[0], 'g'), '$1' + arg[1])
  }
 
  _compileCache[format] = _format
  return _format
}
 
export function formatString (format, argv) {
  return vsprintf(compileFormat(format), argv)
}