⬅️ Back to Table of Contents
📄 index.ts
📊 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>
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
})
}
-
JSDoc:
/**
* Reactively convert a string ref to number.
*/
-
Parameters:
value: MaybeRefOrGetter<number | string>
options: UseToNumberOptions
- Return Type:
ComputedRef<number>
- Calls:
computed (from vue)
toValue (from vue)
method
complex_call_1048
Number.isNaN
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) |
✓ |
|
radix |
number |
✓ |
|
nanToZero |
boolean |
✓ |
|