簡體   English   中英

Typescript 將模板文字類型映射為索引類型

[英]Typescript Mapped Template Literal Types as Index Type

我正在使用 Typeorm 並希望強烈鍵入我的原始實體結果。

假設我知道我有一個名為 User 的 class

class User {
   id: string;

   name: string;

   age: number;
}

當在 typeorm 中獲取原始實體時,這有時對具有性能問題的復雜查詢很有用,結果將在返回的 JSON 片段中以選擇的別名為前綴,如下所示:

{ u_id: "1", u_name: "Hello", u_age: 23; }

鑒於我知道用戶 class 中的鍵,我如何使用模板文字類型來創建與返回的 JSON 對應的接口?

我試過的:

type RawUser = { [K in `u_${keyof User}`]: User[K] };

顯然,這是行不通的,因為 K 是 u_id、u_name 等,它們無法索引用戶類型。

答案是:

type RawUser = { [K in keyof User as `u_${K}`]: User[K] };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM