扩展传递给接口的通用类型(猫鼬+打字稿)

时间:2020-09-16 11:36:55

标签: node.js typescript mongoose

我正在尝试生成对象表示的接口(猫鼬document.toJSON())。

示例:

import { Document } from 'mongoose';
import { User } from './models';

// DB user object
interface IUser {
   name: string;
}

// User document interface
interface IUserDocument extends Document, IUser {}

const fetch = async func... {
   const user: IRequestDocument = await User.findById('id...');
   const userObject: Representation<IUser> = user.toObject(); // Or .toJSON()...
}

为了拥有Representation界面,我尝试生成以下内容:

export interface Representation<T> extends T {
   __v?: number;
}

它有效,但是当我尝试使用vscode自动完成功能时,键入userObject.只能完成__v而不是name的操作。

帮助?

0 个答案:

没有答案