poor man's pattern matching :traffic_light:
Install
yarn add @housinganywhere/match
npm i @housinganywhere/match
Use
import * as React from 'react';
import match from '@housinganywhere/match';
type Status = 'loading' | 'error' | 'success';
enum Status {
loading = 'loading',
error = 'error',
success = 'success',
}
const StatusMsg: React.SFC<{ status: Status }> = ({ status }) =>
match<Status, React.ReactNode>({
loading: () => <Spinner />,
error: () => <Alert type="danger">There was an error</Alert>,
success: () => <Alert type="success">Yay! It worked</Alert>,
})(status);
License
MIT © 2019
HousingAnywhere