events.ts — vue Source File
Architecture documentation for events.ts, a typescript file in the vue codebase. 1 imports, 1 dependents.
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
Imported By
Source
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