All files / runtime-core/src/compat instanceListeners.ts

88.88% Statements 8/9
50% Branches 2/4
100% Functions 1/1
88.88% Lines 8/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22              1x   1x 1x 1x     1x 2x 2x     1x    
import { isOn } from '@vue/shared'
import type { ComponentInternalInstance } from '../component'
import { DeprecationTypes, assertCompatEnabled } from './compatConfig'
 
export function getCompatListeners(
  instance: ComponentInternalInstance,
): Record<string, Function | Function[]> {
  assertCompatEnabled(DeprecationTypes.INSTANCE_LISTENERS, instance)
 
  const listeners: Record<string, Function | Function[]> = {}
  const rawProps = instance.vnode.props
  Iif (!rawProps) {
    return listeners
  }
  for (const key in rawProps) {
    Eif (isOn(key)) {
      listeners[key[2].toLowerCase() + key.slice(3)] = rawProps[key]
    }
  }
  return listeners
}