📄 useToNumber¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 1 |
| 📦 Imports | 4 |
| 🟢 Vue Composition API | 1 |
| 📐 Interfaces | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/shared/useToNumber/index.ts
📦 Imports¶
| Name | Source |
|---|---|
ComputedRef |
vue |
MaybeRefOrGetter |
vue |
computed |
vue |
toValue |
vue |
Vue Composition API¶
| Name | Type | Reactive Variables | Composables |
|---|---|---|---|
computed |
computed | none | none |
Functions¶
useToNumber(value: MaybeRefOrGetter<number | string>, options: UseToNumberOptions): ComputedRef<number>¶
Reactively convert a string ref to number.
Tags: @__NO_SIDE_EFFECTS__
Calls:
computed (from vue)toValue (from vue)methodcomplex_call_1075Number.isNaN
Code
export function useToNumber(
value: MaybeRefOrGetter<number | string>,
options: UseToNumberOptions = {},
): ComputedRef<number> {
const {
method = 'parseFloat',
radix,
nanToZero,
} = options
return computed(() => {
let resolved = toValue(value)
if (typeof method === 'function')
resolved = method(resolved)
else if (typeof resolved === 'string')
resolved = Number[method](resolved, radix)
if (nanToZero && Number.isNaN(resolved))
resolved = 0
return resolved
})
}
Interfaces¶
UseToNumberOptions¶
Interface Code
export interface UseToNumberOptions {
/**
* Method to use to convert the value to a number.
*
* Or a custom function for the conversion.
*
* @default 'parseFloat'
*/
method?: 'parseFloat' | 'parseInt' | ((value: string | number) => number)
/**
* The base in mathematical numeral systems passed to `parseInt`.
* Only works with `method: 'parseInt'`
*/
radix?: number
/**
* Replace NaN with zero
*
* @default false
*/
nanToZero?: boolean
}
Properties¶
| Name | Type | Optional | Description |
|---|---|---|---|
method |
'parseFloat' \| 'parseInt' \| ((value: string \| number) => number) |
✓ | not shown |
radix |
number |
✓ | not shown |
nanToZero |
boolean |
✓ | not shown |
Generated by Syntax Scribe