Skapa funktionstyp (TypeScript-gränssnitt)
Jag behöver skapa en funktionstyp som talar om för mig vilken typ det måste vara för det andra värdet baserat på det första värdet
type BType = number | string | array
enum AEnum = { number = "number" , string : "string" , array : "array"}
const fc = (a : AEnum , b : BType)=>{
//...
}
Det jag behöver är att när a=AEnum.array, då måste b vara array, annars ska ett fel visas
Hur kan jag göra något som detta ??
Svar #1
Bara överlasta funktionen!
type BType = number | string | []
enum AEnum { number = "number", string = "string", array = "array" }
function foo(a: AEnum.number, b: number): unknown;
function foo(a: AEnum.string, b: string): unknown;
function foo(a: AEnum.array, b: []): unknown;
function foo(a: AEnum, b: BType): unknown {
return void;
}
Lekplats
