Home / File/ events.ts — vue Source File

events.ts — vue Source File

Architecture documentation for events.ts, a typescript file in the vue codebase. 1 imports, 1 dependents.

File typescript VueCore Observer 1 imports 1 dependents 5 functions

Entity Profile

Dependency Diagram

graph LR
  53156b1d_131d_a4d4_4575_daa92ec38378["events.ts"]
  a80b8e3b_d720_9146_3bf6_594d4ee5dd77["compiler"]
  53156b1d_131d_a4d4_4575_daa92ec38378 --> a80b8e3b_d720_9146_3bf6_594d4ee5dd77
  6a18399e_553e_fef8_6a39_746f79f94bd2["index.ts"]
  6a18399e_553e_fef8_6a39_746f79f94bd2 --> 53156b1d_131d_a4d4_4575_daa92ec38378
  style 53156b1d_131d_a4d4_4575_daa92ec38378 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { ASTElementHandler, ASTElementHandlers } from 'types/compiler'

const fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/
const fnInvokeRE = /\([^)]*?\);*$/
const simplePathRE =
  /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/

// KeyboardEvent.keyCode aliases
const keyCodes: { [key: string]: number | Array<number> } = {
  esc: 27,
  tab: 9,
  enter: 13,
  space: 32,
  up: 38,
  left: 37,
  right: 39,
  down: 40,
  delete: [8, 46]
}

// KeyboardEvent.key aliases
const keyNames: { [key: string]: string | Array<string> } = {
  // #7880: IE11 and Edge use `Esc` for Escape key name.
  esc: ['Esc', 'Escape'],
  tab: 'Tab',
  enter: 'Enter',
  // #9112: IE11 uses `Spacebar` for Space key name.
  space: [' ', 'Spacebar'],
  // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.
  up: ['Up', 'ArrowUp'],
  left: ['Left', 'ArrowLeft'],
  right: ['Right', 'ArrowRight'],
  down: ['Down', 'ArrowDown'],
  // #9112: IE11 uses `Del` for Delete key name.
  delete: ['Backspace', 'Delete', 'Del']
}

// #4868: modifiers that prevent the execution of the listener
// need to explicitly return null so that we can determine whether to remove
// the listener for .once
const genGuard = condition => `if(${condition})return null;`

const modifierCode: { [key: string]: string } = {
  stop: '$event.stopPropagation();',
  prevent: '$event.preventDefault();',
  self: genGuard(`$event.target !== $event.currentTarget`),
  ctrl: genGuard(`!$event.ctrlKey`),
  shift: genGuard(`!$event.shiftKey`),
  alt: genGuard(`!$event.altKey`),
  meta: genGuard(`!$event.metaKey`),
  left: genGuard(`'button' in $event && $event.button !== 0`),
  middle: genGuard(`'button' in $event && $event.button !== 1`),
  right: genGuard(`'button' in $event && $event.button !== 2`)
}

export function genHandlers(
  events: ASTElementHandlers,
  isNative: boolean
): string {
  const prefix = isNative ? 'nativeOn:' : 'on:'
// ... (111 more lines)

Domain

Subdomains

Dependencies

  • compiler

Frequently Asked Questions

What does events.ts do?
events.ts is a source file in the vue codebase, written in typescript. It belongs to the VueCore domain, Observer subdomain.
What functions are defined in events.ts?
events.ts defines 5 function(s): genFilterCode, genGuard, genHandler, genHandlers, genKeyFilter.
What does events.ts depend on?
events.ts imports 1 module(s): compiler.
What files import events.ts?
events.ts is imported by 1 file(s): index.ts.
Where is events.ts in the architecture?
events.ts is located at src/compiler/codegen/events.ts (domain: VueCore, subdomain: Observer, directory: src/compiler/codegen).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free