mobily / ts-belt

🔧 Fast, modern, and practical utility library for FP in TypeScript.
https://mobily.github.io/ts-belt
MIT License
1.08k stars 30 forks source link

Strongly type D.set for known keys #76

Open banjerluke opened 1 year ago

banjerluke commented 1 year ago

With existing typing, D.set will accept any value type with no complaints from TypeScript:


const obj = { foo: 1 };
D.set(obj, 'foo', 'uh oh'); // wrong type, but no TypeScript errors
```kL

With the updated types in this commit, not only does TypeScript now give errors for mistyped values, but VS Code also does autocomplete for keys. 😎

You can still pass in non-existing keys to add them to the object, in which case `value` can be any type.