Skip to content

Instantly share code, notes, and snippets.

@Gerhut
Created June 19, 2019 06:28
Show Gist options
  • Save Gerhut/76f09c5d61ef35da5d89f5bf3715c119 to your computer and use it in GitHub Desktop.
Save Gerhut/76f09c5d61ef35da5d89f5bf3715c119 to your computer and use it in GitHub Desktop.
TypeScript typing bug
interface Cat {
kind: "cat";
name: string;
}
interface Dog {
kind: "dog";
name: string;
}
type Animal = Cat | Dog;
const getAnimal = (kind: "cat" | "dog", name: string): Animal => {
return { kind: kind, name: name };
};
const getAnimal2 = (kind: "cat" | "dog", name: string): Animal => {
switch (kind) {
case "cat": {
return { kind: kind, name: name };
}
case "dog": {
return { kind: kind, name: name };
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment