purs-pkg-deps
Version:
Query package dependencies in PureScript package-sets
95 lines (94 loc) • 3.75 kB
JavaScript
// Generated by purs version 0.14.3
;
var Control_Monad_ST_Internal = require("../Control.Monad.ST.Internal/index.js");
var Data_Array_ST = require("../Data.Array.ST/index.js");
var Data_Function = require("../Data.Function/index.js");
var Data_Functor = require("../Data.Functor/index.js");
var Data_HeytingAlgebra = require("../Data.HeytingAlgebra/index.js");
var Data_Maybe = require("../Data.Maybe/index.js");
var Iterator = (function () {
function Iterator(value0, value1) {
this.value0 = value0;
this.value1 = value1;
};
Iterator.create = function (value0) {
return function (value1) {
return new Iterator(value0, value1);
};
};
return Iterator;
})();
var peek = function (v) {
return function __do() {
var i = Control_Monad_ST_Internal.read(v.value1)();
return v.value0(i);
};
};
var next = function (v) {
return function __do() {
var i = Control_Monad_ST_Internal.read(v.value1)();
Control_Monad_ST_Internal.modify(function (v1) {
return v1 + 1 | 0;
})(v.value1)();
return v.value0(i);
};
};
var pushWhile = function (p) {
return function (iter) {
return function (array) {
return function __do() {
var $$break = Control_Monad_ST_Internal["new"](false)();
while (Data_Functor.map(Control_Monad_ST_Internal.functorST)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean))(Control_Monad_ST_Internal.read($$break))()) {
(function __do() {
var mx = peek(iter)();
if (mx instanceof Data_Maybe.Just && p(mx.value0)) {
Data_Array_ST.push(mx.value0)(array)();
return Data_Functor["void"](Control_Monad_ST_Internal.functorST)(next(iter))();
};
return Data_Functor["void"](Control_Monad_ST_Internal.functorST)(Control_Monad_ST_Internal.write(true)($$break))();
})();
};
return {};
};
};
};
};
var pushAll = pushWhile(Data_Function["const"](true));
var iterator = function (f) {
return Data_Functor.map(Control_Monad_ST_Internal.functorST)(Iterator.create(f))(Control_Monad_ST_Internal["new"](0));
};
var iterate = function (iter) {
return function (f) {
return function __do() {
var $$break = Control_Monad_ST_Internal["new"](false)();
while (Data_Functor.map(Control_Monad_ST_Internal.functorST)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean))(Control_Monad_ST_Internal.read($$break))()) {
(function __do() {
var mx = next(iter)();
if (mx instanceof Data_Maybe.Just) {
return f(mx.value0)();
};
if (mx instanceof Data_Maybe.Nothing) {
return Data_Functor["void"](Control_Monad_ST_Internal.functorST)(Control_Monad_ST_Internal.write(true)($$break))();
};
throw new Error("Failed pattern match at Data.Array.ST.Iterator (line 42, column 5 - line 44, column 47): " + [ mx.constructor.name ]);
})();
};
return {};
};
};
};
var exhausted = (function () {
var $13 = Data_Functor.map(Control_Monad_ST_Internal.functorST)(Data_Maybe.isNothing);
return function ($14) {
return $13(peek($14));
};
})();
module.exports = {
iterator: iterator,
iterate: iterate,
next: next,
peek: peek,
exhausted: exhausted,
pushWhile: pushWhile,
pushAll: pushAll
};