getCurrentInstance,
callWithAsyncErrorHandling
} from '@vue/runtime-core'
-import { isObject } from '@vue/shared'
+import { isObject, toNumber } from '@vue/shared'
import { ErrorCodes } from 'packages/runtime-core/src/errorHandling'
const TRANSITION = 'transition'
if (duration == null) {
return null
} else if (isObject(duration)) {
- return [toNumber(duration.enter), toNumber(duration.leave)]
+ return [NumberOf(duration.enter), NumberOf(duration.leave)]
} else {
- const n = toNumber(duration)
+ const n = NumberOf(duration)
return [n, n]
}
}
-function toNumber(val: unknown): number {
- const res = Number(val || 0)
+function NumberOf(val: unknown): number {
+ const res = toNumber(val)
if (__DEV__) validateDuration(res)
return res
}
warn
} from '@vue/runtime-core'
import { addEventListener } from '../modules/events'
-import { isArray, looseEqual, looseIndexOf, invokeArrayFns } from '@vue/shared'
+import {
+ isArray,
+ looseEqual,
+ looseIndexOf,
+ invokeArrayFns,
+ toNumber
+} from '@vue/shared'
type AssignerFn = (value: any) => void
el.dispatchEvent(e)
}
-function toNumber(val: string): number | string {
- const n = parseFloat(val)
- return isNaN(n) ? val : n
-}
-
type ModelDirective<T> = ObjectDirective<T & { _assign: AssignerFn }>
// We are exporting the v-model runtime directly as vnode hooks so that it can