Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/graphql-toolset / src / loggerMock.ts
Size: Mime:
import { LogMapKeyType, LogMapType } from './typings'

const KEY_LIST = Object.freeze([
  'info',
  'warn',
  'error',
  'debug',
]) as LogMapKeyType[]

export const toMockLogger = () => {
  /**
   * @todo initialize on access
   */
  const logMap: LogMapType = new Map()
  KEY_LIST.forEach(key => {
    logMap.set(key, new Set())
  })

  const mockLogger = {
    logMap,
    info: (...args: any[]) => {
      logMap.get('info').add(args)
    },
    warn: (...args: any[]) => {
      logMap.get('warn').add(args)
    },
    error: (...args: any[]) => {
      logMap.get('error').add(args)
    },
    debug: (...args: any[]) => {
      logMap.get('debug').add(args)
    },
  }
  return mockLogger
}