From 42c92b61f38fa198d40731fbe35a2ad188dd360c Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 2 Nov 2018 16:22:29 -0500 Subject: [PATCH] fix AnyComponent with ComponentConstructor --- src/preact.d.ts | 2 +- test/ts/VNode-test.tsx | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/preact.d.ts b/src/preact.d.ts index 79f26ddc85..1cfaedb590 100644 --- a/src/preact.d.ts +++ b/src/preact.d.ts @@ -69,7 +69,7 @@ declare namespace preact { } // Type alias for a component considered generally, whether stateless or stateful. - type AnyComponent

= FunctionalComponent

| Component; + type AnyComponent

= FunctionalComponent

| ComponentConstructor; interface Component

{ componentWillMount?(): void; diff --git a/test/ts/VNode-test.tsx b/test/ts/VNode-test.tsx index 4fa25a8cee..799a476bd4 100644 --- a/test/ts/VNode-test.tsx +++ b/test/ts/VNode-test.tsx @@ -5,6 +5,7 @@ import { Component, FunctionalComponent, ComponentConstructor, + AnyComponent } from "../../src/preact"; class SimpleComponent extends Component<{}, {}> { @@ -17,6 +18,9 @@ class SimpleComponent extends Component<{}, {}> { const SimpleFunctionalComponent = () =>

; +const a: AnyComponent = SimpleComponent; +const b: AnyComponent = SimpleFunctionalComponent; + describe("VNode", () => { it("is returned by h", () => { const actual =
;