这里是一个声明的模式
class AccountSchema;
这里是一个声明的模型
const AccountClass: Model<AccountSchema & Document>;
class Account extends AccountClass;
为什么这不起作用?
type ExtractSchema<T extends Model<Document>> = T extends Model<infer D & Document> ? D : never;
class Service<T extends Model<ExtractSchema<T> & Document>> {
public async getSchema(): ExtractSchema<T>;
}
class AccountService extends Service<typeof Account> {
public test() {
[ERROR: this.getSchema() returns never]
this.getSchema()
}
}
使用泛型提取模式的最佳方法是什么,有没有什么方法可以不包括 javascript getter 和 setter 函数,而只是简单的字段?