diff --git a/convert.go b/convert.go index cc8d583..c4ac288 100644 --- a/convert.go +++ b/convert.go @@ -504,8 +504,15 @@ func (ts *Typescript) parse(obj types.Object) error { }) } + if underNamed.NumEmbeddeds() == 0 && underNamed.NumMethods() > 0 { + // type interface{ } + // Do not generate anything for interfaces. + return nil + } + if underNamed.NumEmbeddeds() == 0 { // type interface{} + // A typed `any` is still a type. A strange one to use, but still valid. // TODO: This has not been fully investigated. This line should only be triggered // on simple `any` types. If this generates something more complex, this will be wrong. ts.updateNode(objectIdentifier.Ref(), func(n *typescriptNode) { diff --git a/testdata/interface/interface.ts b/testdata/interface/interface.ts index 1fd04ae..b46147f 100644 --- a/testdata/interface/interface.ts +++ b/testdata/interface/interface.ts @@ -16,6 +16,3 @@ export interface Foo extends Bar, GenBar { export interface GenBar { readonly GenBarField: T; } - -// From codersdk/interface.go -export type IgnoreMe = any;