I hereby claim:
- I am grsabreu on github.
- I am gabrielrubens (https://keybase.io/gabrielrubens) on keybase.
- I have a public key ASBmi5BWN9iQGzaes0ztgBxC2pa-n5OmVll_pPTwxAkllAo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| <SignUpForm | |
| schema=[ | |
| (`password, Required), | |
| (`email, Required), | |
| ( | |
| `confirmPassword, | |
| Custom( | |
| values => | |
| values.confirmPassword !== values.password ? | |
| Some("Passwords don't match") : None, |
| function createStore(reducer) { | |
| let state = reducer(null, undefined); | |
| return { | |
| dispatch: action => { state = reducer(action, state) }, | |
| getState: () => state, | |
| } | |
| } | |
| const store = createStore((action, state = 0) => { |
| import { compose, withStateHandlers, withHandlers } from 'recompose' | |
| export default compose( | |
| withStateHandlers({ | |
| isFetching: false, | |
| name: '', | |
| data: null | |
| }, { | |
| setFetching: (state) => (isFetching) => ({ ...state, isFetching }), | |
| setData: (state) => (data) => ({ ...state, data }), |
| rm -rf foo.html && ((pbpaste | prettier --semi false --trailing-comma all --single-quote true | highlight --inline-css --syntax=js --font-size 18 --font Verdana --style zellner) > foo.html) |
| /* Validation types */ | |
| let safeHd = lst => List.length(lst) == 0 ? None : Some(List.hd(lst)); | |
| let (>>=) = (value, map) => | |
| switch value { | |
| | None => None | |
| | Some(value) => map(value) | |
| }; | |
| module Validation = { |
| type hoc = ReasonReact.reactClass => ReasonReact.reactClass; | |
| module Create = | |
| ( | |
| Params: { | |
| type hocParams; | |
| let hoc: | |
| hocParams; | |
| type children; | |
| let handlePropsFromJs | |
| } |
| module MakeComponent = (Config: { let reactClass: ReasonReact.reactClass; let name: string; }) => { | |
| let component = ReasonReact.statelessComponent(Config.name); | |
| let make = children => | |
| ReasonReact.wrapJsForReason( | |
| ~reactClass=Config.reactClass, | |
| ~props={"yourProp": 123}, | |
| children | |
| ); | |
| }; |
| /* file: Recompose.re */ | |
| module type CreateWithStateParams = { | |
| /* This is the secret sauce ingredient, with it the users can pass whatever state they want */ | |
| type state; | |
| }; | |
| module CreateWithState = (Params: CreateWithStateParams) => { | |
| type value; | |
| type state = { value: Params.state }; |
| /* file: Recompose.re */ | |
| /* The very definition of a HOC, it's a function that gets a react component and returns another react component */ | |
| type hoc = ReasonReact.reactClass => ReasonReact.reactClass; | |
| module type CreateWithStateParams = { | |
| /* This is the secret sauce ingredient, with it the users can pass whatever state they want */ | |
| type state; | |
| let defaultValue: state; | |
| }; |