diff --git a/types/webidl-conversions/index.d.ts b/types/webidl-conversions/index.d.ts index fedd3595ef..92919dfe87 100644 --- a/types/webidl-conversions/index.d.ts +++ b/types/webidl-conversions/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for webidl-conversions 4.0 +// Type definitions for webidl-conversions 5.0 // Project: https://github.com/jsdom/webidl-conversions#readme // Definitions by: ExE Boss // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -52,9 +52,7 @@ declare const WebIDLConversions: { ByteString(V: any, opts?: WebIDLConversions.StringOptions): string; USVString(V: any, opts?: WebIDLConversions.StringOptions): string; - object(V: any, opts?: WebIDLConversions.Options): object; - Error(V: any, opts?: WebIDLConversions.Options): Error; - + object(V: V, opts?: WebIDLConversions.Options): V extends object ? V : V & object; ArrayBuffer(V: any, opts?: WebIDLConversions.Options): ArrayBuffer; DataView(V: any, opts?: WebIDLConversions.Options): DataView; diff --git a/types/webidl-conversions/webidl-conversions-tests.ts b/types/webidl-conversions/webidl-conversions-tests.ts index 3ae2767a93..08719c3d5b 100644 --- a/types/webidl-conversions/webidl-conversions-tests.ts +++ b/types/webidl-conversions/webidl-conversions-tests.ts @@ -7,6 +7,12 @@ const options: conversions.Options = ((): conversions.Options => { return {}; })(); +/** + * The `expectType` function from https://www.npmjs.com/package/tsd, + * except instead of returning `void`, it returns `T`. + */ +declare function expectType(value: T): T; + conversions.any(any); // $ExpectType any conversions.any(unknown); // $ExpectType unknown conversions.any(options); // $ExpectType Options @@ -38,8 +44,12 @@ conversions.DOMString(any, options); // $ExpectType string conversions.ByteString(any, options); // $ExpectType string conversions.USVString(any, options); // $ExpectType string -conversions.object(any, options); // $ExpectType object -conversions.Error(any, options); // $ExpectType Error +conversions.object(any, options); // $ExpectType any +conversions.object(unknown, options); // $ExpectType object +expectType(conversions.object(null, options)); +expectType(conversions.object('string', options)); +expectType(conversions.object(123, options)); +conversions.object({}, options); // $ExpectType {} conversions.ArrayBuffer(any, options); // $ExpectType ArrayBuffer conversions.DataView(any, options); // $ExpectType DataView