Merge pull request #3558 from hasparus/patch-1

[typescript/en] Add tagged union types
This commit is contained in:
Divay Prakash 2019-08-03 00:22:02 +05:30 committed by GitHub
commit 787d57ad9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -224,6 +224,19 @@ moreNumbers.push(5); // Error, no push method (because it mutates array)
moreNumbers.length = 3; // Error, length is read-only
numbers = moreNumbers; // Error, mutating methods are missing
// Tagged Union Types for modelling state that can be in one of many shapes
type State =
| { type: "loading" }
| { type: "success", value: number }
| { type: "error", message: string };
declare const state: State;
if (state.type === "success") {
console.log(state.value);
} else if (state.type === "error") {
console.error(state.message);
}
// Iterators and Generators
// for..of statement