UNPKG

monad-ts

Version:

Monad-ts is a small library implements some of key monads and way to chain them in a pipe (flow) in JavaScript and TypeScript. Angular 2+ compatible.

47 lines (43 loc) 1.1 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Monad</title> <!--<script type="text/javascript" src="lib/monad_ts.umd.min.js"></script>--> <script type="text/javascript" src="lib/monad_ts.umd.js"></script> </head> <body> <div class="input"> <form> <input id="press" autofocus> <button id="btn" >press</button> </form> </div> <script> const list = new Monad_ts.List(); let f1 = new Monad_ts.AsyncFlow(5) .bind((v) => v) .then((v) => v) .then((v) => Monad_ts.cast(list.bind((v) => [v-1, v, v+1], [v]), 1)) .then(v=> Monad_ts.wait(v,3000)) .then((v)=> console.log(v)); console.log(f1); var func = (v) => { v.x=10; return v; }; var f = new Monad_ts.Flow({x: 1}).bind(v=>func(v)).subscribe(); console.log(f); var m = new Monad_ts.State({q:1, w:2}); console.log(m.get()); var maybe = new Monad_ts.Maybe(); var z = { url: 'http://...', getUrl: function (){ return this.url; } }; console.log(maybe.bind(r => r.getUrl(), z)); </script> </body> </html>