验证打字稿中的对象键顺序

时间:2021-06-14 09:52:27

标签: typescript

我希望该函数处理具有相同顺序属性的对象

const convert = <K extends string>(array: Record<K, string>[]) => {
  // some logic
}

期待以下类型检查结果

convert([{ a: '3', b: '2' }, { a: 'n', b: 'q' }]);  // types is correct
convert([{ b: '2', a: '3' }, { a: 'n', b: 'q' }])   // types is incorrect

但是当前转换的泛型没有捕捉到这种类型的错误

如果有帮助,我可以在 convert() 签名中添加键数组

convert(array, keysInTrulyOrder); // where keysInTrulyOrdery: (K extends string)[]

0 个答案:

没有答案