Skip to content

⬅️ 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