[英]Does typescript return type of variable only when it is assigned some value after type declaration?
[英]Typescript does not see imported variable in generic type declaration
我正在尝试为应用程序中的每个实体创建通用存储库
mongo-repository.ts
import { Document, Model, Types } from 'mongoose';
type MongooseModel<T> = Model<T & Document>;
export abstract class MongoRepository<T extends MongooseModel<T>> {
protected constructor(
protected readonly model: T,
) {}
}
user.repository.ts
import { User } from '../../../models/User';
import { MongoRepository } from '../../common/mongo/mongo-repository';
class Repository extends MongoRepository<User> {
constructor() {
super(User);
}
}
export const UserRepository = new Repository();
实际结果:
src/modules/user/repository/user.repository.ts:4:42 - error TS2304: Cannot find name 'User'.
4 class Repository extends MongoRepository<User> {
~~~~
预期的结果:工作。
但是,我没有在super(User)
得到此错误消息,而只是在通用声明中得到
固定,固定:
MongoRepository<T extends typeof Model>
class Repository extends MongoRepository<typeof User>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.