@@ -16,10 +16,10 @@ export interface AssignableToSimpleTypeKindOptions {
16
16
* @param checker TypeCHecker if type is a typescript type
17
17
* @param options Options
18
18
*/
19
- export function isAssignableToSimpleTypeKind ( type : SimpleType , kind : SimpleTypeKind | SimpleTypeKind [ ] , options ?: AssignableToSimpleTypeKindOptions ) : boolean ;
20
- export function isAssignableToSimpleTypeKind ( type : Type , kind : SimpleTypeKind | SimpleTypeKind [ ] , checker : TypeChecker , options ?: AssignableToSimpleTypeKindOptions ) : boolean ;
21
- export function isAssignableToSimpleTypeKind ( type : Type | SimpleType , kind : SimpleTypeKind | SimpleTypeKind [ ] , checker : TypeChecker , options ?: AssignableToSimpleTypeKindOptions ) : boolean ;
22
- export function isAssignableToSimpleTypeKind (
19
+ export function isAssignableToSimpleTypeKind ( type : SimpleType , kind : SimpleTypeKind | SimpleTypeKind [ ] , options ?: AssignableToSimpleTypeKindOptions ) : boolean ;
20
+ export function isAssignableToSimpleTypeKind ( type : Type , kind : SimpleTypeKind | SimpleTypeKind [ ] , checker : TypeChecker , options ?: AssignableToSimpleTypeKindOptions ) : boolean ;
21
+ export function isAssignableToSimpleTypeKind ( type : Type | SimpleType , kind : SimpleTypeKind | SimpleTypeKind [ ] , checker : TypeChecker , options ?: AssignableToSimpleTypeKindOptions ) : boolean ;
22
+ export function isAssignableToSimpleTypeKind (
23
23
type : Type | SimpleType ,
24
24
kind : SimpleTypeKind | SimpleTypeKind [ ] ,
25
25
optionsOrChecker ?: TypeChecker | AssignableToSimpleTypeKindOptions ,
@@ -31,6 +31,15 @@ export function isAssignableToSimpleTypeKind(
31
31
options = optionsOrChecker as AssignableToSimpleTypeKindOptions || { } ;
32
32
}
33
33
34
+ // Make sure that an object without members is treated as ANY
35
+ switch ( type . kind ) {
36
+ case SimpleTypeKind . OBJECT :
37
+ if ( type . members == null || type . members . length === 0 ) {
38
+ return isAssignableToSimpleTypeKind ( { kind : SimpleTypeKind . ANY } , kind , options ) ;
39
+ }
40
+ break ;
41
+ }
42
+
34
43
switch ( type . kind ) {
35
44
case SimpleTypeKind . ENUM :
36
45
case SimpleTypeKind . UNION :
0 commit comments