refactor(runtime-vapor): tweak types

This commit is contained in:
三咲智子 Kevin Deng 2024-02-27 16:46:49 +08:00
parent cb53a1e0cf
commit fac30af9ec
No known key found for this signature in database
GPG Key ID: 69992F2250DFD93E
2 changed files with 6 additions and 8 deletions

View File

@ -22,13 +22,11 @@ interface ModifierOptions {
keys?: string[] keys?: string[]
} }
interface EventOptions extends AddEventListenerOptions, ModifierOptions {}
export function on( export function on(
el: HTMLElement, el: HTMLElement,
event: string, event: string,
handlerGetter: () => undefined | ((...args: any[]) => any), handlerGetter: () => undefined | ((...args: any[]) => any),
options: EventOptions = {}, options: AddEventListenerOptions & ModifierOptions = {},
) { ) {
const handler: DelegatedHandler = eventHandler(handlerGetter, options) const handler: DelegatedHandler = eventHandler(handlerGetter, options)
recordMetadata(el, 'events', event, handler) recordMetadata(el, 'events', event, handler)
@ -53,7 +51,7 @@ export function delegate(
el: HTMLElement, el: HTMLElement,
event: string, event: string,
handlerGetter: () => undefined | ((...args: any[]) => any), handlerGetter: () => undefined | ((...args: any[]) => any),
options: EventOptions = {}, options: ModifierOptions = {},
) { ) {
const handler: DelegatedHandler = eventHandler(handlerGetter, options) const handler: DelegatedHandler = eventHandler(handlerGetter, options)
handler.delegate = true handler.delegate = true

View File

@ -14,16 +14,16 @@ export function template(html: string) {
export function children(node: Node, ...paths: number[]): Node { export function children(node: Node, ...paths: number[]): Node {
for (const idx of paths) { for (const idx of paths) {
for (let i = 0; i <= idx; i++) { for (let i = 0; i <= idx; i++) {
node = (node as Node)[i === 0 ? 'firstChild' : 'nextSibling']! node = node[i === 0 ? 'firstChild' : 'nextSibling']!
} }
} }
return node as Node return node
} }
/*! #__NO_SIDE_EFFECTS__ */ /*! #__NO_SIDE_EFFECTS__ */
export function next(node: Node, offset: number): Node { export function next(node: Node, offset: number): Node {
for (let i = 0; i < offset; i++) { for (let i = 0; i < offset; i++) {
node = (node as Node).nextSibling! node = node.nextSibling!
} }
return node as Node return node
} }