UNPKG

ts-type

Version:

TypeScript 類型工具庫:提供豐富的類型操作工具和重新導出的內建類型 / TypeScript type utility library: provides rich type manipulation utilities and re-exported built-in types

29 lines (28 loc) 695 B
/** * Created by user on 2019/6/12. */ /** * 取得物件指定成員的值類型 * Get the value type of a specific object member * * @example * interface User { * name: string; * age: number; * } * type NameType = ITSValueOfMember<User, 'name'>; // string */ export type ITSValueOfMember<T, K extends keyof T> = T extends { [p in K]: infer U; } ? U : never; /** * 取得具有 length 屬性之物件的 length 類型 * Get the length type of an object with length property * * @example * type ArrayLike = { length: 42 }; * type LengthType = ITSLengthOf<ArrayLike>; // 42 */ export type ITSLengthOf<T extends { length: number; }> = ITSValueOfMember<T, 'length'>;