编写接口作为泛型的扩展

像素点

例如,我有以下界面

export interface IUserCredentials {
  email: string;
  password: string;
}

我知道我将把这个和许多其他数据类型存储在一个数据库中,在那里它们将被分配一个id, adateCreated和 adateModified

IDBRecord我不想为每个单独编写一个接口,而是想一次编写所有内容,例如:

interface DBRecord<Data> extends Data {
  id: number;
  dateCreated: Date
  dateModified: Date
}

当然,这是不可能的,因为我不能在接口定义之外引用泛型类型。

谁能想到一种方法来做到这一点?

SV施密特

您可以改用类型(此处为交集类型):

type DBRecord<T> = T & {
  id: number;
  dateCreated: Date
  dateModified: Date
}

export interface IUserCredentials {
  email: string;
  password: string;
}

function foo(entity: DBRecord<IUserCredentials>) {
    ...
}

演示:打字稿游乐场示例

作为参考,请参阅typescript 中的高级类型

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Typescript泛型扩展类和接口

来自分类Dev

在TypeScript中使用泛型扩展接口

来自分类Dev

使用泛型正确扩展接口

来自分类Dev

Java中的泛型,扩展接口

来自分类Dev

使用const的泛型作为接口

来自分类Dev

Typescript我如何扩展使用泛型的接口?

来自分类Dev

循环泛型:接口IFoo <T扩展IFoo <T >>

来自分类Dev

如何正确创建在Java中扩展泛型接口的有界泛型类

来自分类Dev

泛型接口,带有泛型的泛型接口

来自分类Dev

泛型-方法返回类型作为扩展类

来自分类Dev

与泛型的接口

来自分类Dev

泛型与扩展方法

来自分类Dev

Java泛型扩展

来自分类Dev

Java泛型扩展

来自分类Dev

Java泛型扩展

来自分类Dev

使用接口的泛型转换

来自分类Dev

接口,泛型和重构

来自分类Dev

Java泛型接口转换

来自分类Dev

接口,泛型和重构

来自分类Dev

使用接口的泛型转换

来自分类Dev

Unity ResolveAll泛型接口

来自分类Dev

实现接口的泛型列表

来自分类Dev

与泛型类型方法的接口

来自分类Dev

如何验证泛型在Java中扩展了另一个类/接口?

来自分类Dev

Typescript - 使用泛型扩展具有联合类型属性的接口

来自分类Dev

具有扩展 Comparable 的泛型类型参数的强制转换接口

来自分类Dev

创建仅使用字符串键扩展接口的 TypeScript 泛型类型

来自分类Dev

Java中泛型类型和使用接口作为类型之间的区别

来自分类Dev

我如何使用其接口作为泛型来声明变量