Most other projects use Record to define the same type as Record<K, V>. This would be a very significant breaking change, but better to do it now while the fork is brand new than later.
It would require renaming the existing Record type. We could go with:
Object - this matches Zod, it's intuitive, and the TypeScript object type is sufficiently useless that the naming clash shouldn't matter too much.
Type - this would match io-ts, but it does not feel intuitive to me at all.
Interface - this would match the keyword in TypeScript.
Most other projects use
Record
to define the same type asRecord<K, V>
. This would be a very significant breaking change, but better to do it now while the fork is brand new than later.It would require renaming the existing
Record
type. We could go with:Object
- this matches Zod, it's intuitive, and the TypeScriptobject
type is sufficiently useless that the naming clash shouldn't matter too much.Type
- this would match io-ts, but it does not feel intuitive to me at all.Interface
- this would match the keyword in TypeScript.