Javascript Knex&x27;TypeScript中的OrderBy

Javascript Knex&x27;TypeScript中的OrderBy,javascript,typescript,knex.js,Javascript,Typescript,Knex.js,我正在尝试学习如何实现高级类型脚本类型 在knex.js中,orderBy的一个实现是以下数组 { column: string, order: "asc" | "desc" } 我想建立一个类型脚本类型 type OrderBy<T> = { column: K in keyof T; order?: "asc" | "desc"; } type OrderBy={ 列:K在keyof T中

我正在尝试学习如何实现高级类型脚本类型

knex.js
中,
orderBy
的一个实现是以下数组

{ column: string, order: "asc" | "desc" }
我想建立一个类型脚本类型

type OrderBy<T> = {
  column: K in keyof T;
  order?: "asc" | "desc";
}
type OrderBy={
列:K在keyof T中;
顺序?:“asc”|“desc”;
}
因此,如果T是
{“propA”:true,“propB”:1}
,那么
应该是
“propA”
“propB”
,顺序是
“asc”
“desc”

不幸的是,它不起作用。我尝试使用现有的实现,但要么它们不够具体,要么我不理解它是如何工作的


我将如何实现这一点?

要获得通用T中的键,您只需执行
keyof T
,您的代码如下所示:

接口列{“propA”:true,“propB”:1}
类型OrderBy={
列:KEYOFT;
顺序?:“asc”|“desc”;
}
//因为knex的OrderBy是一个数组,所以您的代码可以是
常量knex:Array=[{列:“propA”,顺序:“asc”}]
您可以在TS游乐场中看到此代码