Quiero hacer una interfaz mecanografiada con un número desconocido de propiedades genéricas que deberían escribirse como booleanos. Si quisiera hacer una interfaz con la propiedad 'foo' y un valor genérico, haría:
export interface Foo<T> { foo: T; }Como quiero hacer básicamente lo contrario, intenté
export interface booleansMap<T> { T: boolean; }pero tengo
'T' is defined but never used.(@typescript-eslint/no-unused-vars)
de eslint
Tengo problemas para encontrar esto en los documentos (probablemente no busque en Google con la nomenclatura correcta), así que me preguntaba si alguien entiende y puede explicar cómo hacer una interfaz de este tipo.
Debería ser capaz de manejar algo como:
{ foo: false, bar: true, baz: false }o
{ foo: true, }o cualquier otro objeto con cualquier cantidad de propiedades siempre que todos los valores sean booleanos...
No necesitas genéricos para esto. Simplemente puede usar [K: string] para especificar una clave general:
type booleanMap = { [K: string]: boolean }con definición de interfaz:
interface booleansMap { [K: string]: boolean; } O alternativamente use Record :
type booleanMap = Record<string, boolean>