Skip to content

⬅️ Back to Table of Contents

📄 index.ts

📊 Analysis Summary

Metric Count
🔧 Functions 6
📦 Imports 4
📊 Variables & Constants 3
📐 Interfaces 1
📑 Type Aliases 3

📚 Table of Contents

🛠️ File Location:

📂 packages/core/onKeyStroke/index.ts

📦 Imports

Name Source
MaybeRefOrGetter vue
toValue vue
defaultWindow ../_configurable
useEventListener ../useEventListener

Variables & Constants

Name Type Kind Value Exported
key KeyFilter let/var *not shown*
handler (event: KeyboardEvent) => void let/var *not shown*
options OnKeyStrokeOptions let/var {}

Functions

createKeyPredicate(keyFilter: KeyFilter): KeyPredicate

Code
function createKeyPredicate(keyFilter: KeyFilter): KeyPredicate {
  if (typeof keyFilter === 'function')
    return keyFilter

  else if (typeof keyFilter === 'string')
    return (event: KeyboardEvent) => event.key === keyFilter

  else if (Array.isArray(keyFilter))
    return (event: KeyboardEvent) => keyFilter.includes(event.key)

  return () => true
}
  • Parameters:
  • keyFilter: KeyFilter
  • Return Type: KeyPredicate
  • Calls:
  • Array.isArray
  • keyFilter.includes

onKeyStroke(key: KeyFilter, handler: (event: KeyboardEvent) => void, options: OnKeyStrokeOptions): () => void

Code
export function onKeyStroke(key: KeyFilter, handler: (event: KeyboardEvent) => void, options?: OnKeyStrokeOptions): () => void
  • JSDoc:

    /**
     * Listen for keyboard keystrokes.
     *
     * @see https://vueuse.org/onKeyStroke
     */
    

  • Parameters:

  • key: KeyFilter
  • handler: (event: KeyboardEvent) => void
  • options: OnKeyStrokeOptions
  • Return Type: () => void

listener(e: KeyboardEvent): void

Code
(e: KeyboardEvent) => {
    if (e.repeat && toValue(dedupe))
      return

    if (predicate(e))
      handler(e)
  }
  • Parameters:
  • e: KeyboardEvent
  • Return Type: void
  • Calls:
  • toValue (from vue)
  • predicate
  • handler

onKeyDown(key: KeyFilter, handler: (event: KeyboardEvent) => void, options: Omit<OnKeyStrokeOptions, 'eventName'>): () => void

Code
export function onKeyDown(key: KeyFilter, handler: (event: KeyboardEvent) => void, options: Omit<OnKeyStrokeOptions, 'eventName'> = {}) {
  return onKeyStroke(key, handler, { ...options, eventName: 'keydown' })
}
  • JSDoc:

    /**
     * Listen to the keydown event of the given key.
     *
     * @see https://vueuse.org/onKeyStroke
     * @param key
     * @param handler
     * @param options
     */
    

  • Parameters:

  • key: KeyFilter
  • handler: (event: KeyboardEvent) => void
  • options: Omit<OnKeyStrokeOptions, 'eventName'>
  • Return Type: () => void
  • Calls:
  • onKeyStroke

onKeyPressed(key: KeyFilter, handler: (event: KeyboardEvent) => void, options: Omit<OnKeyStrokeOptions, 'eventName'>): () => void

Code
export function onKeyPressed(key: KeyFilter, handler: (event: KeyboardEvent) => void, options: Omit<OnKeyStrokeOptions, 'eventName'> = {}) {
  return onKeyStroke(key, handler, { ...options, eventName: 'keypress' })
}
  • JSDoc:

    /**
     * Listen to the keypress event of the given key.
     *
     * @see https://vueuse.org/onKeyStroke
     * @param key
     * @param handler
     * @param options
     */
    

  • Parameters:

  • key: KeyFilter
  • handler: (event: KeyboardEvent) => void
  • options: Omit<OnKeyStrokeOptions, 'eventName'>
  • Return Type: () => void
  • Calls:
  • onKeyStroke

onKeyUp(key: KeyFilter, handler: (event: KeyboardEvent) => void, options: Omit<OnKeyStrokeOptions, 'eventName'>): () => void

Code
export function onKeyUp(key: KeyFilter, handler: (event: KeyboardEvent) => void, options: Omit<OnKeyStrokeOptions, 'eventName'> = {}) {
  return onKeyStroke(key, handler, { ...options, eventName: 'keyup' })
}
  • JSDoc:

    /**
     * Listen to the keyup event of the given key.
     *
     * @see https://vueuse.org/onKeyStroke
     * @param key
     * @param handler
     * @param options
     */
    

  • Parameters:

  • key: KeyFilter
  • handler: (event: KeyboardEvent) => void
  • options: Omit<OnKeyStrokeOptions, 'eventName'>
  • Return Type: () => void
  • Calls:
  • onKeyStroke

Interfaces

OnKeyStrokeOptions

Interface Code
export interface OnKeyStrokeOptions {
  eventName?: KeyStrokeEventName
  target?: MaybeRefOrGetter<EventTarget | null | undefined>
  passive?: boolean
  /**
   * Set to `true` to ignore repeated events when the key is being held down.
   *
   * @default false
   */
  dedupe?: MaybeRefOrGetter<boolean>
}

Properties

Name Type Optional Description
eventName KeyStrokeEventName
target MaybeRefOrGetter<EventTarget | null | undefined>
passive boolean
dedupe MaybeRefOrGetter<boolean>

Type Aliases

KeyPredicate

type KeyPredicate = (event: KeyboardEvent) => boolean;

KeyFilter

type KeyFilter = true | string | string[] | KeyPredicate;

KeyStrokeEventName

type KeyStrokeEventName = 'keydown' | 'keypress' | 'keyup';