sindresorhus/type-fest

Support variables in Get paths

开放

#567 创建于 2023年3月7日

 (3 条评论) (5 个反应) (0 位负责人)TypeScript (471 个派生)batch import
component:pathsenhancementhelp wanted

仓库指标

星标
 (12,328 个星标)
PR 合并指标
 (平均合并 3天 5小时) (30 天内合并 11 个 PR)

描述

It would be nice if type-fest could support variables in paths passed to Get.

Example:

const obj = { array: [{ a: 1 }, { a: 2 }] } as const

const n = 0 as number
const get = <P extends string>(a: P) => a as Get<typeof obj, P>

const t1 = get(`array[10].a`) // 1 | 2 | undefined
const t2 = get(`array.10.a`) // 1 | 2 | undefined

const t3 = get(`array[${n}].a`) // unknown
const t4 = get(`array.${n}.a`) // unknown

Passing an index that may not exist in the array already works today (t1 and t2). It would be nice if this could be extended to array and object lookup with variables, so that t3 and t4 would get the same types.

Is this feature something you think would be good to have in this library?

贡献者指南