Mirror: 🎩 A tiny but capable push & pull stream library for TypeScript and Flow

Replace all talkback noop placeholders with a single one

Changed files
+17 -15
src
+14 -14
src/wonka.re
···
};
let merge = (sources, sink) => {
-
let noop = (_: talkbackT) => ();
+
let noop = talkbackPlaceholder;
let size = Array.length(sources);
let talkbacks = Array.map((_) => noop, sources);
···
let concat = (sources, sink) => {
let size = Array.length(sources);
-
let talkback = ref((_: talkbackT) => ());
+
let talkback = ref(talkbackPlaceholder);
let rec nextSource = (i: int) =>
if (i < size) {
let source = Array.unsafe_get(sources, i);
···
let state = {
sinks: Belt.MutableMap.Int.make(),
idCounter: 0,
-
talkback: (_: talkbackT) => (),
+
talkback: talkbackPlaceholder,
ended: false,
gotSignal: false
};
···
let combine = (sourceA, sourceB, sink) => {
let state = {
-
talkbackA: (_: talkbackT) => (),
-
talkbackB: (_: talkbackT) => (),
+
talkbackA: talkbackPlaceholder,
+
talkbackB: talkbackPlaceholder,
lastValA: None,
lastValB: None,
gotSignal: false,
···
let take = (max, source, sink) => {
let state: takeStateT = {
taken: 0,
-
talkback: (_: talkbackT) => ()
+
talkback: talkbackPlaceholder
};
source(signal => {
···
let takeWhile = (predicate, source, sink) => {
let ended = ref(false);
-
let talkback = ref((_: talkbackT) => ());
+
let talkback = ref(talkbackPlaceholder);
source(signal => {
switch (signal) {
···
let takeUntil = (notifier, source, sink) => {
let state: takeUntilStateT = {
ended: false,
-
sourceTalkback: (_: talkbackT) => (),
-
notifierTalkback: (_: talkbackT) => ()
+
sourceTalkback: talkbackPlaceholder,
+
notifierTalkback: talkbackPlaceholder
};
source(signal => {
···
skip: true,
ended: false,
gotSignal: false,
-
sourceTalkback: (_: talkbackT) => (),
-
notifierTalkback: (_: talkbackT) => ()
+
sourceTalkback: talkbackPlaceholder,
+
notifierTalkback: talkbackPlaceholder
};
source(signal => {
···
let flatten = (source, sink) => {
let state: flattenStateT = {
-
sourceTalkback: (_: talkbackT) => (),
-
innerTalkback: (_: talkbackT) => (),
+
sourceTalkback: talkbackPlaceholder,
+
innerTalkback: talkbackPlaceholder,
sourceEnded: false,
innerEnded: true
};
···
});
let subscribe = (f, source) => {
-
let talkback = ref((_: talkbackT) => ());
+
let talkback = ref(talkbackPlaceholder);
let ended = ref(false);
source(signal => {
+3 -1
src/wonka_helpers.re
···
open Wonka_types;
+
let talkbackPlaceholder = (_: talkbackT) => ();
+
let captureTalkback = (source: (signalT('a) => unit) => unit, sinkWithTalkback: [@bs] (signalT('a), talkbackT => unit) => unit) => {
-
let talkback = ref((_: talkbackT) => ());
+
let talkback = ref(talkbackPlaceholder);
source(signal => {
switch (signal) {