Socket
Socket
Sign inDemoInstall

wonka

Package Overview
Dependencies
Maintainers
1
Versions
83
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wonka - npm Package Compare versions

Comparing version 1.1.4 to 1.1.5

3292

dist/wonka.es.js

@@ -1,786 +0,408 @@

function pipe(source) {
var args = arguments;
var len = args.length;
var x = source;
for (var i = 1; i < len; i++) {
x = args[i](x);
function pipe(r) {
var e = arguments;
var n = e.length;
var t = r;
for (var u = 1; u < n; u++) {
t = e[u](t);
}
return t;
}
return x;
function __(r, e) {
e.tag = r;
return e;
}
function __(tag, block) {
block.tag = tag;
return block;
function caml_array_sub(r, e, n) {
var t = new Array(n);
var u = 0;
var i = e;
while (u < n) {
t[u] = r[i];
u = (u + 1) | 0;
i = (i + 1) | 0;
}
return t;
}
/* No side effect */
var out_of_memory = /* tuple */[
"Out_of_memory",
0
];
function app(r, e) {
while (1) {
var n = e;
var t = r;
var u = t.length;
var i = (u - n.length) | 0;
if (0 === i) {
return t.apply(null, n);
} else if (i < 0) {
e = caml_array_sub(n, u, 0 | -i);
r = t.apply(null, caml_array_sub(n, 0, u));
continue;
} else {
return (function(r, e) {
return function(n) {
return app(r, e.concat([n]));
};
})(t, n);
}
}
}
var sys_error = /* tuple */[
"Sys_error",
-1
];
function _1(r, e) {
var n = r.length;
if (1 === n) {
return r(e);
} else {
return (function curry_1(r, e, n) {
switch (n) {
case 1:
return r(e);
var failure = /* tuple */[
"Failure",
-2
];
case 2:
return function(n) {
return r(e, n);
};
var invalid_argument = /* tuple */[
"Invalid_argument",
-3
];
case 3:
return function(n, t) {
return r(e, n, t);
};
var end_of_file = /* tuple */[
"End_of_file",
-4
];
case 4:
return function(n, t, u) {
return r(e, n, t, u);
};
var division_by_zero = /* tuple */[
"Division_by_zero",
-5
];
case 5:
return function(n, t, u, i) {
return r(e, n, t, u, i);
};
var not_found = /* tuple */[
"Not_found",
-6
];
case 6:
return function(n, t, u, i, f) {
return r(e, n, t, u, i, f);
};
var match_failure = /* tuple */[
"Match_failure",
-7
];
case 7:
return function(n, t, u, i, f, o) {
return r(e, n, t, u, i, f, o);
};
var stack_overflow = /* tuple */[
"Stack_overflow",
-8
];
default:
return app(r, [e]);
}
})(r, e, n);
}
}
var sys_blocked_io = /* tuple */[
"Sys_blocked_io",
-9
];
function _2(r, e, n) {
var t = r.length;
if (2 === t) {
return r(e, n);
} else {
return (function curry_2(r, e, n, t) {
switch (t) {
case 1:
return app(r(e), [n]);
var assert_failure = /* tuple */[
"Assert_failure",
-10
];
case 2:
return r(e, n);
var undefined_recursive_module = /* tuple */[
"Undefined_recursive_module",
-11
];
case 3:
return function(t) {
return r(e, n, t);
};
out_of_memory.tag = 248;
case 4:
return function(t, u) {
return r(e, n, t, u);
};
sys_error.tag = 248;
case 5:
return function(t, u, i) {
return r(e, n, t, u, i);
};
failure.tag = 248;
case 6:
return function(t, u, i, f) {
return r(e, n, t, u, i, f);
};
invalid_argument.tag = 248;
case 7:
return function(t, u, i, f, o) {
return r(e, n, t, u, i, f, o);
};
end_of_file.tag = 248;
default:
return app(r, [e, n]);
}
})(r, e, n, t);
}
}
division_by_zero.tag = 248;
function _3(r, e, n, t) {
var u = r.length;
if (3 === u) {
return r(e, n, t);
} else {
return (function curry_3(r, e, n, t, u) {
switch (u) {
case 1:
return app(r(e), [n, t]);
not_found.tag = 248;
case 2:
return app(r(e, n), [t]);
match_failure.tag = 248;
case 3:
return r(e, n, t);
stack_overflow.tag = 248;
case 4:
return function(u) {
return r(e, n, t, u);
};
sys_blocked_io.tag = 248;
case 5:
return function(u, i) {
return r(e, n, t, u, i);
};
assert_failure.tag = 248;
case 6:
return function(u, i, f) {
return r(e, n, t, u, i, f);
};
undefined_recursive_module.tag = 248;
/* Not a pure module */
case 7:
return function(u, i, f, o) {
return r(e, n, t, u, i, f, o);
};
function caml_array_sub(x, offset, len) {
var result = new Array(len);
var j = 0;
var i = offset;
while(j < len) {
result[j] = x[i];
j = j + 1 | 0;
i = i + 1 | 0;
} return result;
}
/* No side effect */
function app(_f, _args) {
while(true) {
var args = _args;
var f = _f;
var arity = f.length;
var len = args.length;
var d = arity - len | 0;
if (d === 0) {
return f.apply(null, args);
} else if (d < 0) {
_args = caml_array_sub(args, arity, -d | 0);
_f = f.apply(null, caml_array_sub(args, 0, arity));
continue ;
} else {
return (function(f,args){
return function (x) {
return app(f, args.concat(/* array */[x]));
default:
return app(r, [e, n, t]);
}
}(f,args));
}
}}
function curry_1(o, a0, arity) {
switch (arity) {
case 1 :
return o(a0);
case 2 :
return (function (param) {
return o(a0, param);
});
case 3 :
return (function (param, param$1) {
return o(a0, param, param$1);
});
case 4 :
return (function (param, param$1, param$2) {
return o(a0, param, param$1, param$2);
});
case 5 :
return (function (param, param$1, param$2, param$3) {
return o(a0, param, param$1, param$2, param$3);
});
case 6 :
return (function (param, param$1, param$2, param$3, param$4) {
return o(a0, param, param$1, param$2, param$3, param$4);
});
case 7 :
return (function (param, param$1, param$2, param$3, param$4, param$5) {
return o(a0, param, param$1, param$2, param$3, param$4, param$5);
});
default:
return app(o, /* array */[a0]);
})(r, e, n, t, u);
}
}
function _1(o, a0) {
var arity = o.length;
if (arity === 1) {
return o(a0);
} else {
return curry_1(o, a0, arity);
}
}
var r = [];
function curry_2(o, a0, a1, arity) {
switch (arity) {
case 1 :
return app(o(a0), /* array */[a1]);
case 2 :
return o(a0, a1);
case 3 :
return (function (param) {
return o(a0, a1, param);
});
case 4 :
return (function (param, param$1) {
return o(a0, a1, param, param$1);
});
case 5 :
return (function (param, param$1, param$2) {
return o(a0, a1, param, param$1, param$2);
});
case 6 :
return (function (param, param$1, param$2, param$3) {
return o(a0, a1, param, param$1, param$2, param$3);
});
case 7 :
return (function (param, param$1, param$2, param$3, param$4) {
return o(a0, a1, param, param$1, param$2, param$3, param$4);
});
default:
return app(o, /* array */[
a0,
a1
]);
}
}
function _2(o, a0, a1) {
var arity = o.length;
if (arity === 2) {
return o(a0, a1);
function some(e) {
if (void 0 === e) {
var n = [r, 0];
n.tag = 256;
return n;
} else if (null !== e && e[0] === r) {
var t = (e[1] + 1) | 0;
var u = [r, t];
u.tag = 256;
return u;
} else {
return curry_2(o, a0, a1, arity);
return e;
}
}
function curry_3(o, a0, a1, a2, arity) {
switch (arity) {
case 1 :
return app(o(a0), /* array */[
a1,
a2
]);
case 2 :
return app(o(a0, a1), /* array */[a2]);
case 3 :
return o(a0, a1, a2);
case 4 :
return (function (param) {
return o(a0, a1, a2, param);
});
case 5 :
return (function (param, param$1) {
return o(a0, a1, a2, param, param$1);
});
case 6 :
return (function (param, param$1, param$2) {
return o(a0, a1, a2, param, param$1, param$2);
});
case 7 :
return (function (param, param$1, param$2, param$3) {
return o(a0, a1, a2, param, param$1, param$2, param$3);
});
default:
return app(o, /* array */[
a0,
a1,
a2
]);
}
}
function _3(o, a0, a1, a2) {
var arity = o.length;
if (arity === 3) {
return o(a0, a1, a2);
} else {
return curry_3(o, a0, a1, a2, arity);
}
}
/* No side effect */
/* No side effect */
/* No side effect */
var undefinedHeader = /* array */[];
function some(x) {
if (x === undefined) {
var block = /* tuple */[
undefinedHeader,
0
];
block.tag = 256;
return block;
} else if (x !== null && x[0] === undefinedHeader) {
var nid = x[1] + 1 | 0;
var block$1 = /* tuple */[
undefinedHeader,
nid
];
block$1.tag = 256;
return block$1;
} else {
return x;
}
}
function valFromOption(x) {
if (x !== null && x[0] === undefinedHeader) {
var depth = x[1];
if (depth === 0) {
return undefined;
function valFromOption(e) {
if (null !== e && e[0] === r) {
var n = e[1];
if (0 === n) {
return;
} else {
return /* tuple */[
undefinedHeader,
depth - 1 | 0
];
return [r, (n - 1) | 0];
}
} else {
return x;
return e;
}
}
/* No side effect */
/* No side effect */
/* No side effect */
function make$1(len, vals) {
var res = new Array(len);
res.fill(vals);
return res;
function talkbackPlaceholder(r) {
return 0;
}
/* No side effect */
function talkbackPlaceholder(param) {
return (
/* () */
0
);
}
function captureTalkback(source, sinkWithTalkback) {
var talkback =
/* record */
[
/* contents */
talkbackPlaceholder];
return _1(source, function (signal) {
if (typeof signal !== "number") {
if (!signal.tag) {
talkback[0] = signal[0];
function captureTalkback(r, e) {
var n = [talkbackPlaceholder];
return _1(r, function(r) {
if ("number" != typeof r) {
if (!r.tag) {
n[0] = r[0];
}
}
return sinkWithTalkback(signal, talkback[0]);
return e(r, n[0]);
});
}
function makeTrampoline(sink, f) {
var state =
/* record */
[
/* exhausted */
false,
/* inLoop */
false,
/* gotSignal */
false];
return sink(
/* Start */
__(0, [function (signal) {
var match = state[
/* exhausted */
0];
if (signal || match) {
return (
/* () */
0
function makeSubject(r) {
var e = [new Array(), !1];
return [
function(r) {
e[0] = e[0].concat(r);
return r(
__(0, [
function(n) {
if (1 === n) {
e[0] = e[0].filter(function(e) {
return e !== r;
});
return 0;
} else {
return 0;
}
}
])
);
} else {
state[
/* gotSignal */
2] = true;
if (state[
/* inLoop */
1]) {
},
function(r) {
if (e[1]) {
return 0;
} else {
var explode = function (_param) {
while (true) {
var match = f();
if (match !== undefined) {
state[
/* gotSignal */
2] = false;
sink(
/* Push */
__(1, [valFromOption(match)]));
if (state[
/* gotSignal */
2]) {
_param =
/* () */
0;
continue;
} else {
return 0;
}
} else {
state[
/* exhausted */
0] = true;
return sink(
/* End */
0);
}
}
};
state[
/* inLoop */
1] = true;
explode(
/* () */
0);
state[
/* inLoop */
1] = false;
return (
/* () */
0
);
e[0].forEach(function(e) {
return e(__(1, [r]));
});
return 0;
}
}
}]));
}
/* No side effect */
function makeSubject(param) {
var state =
/* record */
[
/* sinks */
new Array(),
/* ended */
false];
var source = function (sink) {
state[
/* sinks */
0] = state[
/* sinks */
0].concat(sink);
return sink(
/* Start */
__(0, [function (signal) {
if (signal ===
/* Close */
1) {
state[
/* sinks */
0] = state[
/* sinks */
0].filter(function (x) {
return x !== sink;
},
function(r) {
if (e[1]) {
return 0;
} else {
e[1] = !0;
e[0].forEach(function(r) {
return r(0);
});
return (
/* () */
0
);
} else {
return 0;
}
}]));
};
var next = function (value) {
if (state[
/* ended */
1]) {
return 0;
} else {
state[
/* sinks */
0].forEach(function (sink) {
return sink(
/* Push */
__(1, [value]));
});
return (
/* () */
0
);
}
};
var complete = function (param) {
if (state[
/* ended */
1]) {
return 0;
} else {
state[
/* ended */
1] = true;
state[
/* sinks */
0].forEach(function (sink) {
return sink(
/* End */
0);
});
return (
/* () */
0
);
}
};
return (
/* record */
[
/* source */
source,
/* next */
next,
/* complete */
complete]
);
];
}
function make$2(f) {
return function (sink) {
var teardown = _1(f,
/* record */
[
/* next */
function (value) {
return sink(
/* Push */
__(1, [value]));
},
/* complete */
function (param) {
return sink(
/* End */
0);
}]);
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
return _1(teardown,
/* () */
0);
} else {
return (
/* () */
0
);
function make$2(r) {
return function(e) {
var n = _1(r, [
function(r) {
return e(__(1, [r]));
},
function(r) {
return e(0);
}
}]));
]);
return e(
__(0, [
function(r) {
if (r) {
return _1(n, 0);
} else {
return 0;
}
}
])
);
};
}
function fromList(ls) {
return function (sink) {
var state =
/* record */
[
/* value */
ls,
/* ended */
false,
/* looping */
false,
/* pull */
false];
return sink(
/* Start */
__(0, [function (signal) {
var match = state[
/* looping */
2];
if (signal) {
state[
/* ended */
1] = true;
return (
/* () */
0
);
} else if (match) {
state[
/* pull */
3] = true;
return (
/* () */
0
);
} else {
state[
/* pull */
3] = true;
state[
/* looping */
2] = true;
while (state[
/* pull */
3] && !state[
/* ended */
1]) {
var match$1 = state[
/* value */
0];
if (match$1) {
state[
/* value */
0] = match$1[1];
state[
/* pull */
3] = false;
sink(
/* Push */
__(1, [match$1[0]]));
function fromList(r) {
return function(e) {
var n = [r, !1, !1, !1];
return e(
__(0, [
function(r) {
var t = n[2];
if (r) {
n[1] = !0;
return 0;
} else if (t) {
n[3] = !0;
return 0;
} else {
state[
/* ended */
1] = true;
sink(
/* End */
0);
n[3] = !0;
n[2] = !0;
while (n[3] && !n[1]) {
var u = n[0];
if (u) {
n[0] = u[1];
n[3] = !1;
e(__(1, [u[0]]));
} else {
n[1] = !0;
e(0);
}
}
n[2] = !1;
return 0;
}
}
state[
/* looping */
2] = false;
return (
/* () */
0
);
}
}]));
])
);
};
}
function fromArray(arr) {
return function (sink) {
var size = arr.length;
var state =
/* record */
[
/* index */
0,
/* ended */
false,
/* looping */
false,
/* pull */
false];
return sink(
/* Start */
__(0, [function (signal) {
var match = state[
/* looping */
2];
if (signal) {
state[
/* ended */
1] = true;
return (
/* () */
0
);
} else if (match) {
state[
/* pull */
3] = true;
return (
/* () */
0
);
} else {
state[
/* pull */
3] = true;
state[
/* looping */
2] = true;
while (state[
/* pull */
3] && !state[
/* ended */
1]) {
var index = state[
/* index */
0];
if (index < size) {
var x = arr[index];
state[
/* index */
0] = index + 1 | 0;
state[
/* pull */
3] = false;
sink(
/* Push */
__(1, [x]));
function fromArray(r) {
return function(e) {
var n = r.length;
var t = [0, !1, !1, !1];
return e(
__(0, [
function(u) {
var i = t[2];
if (u) {
t[1] = !0;
return 0;
} else if (i) {
t[3] = !0;
return 0;
} else {
state[
/* ended */
1] = true;
sink(
/* End */
0);
t[3] = !0;
t[2] = !0;
while (t[3] && !t[1]) {
var f = t[0];
if (f < n) {
var o = r[f];
t[0] = (f + 1) | 0;
t[3] = !1;
e(__(1, [o]));
} else {
t[1] = !0;
e(0);
}
}
t[2] = !1;
return 0;
}
}
state[
/* looping */
2] = false;
return (
/* () */
0
);
}
}]));
])
);
};
}
function fromValue(x) {
return function (sink) {
var ended =
/* record */
[
/* contents */
false];
return sink(
/* Start */
__(0, [function (signal) {
if (signal || ended[0]) {
return (
/* () */
0
);
} else {
ended[0] = true;
sink(
/* Push */
__(1, [x]));
return sink(
/* End */
0);
}
}]));
function fromValue(r) {
return function(e) {
var n = [!1];
return e(
__(0, [
function(t) {
if (t || n[0]) {
return 0;
} else {
n[0] = !0;
e(__(1, [r]));
return e(0);
}
}
])
);
};
}
function empty(sink) {
sink(
/* Start */
__(0, [talkbackPlaceholder]));
return sink(
/* End */
0);
function empty(r) {
r(__(0, [talkbackPlaceholder]));
return r(0);
}
function never(sink) {
return sink(
/* Start */
__(0, [talkbackPlaceholder]));
function never(r) {
return r(__(0, [talkbackPlaceholder]));
}
function map$1(f) {
return function (source) {
return function (sink) {
return _1(source, function (signal) {
var tmp;
tmp = typeof signal === "number" ?
/* End */
0 : signal.tag ?
/* Push */
__(1, [_1(f, signal[0])]) :
/* Start */
__(0, [signal[0]]);
return sink(tmp);
function map$1(r) {
return function(e) {
return function(n) {
return _1(e, function(e) {
var t;
t = "number" == typeof e ? 0 : e.tag ? __(1, [_1(r, e[0])]) : __(0, [e[0]]);
return n(t);
});

@@ -791,12 +413,10 @@ };

function filter(f) {
return function (source) {
return function (sink) {
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number" || !(signal.tag && !_1(f, signal[0]))) {
return sink(signal);
function filter(r) {
return function(e) {
return function(n) {
return captureTalkback(e, function(e, t) {
if ("number" == typeof e || !e.tag || _1(r, e[0])) {
return n(e);
} else {
return talkback(
/* Pull */
0);
return t(0);
}

@@ -808,29 +428,17 @@ });

function scan(f, seed) {
return function (source) {
return function (sink) {
var acc =
/* record */
[
/* contents */
seed];
return _1(source, function (signal) {
var tmp;
if (typeof signal === "number") {
tmp =
/* End */
0;
} else if (signal.tag) {
acc[0] = _2(f, acc[0], signal[0]);
tmp =
/* Push */
__(1, [acc[0]]);
function scan(r, e) {
return function(n) {
return function(t) {
var u = [e];
return _1(n, function(e) {
var n;
if ("number" == typeof e) {
n = 0;
} else if (e.tag) {
u[0] = _2(r, u[0], e[0]);
n = __(1, [u[0]]);
} else {
tmp =
/* Start */
__(0, [signal[0]]);
n = __(0, [e[0]]);
}
return sink(tmp);
return t(n);
});

@@ -841,23 +449,18 @@ };

function merge(sources) {
return function (sink) {
var size = sources.length;
var talkbacks = make$1(size, talkbackPlaceholder);
var state =
/* record */
[
/* started */
0,
/* ended */
0];
var talkback = function (signal) {
var _i = 0;
while (true) {
var i = _i;
if (i < size) {
talkbacks[i](signal);
_i = i + 1 | 0;
function merge(r) {
return function(e) {
var n = r.length;
var t = (function make$1(r, e) {
var n = new Array(r);
n.fill(e);
return n;
})(n, talkbackPlaceholder);
var u = [0, 0];
var i = function(r) {
var e = 0;
while (1) {
var u = e;
if (u < n) {
t[u](r);
e = (u + 1) | 0;
continue;

@@ -869,53 +472,32 @@ } else {

};
var _i = 0;
while (true) {
var i = _i;
if (i < size) {
var source = sources[i];
_1(source, function (i) {
return function (signal) {
if (typeof signal === "number") {
state[
/* ended */
1] = state[
/* ended */
1] + 1 | 0;
if (state[
/* ended */
1] === size) {
return sink(
/* End */
0);
var f = 0;
while (1) {
var o = f;
if (o < n) {
_1(
r[o],
(function(r) {
return function(f) {
if ("number" == typeof f) {
u[1] = (u[1] + 1) | 0;
if (u[1] === n) {
return e(0);
} else {
return 0;
}
} else if (f.tag) {
return e(f);
} else {
return 0;
t[r] = f[0];
u[0] = (u[0] + 1) | 0;
if (u[0] === n) {
return e(__(0, [i]));
} else {
return 0;
}
}
} else if (signal.tag) {
return sink(signal);
} else {
talkbacks[i] = signal[0];
state[
/* started */
0] = state[
/* started */
0] + 1 | 0;
if (state[
/* started */
0] === size) {
return sink(
/* Start */
__(0, [talkback]));
} else {
return 0;
}
}
};
}(i));
_i = i + 1 | 0;
};
})(o)
);
f = (o + 1) | 0;
continue;

@@ -929,423 +511,192 @@ } else {

function concat$1(sources) {
return function (sink) {
var size = sources.length;
var talkback =
/* record */
[
/* contents */
talkbackPlaceholder];
var nextSource = function (i) {
if (i < size) {
var source = sources[i];
return _1(source, function (signal) {
if (typeof signal === "number") {
return nextSource(i + 1 | 0);
} else if (signal.tag) {
return sink(signal);
function concat$1(r) {
return function(e) {
var n = r.length;
var t = [talkbackPlaceholder];
var u = function(i) {
if (i < n) {
return _1(r[i], function(r) {
if ("number" == typeof r) {
return u((i + 1) | 0);
} else if (r.tag) {
return e(r);
} else {
var tb = signal[0];
talkback[0] = tb;
if (i === 0) {
sink(
/* Start */
__(0, [function (signal) {
return talkback[0](signal);
}]));
var n = r[0];
t[0] = n;
if (0 === i) {
e(
__(0, [
function(r) {
return t[0](r);
}
])
);
}
return tb(
/* Pull */
0);
return n(0);
}
});
} else {
return sink(
/* End */
0);
return e(0);
}
};
return nextSource(0);
return u(0);
};
}
function share(source) {
var state =
/* record */
[
/* sinks */
new Array(),
/* talkback */
talkbackPlaceholder,
/* gotSignal */
false];
return function (sink) {
state[
/* sinks */
0] = state[
/* sinks */
0].concat(sink);
if (state[
/* sinks */
0].length === 1) {
_1(source, function (signal) {
if (typeof signal === "number") {
state[
/* sinks */
0].forEach(function (sink) {
return sink(
/* End */
0);
function share(r) {
var e = [new Array(), talkbackPlaceholder, !1];
return function(n) {
e[0] = e[0].concat(n);
if (1 === e[0].length) {
_1(r, function(r) {
if ("number" == typeof r) {
e[0].forEach(function(r) {
return r(0);
});
state[
/* sinks */
0] = new Array();
return (
/* () */
0
);
} else if (signal.tag) {
state[
/* gotSignal */
2] = false;
state[
/* sinks */
0].forEach(function (sink) {
return sink(signal);
e[0] = new Array();
return 0;
} else if (r.tag) {
e[2] = !1;
e[0].forEach(function(e) {
return e(r);
});
return (
/* () */
0
);
return 0;
} else {
state[
/* talkback */
1] = signal[0];
return (
/* () */
0
);
e[1] = r[0];
return 0;
}
});
}
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
state[
/* sinks */
0] = state[
/* sinks */
0].filter(function (x) {
return x !== sink;
});
if (state[
/* sinks */
0].length === 0) {
return state[
/* talkback */
1](
/* Close */
1);
} else {
return 0;
return n(
__(0, [
function(r) {
if (r) {
e[0] = e[0].filter(function(r) {
return r !== n;
});
if (0 === e[0].length) {
return e[1](1);
} else {
return 0;
}
} else if (e[2]) {
return 0;
} else {
e[2] = !0;
return e[1](r);
}
}
} else if (state[
/* gotSignal */
2]) {
return (
/* () */
0
);
} else {
state[
/* gotSignal */
2] = true;
return state[
/* talkback */
1](signal);
}
}]));
])
);
};
}
function combine(sourceA, sourceB) {
return function (sink) {
var state =
/* record */
[
/* talkbackA */
talkbackPlaceholder,
/* talkbackB */
talkbackPlaceholder,
/* lastValA */
undefined,
/* lastValB */
undefined,
/* gotSignal */
false,
/* endCounter */
0,
/* ended */
false];
_1(sourceA, function (signal) {
var match = state[
/* lastValB */
3];
if (typeof signal === "number") {
if (state[
/* endCounter */
5] < 1) {
state[
/* endCounter */
5] = state[
/* endCounter */
5] + 1 | 0;
return (
/* () */
0
);
} else if (state[
/* ended */
6]) {
return (
/* () */
0
);
function combine(r, e) {
return function(n) {
var t = [talkbackPlaceholder, talkbackPlaceholder, void 0, void 0, !1, 0, !1];
_1(r, function(r) {
var e = t[3];
if ("number" == typeof r) {
if (t[5] < 1) {
t[5] = (t[5] + 1) | 0;
return 0;
} else if (t[6]) {
return 0;
} else {
state[
/* ended */
6] = true;
return sink(
/* End */
0);
t[6] = !0;
return n(0);
}
} else if (signal.tag) {
var a = signal[0];
if (match !== undefined) {
if (state[
/* ended */
6]) {
return (
/* () */
0
);
} else if (r.tag) {
var u = r[0];
if (void 0 !== e) {
if (t[6]) {
return 0;
} else {
state[
/* lastValA */
2] = some(a);
state[
/* gotSignal */
4] = false;
return sink(
/* Push */
__(1, [
/* tuple */
[a, valFromOption(match)]]));
t[2] = some(u);
t[4] = !1;
return n(__(1, [[u, valFromOption(e)]]));
}
} else {
state[
/* lastValA */
2] = some(a);
state[
/* gotSignal */
4] = false;
return (
/* () */
0
);
t[2] = some(u);
t[4] = !1;
return 0;
}
} else {
state[
/* talkbackA */
0] = signal[0];
return (
/* () */
0
);
t[0] = r[0];
return 0;
}
});
_1(sourceB, function (signal) {
var match = state[
/* lastValA */
2];
if (typeof signal === "number") {
if (state[
/* endCounter */
5] < 1) {
state[
/* endCounter */
5] = state[
/* endCounter */
5] + 1 | 0;
return (
/* () */
0
);
} else if (state[
/* ended */
6]) {
return (
/* () */
0
);
_1(e, function(r) {
var e = t[2];
if ("number" == typeof r) {
if (t[5] < 1) {
t[5] = (t[5] + 1) | 0;
return 0;
} else if (t[6]) {
return 0;
} else {
state[
/* ended */
6] = true;
return sink(
/* End */
0);
t[6] = !0;
return n(0);
}
} else if (signal.tag) {
var b = signal[0];
if (match !== undefined) {
if (state[
/* ended */
6]) {
return (
/* () */
0
);
} else if (r.tag) {
var u = r[0];
if (void 0 !== e) {
if (t[6]) {
return 0;
} else {
state[
/* lastValB */
3] = some(b);
state[
/* gotSignal */
4] = false;
return sink(
/* Push */
__(1, [
/* tuple */
[valFromOption(match), b]]));
t[3] = some(u);
t[4] = !1;
return n(__(1, [[valFromOption(e), u]]));
}
} else {
state[
/* lastValB */
3] = some(b);
state[
/* gotSignal */
4] = false;
return (
/* () */
0
);
t[3] = some(u);
t[4] = !1;
return 0;
}
} else {
state[
/* talkbackB */
1] = signal[0];
return (
/* () */
0
);
t[1] = r[0];
return 0;
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (state[
/* ended */
6]) {
return 0;
} else if (signal) {
state[
/* ended */
6] = true;
state[
/* talkbackA */
0](
/* Close */
1);
return state[
/* talkbackB */
1](
/* Close */
1);
} else if (state[
/* gotSignal */
4]) {
return (
/* () */
0
);
} else {
state[
/* gotSignal */
4] = true;
state[
/* talkbackA */
0](signal);
return state[
/* talkbackB */
1](signal);
}
}]));
return n(
__(0, [
function(r) {
if (t[6]) {
return 0;
} else if (r) {
t[6] = !0;
t[0](1);
return t[1](1);
} else if (t[4]) {
return 0;
} else {
t[4] = !0;
t[0](r);
return t[1](r);
}
}
])
);
};
}
function take(max) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* taken */
0,
/* talkback */
talkbackPlaceholder];
_1(source, function (signal) {
if (typeof signal === "number") {
if (state[
/* taken */
0] < max) {
state[
/* taken */
0] = max;
return sink(
/* End */
0);
function take(r) {
return function(e) {
return function(n) {
var t = [0, talkbackPlaceholder];
_1(e, function(e) {
if ("number" == typeof e) {
if (t[0] < r) {
t[0] = r;
return n(0);
} else {
return (
/* () */
0
);
return 0;
}
} else if (signal.tag) {
if (state[
/* taken */
0] < max) {
state[
/* taken */
0] = state[
/* taken */
0] + 1 | 0;
sink(signal);
if (state[
/* taken */
0] === max) {
sink(
/* End */
0);
return state[
/* talkback */
1](
/* Close */
1);
} else if (e.tag) {
if (t[0] < r) {
t[0] = (t[0] + 1) | 0;
n(e);
if (t[0] === r) {
n(0);
return t[1](1);
} else {

@@ -1355,44 +706,25 @@ return 0;

} else {
return (
/* () */
0
);
return 0;
}
} else {
state[
/* talkback */
1] = signal[0];
return (
/* () */
0
);
t[1] = e[0];
return 0;
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (state[
/* taken */
0] < max) {
if (signal) {
state[
/* taken */
0] = max;
return state[
/* talkback */
1](
/* Close */
1);
} else {
return state[
/* talkback */
1](
/* Pull */
0);
return n(
__(0, [
function(e) {
if (t[0] < r) {
if (e) {
t[0] = r;
return t[1](1);
} else {
return t[1](0);
}
} else {
return 0;
}
}
} else {
return 0;
}
}]));
])
);
};

@@ -1402,26 +734,57 @@ };

function takeLast(max) {
return function (source) {
return function (sink) {
var queue = new Array();
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number") {
return makeTrampoline(sink, function () {
return queue.shift();
function takeLast(r) {
return function(e) {
return function(n) {
var t = new Array();
return captureTalkback(e, function(e, u) {
if ("number" == typeof e) {
return (function makeTrampoline(r, e) {
var n = [!1, !1, !1];
return r(
__(0, [
function(t) {
var u = n[0];
if (t || u) {
return 0;
} else {
n[2] = !0;
if (n[1]) {
return 0;
} else {
n[1] = !0;
!(function(t) {
while (1) {
var u = e();
if (void 0 !== u) {
n[2] = !1;
r(__(1, [valFromOption(u)]));
if (n[2]) {
continue;
} else {
return 0;
}
} else {
n[0] = !0;
return r(0);
}
}
})();
n[1] = !1;
return 0;
}
}
}
])
);
})(n, function() {
return t.shift();
});
} else if (signal.tag) {
var size = queue.length;
if (size >= max && max > 0) {
queue.shift();
} else if (e.tag) {
if (t.length >= r && r > 0) {
t.shift();
}
queue.push(signal[0]);
return talkback(
/* Pull */
0);
t.push(e[0]);
return u(0);
} else {
return talkback(
/* Pull */
0);
return u(0);
}

@@ -1433,68 +796,44 @@ });

function takeWhile(predicate) {
return function (source) {
return function (sink) {
var ended =
/* record */
[
/* contents */
false];
var talkback =
/* record */
[
/* contents */
talkbackPlaceholder];
_1(source, function (signal) {
if (typeof signal === "number") {
if (ended[0]) {
return (
/* () */
0
);
function takeWhile(r) {
return function(e) {
return function(n) {
var t = [!1];
var u = [talkbackPlaceholder];
_1(e, function(e) {
if ("number" == typeof e) {
if (t[0]) {
return 0;
} else {
ended[0] = true;
return sink(
/* End */
0);
t[0] = !0;
return n(0);
}
} else if (signal.tag) {
if (ended[0]) {
return (
/* () */
0
);
} else if (_1(predicate, signal[0])) {
return sink(signal);
} else if (e.tag) {
if (t[0]) {
return 0;
} else if (_1(r, e[0])) {
return n(e);
} else {
ended[0] = true;
sink(
/* End */
0);
return talkback[0](
/* Close */
1);
t[0] = !0;
n(0);
return u[0](1);
}
} else {
talkback[0] = signal[0];
return sink(signal);
u[0] = e[0];
return n(e);
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (ended[0]) {
return 0;
} else if (signal) {
ended[0] = true;
return talkback[0](
/* Close */
1);
} else {
return talkback[0](
/* Pull */
0);
}
}]));
return n(
__(0, [
function(r) {
if (t[0]) {
return 0;
} else if (r) {
t[0] = !0;
return u[0](1);
} else {
return u[0](0);
}
}
])
);
};

@@ -1504,83 +843,35 @@ };

function takeUntil(notifier) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* ended */
false,
/* sourceTalkback */
talkbackPlaceholder,
/* notifierTalkback */
talkbackPlaceholder];
_1(source, function (signal) {
if (typeof signal === "number") {
if (state[
/* ended */
0]) {
return (
/* () */
0
);
function takeUntil(r) {
return function(e) {
return function(n) {
var t = [!1, talkbackPlaceholder, talkbackPlaceholder];
_1(e, function(e) {
if ("number" == typeof e) {
if (t[0]) {
return 0;
} else {
state[
/* notifierTalkback */
2](
/* Close */
1);
state[
/* ended */
0] = true;
return sink(
/* End */
0);
t[2](1);
t[0] = !0;
return n(0);
}
} else if (signal.tag) {
if (state[
/* ended */
0]) {
return (
/* () */
0
);
} else if (e.tag) {
if (t[0]) {
return 0;
} else {
return sink(signal);
return n(e);
}
} else {
state[
/* sourceTalkback */
1] = signal[0];
return _1(notifier, function (signal) {
if (typeof signal === "number") {
return (
/* () */
0
);
} else if (signal.tag) {
state[
/* ended */
0] = true;
state[
/* notifierTalkback */
2](
/* Close */
1);
state[
/* sourceTalkback */
1](
/* Close */
1);
return sink(
/* End */
0);
t[1] = e[0];
return _1(r, function(r) {
if ("number" == typeof r) {
return 0;
} else if (r.tag) {
t[0] = !0;
t[2](1);
t[1](1);
return n(0);
} else {
var innerTb = signal[0];
state[
/* notifierTalkback */
2] = innerTb;
return innerTb(
/* Pull */
0);
var e = r[0];
t[2] = e;
return e(0);
}

@@ -1590,29 +881,16 @@ });

});
return sink(
/* Start */
__(0, [function (signal) {
if (state[
/* ended */
0]) {
return 0;
} else if (signal) {
state[
/* sourceTalkback */
1](
/* Close */
1);
return state[
/* notifierTalkback */
2](
/* Close */
1);
} else {
return state[
/* sourceTalkback */
1](
/* Pull */
0);
}
}]));
return n(
__(0, [
function(r) {
if (t[0]) {
return 0;
} else if (r) {
t[1](1);
return t[2](1);
} else {
return t[1](0);
}
}
])
);
};

@@ -1622,18 +900,12 @@ };

function skip(wait) {
return function (source) {
return function (sink) {
var rest =
/* record */
[
/* contents */
wait];
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number" || !(signal.tag && rest[0] > 0)) {
return sink(signal);
function skip(r) {
return function(e) {
return function(n) {
var t = [r];
return captureTalkback(e, function(r, e) {
if ("number" == typeof r || !(r.tag && t[0] > 0)) {
return n(r);
} else {
rest[0] = rest[0] - 1 | 0;
return talkback(
/* Pull */
0);
t[0] = (t[0] - 1) | 0;
return e(0);
}

@@ -1645,20 +917,14 @@ });

function skipWhile(predicate) {
return function (source) {
return function (sink) {
var skip =
/* record */
[
/* contents */
true];
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number" || !(signal.tag && skip[0])) {
return sink(signal);
} else if (_1(predicate, signal[0])) {
return talkback(
/* Pull */
0);
function skipWhile(r) {
return function(e) {
return function(n) {
var t = [!0];
return captureTalkback(e, function(e, u) {
if ("number" == typeof e || !e.tag || !t[0]) {
return n(e);
} else if (_1(r, e[0])) {
return u(0);
} else {
skip[0] = false;
return sink(signal);
t[0] = !1;
return n(e);
}

@@ -1670,92 +936,36 @@ });

function skipUntil(notifier) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* skip */
true,
/* ended */
false,
/* gotSignal */
false,
/* sourceTalkback */
talkbackPlaceholder,
/* notifierTalkback */
talkbackPlaceholder];
_1(source, function (signal) {
if (typeof signal === "number") {
if (state[
/* skip */
0]) {
state[
/* notifierTalkback */
4](
/* Close */
1);
function skipUntil(r) {
return function(e) {
return function(n) {
var t = [!0, !1, !1, talkbackPlaceholder, talkbackPlaceholder];
_1(e, function(e) {
if ("number" == typeof e) {
if (t[0]) {
t[4](1);
}
state[
/* ended */
1] = true;
return sink(
/* End */
0);
} else if (signal.tag) {
if (state[
/* skip */
0] && !state[
/* ended */
1]) {
return state[
/* sourceTalkback */
3](
/* Pull */
0);
} else if (state[
/* ended */
1]) {
return (
/* () */
0
);
t[1] = !0;
return n(0);
} else if (e.tag) {
if (t[0] && !t[1]) {
return t[3](0);
} else if (t[1]) {
return 0;
} else {
state[
/* gotSignal */
2] = false;
return sink(signal);
t[2] = !1;
return n(e);
}
} else {
var tb = signal[0];
state[
/* sourceTalkback */
3] = tb;
return _1(notifier, function (signal) {
if (typeof signal === "number") {
return (
/* () */
0
);
} else if (signal.tag) {
state[
/* skip */
0] = false;
return state[
/* notifierTalkback */
4](
/* Close */
1);
var u = e[0];
t[3] = u;
return _1(r, function(r) {
if ("number" == typeof r) {
return 0;
} else if (r.tag) {
t[0] = !1;
return t[4](1);
} else {
var innerTb = signal[0];
state[
/* notifierTalkback */
4] = innerTb;
innerTb(
/* Pull */
0);
return tb(
/* Pull */
0);
var e = r[0];
t[4] = e;
e(0);
return u(0);
}

@@ -1765,45 +975,20 @@ });

});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
if (state[
/* skip */
0]) {
state[
/* notifierTalkback */
4](
/* Close */
1);
return n(
__(0, [
function(r) {
if (r) {
if (t[0]) {
t[4](1);
}
t[1] = !0;
return t[3](1);
} else if (!t[2] && !t[1]) {
t[2] = !0;
return t[3](0);
} else {
return 0;
}
}
state[
/* ended */
1] = true;
return state[
/* sourceTalkback */
3](
/* Close */
1);
} else if (!state[
/* gotSignal */
2] && !state[
/* ended */
1]) {
state[
/* gotSignal */
2] = true;
return state[
/* sourceTalkback */
3](
/* Pull */
0);
} else {
return (
/* () */
0
);
}
}]));
])
);
};

@@ -1813,152 +998,68 @@ };

function flatten(source) {
return function (sink) {
var state =
/* record */
[
/* sourceTalkback */
talkbackPlaceholder,
/* innerTalkback */
talkbackPlaceholder,
/* sourceEnded */
false,
/* innerEnded */
true];
_1(source, function (signal) {
if (typeof signal === "number") {
if (state[
/* innerEnded */
3]) {
return sink(
/* End */
0);
function flatten(r) {
return function(e) {
var n = [talkbackPlaceholder, talkbackPlaceholder, !1, !0];
_1(r, function(r) {
if ("number" == typeof r) {
if (n[3]) {
return e(0);
} else {
state[
/* sourceEnded */
2] = true;
return (
/* () */
0
);
n[2] = !0;
return 0;
}
} else if (signal.tag) {
var innerSource = signal[0];
return _1(innerSource, function (signal) {
if (typeof signal === "number") {
if (state[
/* sourceEnded */
2]) {
return state[
/* sourceTalkback */
0](
/* Close */
1);
} else if (r.tag) {
return _1(r[0], function(r) {
if ("number" == typeof r) {
if (n[2]) {
return n[0](1);
} else {
state[
/* innerEnded */
3] = true;
return state[
/* sourceTalkback */
0](
/* Pull */
0);
n[3] = !0;
return n[0](0);
}
} else if (signal.tag) {
return sink(signal);
} else if (r.tag) {
return e(r);
} else {
var tb = signal[0];
if (!state[
/* innerEnded */
3]) {
state[
/* innerTalkback */
1](
/* Close */
1);
var t = r[0];
if (!n[3]) {
n[1](1);
}
state[
/* innerEnded */
3] = false;
state[
/* innerTalkback */
1] = tb;
return tb(
/* Pull */
0);
n[3] = !1;
n[1] = t;
return t(0);
}
});
} else {
state[
/* sourceTalkback */
0] = signal[0];
return (
/* () */
0
);
n[0] = r[0];
return 0;
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
state[
/* sourceTalkback */
0](
/* Close */
1);
return state[
/* innerTalkback */
1](
/* Close */
1);
} else if (!state[
/* innerEnded */
3] && !state[
/* sourceEnded */
2]) {
return state[
/* innerTalkback */
1](
/* Pull */
0);
} else if (state[
/* sourceEnded */
2]) {
return (
/* () */
0
);
} else {
return state[
/* sourceTalkback */
0](
/* Pull */
0);
}
}]));
return e(
__(0, [
function(r) {
if (r) {
n[0](1);
return n[1](1);
} else if (!n[3] && !n[2]) {
return n[1](0);
} else if (n[2]) {
return 0;
} else {
return n[0](0);
}
}
])
);
};
}
function forEach$1(f) {
return function (source) {
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number") {
return (
/* () */
0
);
} else if (signal.tag) {
_1(f, signal[0]);
return talkback(
/* Pull */
0);
function forEach$1(r) {
return function(e) {
return captureTalkback(e, function(e, n) {
if ("number" == typeof e) {
return 0;
} else if (e.tag) {
_1(r, e[0]);
return n(0);
} else {
return talkback(
/* Pull */
0);
return n(0);
}

@@ -1969,50 +1070,27 @@ });

function subscribe(f) {
return function (source) {
var talkback =
/* record */
[
/* contents */
talkbackPlaceholder];
var ended =
/* record */
[
/* contents */
false];
_1(source, function (signal) {
if (typeof signal === "number") {
return (
/* () */
0
);
} else if (signal.tag) {
if (ended[0]) {
return (
/* () */
0
);
function subscribe(r) {
return function(e) {
var n = [talkbackPlaceholder];
var t = [!1];
_1(e, function(e) {
if ("number" == typeof e) {
return 0;
} else if (e.tag) {
if (t[0]) {
return 0;
} else {
_1(f, signal[0]);
return talkback[0](
/* Pull */
0);
_1(r, e[0]);
return n[0](0);
}
} else {
talkback[0] = signal[0];
return talkback[0](
/* Pull */
0);
n[0] = e[0];
return n[0](0);
}
});
return function (param) {
if (ended[0]) {
return function(r) {
if (t[0]) {
return 0;
} else {
ended[0] = true;
return talkback[0](
/* Close */
1);
t[0] = !0;
return n[0](1);
}

@@ -2023,203 +1101,142 @@ };

var Types = 0;
/* No side effect */
var e = 0;
function fromListener(addListener, removeListener) {
return function (sink) {
var handler = function ($$event) {
return sink(
/* Push */
__(1, [$$event]));
function fromListener(r, e) {
return function(n) {
var t = function(r) {
return n(__(1, [r]));
};
sink(
/* Start */
__(0, [function (signal) {
if (signal) {
return _1(removeListener, handler);
} else {
return (
/* () */
0
);
}
}]));
return _1(addListener, handler);
n(
__(0, [
function(r) {
if (r) {
return _1(e, t);
} else {
return 0;
}
}
])
);
return _1(r, t);
};
}
function fromDomEvent(element, $$event) {
return function (sink) {
var addEventListener = function (element, event, handler) {
element.addEventListener(event, handler);
function fromDomEvent(r, e) {
return function(n) {
var t = function(r, e, n) {
r.addEventListener(e, n);
};
var removeEventListener = function (element, event, handler) {
element.removeEventListener(event, handler);
var u = function(r, e, n) {
r.removeEventListener(e, n);
};
return fromListener(function (handler) {
return _3(addEventListener, element, $$event, handler);
}, function (handler) {
return _3(removeEventListener, element, $$event, handler);
})(sink);
return fromListener(
function(n) {
return _3(t, r, e, n);
},
function(n) {
return _3(u, r, e, n);
}
)(n);
};
}
function interval(p) {
return function (sink) {
var i =
/* record */
[
/* contents */
0];
var id = setInterval(function (param) {
var num = i[0];
i[0] = i[0] + 1 | 0;
return sink(
/* Push */
__(1, [num]));
}, p);
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
clearInterval(id);
return (
/* () */
0
);
} else {
return (
/* () */
0
);
}
}]));
function interval(r) {
return function(e) {
var n = [0];
var t = setInterval(function(r) {
var t = n[0];
n[0] = (n[0] + 1) | 0;
return e(__(1, [t]));
}, r);
return e(
__(0, [
function(r) {
if (r) {
clearInterval(t);
return 0;
} else {
return 0;
}
}
])
);
};
}
function fromPromise(promise) {
return function (sink) {
var ended =
/* record */
[
/* contents */
false];
promise.then(function (value) {
if (!ended[0]) {
sink(
/* Push */
__(1, [value]));
sink(
/* End */
0);
function fromPromise(r) {
return function(e) {
var n = [!1];
r.then(function(r) {
if (!n[0]) {
e(__(1, [r]));
e(0);
}
return Promise.resolve(
/* () */
0);
return Promise.resolve(0);
});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
ended[0] = true;
return (
/* () */
0
);
} else {
return (
/* () */
0
);
}
}]));
return e(
__(0, [
function(r) {
if (r) {
n[0] = !0;
return 0;
} else {
return 0;
}
}
])
);
};
}
function debounce(debounceF) {
return function (source) {
return function (sink) {
var gotEndSignal =
/* record */
[
/* contents */
false];
var id =
/* record */
[
/* contents */
undefined];
var $$clearTimeout$1 = function (param) {
var match = id[0];
if (match !== undefined) {
id[0] = undefined;
clearTimeout(valFromOption(match));
return (
/* () */
0
);
function debounce(r) {
return function(e) {
return function(n) {
var t = [!1];
var u = [void 0];
var i = function(r) {
var e = u[0];
if (void 0 !== e) {
u[0] = void 0;
clearTimeout(valFromOption(e));
return 0;
} else {
return (
/* () */
0
);
return 0;
}
};
return _1(source, function (signal) {
if (typeof signal === "number") {
gotEndSignal[0] = true;
var match = id[0];
if (match !== undefined) {
return (
/* () */
0
);
return _1(e, function(e) {
if ("number" == typeof e) {
t[0] = !0;
if (void 0 !== u[0]) {
return 0;
} else {
return sink(
/* End */
0);
return n(0);
}
} else if (signal.tag) {
$$clearTimeout$1(
/* () */
0);
id[0] = some(setTimeout(function (param) {
id[0] = undefined;
sink(signal);
if (gotEndSignal[0]) {
return sink(
/* End */
0);
} else {
return 0;
}
}, _1(debounceF, signal[0])));
return (
/* () */
0
} else if (e.tag) {
i();
u[0] = some(
setTimeout(function(r) {
u[0] = void 0;
n(e);
if (t[0]) {
return n(0);
} else {
return 0;
}
}, _1(r, e[0]))
);
return 0;
} else {
var tb = signal[0];
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
$$clearTimeout$1(
/* () */
0);
return tb(
/* Close */
1);
} else {
return tb(signal);
}
}]));
var f = e[0];
return n(
__(0, [
function(r) {
if (r) {
i();
return f(1);
} else {
return f(r);
}
}
])
);
}

@@ -2231,78 +1248,49 @@ });

function throttle(throttleF) {
return function (source) {
return function (sink) {
var skip =
/* record */
[
/* contents */
false];
var id =
/* record */
[
/* contents */
undefined];
var $$clearTimeout$1 = function (param) {
var match = id[0];
if (match !== undefined) {
clearTimeout(valFromOption(match));
return (
/* () */
0
);
function throttle(r) {
return function(e) {
return function(n) {
var t = [!1];
var u = [void 0];
var i = function(r) {
var e = u[0];
if (void 0 !== e) {
clearTimeout(valFromOption(e));
return 0;
} else {
return (
/* () */
0
);
return 0;
}
};
return _1(source, function (signal) {
if (typeof signal === "number") {
$$clearTimeout$1(
/* () */
0);
return sink(
/* End */
0);
} else if (signal.tag) {
if (skip[0]) {
return (
/* () */
0
return _1(e, function(e) {
if ("number" == typeof e) {
i();
return n(0);
} else if (e.tag) {
if (t[0]) {
return 0;
} else {
t[0] = !0;
i();
u[0] = some(
setTimeout(function(r) {
u[0] = void 0;
t[0] = !1;
return 0;
}, _1(r, e[0]))
);
} else {
skip[0] = true;
$$clearTimeout$1(
/* () */
0);
id[0] = some(setTimeout(function (param) {
id[0] = undefined;
skip[0] = false;
return (
/* () */
0
);
}, _1(throttleF, signal[0])));
return sink(signal);
return n(e);
}
} else {
var tb = signal[0];
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
$$clearTimeout$1(
/* () */
0);
return tb(
/* Close */
1);
} else {
return tb(signal);
}
}]));
var f = e[0];
return n(
__(0, [
function(r) {
if (r) {
i();
return f(1);
} else {
return f(r);
}
}
])
);
}

@@ -2314,133 +1302,60 @@ });

function sample(notifier) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* ended */
false,
/* value */
undefined,
/* sourceTalkback */
function (param) {
return (
/* () */
0
);
},
/* notifierTalkback */
function (param) {
return (
/* () */
0
);
}];
_1(source, function (signal) {
if (typeof signal === "number") {
state[
/* ended */
0] = true;
state[
/* notifierTalkback */
3](
/* Close */
1);
return sink(
/* End */
0);
} else if (signal.tag) {
state[
/* value */
1] = some(signal[0]);
return (
/* () */
0
);
function sample(r) {
return function(e) {
return function(n) {
var t = [
!1,
void 0,
function(r) {
return 0;
},
function(r) {
return 0;
}
];
_1(e, function(r) {
if ("number" == typeof r) {
t[0] = !0;
t[3](1);
return n(0);
} else if (r.tag) {
t[1] = some(r[0]);
return 0;
} else {
state[
/* sourceTalkback */
2] = signal[0];
return (
/* () */
0
);
t[2] = r[0];
return 0;
}
});
_1(notifier, function (signal) {
var match = state[
/* value */
1];
if (typeof signal === "number") {
state[
/* ended */
0] = true;
state[
/* sourceTalkback */
2](
/* Close */
1);
return sink(
/* End */
0);
} else if (signal.tag) {
if (match !== undefined && !state[
/* ended */
0]) {
state[
/* value */
1] = undefined;
return sink(
/* Push */
__(1, [valFromOption(match)]));
_1(r, function(r) {
var e = t[1];
if ("number" == typeof r) {
t[0] = !0;
t[2](1);
return n(0);
} else if (r.tag) {
if (void 0 !== e && !t[0]) {
t[1] = void 0;
return n(__(1, [valFromOption(e)]));
} else {
return (
/* () */
0
);
return 0;
}
} else {
state[
/* notifierTalkback */
3] = signal[0];
return (
/* () */
0
);
t[3] = r[0];
return 0;
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
state[
/* ended */
0] = true;
state[
/* sourceTalkback */
2](
/* Close */
1);
return state[
/* notifierTalkback */
3](
/* Close */
1);
} else {
state[
/* sourceTalkback */
2](
/* Pull */
0);
return state[
/* notifierTalkback */
3](
/* Pull */
0);
}
}]));
return n(
__(0, [
function(r) {
if (r) {
t[0] = !0;
t[2](1);
return t[3](1);
} else {
t[2](0);
return t[3](0);
}
}
])
);
};

@@ -2450,107 +1365,88 @@ };

function delay(wait) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* talkback */
talkbackPlaceholder,
/* active */
0,
/* gotEndSignal */
false];
_1(source, function (signal) {
var exit = 0;
if (typeof signal === "number" || signal.tag) {
exit = 1;
function delay(r) {
return function(e) {
return function(n) {
var t = [talkbackPlaceholder, 0, !1];
_1(e, function(e) {
var u = 0;
if ("number" == typeof e || e.tag) {
u = 1;
} else {
state[
/* talkback */
0] = signal[0];
return (
/* () */
0
);
t[0] = e[0];
return 0;
}
if (exit === 1) {
if (state[
/* gotEndSignal */
2]) {
return (
/* () */
0
);
if (1 === u) {
if (t[2]) {
return 0;
} else {
state[
/* active */
1] = state[
/* active */
1] + 1 | 0;
setTimeout(function (param) {
if (state[
/* gotEndSignal */
2] && state[
/* active */
1] === 0) {
sink(
/* End */
0);
t[1] = (t[1] + 1) | 0;
setTimeout(function(r) {
if (t[2] && 0 === t[1]) {
n(0);
} else {
state[
/* active */
1] = state[
/* active */
1] - 1 | 0;
t[1] = (t[1] - 1) | 0;
}
return sink(signal);
}, wait);
return (
/* () */
0
);
return n(e);
}, r);
return 0;
}
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
state[
/* gotEndSignal */
2] = true;
if (state[
/* active */
1] === 0) {
return sink(
/* End */
0);
} else {
return 0;
return n(
__(0, [
function(r) {
if (r) {
t[2] = !0;
if (0 === t[1]) {
return n(0);
} else {
return 0;
}
} else if (t[2]) {
return 0;
} else {
return t[0](r);
}
}
} else if (state[
/* gotEndSignal */
2]) {
return (
/* () */
0
);
} else {
return state[
/* talkback */
0](signal);
}
}]));
])
);
};
};
}
/* No side effect */
export { pipe, Types, makeSubject, make$2 as make, fromList, fromArray, fromValue, empty, never, map$1 as map, filter, scan, merge, concat$1 as concat, share, combine, take, takeLast, takeWhile, takeUntil, skip, skipWhile, skipUntil, flatten, forEach$1 as forEach, subscribe, fromListener, fromDomEvent, interval, fromPromise, debounce, throttle, sample, delay };
//# sourceMappingURL=wonka.es.js.map
export {
pipe,
e as Types,
makeSubject,
make$2 as make,
fromList,
fromArray,
fromValue,
empty,
never,
map$1 as map,
filter,
scan,
merge,
concat$1 as concat,
share,
combine,
take,
takeLast,
takeWhile,
takeUntil,
skip,
skipWhile,
skipUntil,
flatten,
forEach$1 as forEach,
subscribe,
fromListener,
fromDomEvent,
interval,
fromPromise,
debounce,
throttle,
sample,
delay
};

@@ -1,78 +0,39 @@

function pipe(source) {
var args = arguments;
var len = args.length;
var x = source;
for (var i = 1; i < len; i++) {
x = args[i](x);
function pipe(r) {
var e = arguments;
var n = e.length;
var t = r;
for (var u = 1; u < n; u++) {
t = e[u](t);
}
return x;
return t;
}
function __(tag, block) {
block.tag = tag;
return block;
function __(r, e) {
e.tag = r;
return e;
}
/* No side effect */
var out_of_memory = /* tuple */[
"Out_of_memory",
0
];
var out_of_memory = ["Out_of_memory", 0];
var sys_error = /* tuple */[
"Sys_error",
-1
];
var sys_error = ["Sys_error", -1];
var failure = /* tuple */[
"Failure",
-2
];
var failure = ["Failure", -2];
var invalid_argument = /* tuple */[
"Invalid_argument",
-3
];
var invalid_argument = ["Invalid_argument", -3];
var end_of_file = /* tuple */[
"End_of_file",
-4
];
var end_of_file = ["End_of_file", -4];
var division_by_zero = /* tuple */[
"Division_by_zero",
-5
];
var division_by_zero = ["Division_by_zero", -5];
var not_found = /* tuple */[
"Not_found",
-6
];
var not_found = ["Not_found", -6];
var match_failure = /* tuple */[
"Match_failure",
-7
];
var match_failure = ["Match_failure", -7];
var stack_overflow = /* tuple */[
"Stack_overflow",
-8
];
var stack_overflow = ["Stack_overflow", -8];
var sys_blocked_io = /* tuple */[
"Sys_blocked_io",
-9
];
var sys_blocked_io = ["Sys_blocked_io", -9];
var assert_failure = /* tuple */[
"Assert_failure",
-10
];
var assert_failure = ["Assert_failure", -10];
var undefined_recursive_module = /* tuple */[
"Undefined_recursive_module",
-11
];
var undefined_recursive_module = ["Undefined_recursive_module", -11];

@@ -102,686 +63,447 @@ out_of_memory.tag = 248;

undefined_recursive_module.tag = 248;
/* Not a pure module */
function caml_array_sub(x, offset, len) {
var result = new Array(len);
var j = 0;
var i = offset;
while(j < len) {
result[j] = x[i];
j = j + 1 | 0;
i = i + 1 | 0;
} return result;
function caml_array_sub(r, e, n) {
var t = new Array(n);
var u = 0;
var i = e;
while (u < n) {
t[u] = r[i];
u = (u + 1) | 0;
i = (i + 1) | 0;
}
return t;
}
/* No side effect */
function app(_f, _args) {
while(true) {
var args = _args;
var f = _f;
var arity = f.length;
var len = args.length;
var d = arity - len | 0;
if (d === 0) {
return f.apply(null, args);
} else if (d < 0) {
_args = caml_array_sub(args, arity, -d | 0);
_f = f.apply(null, caml_array_sub(args, 0, arity));
continue ;
function app(r, e) {
while (1) {
var n = e;
var t = r;
var u = t.length;
var i = (u - n.length) | 0;
if (0 === i) {
return t.apply(null, n);
} else if (i < 0) {
e = caml_array_sub(n, u, 0 | -i);
r = t.apply(null, caml_array_sub(n, 0, u));
continue;
} else {
return (function(f,args){
return function (x) {
return app(f, args.concat(/* array */[x]));
}
}(f,args));
return (function(r, e) {
return function(n) {
return app(r, e.concat([n]));
};
})(t, n);
}
}}
}
}
function curry_1(o, a0, arity) {
switch (arity) {
case 1 :
return o(a0);
case 2 :
return (function (param) {
return o(a0, param);
});
case 3 :
return (function (param, param$1) {
return o(a0, param, param$1);
});
case 4 :
return (function (param, param$1, param$2) {
return o(a0, param, param$1, param$2);
});
case 5 :
return (function (param, param$1, param$2, param$3) {
return o(a0, param, param$1, param$2, param$3);
});
case 6 :
return (function (param, param$1, param$2, param$3, param$4) {
return o(a0, param, param$1, param$2, param$3, param$4);
});
case 7 :
return (function (param, param$1, param$2, param$3, param$4, param$5) {
return o(a0, param, param$1, param$2, param$3, param$4, param$5);
});
function curry_1(r, e, n) {
switch (n) {
case 1:
return r(e);
case 2:
return function(n) {
return r(e, n);
};
case 3:
return function(n, t) {
return r(e, n, t);
};
case 4:
return function(n, t, u) {
return r(e, n, t, u);
};
case 5:
return function(n, t, u, i) {
return r(e, n, t, u, i);
};
case 6:
return function(n, t, u, i, f) {
return r(e, n, t, u, i, f);
};
case 7:
return function(n, t, u, i, f, o) {
return r(e, n, t, u, i, f, o);
};
default:
return app(o, /* array */[a0]);
return app(r, [e]);
}
}
function _1(o, a0) {
var arity = o.length;
if (arity === 1) {
return o(a0);
function _1(r, e) {
var n = r.length;
if (1 === n) {
return r(e);
} else {
return curry_1(o, a0, arity);
return curry_1(r, e, n);
}
}
function curry_2(o, a0, a1, arity) {
switch (arity) {
case 1 :
return app(o(a0), /* array */[a1]);
case 2 :
return o(a0, a1);
case 3 :
return (function (param) {
return o(a0, a1, param);
});
case 4 :
return (function (param, param$1) {
return o(a0, a1, param, param$1);
});
case 5 :
return (function (param, param$1, param$2) {
return o(a0, a1, param, param$1, param$2);
});
case 6 :
return (function (param, param$1, param$2, param$3) {
return o(a0, a1, param, param$1, param$2, param$3);
});
case 7 :
return (function (param, param$1, param$2, param$3, param$4) {
return o(a0, a1, param, param$1, param$2, param$3, param$4);
});
function curry_2(r, e, n, t) {
switch (t) {
case 1:
return app(r(e), [n]);
case 2:
return r(e, n);
case 3:
return function(t) {
return r(e, n, t);
};
case 4:
return function(t, u) {
return r(e, n, t, u);
};
case 5:
return function(t, u, i) {
return r(e, n, t, u, i);
};
case 6:
return function(t, u, i, f) {
return r(e, n, t, u, i, f);
};
case 7:
return function(t, u, i, f, o) {
return r(e, n, t, u, i, f, o);
};
default:
return app(o, /* array */[
a0,
a1
]);
return app(r, [e, n]);
}
}
function _2(o, a0, a1) {
var arity = o.length;
if (arity === 2) {
return o(a0, a1);
function _2(r, e, n) {
var t = r.length;
if (2 === t) {
return r(e, n);
} else {
return curry_2(o, a0, a1, arity);
return curry_2(r, e, n, t);
}
}
function curry_3(o, a0, a1, a2, arity) {
switch (arity) {
case 1 :
return app(o(a0), /* array */[
a1,
a2
]);
case 2 :
return app(o(a0, a1), /* array */[a2]);
case 3 :
return o(a0, a1, a2);
case 4 :
return (function (param) {
return o(a0, a1, a2, param);
});
case 5 :
return (function (param, param$1) {
return o(a0, a1, a2, param, param$1);
});
case 6 :
return (function (param, param$1, param$2) {
return o(a0, a1, a2, param, param$1, param$2);
});
case 7 :
return (function (param, param$1, param$2, param$3) {
return o(a0, a1, a2, param, param$1, param$2, param$3);
});
function curry_3(r, e, n, t, u) {
switch (u) {
case 1:
return app(r(e), [n, t]);
case 2:
return app(r(e, n), [t]);
case 3:
return r(e, n, t);
case 4:
return function(u) {
return r(e, n, t, u);
};
case 5:
return function(u, i) {
return r(e, n, t, u, i);
};
case 6:
return function(u, i, f) {
return r(e, n, t, u, i, f);
};
case 7:
return function(u, i, f, o) {
return r(e, n, t, u, i, f, o);
};
default:
return app(o, /* array */[
a0,
a1,
a2
]);
return app(r, [e, n, t]);
}
}
function _3(o, a0, a1, a2) {
var arity = o.length;
if (arity === 3) {
return o(a0, a1, a2);
function _3(r, e, n, t) {
var u = r.length;
if (3 === u) {
return r(e, n, t);
} else {
return curry_3(o, a0, a1, a2, arity);
return curry_3(r, e, n, t, u);
}
}
/* No side effect */
/* No side effect */
var undefinedHeader = [];
/* No side effect */
var undefinedHeader = /* array */[];
function some(x) {
if (x === undefined) {
var block = /* tuple */[
undefinedHeader,
0
];
block.tag = 256;
return block;
} else if (x !== null && x[0] === undefinedHeader) {
var nid = x[1] + 1 | 0;
var block$1 = /* tuple */[
undefinedHeader,
nid
];
block$1.tag = 256;
return block$1;
function some(r) {
if (void 0 === r) {
var e = [undefinedHeader, 0];
e.tag = 256;
return e;
} else if (null !== r && r[0] === undefinedHeader) {
var n = (r[1] + 1) | 0;
var t = [undefinedHeader, n];
t.tag = 256;
return t;
} else {
return x;
return r;
}
}
function valFromOption(x) {
if (x !== null && x[0] === undefinedHeader) {
var depth = x[1];
if (depth === 0) {
return undefined;
function valFromOption(r) {
if (null !== r && r[0] === undefinedHeader) {
var e = r[1];
if (0 === e) {
return;
} else {
return /* tuple */[
undefinedHeader,
depth - 1 | 0
];
return [undefinedHeader, (e - 1) | 0];
}
} else {
return x;
return r;
}
}
/* No side effect */
/* No side effect */
/* No side effect */
function make$1(len, vals) {
var res = new Array(len);
res.fill(vals);
return res;
function make$1(r, e) {
var n = new Array(r);
n.fill(e);
return n;
}
/* No side effect */
function talkbackPlaceholder(param) {
return (
/* () */
0
);
function talkbackPlaceholder(r) {
return 0;
}
function captureTalkback(source, sinkWithTalkback) {
var talkback =
/* record */
[
/* contents */
talkbackPlaceholder];
return _1(source, function (signal) {
if (typeof signal !== "number") {
if (!signal.tag) {
talkback[0] = signal[0];
function captureTalkback(r, e) {
var n = [talkbackPlaceholder];
return _1(r, function(r) {
if ("number" != typeof r) {
if (!r.tag) {
n[0] = r[0];
}
}
return sinkWithTalkback(signal, talkback[0]);
return e(r, n[0]);
});
}
function makeTrampoline(sink, f) {
var state =
/* record */
[
/* exhausted */
false,
/* inLoop */
false,
/* gotSignal */
false];
return sink(
/* Start */
__(0, [function (signal) {
var match = state[
/* exhausted */
0];
if (signal || match) {
return (
/* () */
0
);
} else {
state[
/* gotSignal */
2] = true;
if (state[
/* inLoop */
1]) {
return 0;
} else {
var explode = function (_param) {
while (true) {
var match = f();
if (match !== undefined) {
state[
/* gotSignal */
2] = false;
sink(
/* Push */
__(1, [valFromOption(match)]));
if (state[
/* gotSignal */
2]) {
_param =
/* () */
0;
continue;
} else {
return 0;
function makeTrampoline(r, e) {
var n = [!1, !1, !1];
return r(
__(0, [
function(t) {
var u = n[0];
if (t || u) {
return 0;
} else {
n[2] = !0;
if (n[1]) {
return 0;
} else {
n[1] = !0;
!(function(t) {
while (1) {
var u = e();
if (void 0 !== u) {
n[2] = !1;
r(__(1, [valFromOption(u)]));
if (n[2]) {
continue;
} else {
return 0;
}
} else {
n[0] = !0;
return r(0);
}
}
} else {
state[
/* exhausted */
0] = true;
return sink(
/* End */
0);
}
})();
n[1] = !1;
return 0;
}
};
state[
/* inLoop */
1] = true;
explode(
/* () */
0);
state[
/* inLoop */
1] = false;
return (
/* () */
0
);
}
}
}
}]));
])
);
}
/* No side effect */
function makeSubject(param) {
var state =
/* record */
[
/* sinks */
new Array(),
/* ended */
false];
var source = function (sink) {
state[
/* sinks */
0] = state[
/* sinks */
0].concat(sink);
return sink(
/* Start */
__(0, [function (signal) {
if (signal ===
/* Close */
1) {
state[
/* sinks */
0] = state[
/* sinks */
0].filter(function (x) {
return x !== sink;
function makeSubject(r) {
var e = [new Array(), !1];
return [
function(r) {
e[0] = e[0].concat(r);
return r(
__(0, [
function(n) {
if (1 === n) {
e[0] = e[0].filter(function(e) {
return e !== r;
});
return 0;
} else {
return 0;
}
}
])
);
},
function(r) {
if (e[1]) {
return 0;
} else {
e[0].forEach(function(e) {
return e(__(1, [r]));
});
return (
/* () */
0
);
return 0;
}
},
function(r) {
if (e[1]) {
return 0;
} else {
e[1] = !0;
e[0].forEach(function(r) {
return r(0);
});
return 0;
}
}]));
};
var next = function (value) {
if (state[
/* ended */
1]) {
return 0;
} else {
state[
/* sinks */
0].forEach(function (sink) {
return sink(
/* Push */
__(1, [value]));
});
return (
/* () */
0
);
}
};
var complete = function (param) {
if (state[
/* ended */
1]) {
return 0;
} else {
state[
/* ended */
1] = true;
state[
/* sinks */
0].forEach(function (sink) {
return sink(
/* End */
0);
});
return (
/* () */
0
);
}
};
return (
/* record */
[
/* source */
source,
/* next */
next,
/* complete */
complete]
);
];
}
function make$2(f) {
return function (sink) {
var teardown = _1(f,
/* record */
[
/* next */
function (value) {
return sink(
/* Push */
__(1, [value]));
},
/* complete */
function (param) {
return sink(
/* End */
0);
}]);
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
return _1(teardown,
/* () */
0);
} else {
return (
/* () */
0
);
function make$2(r) {
return function(e) {
var n = _1(r, [
function(r) {
return e(__(1, [r]));
},
function(r) {
return e(0);
}
}]));
]);
return e(
__(0, [
function(r) {
if (r) {
return _1(n, 0);
} else {
return 0;
}
}
])
);
};
}
function fromList(ls) {
return function (sink) {
var state =
/* record */
[
/* value */
ls,
/* ended */
false,
/* looping */
false,
/* pull */
false];
return sink(
/* Start */
__(0, [function (signal) {
var match = state[
/* looping */
2];
if (signal) {
state[
/* ended */
1] = true;
return (
/* () */
0
);
} else if (match) {
state[
/* pull */
3] = true;
return (
/* () */
0
);
} else {
state[
/* pull */
3] = true;
state[
/* looping */
2] = true;
while (state[
/* pull */
3] && !state[
/* ended */
1]) {
var match$1 = state[
/* value */
0];
if (match$1) {
state[
/* value */
0] = match$1[1];
state[
/* pull */
3] = false;
sink(
/* Push */
__(1, [match$1[0]]));
function fromList(r) {
return function(e) {
var n = [r, !1, !1, !1];
return e(
__(0, [
function(r) {
var t = n[2];
if (r) {
n[1] = !0;
return 0;
} else if (t) {
n[3] = !0;
return 0;
} else {
state[
/* ended */
1] = true;
sink(
/* End */
0);
n[3] = !0;
n[2] = !0;
while (n[3] && !n[1]) {
var u = n[0];
if (u) {
n[0] = u[1];
n[3] = !1;
e(__(1, [u[0]]));
} else {
n[1] = !0;
e(0);
}
}
n[2] = !1;
return 0;
}
}
state[
/* looping */
2] = false;
return (
/* () */
0
);
}
}]));
])
);
};
}
function fromArray(arr) {
return function (sink) {
var size = arr.length;
var state =
/* record */
[
/* index */
0,
/* ended */
false,
/* looping */
false,
/* pull */
false];
return sink(
/* Start */
__(0, [function (signal) {
var match = state[
/* looping */
2];
if (signal) {
state[
/* ended */
1] = true;
return (
/* () */
0
);
} else if (match) {
state[
/* pull */
3] = true;
return (
/* () */
0
);
} else {
state[
/* pull */
3] = true;
state[
/* looping */
2] = true;
while (state[
/* pull */
3] && !state[
/* ended */
1]) {
var index = state[
/* index */
0];
if (index < size) {
var x = arr[index];
state[
/* index */
0] = index + 1 | 0;
state[
/* pull */
3] = false;
sink(
/* Push */
__(1, [x]));
function fromArray(r) {
return function(e) {
var n = r.length;
var t = [0, !1, !1, !1];
return e(
__(0, [
function(u) {
var i = t[2];
if (u) {
t[1] = !0;
return 0;
} else if (i) {
t[3] = !0;
return 0;
} else {
state[
/* ended */
1] = true;
sink(
/* End */
0);
t[3] = !0;
t[2] = !0;
while (t[3] && !t[1]) {
var f = t[0];
if (f < n) {
var o = r[f];
t[0] = (f + 1) | 0;
t[3] = !1;
e(__(1, [o]));
} else {
t[1] = !0;
e(0);
}
}
t[2] = !1;
return 0;
}
}
state[
/* looping */
2] = false;
return (
/* () */
0
);
}
}]));
])
);
};
}
function fromValue(x) {
return function (sink) {
var ended =
/* record */
[
/* contents */
false];
return sink(
/* Start */
__(0, [function (signal) {
if (signal || ended[0]) {
return (
/* () */
0
);
} else {
ended[0] = true;
sink(
/* Push */
__(1, [x]));
return sink(
/* End */
0);
}
}]));
function fromValue(r) {
return function(e) {
var n = [!1];
return e(
__(0, [
function(t) {
if (t || n[0]) {
return 0;
} else {
n[0] = !0;
e(__(1, [r]));
return e(0);
}
}
])
);
};
}
function empty(sink) {
sink(
/* Start */
__(0, [talkbackPlaceholder]));
return sink(
/* End */
0);
function empty(r) {
r(__(0, [talkbackPlaceholder]));
return r(0);
}
function never(sink) {
return sink(
/* Start */
__(0, [talkbackPlaceholder]));
function never(r) {
return r(__(0, [talkbackPlaceholder]));
}
function map$1(f) {
return function (source) {
return function (sink) {
return _1(source, function (signal) {
var tmp;
tmp = typeof signal === "number" ?
/* End */
0 : signal.tag ?
/* Push */
__(1, [_1(f, signal[0])]) :
/* Start */
__(0, [signal[0]]);
return sink(tmp);
function map$1(r) {
return function(e) {
return function(n) {
return _1(e, function(e) {
var t;
t = "number" == typeof e ? 0 : e.tag ? __(1, [_1(r, e[0])]) : __(0, [e[0]]);
return n(t);
});

@@ -792,12 +514,10 @@ };

function filter(f) {
return function (source) {
return function (sink) {
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number" || !(signal.tag && !_1(f, signal[0]))) {
return sink(signal);
function filter(r) {
return function(e) {
return function(n) {
return captureTalkback(e, function(e, t) {
if ("number" == typeof e || !e.tag || _1(r, e[0])) {
return n(e);
} else {
return talkback(
/* Pull */
0);
return t(0);
}

@@ -809,29 +529,17 @@ });

function scan(f, seed) {
return function (source) {
return function (sink) {
var acc =
/* record */
[
/* contents */
seed];
return _1(source, function (signal) {
var tmp;
if (typeof signal === "number") {
tmp =
/* End */
0;
} else if (signal.tag) {
acc[0] = _2(f, acc[0], signal[0]);
tmp =
/* Push */
__(1, [acc[0]]);
function scan(r, e) {
return function(n) {
return function(t) {
var u = [e];
return _1(n, function(e) {
var n;
if ("number" == typeof e) {
n = 0;
} else if (e.tag) {
u[0] = _2(r, u[0], e[0]);
n = __(1, [u[0]]);
} else {
tmp =
/* Start */
__(0, [signal[0]]);
n = __(0, [e[0]]);
}
return sink(tmp);
return t(n);
});

@@ -842,23 +550,14 @@ };

function merge(sources) {
return function (sink) {
var size = sources.length;
var talkbacks = make$1(size, talkbackPlaceholder);
var state =
/* record */
[
/* started */
0,
/* ended */
0];
var talkback = function (signal) {
var _i = 0;
while (true) {
var i = _i;
if (i < size) {
talkbacks[i](signal);
_i = i + 1 | 0;
function merge(r) {
return function(e) {
var n = r.length;
var t = make$1(n, talkbackPlaceholder);
var u = [0, 0];
var i = function(r) {
var e = 0;
while (1) {
var u = e;
if (u < n) {
t[u](r);
e = (u + 1) | 0;
continue;

@@ -870,53 +569,32 @@ } else {

};
var _i = 0;
while (true) {
var i = _i;
if (i < size) {
var source = sources[i];
_1(source, function (i) {
return function (signal) {
if (typeof signal === "number") {
state[
/* ended */
1] = state[
/* ended */
1] + 1 | 0;
if (state[
/* ended */
1] === size) {
return sink(
/* End */
0);
var f = 0;
while (1) {
var o = f;
if (o < n) {
_1(
r[o],
(function(r) {
return function(f) {
if ("number" == typeof f) {
u[1] = (u[1] + 1) | 0;
if (u[1] === n) {
return e(0);
} else {
return 0;
}
} else if (f.tag) {
return e(f);
} else {
return 0;
t[r] = f[0];
u[0] = (u[0] + 1) | 0;
if (u[0] === n) {
return e(__(0, [i]));
} else {
return 0;
}
}
} else if (signal.tag) {
return sink(signal);
} else {
talkbacks[i] = signal[0];
state[
/* started */
0] = state[
/* started */
0] + 1 | 0;
if (state[
/* started */
0] === size) {
return sink(
/* Start */
__(0, [talkback]));
} else {
return 0;
}
}
};
}(i));
_i = i + 1 | 0;
};
})(o)
);
f = (o + 1) | 0;
continue;

@@ -930,423 +608,192 @@ } else {

function concat$1(sources) {
return function (sink) {
var size = sources.length;
var talkback =
/* record */
[
/* contents */
talkbackPlaceholder];
var nextSource = function (i) {
if (i < size) {
var source = sources[i];
return _1(source, function (signal) {
if (typeof signal === "number") {
return nextSource(i + 1 | 0);
} else if (signal.tag) {
return sink(signal);
function concat$1(r) {
return function(e) {
var n = r.length;
var t = [talkbackPlaceholder];
var u = function(i) {
if (i < n) {
return _1(r[i], function(r) {
if ("number" == typeof r) {
return u((i + 1) | 0);
} else if (r.tag) {
return e(r);
} else {
var tb = signal[0];
talkback[0] = tb;
if (i === 0) {
sink(
/* Start */
__(0, [function (signal) {
return talkback[0](signal);
}]));
var n = r[0];
t[0] = n;
if (0 === i) {
e(
__(0, [
function(r) {
return t[0](r);
}
])
);
}
return tb(
/* Pull */
0);
return n(0);
}
});
} else {
return sink(
/* End */
0);
return e(0);
}
};
return nextSource(0);
return u(0);
};
}
function share(source) {
var state =
/* record */
[
/* sinks */
new Array(),
/* talkback */
talkbackPlaceholder,
/* gotSignal */
false];
return function (sink) {
state[
/* sinks */
0] = state[
/* sinks */
0].concat(sink);
if (state[
/* sinks */
0].length === 1) {
_1(source, function (signal) {
if (typeof signal === "number") {
state[
/* sinks */
0].forEach(function (sink) {
return sink(
/* End */
0);
function share(r) {
var e = [new Array(), talkbackPlaceholder, !1];
return function(n) {
e[0] = e[0].concat(n);
if (1 === e[0].length) {
_1(r, function(r) {
if ("number" == typeof r) {
e[0].forEach(function(r) {
return r(0);
});
state[
/* sinks */
0] = new Array();
return (
/* () */
0
);
} else if (signal.tag) {
state[
/* gotSignal */
2] = false;
state[
/* sinks */
0].forEach(function (sink) {
return sink(signal);
e[0] = new Array();
return 0;
} else if (r.tag) {
e[2] = !1;
e[0].forEach(function(e) {
return e(r);
});
return (
/* () */
0
);
return 0;
} else {
state[
/* talkback */
1] = signal[0];
return (
/* () */
0
);
e[1] = r[0];
return 0;
}
});
}
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
state[
/* sinks */
0] = state[
/* sinks */
0].filter(function (x) {
return x !== sink;
});
if (state[
/* sinks */
0].length === 0) {
return state[
/* talkback */
1](
/* Close */
1);
} else {
return 0;
return n(
__(0, [
function(r) {
if (r) {
e[0] = e[0].filter(function(r) {
return r !== n;
});
if (0 === e[0].length) {
return e[1](1);
} else {
return 0;
}
} else if (e[2]) {
return 0;
} else {
e[2] = !0;
return e[1](r);
}
}
} else if (state[
/* gotSignal */
2]) {
return (
/* () */
0
);
} else {
state[
/* gotSignal */
2] = true;
return state[
/* talkback */
1](signal);
}
}]));
])
);
};
}
function combine(sourceA, sourceB) {
return function (sink) {
var state =
/* record */
[
/* talkbackA */
talkbackPlaceholder,
/* talkbackB */
talkbackPlaceholder,
/* lastValA */
undefined,
/* lastValB */
undefined,
/* gotSignal */
false,
/* endCounter */
0,
/* ended */
false];
_1(sourceA, function (signal) {
var match = state[
/* lastValB */
3];
if (typeof signal === "number") {
if (state[
/* endCounter */
5] < 1) {
state[
/* endCounter */
5] = state[
/* endCounter */
5] + 1 | 0;
return (
/* () */
0
);
} else if (state[
/* ended */
6]) {
return (
/* () */
0
);
function combine(r, e) {
return function(n) {
var t = [talkbackPlaceholder, talkbackPlaceholder, void 0, void 0, !1, 0, !1];
_1(r, function(r) {
var e = t[3];
if ("number" == typeof r) {
if (t[5] < 1) {
t[5] = (t[5] + 1) | 0;
return 0;
} else if (t[6]) {
return 0;
} else {
state[
/* ended */
6] = true;
return sink(
/* End */
0);
t[6] = !0;
return n(0);
}
} else if (signal.tag) {
var a = signal[0];
if (match !== undefined) {
if (state[
/* ended */
6]) {
return (
/* () */
0
);
} else if (r.tag) {
var u = r[0];
if (void 0 !== e) {
if (t[6]) {
return 0;
} else {
state[
/* lastValA */
2] = some(a);
state[
/* gotSignal */
4] = false;
return sink(
/* Push */
__(1, [
/* tuple */
[a, valFromOption(match)]]));
t[2] = some(u);
t[4] = !1;
return n(__(1, [[u, valFromOption(e)]]));
}
} else {
state[
/* lastValA */
2] = some(a);
state[
/* gotSignal */
4] = false;
return (
/* () */
0
);
t[2] = some(u);
t[4] = !1;
return 0;
}
} else {
state[
/* talkbackA */
0] = signal[0];
return (
/* () */
0
);
t[0] = r[0];
return 0;
}
});
_1(sourceB, function (signal) {
var match = state[
/* lastValA */
2];
if (typeof signal === "number") {
if (state[
/* endCounter */
5] < 1) {
state[
/* endCounter */
5] = state[
/* endCounter */
5] + 1 | 0;
return (
/* () */
0
);
} else if (state[
/* ended */
6]) {
return (
/* () */
0
);
_1(e, function(r) {
var e = t[2];
if ("number" == typeof r) {
if (t[5] < 1) {
t[5] = (t[5] + 1) | 0;
return 0;
} else if (t[6]) {
return 0;
} else {
state[
/* ended */
6] = true;
return sink(
/* End */
0);
t[6] = !0;
return n(0);
}
} else if (signal.tag) {
var b = signal[0];
if (match !== undefined) {
if (state[
/* ended */
6]) {
return (
/* () */
0
);
} else if (r.tag) {
var u = r[0];
if (void 0 !== e) {
if (t[6]) {
return 0;
} else {
state[
/* lastValB */
3] = some(b);
state[
/* gotSignal */
4] = false;
return sink(
/* Push */
__(1, [
/* tuple */
[valFromOption(match), b]]));
t[3] = some(u);
t[4] = !1;
return n(__(1, [[valFromOption(e), u]]));
}
} else {
state[
/* lastValB */
3] = some(b);
state[
/* gotSignal */
4] = false;
return (
/* () */
0
);
t[3] = some(u);
t[4] = !1;
return 0;
}
} else {
state[
/* talkbackB */
1] = signal[0];
return (
/* () */
0
);
t[1] = r[0];
return 0;
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (state[
/* ended */
6]) {
return 0;
} else if (signal) {
state[
/* ended */
6] = true;
state[
/* talkbackA */
0](
/* Close */
1);
return state[
/* talkbackB */
1](
/* Close */
1);
} else if (state[
/* gotSignal */
4]) {
return (
/* () */
0
);
} else {
state[
/* gotSignal */
4] = true;
state[
/* talkbackA */
0](signal);
return state[
/* talkbackB */
1](signal);
}
}]));
return n(
__(0, [
function(r) {
if (t[6]) {
return 0;
} else if (r) {
t[6] = !0;
t[0](1);
return t[1](1);
} else if (t[4]) {
return 0;
} else {
t[4] = !0;
t[0](r);
return t[1](r);
}
}
])
);
};
}
function take(max) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* taken */
0,
/* talkback */
talkbackPlaceholder];
_1(source, function (signal) {
if (typeof signal === "number") {
if (state[
/* taken */
0] < max) {
state[
/* taken */
0] = max;
return sink(
/* End */
0);
function take(r) {
return function(e) {
return function(n) {
var t = [0, talkbackPlaceholder];
_1(e, function(e) {
if ("number" == typeof e) {
if (t[0] < r) {
t[0] = r;
return n(0);
} else {
return (
/* () */
0
);
return 0;
}
} else if (signal.tag) {
if (state[
/* taken */
0] < max) {
state[
/* taken */
0] = state[
/* taken */
0] + 1 | 0;
sink(signal);
if (state[
/* taken */
0] === max) {
sink(
/* End */
0);
return state[
/* talkback */
1](
/* Close */
1);
} else if (e.tag) {
if (t[0] < r) {
t[0] = (t[0] + 1) | 0;
n(e);
if (t[0] === r) {
n(0);
return t[1](1);
} else {

@@ -1356,44 +803,25 @@ return 0;

} else {
return (
/* () */
0
);
return 0;
}
} else {
state[
/* talkback */
1] = signal[0];
return (
/* () */
0
);
t[1] = e[0];
return 0;
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (state[
/* taken */
0] < max) {
if (signal) {
state[
/* taken */
0] = max;
return state[
/* talkback */
1](
/* Close */
1);
} else {
return state[
/* talkback */
1](
/* Pull */
0);
return n(
__(0, [
function(e) {
if (t[0] < r) {
if (e) {
t[0] = r;
return t[1](1);
} else {
return t[1](0);
}
} else {
return 0;
}
}
} else {
return 0;
}
}]));
])
);
};

@@ -1403,26 +831,19 @@ };

function takeLast(max) {
return function (source) {
return function (sink) {
var queue = new Array();
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number") {
return makeTrampoline(sink, function () {
return queue.shift();
function takeLast(r) {
return function(e) {
return function(n) {
var t = new Array();
return captureTalkback(e, function(e, u) {
if ("number" == typeof e) {
return makeTrampoline(n, function() {
return t.shift();
});
} else if (signal.tag) {
var size = queue.length;
if (size >= max && max > 0) {
queue.shift();
} else if (e.tag) {
if (t.length >= r && r > 0) {
t.shift();
}
queue.push(signal[0]);
return talkback(
/* Pull */
0);
t.push(e[0]);
return u(0);
} else {
return talkback(
/* Pull */
0);
return u(0);
}

@@ -1434,68 +855,44 @@ });

function takeWhile(predicate) {
return function (source) {
return function (sink) {
var ended =
/* record */
[
/* contents */
false];
var talkback =
/* record */
[
/* contents */
talkbackPlaceholder];
_1(source, function (signal) {
if (typeof signal === "number") {
if (ended[0]) {
return (
/* () */
0
);
function takeWhile(r) {
return function(e) {
return function(n) {
var t = [!1];
var u = [talkbackPlaceholder];
_1(e, function(e) {
if ("number" == typeof e) {
if (t[0]) {
return 0;
} else {
ended[0] = true;
return sink(
/* End */
0);
t[0] = !0;
return n(0);
}
} else if (signal.tag) {
if (ended[0]) {
return (
/* () */
0
);
} else if (_1(predicate, signal[0])) {
return sink(signal);
} else if (e.tag) {
if (t[0]) {
return 0;
} else if (_1(r, e[0])) {
return n(e);
} else {
ended[0] = true;
sink(
/* End */
0);
return talkback[0](
/* Close */
1);
t[0] = !0;
n(0);
return u[0](1);
}
} else {
talkback[0] = signal[0];
return sink(signal);
u[0] = e[0];
return n(e);
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (ended[0]) {
return 0;
} else if (signal) {
ended[0] = true;
return talkback[0](
/* Close */
1);
} else {
return talkback[0](
/* Pull */
0);
}
}]));
return n(
__(0, [
function(r) {
if (t[0]) {
return 0;
} else if (r) {
t[0] = !0;
return u[0](1);
} else {
return u[0](0);
}
}
])
);
};

@@ -1505,83 +902,35 @@ };

function takeUntil(notifier) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* ended */
false,
/* sourceTalkback */
talkbackPlaceholder,
/* notifierTalkback */
talkbackPlaceholder];
_1(source, function (signal) {
if (typeof signal === "number") {
if (state[
/* ended */
0]) {
return (
/* () */
0
);
function takeUntil(r) {
return function(e) {
return function(n) {
var t = [!1, talkbackPlaceholder, talkbackPlaceholder];
_1(e, function(e) {
if ("number" == typeof e) {
if (t[0]) {
return 0;
} else {
state[
/* notifierTalkback */
2](
/* Close */
1);
state[
/* ended */
0] = true;
return sink(
/* End */
0);
t[2](1);
t[0] = !0;
return n(0);
}
} else if (signal.tag) {
if (state[
/* ended */
0]) {
return (
/* () */
0
);
} else if (e.tag) {
if (t[0]) {
return 0;
} else {
return sink(signal);
return n(e);
}
} else {
state[
/* sourceTalkback */
1] = signal[0];
return _1(notifier, function (signal) {
if (typeof signal === "number") {
return (
/* () */
0
);
} else if (signal.tag) {
state[
/* ended */
0] = true;
state[
/* notifierTalkback */
2](
/* Close */
1);
state[
/* sourceTalkback */
1](
/* Close */
1);
return sink(
/* End */
0);
t[1] = e[0];
return _1(r, function(r) {
if ("number" == typeof r) {
return 0;
} else if (r.tag) {
t[0] = !0;
t[2](1);
t[1](1);
return n(0);
} else {
var innerTb = signal[0];
state[
/* notifierTalkback */
2] = innerTb;
return innerTb(
/* Pull */
0);
var e = r[0];
t[2] = e;
return e(0);
}

@@ -1591,29 +940,16 @@ });

});
return sink(
/* Start */
__(0, [function (signal) {
if (state[
/* ended */
0]) {
return 0;
} else if (signal) {
state[
/* sourceTalkback */
1](
/* Close */
1);
return state[
/* notifierTalkback */
2](
/* Close */
1);
} else {
return state[
/* sourceTalkback */
1](
/* Pull */
0);
}
}]));
return n(
__(0, [
function(r) {
if (t[0]) {
return 0;
} else if (r) {
t[1](1);
return t[2](1);
} else {
return t[1](0);
}
}
])
);
};

@@ -1623,18 +959,12 @@ };

function skip(wait) {
return function (source) {
return function (sink) {
var rest =
/* record */
[
/* contents */
wait];
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number" || !(signal.tag && rest[0] > 0)) {
return sink(signal);
function skip(r) {
return function(e) {
return function(n) {
var t = [r];
return captureTalkback(e, function(r, e) {
if ("number" == typeof r || !(r.tag && t[0] > 0)) {
return n(r);
} else {
rest[0] = rest[0] - 1 | 0;
return talkback(
/* Pull */
0);
t[0] = (t[0] - 1) | 0;
return e(0);
}

@@ -1646,20 +976,14 @@ });

function skipWhile(predicate) {
return function (source) {
return function (sink) {
var skip =
/* record */
[
/* contents */
true];
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number" || !(signal.tag && skip[0])) {
return sink(signal);
} else if (_1(predicate, signal[0])) {
return talkback(
/* Pull */
0);
function skipWhile(r) {
return function(e) {
return function(n) {
var t = [!0];
return captureTalkback(e, function(e, u) {
if ("number" == typeof e || !e.tag || !t[0]) {
return n(e);
} else if (_1(r, e[0])) {
return u(0);
} else {
skip[0] = false;
return sink(signal);
t[0] = !1;
return n(e);
}

@@ -1671,92 +995,36 @@ });

function skipUntil(notifier) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* skip */
true,
/* ended */
false,
/* gotSignal */
false,
/* sourceTalkback */
talkbackPlaceholder,
/* notifierTalkback */
talkbackPlaceholder];
_1(source, function (signal) {
if (typeof signal === "number") {
if (state[
/* skip */
0]) {
state[
/* notifierTalkback */
4](
/* Close */
1);
function skipUntil(r) {
return function(e) {
return function(n) {
var t = [!0, !1, !1, talkbackPlaceholder, talkbackPlaceholder];
_1(e, function(e) {
if ("number" == typeof e) {
if (t[0]) {
t[4](1);
}
state[
/* ended */
1] = true;
return sink(
/* End */
0);
} else if (signal.tag) {
if (state[
/* skip */
0] && !state[
/* ended */
1]) {
return state[
/* sourceTalkback */
3](
/* Pull */
0);
} else if (state[
/* ended */
1]) {
return (
/* () */
0
);
t[1] = !0;
return n(0);
} else if (e.tag) {
if (t[0] && !t[1]) {
return t[3](0);
} else if (t[1]) {
return 0;
} else {
state[
/* gotSignal */
2] = false;
return sink(signal);
t[2] = !1;
return n(e);
}
} else {
var tb = signal[0];
state[
/* sourceTalkback */
3] = tb;
return _1(notifier, function (signal) {
if (typeof signal === "number") {
return (
/* () */
0
);
} else if (signal.tag) {
state[
/* skip */
0] = false;
return state[
/* notifierTalkback */
4](
/* Close */
1);
var u = e[0];
t[3] = u;
return _1(r, function(r) {
if ("number" == typeof r) {
return 0;
} else if (r.tag) {
t[0] = !1;
return t[4](1);
} else {
var innerTb = signal[0];
state[
/* notifierTalkback */
4] = innerTb;
innerTb(
/* Pull */
0);
return tb(
/* Pull */
0);
var e = r[0];
t[4] = e;
e(0);
return u(0);
}

@@ -1766,45 +1034,20 @@ });

});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
if (state[
/* skip */
0]) {
state[
/* notifierTalkback */
4](
/* Close */
1);
return n(
__(0, [
function(r) {
if (r) {
if (t[0]) {
t[4](1);
}
t[1] = !0;
return t[3](1);
} else if (!t[2] && !t[1]) {
t[2] = !0;
return t[3](0);
} else {
return 0;
}
}
state[
/* ended */
1] = true;
return state[
/* sourceTalkback */
3](
/* Close */
1);
} else if (!state[
/* gotSignal */
2] && !state[
/* ended */
1]) {
state[
/* gotSignal */
2] = true;
return state[
/* sourceTalkback */
3](
/* Pull */
0);
} else {
return (
/* () */
0
);
}
}]));
])
);
};

@@ -1814,152 +1057,68 @@ };

function flatten(source) {
return function (sink) {
var state =
/* record */
[
/* sourceTalkback */
talkbackPlaceholder,
/* innerTalkback */
talkbackPlaceholder,
/* sourceEnded */
false,
/* innerEnded */
true];
_1(source, function (signal) {
if (typeof signal === "number") {
if (state[
/* innerEnded */
3]) {
return sink(
/* End */
0);
function flatten(r) {
return function(e) {
var n = [talkbackPlaceholder, talkbackPlaceholder, !1, !0];
_1(r, function(r) {
if ("number" == typeof r) {
if (n[3]) {
return e(0);
} else {
state[
/* sourceEnded */
2] = true;
return (
/* () */
0
);
n[2] = !0;
return 0;
}
} else if (signal.tag) {
var innerSource = signal[0];
return _1(innerSource, function (signal) {
if (typeof signal === "number") {
if (state[
/* sourceEnded */
2]) {
return state[
/* sourceTalkback */
0](
/* Close */
1);
} else if (r.tag) {
return _1(r[0], function(r) {
if ("number" == typeof r) {
if (n[2]) {
return n[0](1);
} else {
state[
/* innerEnded */
3] = true;
return state[
/* sourceTalkback */
0](
/* Pull */
0);
n[3] = !0;
return n[0](0);
}
} else if (signal.tag) {
return sink(signal);
} else if (r.tag) {
return e(r);
} else {
var tb = signal[0];
if (!state[
/* innerEnded */
3]) {
state[
/* innerTalkback */
1](
/* Close */
1);
var t = r[0];
if (!n[3]) {
n[1](1);
}
state[
/* innerEnded */
3] = false;
state[
/* innerTalkback */
1] = tb;
return tb(
/* Pull */
0);
n[3] = !1;
n[1] = t;
return t(0);
}
});
} else {
state[
/* sourceTalkback */
0] = signal[0];
return (
/* () */
0
);
n[0] = r[0];
return 0;
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
state[
/* sourceTalkback */
0](
/* Close */
1);
return state[
/* innerTalkback */
1](
/* Close */
1);
} else if (!state[
/* innerEnded */
3] && !state[
/* sourceEnded */
2]) {
return state[
/* innerTalkback */
1](
/* Pull */
0);
} else if (state[
/* sourceEnded */
2]) {
return (
/* () */
0
);
} else {
return state[
/* sourceTalkback */
0](
/* Pull */
0);
}
}]));
return e(
__(0, [
function(r) {
if (r) {
n[0](1);
return n[1](1);
} else if (!n[3] && !n[2]) {
return n[1](0);
} else if (n[2]) {
return 0;
} else {
return n[0](0);
}
}
])
);
};
}
function forEach$1(f) {
return function (source) {
return captureTalkback(source, function (signal, talkback) {
if (typeof signal === "number") {
return (
/* () */
0
);
} else if (signal.tag) {
_1(f, signal[0]);
return talkback(
/* Pull */
0);
function forEach$1(r) {
return function(e) {
return captureTalkback(e, function(e, n) {
if ("number" == typeof e) {
return 0;
} else if (e.tag) {
_1(r, e[0]);
return n(0);
} else {
return talkback(
/* Pull */
0);
return n(0);
}

@@ -1970,50 +1129,27 @@ });

function subscribe(f) {
return function (source) {
var talkback =
/* record */
[
/* contents */
talkbackPlaceholder];
var ended =
/* record */
[
/* contents */
false];
_1(source, function (signal) {
if (typeof signal === "number") {
return (
/* () */
0
);
} else if (signal.tag) {
if (ended[0]) {
return (
/* () */
0
);
function subscribe(r) {
return function(e) {
var n = [talkbackPlaceholder];
var t = [!1];
_1(e, function(e) {
if ("number" == typeof e) {
return 0;
} else if (e.tag) {
if (t[0]) {
return 0;
} else {
_1(f, signal[0]);
return talkback[0](
/* Pull */
0);
_1(r, e[0]);
return n[0](0);
}
} else {
talkback[0] = signal[0];
return talkback[0](
/* Pull */
0);
n[0] = e[0];
return n[0](0);
}
});
return function (param) {
if (ended[0]) {
return function(r) {
if (t[0]) {
return 0;
} else {
ended[0] = true;
return talkback[0](
/* Close */
1);
t[0] = !0;
return n[0](1);
}

@@ -2025,202 +1161,141 @@ };

var Types = 0;
/* No side effect */
function fromListener(addListener, removeListener) {
return function (sink) {
var handler = function ($$event) {
return sink(
/* Push */
__(1, [$$event]));
function fromListener(r, e) {
return function(n) {
var t = function(r) {
return n(__(1, [r]));
};
sink(
/* Start */
__(0, [function (signal) {
if (signal) {
return _1(removeListener, handler);
} else {
return (
/* () */
0
);
}
}]));
return _1(addListener, handler);
n(
__(0, [
function(r) {
if (r) {
return _1(e, t);
} else {
return 0;
}
}
])
);
return _1(r, t);
};
}
function fromDomEvent(element, $$event) {
return function (sink) {
var addEventListener = function (element, event, handler) {
element.addEventListener(event, handler);
function fromDomEvent(r, e) {
return function(n) {
var t = function(r, e, n) {
r.addEventListener(e, n);
};
var removeEventListener = function (element, event, handler) {
element.removeEventListener(event, handler);
var u = function(r, e, n) {
r.removeEventListener(e, n);
};
return fromListener(function (handler) {
return _3(addEventListener, element, $$event, handler);
}, function (handler) {
return _3(removeEventListener, element, $$event, handler);
})(sink);
return fromListener(
function(n) {
return _3(t, r, e, n);
},
function(n) {
return _3(u, r, e, n);
}
)(n);
};
}
function interval(p) {
return function (sink) {
var i =
/* record */
[
/* contents */
0];
var id = setInterval(function (param) {
var num = i[0];
i[0] = i[0] + 1 | 0;
return sink(
/* Push */
__(1, [num]));
}, p);
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
clearInterval(id);
return (
/* () */
0
);
} else {
return (
/* () */
0
);
}
}]));
function interval(r) {
return function(e) {
var n = [0];
var t = setInterval(function(r) {
var t = n[0];
n[0] = (n[0] + 1) | 0;
return e(__(1, [t]));
}, r);
return e(
__(0, [
function(r) {
if (r) {
clearInterval(t);
return 0;
} else {
return 0;
}
}
])
);
};
}
function fromPromise(promise) {
return function (sink) {
var ended =
/* record */
[
/* contents */
false];
promise.then(function (value) {
if (!ended[0]) {
sink(
/* Push */
__(1, [value]));
sink(
/* End */
0);
function fromPromise(r) {
return function(e) {
var n = [!1];
r.then(function(r) {
if (!n[0]) {
e(__(1, [r]));
e(0);
}
return Promise.resolve(
/* () */
0);
return Promise.resolve(0);
});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
ended[0] = true;
return (
/* () */
0
);
} else {
return (
/* () */
0
);
}
}]));
return e(
__(0, [
function(r) {
if (r) {
n[0] = !0;
return 0;
} else {
return 0;
}
}
])
);
};
}
function debounce(debounceF) {
return function (source) {
return function (sink) {
var gotEndSignal =
/* record */
[
/* contents */
false];
var id =
/* record */
[
/* contents */
undefined];
var $$clearTimeout$1 = function (param) {
var match = id[0];
if (match !== undefined) {
id[0] = undefined;
clearTimeout(valFromOption(match));
return (
/* () */
0
);
function debounce(r) {
return function(e) {
return function(n) {
var t = [!1];
var u = [void 0];
var i = function(r) {
var e = u[0];
if (void 0 !== e) {
u[0] = void 0;
clearTimeout(valFromOption(e));
return 0;
} else {
return (
/* () */
0
);
return 0;
}
};
return _1(source, function (signal) {
if (typeof signal === "number") {
gotEndSignal[0] = true;
var match = id[0];
if (match !== undefined) {
return (
/* () */
0
);
return _1(e, function(e) {
if ("number" == typeof e) {
t[0] = !0;
if (void 0 !== u[0]) {
return 0;
} else {
return sink(
/* End */
0);
return n(0);
}
} else if (signal.tag) {
$$clearTimeout$1(
/* () */
0);
id[0] = some(setTimeout(function (param) {
id[0] = undefined;
sink(signal);
if (gotEndSignal[0]) {
return sink(
/* End */
0);
} else {
return 0;
}
}, _1(debounceF, signal[0])));
return (
/* () */
0
} else if (e.tag) {
i();
u[0] = some(
setTimeout(function(r) {
u[0] = void 0;
n(e);
if (t[0]) {
return n(0);
} else {
return 0;
}
}, _1(r, e[0]))
);
return 0;
} else {
var tb = signal[0];
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
$$clearTimeout$1(
/* () */
0);
return tb(
/* Close */
1);
} else {
return tb(signal);
}
}]));
var f = e[0];
return n(
__(0, [
function(r) {
if (r) {
i();
return f(1);
} else {
return f(r);
}
}
])
);
}

@@ -2232,78 +1307,49 @@ });

function throttle(throttleF) {
return function (source) {
return function (sink) {
var skip =
/* record */
[
/* contents */
false];
var id =
/* record */
[
/* contents */
undefined];
var $$clearTimeout$1 = function (param) {
var match = id[0];
if (match !== undefined) {
clearTimeout(valFromOption(match));
return (
/* () */
0
);
function throttle(r) {
return function(e) {
return function(n) {
var t = [!1];
var u = [void 0];
var i = function(r) {
var e = u[0];
if (void 0 !== e) {
clearTimeout(valFromOption(e));
return 0;
} else {
return (
/* () */
0
);
return 0;
}
};
return _1(source, function (signal) {
if (typeof signal === "number") {
$$clearTimeout$1(
/* () */
0);
return sink(
/* End */
0);
} else if (signal.tag) {
if (skip[0]) {
return (
/* () */
0
return _1(e, function(e) {
if ("number" == typeof e) {
i();
return n(0);
} else if (e.tag) {
if (t[0]) {
return 0;
} else {
t[0] = !0;
i();
u[0] = some(
setTimeout(function(r) {
u[0] = void 0;
t[0] = !1;
return 0;
}, _1(r, e[0]))
);
} else {
skip[0] = true;
$$clearTimeout$1(
/* () */
0);
id[0] = some(setTimeout(function (param) {
id[0] = undefined;
skip[0] = false;
return (
/* () */
0
);
}, _1(throttleF, signal[0])));
return sink(signal);
return n(e);
}
} else {
var tb = signal[0];
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
$$clearTimeout$1(
/* () */
0);
return tb(
/* Close */
1);
} else {
return tb(signal);
}
}]));
var f = e[0];
return n(
__(0, [
function(r) {
if (r) {
i();
return f(1);
} else {
return f(r);
}
}
])
);
}

@@ -2315,133 +1361,60 @@ });

function sample(notifier) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* ended */
false,
/* value */
undefined,
/* sourceTalkback */
function (param) {
return (
/* () */
0
);
},
/* notifierTalkback */
function (param) {
return (
/* () */
0
);
}];
_1(source, function (signal) {
if (typeof signal === "number") {
state[
/* ended */
0] = true;
state[
/* notifierTalkback */
3](
/* Close */
1);
return sink(
/* End */
0);
} else if (signal.tag) {
state[
/* value */
1] = some(signal[0]);
return (
/* () */
0
);
function sample(r) {
return function(e) {
return function(n) {
var t = [
!1,
void 0,
function(r) {
return 0;
},
function(r) {
return 0;
}
];
_1(e, function(r) {
if ("number" == typeof r) {
t[0] = !0;
t[3](1);
return n(0);
} else if (r.tag) {
t[1] = some(r[0]);
return 0;
} else {
state[
/* sourceTalkback */
2] = signal[0];
return (
/* () */
0
);
t[2] = r[0];
return 0;
}
});
_1(notifier, function (signal) {
var match = state[
/* value */
1];
if (typeof signal === "number") {
state[
/* ended */
0] = true;
state[
/* sourceTalkback */
2](
/* Close */
1);
return sink(
/* End */
0);
} else if (signal.tag) {
if (match !== undefined && !state[
/* ended */
0]) {
state[
/* value */
1] = undefined;
return sink(
/* Push */
__(1, [valFromOption(match)]));
_1(r, function(r) {
var e = t[1];
if ("number" == typeof r) {
t[0] = !0;
t[2](1);
return n(0);
} else if (r.tag) {
if (void 0 !== e && !t[0]) {
t[1] = void 0;
return n(__(1, [valFromOption(e)]));
} else {
return (
/* () */
0
);
return 0;
}
} else {
state[
/* notifierTalkback */
3] = signal[0];
return (
/* () */
0
);
t[3] = r[0];
return 0;
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
state[
/* ended */
0] = true;
state[
/* sourceTalkback */
2](
/* Close */
1);
return state[
/* notifierTalkback */
3](
/* Close */
1);
} else {
state[
/* sourceTalkback */
2](
/* Pull */
0);
return state[
/* notifierTalkback */
3](
/* Pull */
0);
}
}]));
return n(
__(0, [
function(r) {
if (r) {
t[0] = !0;
t[2](1);
return t[3](1);
} else {
t[2](0);
return t[3](0);
}
}
])
);
};

@@ -2451,140 +1424,119 @@ };

function delay(wait) {
return function (source) {
return function (sink) {
var state =
/* record */
[
/* talkback */
talkbackPlaceholder,
/* active */
0,
/* gotEndSignal */
false];
_1(source, function (signal) {
var exit = 0;
if (typeof signal === "number" || signal.tag) {
exit = 1;
function delay(r) {
return function(e) {
return function(n) {
var t = [talkbackPlaceholder, 0, !1];
_1(e, function(e) {
var u = 0;
if ("number" == typeof e || e.tag) {
u = 1;
} else {
state[
/* talkback */
0] = signal[0];
return (
/* () */
0
);
t[0] = e[0];
return 0;
}
if (exit === 1) {
if (state[
/* gotEndSignal */
2]) {
return (
/* () */
0
);
if (1 === u) {
if (t[2]) {
return 0;
} else {
state[
/* active */
1] = state[
/* active */
1] + 1 | 0;
setTimeout(function (param) {
if (state[
/* gotEndSignal */
2] && state[
/* active */
1] === 0) {
sink(
/* End */
0);
t[1] = (t[1] + 1) | 0;
setTimeout(function(r) {
if (t[2] && 0 === t[1]) {
n(0);
} else {
state[
/* active */
1] = state[
/* active */
1] - 1 | 0;
t[1] = (t[1] - 1) | 0;
}
return sink(signal);
}, wait);
return (
/* () */
0
);
return n(e);
}, r);
return 0;
}
}
});
return sink(
/* Start */
__(0, [function (signal) {
if (signal) {
state[
/* gotEndSignal */
2] = true;
if (state[
/* active */
1] === 0) {
return sink(
/* End */
0);
} else {
return 0;
return n(
__(0, [
function(r) {
if (r) {
t[2] = !0;
if (0 === t[1]) {
return n(0);
} else {
return 0;
}
} else if (t[2]) {
return 0;
} else {
return t[0](r);
}
}
} else if (state[
/* gotEndSignal */
2]) {
return (
/* () */
0
);
} else {
return state[
/* talkback */
0](signal);
}
}]));
])
);
};
};
}
/* No side effect */
exports.pipe = pipe;
exports.Types = Types;
exports.makeSubject = makeSubject;
exports.make = make$2;
exports.fromList = fromList;
exports.fromArray = fromArray;
exports.fromValue = fromValue;
exports.empty = empty;
exports.never = never;
exports.map = map$1;
exports.filter = filter;
exports.scan = scan;
exports.merge = merge;
exports.concat = concat$1;
exports.share = share;
exports.combine = combine;
exports.take = take;
exports.takeLast = takeLast;
exports.takeWhile = takeWhile;
exports.takeUntil = takeUntil;
exports.skip = skip;
exports.skipWhile = skipWhile;
exports.skipUntil = skipUntil;
exports.flatten = flatten;
exports.forEach = forEach$1;
exports.subscribe = subscribe;
exports.fromListener = fromListener;
exports.fromDomEvent = fromDomEvent;
exports.interval = interval;
exports.fromPromise = fromPromise;
exports.debounce = debounce;
exports.throttle = throttle;
exports.sample = sample;
exports.delay = delay;
//# sourceMappingURL=wonka.js.map
{
"name": "wonka",
"version": "1.1.4",
"version": "1.1.5",
"author": "Phil Pluckthun <phil@kitten.sh>",

@@ -19,13 +19,17 @@ "source": "./src/index.js",

"scripts": {
"clean:bs": "bsb -clean-world",
"clean:dist": "rimraf dist",
"clean": "run-p clean:bs clean:dist",
"clean": "bsb -clean-world",
"build": "bsb -make-world",
"watch": "bsb -make-world -w",
"bundle": "microbundle --external none --no-compress --format es,cjs",
"prebundlesize": "run-s bundle",
"bundlesize": "bundlesize",
"test": "jest",
"coverage": "jest -c ./.jest.coverage.json --coverage",
"test:watch": "jest --watch",
"terser:es": "terser --config-file .terser.config.json --module -o ./dist/wonka.es.js ./dist/wonka.es.js",
"terser:cjs": "terser --config-file .terser.config.json -o ./dist/wonka.js ./dist/wonka.js",
"terser": "run-p terser:es terser:cjs",
"prettier": "prettier --write ./dist/*.js",
"prebundle": "rimraf ./dist",
"bundle": "microbundle --external none --no-compress --no-sourcemap --format es,cjs",
"postbundle": "run-s terser prettier",
"prebundlesize": "run-s bundle",
"bundlesize": "bundlesize",
"prepublishOnly": "run-s clean build bundle test"

@@ -57,4 +61,8 @@ },

"npm-run-all": "^4.1.5",
"rimraf": "^2.6.3"
"rimraf": "^2.6.3",
"terser": "^3.14.1"
},
"prettier": {
"printWidth": 100
},
"jest": {

@@ -61,0 +69,0 @@ "moduleFileExtensions": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc