Skip to content

⬅️ Back to Table of Contents

📄 index.ts

📊 Analysis Summary

Metric Count
🔧 Functions 1
📦 Imports 8
📊 Variables & Constants 1
🟢 Vue Composition API 1
📑 Type Aliases 1

📚 Table of Contents

🛠️ File Location:

📂 packages/shared/refDebounced/index.ts

📦 Imports

Name Source
MaybeRefOrGetter vue
Ref vue
DebounceFilterOptions ../utils
deepRef vue
shallowReadonly vue
toValue vue
watch vue
useDebounceFn ../useDebounceFn

Variables & Constants

Name Type Kind Value Exported
debounced Ref<T> const deepRef(toValue(value)) as Ref<T>

Vue Composition API

Name Type Reactive Variables Composables
watch watch none none

Functions

refDebounced(value: Ref<T>, ms: MaybeRefOrGetter<number>, options: DebounceFilterOptions): RefDebouncedReturn<T>

Code
export function refDebounced<T>(value: Ref<T>, ms: MaybeRefOrGetter<number> = 200, options: DebounceFilterOptions = {}): RefDebouncedReturn<T> {
  const debounced = deepRef(toValue(value)) as Ref<T>

  const updater = useDebounceFn(() => {
    debounced.value = value.value
  }, ms, options)

  watch(value, () => updater())

  return shallowReadonly(debounced)
}
  • JSDoc:

    /**
     * Debounce updates of a ref.
     *
     * @return A new debounced ref.
     */
    

  • Parameters:

  • value: Ref<T>
  • ms: MaybeRefOrGetter<number>
  • options: DebounceFilterOptions
  • Return Type: RefDebouncedReturn<T>
  • Calls:
  • deepRef (from vue)
  • toValue (from vue)
  • useDebounceFn (from ../useDebounceFn)
  • watch (from vue)
  • updater
  • shallowReadonly (from vue)

Type Aliases

RefDebouncedReturn<T = any = any>

type RefDebouncedReturn<T = any = any> = Readonly<Ref<T>>;