vue3-core/packages/runtime-core/src/helpers/toHandlers.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

26 lines
596 B
TypeScript
Raw Normal View History

import { isObject, toHandlerKey } from '@vue/shared'
2019-09-25 08:51:48 +08:00
import { warn } from '../warning'
/**
* For prefixing keys in v-on="obj" with "on"
* @private
*/
export function toHandlers(
obj: Record<string, any>,
preserveCaseIfNecessary?: boolean,
): Record<string, any> {
2019-09-25 08:51:48 +08:00
const ret: Record<string, any> = {}
if (__DEV__ && !isObject(obj)) {
warn(`v-on with no argument expects an object value.`)
return ret
}
for (const key in obj) {
ret[
preserveCaseIfNecessary && /[A-Z]/.test(key)
? `on:${key}`
: toHandlerKey(key)
] = obj[key]
2019-09-25 08:51:48 +08:00
}
return ret
}