Skip to content

Commit b55ee2e

Browse files
committed
fix
1 parent bf9c97b commit b55ee2e

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

Diff for: src/parser/converts/attr.ts

+24-16
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,15 @@ function buildEventHandlerType(
346346
elementName: string,
347347
eventName: string
348348
) {
349-
const nativeEventHandlerType = `(e:'${eventName}' extends infer U?U extends keyof HTMLElementEventMap?HTMLElementEventMap[U]:CustomEvent<any>:never)=>void`;
349+
const nativeEventHandlerType = [
350+
`(e:`,
351+
/**/ `'${eventName}' extends infer EVT`,
352+
/**/ /**/ `?EVT extends keyof HTMLElementEventMap`,
353+
/**/ /**/ /**/ `?HTMLElementEventMap[EVT]`,
354+
/**/ /**/ /**/ `:CustomEvent<any>`,
355+
/**/ /**/ `:never`,
356+
`)=>void`,
357+
].join("");
350358
if (element.type !== "SvelteElement") {
351359
return nativeEventHandlerType;
352360
}
@@ -368,21 +376,21 @@ function buildEventHandlerType(
368376
const importSvelteHTMLElements =
369377
"import('svelte/elements').SvelteHTMLElements";
370378
return [
371-
`'${eventName}' extends infer EVT`,
372-
/* */ `?(`,
373-
/* */ /* */ `EVT extends keyof ${importSvelteHTMLElements}`,
374-
/* */ /* */ `?(`,
375-
/* */ /* */ /* */ `'${attrName}' extends infer ATTR`,
376-
/* */ /* */ /* */ `?(`,
377-
/* */ /* */ /* */ /* */ `ATTR extends keyof ${importSvelteHTMLElements}[EVT]`,
378-
/* */ /* */ /* */ /* */ /* */ `?${importSvelteHTMLElements}[EVT][ATTR]`,
379-
/* */ /* */ /* */ /* */ /* */ `:${nativeEventHandlerType}`,
380-
/* */ /* */ /* */ `)`,
381-
/* */ /* */ /* */ `:${nativeEventHandlerType}`,
382-
/* */ /* */ `)`,
383-
/* */ /* */ `:${nativeEventHandlerType}`,
384-
/* */ `)`,
385-
/* */ `:${nativeEventHandlerType}`,
379+
`'${elementName}' extends infer EL`,
380+
/**/ `?(`,
381+
/**/ /**/ `EL extends keyof ${importSvelteHTMLElements}`,
382+
/**/ /**/ `?(`,
383+
/**/ /**/ /**/ `'${attrName}' extends infer ATTR`,
384+
/**/ /**/ /**/ `?(`,
385+
/**/ /**/ /**/ /**/ `ATTR extends keyof ${importSvelteHTMLElements}[EL]`,
386+
/**/ /**/ /**/ /**/ /**/ `?${importSvelteHTMLElements}[EL][ATTR]`,
387+
/**/ /**/ /**/ /**/ /**/ `:${nativeEventHandlerType}`,
388+
/**/ /**/ /**/ `)`,
389+
/**/ /**/ /**/ `:never`,
390+
/**/ /**/ `)`,
391+
/**/ /**/ `:${nativeEventHandlerType}`,
392+
/**/ `)`,
393+
/**/ `:never`,
386394
].join("");
387395
}
388396

0 commit comments

Comments
 (0)