Fantasy Land Sequence Example

node v6.17.1
version: 2.0.0
endpointsharetweet
const Stream = require('most@1.0.3') const R = require('ramda@0.22.1') const Maybe = require('sanctuary@0.4.0').Maybe // Fantasy Land lets us create a Promise.all // function for any data type! Stream.all = R.sequence(Stream.of) Array.all = R.sequence(Array.of) Maybe.all = R.sequence(Maybe.of) // create an array of stream values, maybe values and array values const streams = [Stream.of(1),Stream.of(2),Stream.of(3)] const arrays = [Array.of(1),Array.of(2),Array.of(3)] const maybes = [Maybe.of(1),Maybe.of(2),Maybe.of(3)] Array.all(arrays) .map( R.sum ) .map( v => console.log('Array.all:'+ v)) Stream.all(streams) .map( R.sum ) .observe( v => console.log('Stream.all:'+ v)) Maybe.all(maybes) .map( R.sum ) .map( v => console.log('Maybe.all:'+ v)) "Interop across radically different types!"
Loading…

no comments

    sign in to comment