(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
test.isFalse(v, msg) | |
test.isTrue(v, msg) | |
test.equal(actual, expected, message, not) | |
test.length(obj, len) | |
test.include(s, v) | |
test.isNaN(v, msg) | |
test.isUndefined(v, msg) | |
test.isNotNull | |
test.isNull | |
test.throws(func) |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
import {Action, ActionCreator, Dispatch} from 'redux'; | |
import {ThunkAction} from 'redux-thunk'; | |
// Redux action | |
const reduxAction: ActionCreator<Action> = (text: string) => { | |
return { | |
type: SET_TEXT, | |
text | |
}; | |
}; |
FROM https://www.reddit.com/r/Fedora/comments/zmvkdj/8bitdo_ultimate_bluetooth_controller_working_in/
I've bought this new controller from 8BitDo and wished to use on linux, to my sadness the controller didn't work out of the box, neither by cable, the 2.4G dongle or bluetooth.
So I've tried a number of solutions and this one from u/GodOfEmus over in the 8bitdo community was the one to work for me:
type _Intersect = {a?:number} & {a:number|undefined}; | |
//state of exactOptionalPropertyTypes | |
type IsExactOptional = _Intersect["a"] extends Exclude<_Intersect["a"], undefined> ? true : false; |
// Types for the result object with discriminated union | |
type Success<T> = { | |
data: T; | |
error: null; | |
}; | |
type Failure<E> = { | |
data: null; | |
error: E; | |
}; |