UNPKG

ohayolibs

Version:

Ohayo is a set of essential modules for ohayojp.

42 lines (35 loc) 1.57 kB
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { createFakeEvent, createKeyboardEvent, createMouseEvent, createTouchEvent } from './event-objects'; /** Utility to dispatch any event on a Node. */ export function dispatchEvent(node: Node | Window, event: Event): Event { node.dispatchEvent(event); return event; } /** Shorthand to dispatch a fake event on a specified node. */ export function dispatchFakeEvent(node: Node | Window, type: string | Event, canBubble?: boolean): Event { return dispatchEvent(node, typeof type === 'string' ? createFakeEvent(type, canBubble) : type); } /** Shorthand to dispatch a keyboard event with a specified key code. */ export function dispatchKeyboardEvent(node: Node, type: string, keyCode: number, target?: Element): KeyboardEvent { return dispatchEvent(node, createKeyboardEvent(type, keyCode, target)) as KeyboardEvent; } /** Shorthand to dispatch a mouse event on the specified coordinates. */ export function dispatchMouseEvent( node: Node, type: string, x: number = 0, y: number = 0, event: MouseEvent = createMouseEvent(type, x, y), ): MouseEvent { return dispatchEvent(node, event) as MouseEvent; } /** Shorthand to dispatch a touch event on the specified coordinates. */ export function dispatchTouchEvent(node: Node, type: string, x: number = 0, y: number = 0): Event { return dispatchEvent(node, createTouchEvent(type, x, y)); }