Dado un tipo:
type TestType = { a?: string; b?: number; c?: boolean; }; Quiero crear una clase que implemente TestType con todos sus nombres de propiedades donde los tipos podrían ser diferentes.
Si no, genera un error.
Lo he intentado con Pick , Required , etc. sin éxito.
Ejemplo (error):
/* Error, not all TestType properties are implemented */ class TestClass implements TestType {}Ejemplo (correcto):
class TestClass implemenets TestType { a?: boolean; // Different type b?: number; // Same type c?: string; // Different type }¿Se puede lograr esto con Typescript?
¡Gracias!
Podemos hacer un type de utilidad llamado ToAny para esto:
type ToAny<T> = {[K in keyof T]: any}Uso:
class TestClass implements ToAny<TestType> {} class TestClass2 implements ToAny<TestType> { a?: boolean; // Different type b?: number; // Same type c?: string; // Different type }