This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| interface Combinable<T> { | |
| plus(T): T, | |
| zero(): T | |
| } | |
| class Max implements Combinable<Max> { | |
| private value: number | |
| constructor(num: number) { | |
| this.value = num; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| module Main where | |
| import Prelude | |
| import Control.Monad.Eff (Eff) | |
| import Data.Foldable (fold) | |
| import TryPureScript (DOM, h1, h2, p, text, list, indent, link, render, code) | |
| import Data.Map (Map, lookup, insert, empty) | |
| import Data.List | |
| import Data.Either |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class Observable<T, E> { | |
| // cant be typed in flow, but perhaps we can | |
| // somehow declare several overloads? | |
| // pipe(Observable<T0, E0> => Observable<T1, E1>): Observable<T1, E1> | |
| // pipe(Observable<T0, E0> => Observable<T1, E1>, Observable<T1, E1> => Observable<T2, E2>): Observable<T2, E2> | |
| // etc... | |
| pipe(...operators) { | |
| return operators.reduce((acc, curr) => curr(acc), this); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| someObservable.retry(3) | |
| consts tasks = | |
| { | |
| ....{....5......2.......3...} | |
| ............{......5............4....3} | |
| ............................................{5...2...4} | |
| .....................................................{...5} | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function Observable(subscribe) { | |
| this._subscribe = subscribe; | |
| } | |
| const of = (v) => new Observable(observer => { | |
| return observer.next(v); | |
| }); | |
| Observable.prototype = { | |
| map(f) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| JSON_text | |
| = ws value:value ws { return value; } | |
| begin_array = ws "[" ws | |
| begin_object = ws "{" ws | |
| end_array = ws "]" ws | |
| end_object = ws "}" ws | |
| name_separator = ws ":" ws | |
| value_separator = ws "," ws |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //You shouldn't find your self asking for ids from a Falcor JSON Graph object. | |
| //it seems like you want to build an array of game ids: | |
| { | |
| games: [ | |
| { $type: "ref", value: ["gamesById", 352] }, | |
| { $type: "ref", value: ["gamesById", 428] } | |
| // ... | |
| ], |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // mock falcor Model | |
| function Model(root, path) { | |
| this.root = root; | |
| this.path = path || []; | |
| } | |
| Model.prototype.bind = function(path) { | |
| return new Model(this.root, this.path.concat(path)); | |
| }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class Observable { | |
| map(fn) { | |
| if (typeof fn !== "function") | |
| throw new TypeError(fn + " is not a function"); | |
| let C = this.constructor[Symbol.species]; | |
| return new C(observer => { |