Typescript 项没有类型批注,并在其自己的初始值设定项中直接或间接引用

Typescript 项没有类型批注,并在其自己的初始值设定项中直接或间接引用,typescript,graphql,Typescript,Graphql,我有一个模型位置,它本身就是一种关系 class Location extends Model<Location> { ... @BelongsTo(() => Location, "countryId") public country?: Location; @BelongsTo(() => Location, "stateId") public state?: Location; @HasMany(() =>

我有一个模型
位置
,它本身就是一种关系

class Location extends Model<Location> {
    ...

    @BelongsTo(() => Location, "countryId")
    public country?: Location;

    @BelongsTo(() => Location, "stateId")
    public state?: Location;

    @HasMany(() => Location, "countryId")
    public states?: Location[];

    @HasMany(() => Location, "stateId")
    public regions?: Location[];

    @HasMany(() => Location, "regionId")
    public places?: Location[];

    ...
}
我得到的错误

“LocationType”隐式具有类型“any”,因为它没有类型批注,并且在其自己的初始值设定项中直接或间接引用


只需将
LocationType
类型指定为
GraphQLObjectType

大概是这样的:

const LocationType: GraphQLObjectType = new GraphQLObjectType({
    name: "LocationType",
    fields: () => ({
        ...
        states: {type: new GraphQLList(LocationType)},
        ...
    }),
});
const LocationType: GraphQLObjectType = new GraphQLObjectType({
    name: "LocationType",
    fields: () => ({
        ...
        states: {type: new GraphQLList(LocationType)},
        ...
    }),
});