UNPKG

purs-pkg-deps

Version:

Query package dependencies in PureScript package-sets

95 lines (94 loc) 3.75 kB
// Generated by purs version 0.14.3 "use strict"; 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 };