Mirror: 馃帺 A tiny but capable push & pull stream library for TypeScript and Flow
at v2.0.2 489 B view raw
1open Wonka_types; 2 3let fromPromise = promise => 4 curry(sink => { 5 let ended = ref(false); 6 7 ignore( 8 Js.Promise.then_( 9 value => { 10 if (! ended^) { 11 sink(. Push(value)); 12 sink(. End); 13 }; 14 15 Js.Promise.resolve(); 16 }, 17 promise, 18 ), 19 ); 20 21 sink(. 22 Start( 23 (. signal) => 24 switch (signal) { 25 | Close => ended := true 26 | _ => () 27 }, 28 ), 29 ); 30 });