function Log()

in packages/react/src/reconciler.ts [11:37]


function Log(target: any) {

  function decorate<F extends (...args: any[]) => any>(label: string, fn: F): F {
    const decoratedFn = (...args: any[]) => {
      console.group(label, args)
      const val = fn(...args)
      const primitive = isPrimitive(val)
      if (primitive) {
        console.groupCollapsed(`return ${val?.toString()}`)
      } else {
        console.groupCollapsed('return')
      }
      console.info(val)
      console.groupEnd()
      console.groupEnd()
      return val
    }
    return decoratedFn as unknown as F
  }

  Object.keys(target).forEach(key => {
    const fn = target[key]
    if (typeof fn === 'function') {
      target[key] = decorate(key, fn)
    }
  })
}