diff --git a/packages/lit-analyzer/src/rules/util/type/is-assignable-in-event-binding.ts b/packages/lit-analyzer/src/rules/util/type/is-assignable-in-event-binding.ts index 6f93b40a..1a45aa32 100644 --- a/packages/lit-analyzer/src/rules/util/type/is-assignable-in-event-binding.ts +++ b/packages/lit-analyzer/src/rules/util/type/is-assignable-in-event-binding.ts @@ -1,4 +1,4 @@ -import { SimpleType, SimpleTypeKind, toTypeString } from "ts-simple-type"; +import { SimpleType, typeToString } from "ts-simple-type"; import { HtmlNodeAttr } from "../../../analyze/types/html-node/html-node-attr-types"; import { RuleModuleContext } from "../../../analyze/types/rule/rule-module-context"; import { rangeFromHtmlNodeAttr } from "../../../analyze/util/range-util"; @@ -10,14 +10,14 @@ export function isAssignableInEventBinding( context: RuleModuleContext ): boolean | undefined { const expectedType: SimpleType = { - kind: SimpleTypeKind.FUNCTION, - returnType: { kind: SimpleTypeKind.VOID }, - argTypes: [ + kind: "FUNCTION", + returnType: { kind: "VOID" }, + parameters: [ { - name: 'event', + name: "event", type: typeA, optional: false, - spread: false, + rest: false, initializer: false } ] @@ -26,7 +26,7 @@ export function isAssignableInEventBinding( if (!isAssignableToType({ typeA: expectedType, typeB }, context)) { context.report({ location: rangeFromHtmlNodeAttr(htmlAttr), - message: `Type '${toTypeString(typeB)}' is not assignable to '${toTypeString(expectedType)}'` + message: `Type '${typeToString(typeB)}' is not assignable to '${typeToString(expectedType)}'` }); return false; diff --git a/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts b/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts index c73a0ed1..bf708aa1 100644 --- a/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts +++ b/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts @@ -225,21 +225,30 @@ html\` \` hasDiagnostic(t, diagnostics, "no-incompatible-type-binding"); }); -test("Event binding: event handler is assignable to valid event", t => { - const { diagnostics } = getDiagnostics([makeElement({ events: ["foo-event"] }), 'html` {}}>`']); +tsTest("Event binding: event handler is assignable to valid event", t => { + const { diagnostics } = getDiagnostics([makeElement({ events: ["foo-event"] }), "html` {}}>`"]); hasNoDiagnostics(t, diagnostics); }); -test("Event binding: event handler is assignable to valid typed event", t => { - const { diagnostics } = getDiagnostics([makeElement({ events: ["{MouseEvent} foo-event"] }), 'html` {}}>`']); +tsTest("Event binding: event handler is assignable to valid typed event", t => { + const { diagnostics } = getDiagnostics([ + makeElement({ events: ["{MouseEvent} foo-event"] }), + "html` {}}>`" + ]); hasNoDiagnostics(t, diagnostics); }); -test("Event binding: invalid event handler is not assignable to typed event", t => { - const { diagnostics } = getDiagnostics([makeElement({ events: ["{MouseEvent} foo-event"] }), 'html` {}}>`']); +tsTest("Event binding: invalid event handler is not assignable to typed event", t => { + const { diagnostics } = getDiagnostics([ + makeElement({ events: ["{MouseEvent} foo-event"] }), + "html` {}}>`" + ]); hasDiagnostic(t, diagnostics, "no-incompatible-type-binding"); }); -test("Event binding: invalid event handler is not assignable to event", t => { - const { diagnostics } = getDiagnostics([makeElement({ events: ["foo-event"] }), 'html` {}}>`']); +tsTest("Event binding: invalid event handler is not assignable to event", t => { + const { diagnostics } = getDiagnostics([ + makeElement({ events: ["foo-event"] }), + "html` {}}>`" + ]); });