diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bd017e..87698f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.3.0.0] + +### Added + +- New block component + ## [0.2.0.1] ### Fixed diff --git a/dev/app.js b/dev/app.js index f0a3595..2a8e4aa 100644 --- a/dev/app.js +++ b/dev/app.js @@ -159,19 +159,19 @@ }; var applyFirst = function(dictApply) { var apply12 = apply(dictApply); - var map41 = map(dictApply.Functor0()); + var map44 = map(dictApply.Functor0()); return function(a2) { return function(b2) { - return apply12(map41($$const)(a2))(b2); + return apply12(map44($$const)(a2))(b2); }; }; }; var applySecond = function(dictApply) { var apply12 = apply(dictApply); - var map41 = map(dictApply.Functor0()); + var map44 = map(dictApply.Functor0()); return function(a2) { return function(b2) { - return apply12(map41($$const(identity2))(a2))(b2); + return apply12(map44($$const(identity2))(a2))(b2); }; }; }; @@ -251,21 +251,21 @@ return flip(bind(dictBind)); }; var composeKleisliFlipped = function(dictBind) { - var bindFlipped13 = bindFlipped(dictBind); + var bindFlipped14 = bindFlipped(dictBind); return function(f) { return function(g) { return function(a2) { - return bindFlipped13(f)(g(a2)); + return bindFlipped14(f)(g(a2)); }; }; }; }; var composeKleisli = function(dictBind) { - var bind18 = bind(dictBind); + var bind19 = bind(dictBind); return function(f) { return function(g) { return function(a2) { - return bind18(f(a2))(g); + return bind19(f(a2))(g); }; }; }; @@ -276,9 +276,9 @@ } }; var join = function(dictBind) { - var bind18 = bind(dictBind); + var bind19 = bind(dictBind); return function(m) { - return bind18(m)(identity3); + return bind19(m)(identity3); }; }; @@ -290,6 +290,7 @@ }; var eqBooleanImpl = refEq; var eqIntImpl = refEq; + var eqCharImpl = refEq; var eqStringImpl = refEq; // output/Data.Symbol/index.js @@ -318,6 +319,9 @@ var eqInt = { eq: eqIntImpl }; + var eqChar = { + eq: eqCharImpl + }; var eqBoolean = { eq: eqBooleanImpl }; @@ -398,6 +402,8 @@ }; // output/Data.Bounded/foreign.js + var topInt = 2147483647; + var bottomInt = -2147483648; var topChar = String.fromCharCode(65535); var bottomChar = String.fromCharCode(0); var topNumber = Number.POSITIVE_INFINITY; @@ -417,6 +423,7 @@ }; var ordIntImpl = unsafeCompareImpl; var ordStringImpl = unsafeCompareImpl; + var ordCharImpl = unsafeCompareImpl; // output/Data.Ordering/index.js var LT = /* @__PURE__ */ function() { @@ -441,6 +448,54 @@ return EQ2; }(); + // output/Data.Ring/foreign.js + var intSub = function(x) { + return function(y) { + return x - y | 0; + }; + }; + + // output/Data.Semiring/foreign.js + var intAdd = function(x) { + return function(y) { + return x + y | 0; + }; + }; + var intMul = function(x) { + return function(y) { + return x * y | 0; + }; + }; + + // output/Data.Semiring/index.js + var zero = function(dict) { + return dict.zero; + }; + var semiringInt = { + add: intAdd, + zero: 0, + mul: intMul, + one: 1 + }; + + // output/Data.Ring/index.js + var sub = function(dict) { + return dict.sub; + }; + var ringInt = { + sub: intSub, + Semiring0: function() { + return semiringInt; + } + }; + var negate = function(dictRing) { + var sub1 = sub(dictRing); + var zero2 = zero(dictRing.Semiring0()); + return function(a2) { + return sub1(zero2)(a2); + }; + }; + // output/Data.Ord/index.js var ordUnit = { compare: function(v) { @@ -468,14 +523,95 @@ } }; }(); + var ordChar = /* @__PURE__ */ function() { + return { + compare: ordCharImpl(LT.value)(EQ.value)(GT.value), + Eq0: function() { + return eqChar; + } + }; + }(); var compare = function(dict) { return dict.compare; }; + var greaterThanOrEq = function(dictOrd) { + var compare3 = compare(dictOrd); + return function(a1) { + return function(a2) { + var v = compare3(a1)(a2); + if (v instanceof LT) { + return false; + } + ; + return true; + }; + }; + }; + var abs = function(dictOrd) { + var greaterThanOrEq1 = greaterThanOrEq(dictOrd); + return function(dictRing) { + var zero2 = zero(dictRing.Semiring0()); + var negate1 = negate(dictRing); + return function(x) { + var $99 = greaterThanOrEq1(x)(zero2); + if ($99) { + return x; + } + ; + return negate1(x); + }; + }; + }; + + // output/Data.Bounded/index.js + var top = function(dict) { + return dict.top; + }; + var boundedInt = { + top: topInt, + bottom: bottomInt, + Ord0: function() { + return ordInt; + } + }; + var boundedChar = { + top: topChar, + bottom: bottomChar, + Ord0: function() { + return ordChar; + } + }; + var bottom = function(dict) { + return dict.bottom; + }; // output/Data.Show/foreign.js var showIntImpl = function(n) { return n.toString(); }; + var showCharImpl = function(c) { + var code2 = c.charCodeAt(0); + if (code2 < 32 || code2 === 127) { + switch (c) { + case "\x07": + return "'\\a'"; + case "\b": + return "'\\b'"; + case "\f": + return "'\\f'"; + case "\n": + return "'\\n'"; + case "\r": + return "'\\r'"; + case " ": + return "'\\t'"; + case "\v": + return "'\\v'"; + } + return "'\\" + code2.toString(10) + "'"; + } + return c === "'" || c === "\\" ? "'\\" + c + "'" : "'" + c + "'"; + }; var showStringImpl = function(s) { var l = s.length; return '"' + s.replace( @@ -502,11 +638,20 @@ return "\\v"; } var k = i2 + 1; - var empty7 = k < l && s[k] >= "0" && s[k] <= "9" ? "\\&" : ""; - return "\\" + c.charCodeAt(0).toString(10) + empty7; + var empty8 = k < l && s[k] >= "0" && s[k] <= "9" ? "\\&" : ""; + return "\\" + c.charCodeAt(0).toString(10) + empty8; } ) + '"'; }; + var showArrayImpl = function(f) { + return function(xs) { + var ss = []; + for (var i2 = 0, l = xs.length; i2 < l; i2++) { + ss[i2] = f(xs[i2]); + } + return "[" + ss.join(",") + "]"; + }; + }; // output/Data.Show/index.js var showString = { @@ -515,9 +660,17 @@ var showInt = { show: showIntImpl }; + var showChar = { + show: showCharImpl + }; var show = function(dict) { return dict.show; }; + var showArray = function(dictShow) { + return { + show: showArrayImpl(show(dictShow)) + }; + }; // output/Data.Generic.Rep/index.js var Inl = /* @__PURE__ */ function() { @@ -804,6 +957,11 @@ }; }(); + // output/Control.Lazy/index.js + var defer = function(dict) { + return dict.defer; + }; + // output/Data.HeytingAlgebra/foreign.js var boolConj = function(b1) { return function(b2) { @@ -893,6 +1051,49 @@ }; }; + // output/Data.EuclideanRing/foreign.js + var intDegree = function(x) { + return Math.min(Math.abs(x), 2147483647); + }; + var intDiv = function(x) { + return function(y) { + if (y === 0) + return 0; + return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y); + }; + }; + var intMod = function(x) { + return function(y) { + if (y === 0) + return 0; + var yy = Math.abs(y); + return (x % yy + yy) % yy; + }; + }; + + // output/Data.CommutativeRing/index.js + var commutativeRingInt = { + Ring0: function() { + return ringInt; + } + }; + + // output/Data.EuclideanRing/index.js + var mod = function(dict) { + return dict.mod; + }; + var euclideanRingInt = { + degree: intDegree, + div: intDiv, + mod: intMod, + CommutativeRing0: function() { + return commutativeRingInt; + } + }; + var div = function(dict) { + return dict.div; + }; + // output/Data.Monoid/index.js var monoidString = { mempty: "", @@ -950,7 +1151,7 @@ }; }; var ordTuple = function(dictOrd) { - var compare2 = compare(dictOrd); + var compare3 = compare(dictOrd); var eqTuple1 = eqTuple(dictOrd.Eq0()); return function(dictOrd1) { var compare12 = compare(dictOrd1); @@ -958,7 +1159,7 @@ return { compare: function(x) { return function(y) { - var v = compare2(x.value0)(y.value0); + var v = compare3(x.value0)(y.value0); if (v instanceof LT) { return LT.value; } @@ -1306,23 +1507,23 @@ // output/Control.Monad/index.js var unlessM = function(dictMonad) { - var bind18 = bind(dictMonad.Bind1()); + var bind19 = bind(dictMonad.Bind1()); var unless4 = unless(dictMonad.Applicative0()); return function(mb) { return function(m) { - return bind18(mb)(function(b2) { + return bind19(mb)(function(b2) { return unless4(b2)(m); }); }; }; }; var ap = function(dictMonad) { - var bind18 = bind(dictMonad.Bind1()); + var bind19 = bind(dictMonad.Bind1()); var pure23 = pure(dictMonad.Applicative0()); return function(f) { return function(a2) { - return bind18(f)(function(f$prime) { - return bind18(a2)(function(a$prime) { + return bind19(f)(function(f$prime) { + return bind19(a2)(function(a$prime) { return pure23(f$prime(a$prime)); }); }); @@ -2335,10 +2536,10 @@ var $$try2 = function(dictMonadError) { var catchError1 = catchError(dictMonadError); var Monad0 = dictMonadError.MonadThrow0().Monad0(); - var map41 = map(Monad0.Bind1().Apply0().Functor0()); + var map44 = map(Monad0.Bind1().Apply0().Functor0()); var pure23 = pure(Monad0.Applicative0()); return function(a2) { - return catchError1(map41(Right.create)(a2))(function($52) { + return catchError1(map44(Right.create)(a2))(function($52) { return pure23(Left.create($52)); }); }; @@ -2463,6 +2664,50 @@ var tailRecM = function(dict) { return dict.tailRecM; }; + var tailRec = function(f) { + var go2 = function($copy_v) { + var $tco_done = false; + var $tco_result; + function $tco_loop(v) { + if (v instanceof Loop) { + $copy_v = f(v.value0); + return; + } + ; + if (v instanceof Done) { + $tco_done = true; + return v.value0; + } + ; + throw new Error("Failed pattern match at Control.Monad.Rec.Class (line 103, column 3 - line 103, column 25): " + [v.constructor.name]); + } + ; + while (!$tco_done) { + $tco_result = $tco_loop($copy_v); + } + ; + return $tco_result; + }; + return function($85) { + return go2(f($85)); + }; + }; + var monadRecIdentity = { + tailRecM: function(f) { + var runIdentity = function(v) { + return v; + }; + var $86 = tailRec(function($88) { + return runIdentity(f($88)); + }); + return function($87) { + return Identity($86($87)); + }; + }, + Monad0: function() { + return monadIdentity; + } + }; var monadRecEffect = { tailRecM: function(f) { return function(a2) { @@ -2612,12 +2857,12 @@ }; }; var bindExceptT = function(dictMonad) { - var bind18 = bind(dictMonad.Bind1()); + var bind19 = bind(dictMonad.Bind1()); var pure23 = pure(dictMonad.Applicative0()); return { bind: function(v) { return function(k) { - return bind18(v)(either(function($187) { + return bind19(v)(either(function($187) { return pure23(Left.create($187)); })(function(a2) { var v1 = k(a2); @@ -2670,19 +2915,19 @@ var append9 = append(dictSemigroup); return function(dictMonad) { var Bind1 = dictMonad.Bind1(); - var bind18 = bind(Bind1); + var bind19 = bind(Bind1); var pure23 = pure(dictMonad.Applicative0()); var functorExceptT1 = functorExceptT(Bind1.Apply0().Functor0()); return { alt: function(v) { return function(v1) { - return bind18(v)(function(rm) { + return bind19(v)(function(rm) { if (rm instanceof Right) { return pure23(new Right(rm.value0)); } ; if (rm instanceof Left) { - return bind18(v1)(function(rn) { + return bind19(v1)(function(rn) { if (rn instanceof Right) { return pure23(new Right(rn.value0)); } @@ -2755,13 +3000,13 @@ }; }; var bindReaderT = function(dictBind) { - var bind18 = bind(dictBind); + var bind19 = bind(dictBind); var applyReaderT1 = applyReaderT(dictBind.Apply0()); return { bind: function(v) { return function(k) { return function(r) { - return bind18(v(r))(function(a2) { + return bind19(v(r))(function(a2) { var v1 = k(a2); return v1(r); }); @@ -2861,23 +3106,23 @@ }; } return function(apply6) { - return function(map41) { + return function(map44) { return function(pure23) { return function(f) { return function(array) { - function go2(bot, top2) { - switch (top2 - bot) { + function go2(bot, top3) { + switch (top3 - bot) { case 0: return pure23([]); case 1: - return map41(array1)(f(array[bot])); + return map44(array1)(f(array[bot])); case 2: - return apply6(map41(array2)(f(array[bot])))(f(array[bot + 1])); + return apply6(map44(array2)(f(array[bot])))(f(array[bot + 1])); case 3: - return apply6(apply6(map41(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2])); + return apply6(apply6(map44(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2])); default: - var pivot = bot + Math.floor((top2 - bot) / 4) * 2; - return apply6(map41(concat2)(go2(bot, pivot)))(go2(pivot, top2)); + var pivot = bot + Math.floor((top3 - bot) / 4) * 2; + return apply6(map44(concat2)(go2(bot, pivot)))(go2(pivot, top3)); } } return go2(0, array.length); @@ -2896,7 +3141,7 @@ var traversableMaybe = { traverse: function(dictApplicative) { var pure23 = pure(dictApplicative); - var map41 = map(dictApplicative.Apply0().Functor0()); + var map44 = map(dictApplicative.Apply0().Functor0()); return function(v) { return function(v1) { if (v1 instanceof Nothing) { @@ -2904,7 +3149,7 @@ } ; if (v1 instanceof Just) { - return map41(Just.create)(v(v1.value0)); + return map44(Just.create)(v(v1.value0)); } ; throw new Error("Failed pattern match at Data.Traversable (line 115, column 1 - line 119, column 33): " + [v.constructor.name, v1.constructor.name]); @@ -2913,14 +3158,14 @@ }, sequence: function(dictApplicative) { var pure23 = pure(dictApplicative); - var map41 = map(dictApplicative.Apply0().Functor0()); + var map44 = map(dictApplicative.Apply0().Functor0()); return function(v) { if (v instanceof Nothing) { return pure23(Nothing.value); } ; if (v instanceof Just) { - return map41(Just.create)(v.value0); + return map44(Just.create)(v.value0); } ; throw new Error("Failed pattern match at Data.Traversable (line 115, column 1 - line 119, column 33): " + [v.constructor.name]); @@ -2988,6 +3233,43 @@ }; }; + // output/Data.Time.Duration/index.js + var over2 = /* @__PURE__ */ over()(); + var identity8 = /* @__PURE__ */ identity(categoryFn); + var Seconds = function(x) { + return x; + }; + var Milliseconds = function(x) { + return x; + }; + var toDuration = function(dict) { + return dict.toDuration; + }; + var fromDuration = function(dict) { + return dict.fromDuration; + }; + var durationSeconds = { + fromDuration: /* @__PURE__ */ over2(Seconds)(function(v) { + return v * 1e3; + }), + toDuration: /* @__PURE__ */ over2(Milliseconds)(function(v) { + return v / 1e3; + }) + }; + var durationMilliseconds = { + fromDuration: identity8, + toDuration: identity8 + }; + var convertDuration = function(dictDuration) { + var fromDuration1 = fromDuration(dictDuration); + return function(dictDuration1) { + var $61 = toDuration(dictDuration1); + return function($62) { + return $61(fromDuration1($62)); + }; + }; + }; + // output/Effect.Unsafe/foreign.js var unsafePerformEffect = function(f) { return f(); @@ -3315,7 +3597,7 @@ } return m; } - function _foldM(bind18) { + function _foldM(bind19) { return function(f) { return function(mz) { return function(m) { @@ -3327,7 +3609,7 @@ } for (var k in m) { if (hasOwnProperty.call(m, k)) { - acc = bind18(acc)(g(k)); + acc = bind19(acc)(g(k)); } } return acc; @@ -3375,8 +3657,8 @@ var length = function(xs) { return xs.length; }; - var unconsImpl = function(empty7, next, xs) { - return xs.length === 0 ? empty7({}) : next(xs[0])(xs.slice(1)); + var unconsImpl = function(empty8, next, xs) { + return xs.length === 0 ? empty8({}) : next(xs[0])(xs.slice(1)); }; var indexImpl = function(just, nothing, xs, i2) { return i2 < 0 || i2 >= xs.length ? nothing : just(xs[i2]); @@ -3445,6 +3727,11 @@ var push = /* @__PURE__ */ runSTFn2(pushImpl); // output/Data.Function.Uncurried/foreign.js + var mkFn5 = function(fn) { + return function(a2, b2, c, d, e) { + return fn(a2)(b2)(c)(d)(e); + }; + }; var runFn3 = function(fn) { return function(a2) { return function(b2) { @@ -3489,8 +3776,74 @@ } }; - // output/Data.Array/index.js + // output/Data.Unfoldable/foreign.js + var unfoldrArrayImpl = function(isNothing2) { + return function(fromJust9) { + return function(fst2) { + return function(snd2) { + return function(f) { + return function(b2) { + var result = []; + var value15 = b2; + while (true) { + var maybe2 = f(value15); + if (isNothing2(maybe2)) + return result; + var tuple = fromJust9(maybe2); + result.push(fst2(tuple)); + value15 = snd2(tuple); + } + }; + }; + }; + }; + }; + }; + + // output/Data.Unfoldable1/foreign.js + var unfoldr1ArrayImpl = function(isNothing2) { + return function(fromJust9) { + return function(fst2) { + return function(snd2) { + return function(f) { + return function(b2) { + var result = []; + var value15 = b2; + while (true) { + var tuple = f(value15); + result.push(fst2(tuple)); + var maybe2 = snd2(tuple); + if (isNothing2(maybe2)) + return result; + value15 = fromJust9(maybe2); + } + }; + }; + }; + }; + }; + }; + + // output/Data.Unfoldable1/index.js var fromJust2 = /* @__PURE__ */ fromJust(); + var unfoldable1Array = { + unfoldr1: /* @__PURE__ */ unfoldr1ArrayImpl(isNothing)(fromJust2)(fst)(snd) + }; + + // output/Data.Unfoldable/index.js + var fromJust3 = /* @__PURE__ */ fromJust(); + var unfoldr = function(dict) { + return dict.unfoldr; + }; + var unfoldableArray = { + unfoldr: /* @__PURE__ */ unfoldrArrayImpl(isNothing)(fromJust3)(fst)(snd), + Unfoldable10: function() { + return unfoldable1Array; + } + }; + + // output/Data.Array/index.js + var fromJust4 = /* @__PURE__ */ fromJust(); var append2 = /* @__PURE__ */ append(semigroupArray); var uncons = /* @__PURE__ */ function() { return runFn3(unconsImpl)($$const(Nothing.value))(function(x) { @@ -3545,6 +3898,22 @@ var findIndex = /* @__PURE__ */ function() { return runFn4(findIndexImpl)(Just.create)(Nothing.value); }(); + var elemIndex = function(dictEq) { + var eq22 = eq(dictEq); + return function(x) { + return findIndex(function(v) { + return eq22(v)(x); + }); + }; + }; + var notElem2 = function(dictEq) { + var elemIndex1 = elemIndex(dictEq); + return function(a2) { + return function(arr) { + return isNothing(elemIndex1(a2)(arr)); + }; + }; + }; var drop = function(n) { return function(xs) { var $173 = n < 1; @@ -3566,7 +3935,7 @@ } ; return maybe(v2)(function(i2) { - return fromJust2(deleteAt(i2)(v2)); + return fromJust4(deleteAt(i2)(v2)); })(findIndex(v(v1))(v2)); }; }; @@ -3576,6 +3945,27 @@ return append2([x])(xs); }; }; + var some = function(dictAlternative) { + var apply12 = apply(dictAlternative.Applicative0().Apply0()); + var map310 = map(dictAlternative.Plus1().Alt0().Functor0()); + return function(dictLazy) { + var defer5 = defer(dictLazy); + return function(v) { + return apply12(map310(cons)(v))(defer5(function(v1) { + return many(dictAlternative)(dictLazy)(v); + })); + }; + }; + }; + var many = function(dictAlternative) { + var alt8 = alt(dictAlternative.Plus1().Alt0()); + var pure111 = pure(dictAlternative.Applicative0()); + return function(dictLazy) { + return function(v) { + return alt8(some(dictAlternative)(dictLazy)(v))(pure111([])); + }; + }; + }; var concatMap = /* @__PURE__ */ flip(/* @__PURE__ */ bind(bindArray)); var mapMaybe = function(f) { return concatMap(function() { @@ -3693,7 +4083,7 @@ // output/Foreign.Object/index.js var foldr2 = /* @__PURE__ */ foldr(foldableArray); - var identity8 = /* @__PURE__ */ identity(categoryFn); + var identity9 = /* @__PURE__ */ identity(categoryFn); var values = /* @__PURE__ */ toArrayWithKey(function(v) { return function(v1) { return v1; @@ -3765,9 +4155,9 @@ }; }, foldMap: function(dictMonoid) { - var foldMap12 = foldMap2(dictMonoid); + var foldMap13 = foldMap2(dictMonoid); return function(f) { - return foldMap12($$const(f)); + return foldMap13($$const(f)); }; } }; @@ -3793,14 +4183,14 @@ traverseWithIndex: function(dictApplicative) { var Apply0 = dictApplicative.Apply0(); var apply6 = apply(Apply0); - var map41 = map(Apply0.Functor0()); + var map44 = map(Apply0.Functor0()); var pure111 = pure(dictApplicative); return function(f) { return function(ms) { return fold2(function(acc) { return function(k) { return function(v) { - return apply6(map41(flip(insert(k)))(acc))(f(k)(v)); + return apply6(map44(flip(insert(k)))(acc))(f(k)(v)); }; }; })(pure111(empty2))(ms); @@ -3825,7 +4215,7 @@ }; }, sequence: function(dictApplicative) { - return traverse(traversableObject)(dictApplicative)(identity8); + return traverse(traversableObject)(dictApplicative)(identity9); }, Functor0: function() { return functorObject; @@ -3994,18 +4384,18 @@ return NonEmpty2; }(); var singleton4 = function(dictPlus) { - var empty7 = empty(dictPlus); + var empty8 = empty(dictPlus); return function(a2) { - return new NonEmpty(a2, empty7); + return new NonEmpty(a2, empty8); }; }; var showNonEmpty = function(dictShow) { - var show7 = show(dictShow); + var show10 = show(dictShow); return function(dictShow1) { - var show15 = show(dictShow1); + var show19 = show(dictShow1); return { show: function(v) { - return "(NonEmpty " + (show7(v.value0) + (" " + (show15(v.value1) + ")"))); + return "(NonEmpty " + (show10(v.value0) + (" " + (show19(v.value1) + ")"))); } }; }; @@ -4022,7 +4412,7 @@ }; // output/Data.Array.NonEmpty/index.js - var fromJust3 = /* @__PURE__ */ fromJust(); + var fromJust5 = /* @__PURE__ */ fromJust(); var unsafeFromArray = NonEmptyArray; var toArray = function(v) { return v; @@ -4058,7 +4448,7 @@ }; var adaptMaybe = function(f) { return function($126) { - return fromJust3(f(toArray($126))); + return fromJust5(f(toArray($126))); }; }; var head2 = /* @__PURE__ */ adaptMaybe(head); @@ -4088,11 +4478,42 @@ }; }; }; + var toNumber = function(n) { + return n; + }; + + // output/Data.Number/foreign.js + var isFiniteImpl = isFinite; + var floor = Math.floor; // output/Data.Int/index.js + var top2 = /* @__PURE__ */ top(boundedInt); + var bottom2 = /* @__PURE__ */ bottom(boundedInt); var fromNumber = /* @__PURE__ */ function() { return fromNumberImpl(Just.create)(Nothing.value); }(); + var unsafeClamp = function(x) { + if (!isFiniteImpl(x)) { + return 0; + } + ; + if (x >= toNumber(top2)) { + return top2; + } + ; + if (x <= toNumber(bottom2)) { + return bottom2; + } + ; + if (otherwise) { + return fromMaybe(0)(fromNumber(x)); + } + ; + throw new Error("Failed pattern match at Data.Int (line 72, column 1 - line 72, column 29): " + [x.constructor.name]); + }; + var floor2 = function($39) { + return unsafeClamp(floor($39)); + }; // output/Data.List.Types/index.js var Nil = /* @__PURE__ */ function() { @@ -4286,22 +4707,22 @@ } }; var showList = function(dictShow) { - var show7 = show(dictShow); + var show10 = show(dictShow); return { show: function(v) { if (v instanceof Nil) { return "Nil"; } ; - return "(" + (intercalate3(" : ")(map8(show7)(v)) + " : Nil)"); + return "(" + (intercalate3(" : ")(map8(show10)(v)) + " : Nil)"); } }; }; var showNonEmptyList = function(dictShow) { - var show7 = show(showNonEmpty(dictShow)(showList(dictShow))); + var show10 = show(showNonEmpty(dictShow)(showList(dictShow))); return { show: function(v) { - return "(NonEmptyList " + (show7(v) + ")"); + return "(NonEmptyList " + (show10(v) + ")"); } }; }; @@ -4398,6 +4819,27 @@ ; return false; }; + var some2 = function(dictAlternative) { + var apply6 = apply(dictAlternative.Applicative0().Apply0()); + var map116 = map(dictAlternative.Plus1().Alt0().Functor0()); + return function(dictLazy) { + var defer5 = defer(dictLazy); + return function(v) { + return apply6(map116(Cons.create)(v))(defer5(function(v1) { + return many2(dictAlternative)(dictLazy)(v); + })); + }; + }; + }; + var many2 = function(dictAlternative) { + var alt8 = alt(dictAlternative.Plus1().Alt0()); + var pure23 = pure(dictAlternative.Applicative0()); + return function(dictLazy) { + return function(v) { + return alt8(some2(dictAlternative)(dictLazy)(v))(pure23(Nil.value)); + }; + }; + }; // output/Data.List.NonEmpty/index.js var singleton6 = /* @__PURE__ */ function() { @@ -4652,10 +5094,10 @@ throw new Error("Failed pattern match at Data.Map.Internal (line 742, column 25 - line 746, column 38): " + [v.constructor.name, v1.constructor.name]); }; var pop = function(dictOrd) { - var compare2 = compare(dictOrd); + var compare3 = compare(dictOrd); return function(k) { return function(m) { - var v = unsafeSplit(compare2, k, m); + var v = unsafeSplit(compare3, k, m); return map9(function(a2) { return new Tuple(a2, unsafeJoinNodes(v.value1, v.value2)); })(v.value0); @@ -4663,7 +5105,7 @@ }; }; var lookup2 = function(dictOrd) { - var compare2 = compare(dictOrd); + var compare3 = compare(dictOrd); return function(k) { var go2 = function($copy_v) { var $tco_done = false; @@ -4675,7 +5117,7 @@ } ; if (v instanceof Node) { - var v1 = compare2(k)(v.value2); + var v1 = compare3(k)(v.value2); if (v1 instanceof LT) { $copy_v = v.value4; return; @@ -4707,7 +5149,7 @@ }; }; var insert3 = function(dictOrd) { - var compare2 = compare(dictOrd); + var compare3 = compare(dictOrd); return function(k) { return function(v) { var go2 = function(v1) { @@ -4716,7 +5158,7 @@ } ; if (v1 instanceof Node) { - var v2 = compare2(k)(v1.value2); + var v2 = compare3(k)(v1.value2); if (v2 instanceof LT) { return unsafeBalancedNode(v1.value2, v1.value3, go2(v1.value4), v1.value5); } @@ -4804,7 +5246,7 @@ return Leaf.value; }(); var $$delete2 = function(dictOrd) { - var compare2 = compare(dictOrd); + var compare3 = compare(dictOrd); return function(k) { var go2 = function(v) { if (v instanceof Leaf) { @@ -4812,7 +5254,7 @@ } ; if (v instanceof Node) { - var v1 = compare2(k)(v.value2); + var v1 = compare3(k)(v.value2); if (v1 instanceof LT) { return unsafeBalancedNode(v.value2, v.value3, go2(v.value4), v.value5); } @@ -4834,11 +5276,11 @@ }; }; var alter = function(dictOrd) { - var compare2 = compare(dictOrd); + var compare3 = compare(dictOrd); return function(f) { return function(k) { return function(m) { - var v = unsafeSplit(compare2, k, m); + var v = unsafeSplit(compare3, k, m); var v2 = f(v.value0); if (v2 instanceof Nothing) { return unsafeJoinNodes(v.value1, v.value2); @@ -4859,8 +5301,164 @@ var hasStringIterator = typeof Symbol !== "undefined" && Symbol != null && typeof Symbol.iterator !== "undefined" && typeof String.prototype[Symbol.iterator] === "function"; var hasFromCodePoint = typeof String.prototype.fromCodePoint === "function"; var hasCodePointAt = typeof String.prototype.codePointAt === "function"; + var _unsafeCodePointAt0 = function(fallback) { + return hasCodePointAt ? function(str) { + return str.codePointAt(0); + } : fallback; + }; + var _codePointAt = function(fallback) { + return function(Just2) { + return function(Nothing2) { + return function(unsafeCodePointAt02) { + return function(index4) { + return function(str) { + var length9 = str.length; + if (index4 < 0 || index4 >= length9) + return Nothing2; + if (hasStringIterator) { + var iter = str[Symbol.iterator](); + for (var i2 = index4; ; --i2) { + var o = iter.next(); + if (o.done) + return Nothing2; + if (i2 === 0) + return Just2(unsafeCodePointAt02(o.value)); + } + } + return fallback(index4)(str); + }; + }; + }; + }; + }; + }; + var _singleton = function(fallback) { + return hasFromCodePoint ? String.fromCodePoint : fallback; + }; + var _take = function(fallback) { + return function(n) { + if (hasStringIterator) { + return function(str) { + var accum = ""; + var iter = str[Symbol.iterator](); + for (var i2 = 0; i2 < n; ++i2) { + var o = iter.next(); + if (o.done) + return accum; + accum += o.value; + } + return accum; + }; + } + return fallback(n); + }; + }; + var _toCodePointArray = function(fallback) { + return function(unsafeCodePointAt02) { + if (hasArrayFrom) { + return function(str) { + return Array.from(str, unsafeCodePointAt02); + }; + } + return fallback; + }; + }; + + // output/Data.Enum/foreign.js + function toCharCode(c) { + return c.charCodeAt(0); + } + function fromCharCode(c) { + return String.fromCharCode(c); + } + + // output/Data.Enum/index.js + var bottom1 = /* @__PURE__ */ bottom(boundedChar); + var top1 = /* @__PURE__ */ top(boundedChar); + var toEnum = function(dict) { + return dict.toEnum; + }; + var fromEnum = function(dict) { + return dict.fromEnum; + }; + var toEnumWithDefaults = function(dictBoundedEnum) { + var toEnum1 = toEnum(dictBoundedEnum); + var fromEnum12 = fromEnum(dictBoundedEnum); + var bottom22 = bottom(dictBoundedEnum.Bounded0()); + return function(low2) { + return function(high2) { + return function(x) { + var v = toEnum1(x); + if (v instanceof Just) { + return v.value0; + } + ; + if (v instanceof Nothing) { + var $140 = x < fromEnum12(bottom22); + if ($140) { + return low2; + } + ; + return high2; + } + ; + throw new Error("Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): " + [v.constructor.name]); + }; + }; + }; + }; + var defaultSucc = function(toEnum$prime) { + return function(fromEnum$prime) { + return function(a2) { + return toEnum$prime(fromEnum$prime(a2) + 1 | 0); + }; + }; + }; + var defaultPred = function(toEnum$prime) { + return function(fromEnum$prime) { + return function(a2) { + return toEnum$prime(fromEnum$prime(a2) - 1 | 0); + }; + }; + }; + var charToEnum = function(v) { + if (v >= toCharCode(bottom1) && v <= toCharCode(top1)) { + return new Just(fromCharCode(v)); + } + ; + return Nothing.value; + }; + var enumChar = { + succ: /* @__PURE__ */ defaultSucc(charToEnum)(toCharCode), + pred: /* @__PURE__ */ defaultPred(charToEnum)(toCharCode), + Ord0: function() { + return ordChar; + } + }; + var boundedEnumChar = /* @__PURE__ */ function() { + return { + cardinality: toCharCode(top1) - toCharCode(bottom1) | 0, + toEnum: charToEnum, + fromEnum: toCharCode, + Bounded0: function() { + return boundedChar; + }, + Enum1: function() { + return enumChar; + } + }; + }(); // output/Data.String.CodeUnits/foreign.js + var fromCharArray = function(a2) { + return a2.join(""); + }; + var toCharArray = function(s) { + return s.split(""); + }; + var singleton8 = function(c) { + return c; + }; var length3 = function(s) { return s.length; }; @@ -4890,6 +5488,15 @@ }; }; + // output/Data.String.Unsafe/foreign.js + var charAt = function(i2) { + return function(s) { + if (i2 >= 0 && i2 < s.length) + return s.charAt(i2); + throw new Error("Data.String.Unsafe.charAt: Invalid index."); + }; + }; + // output/Data.String.CodeUnits/index.js var stripPrefix = function(v) { return function(str) { @@ -4918,9 +5525,244 @@ }; }; + // output/Data.String.Common/index.js + var $$null3 = function(s) { + return s === ""; + }; + + // output/Data.String.CodePoints/index.js + var $runtime_lazy4 = function(name16, moduleName, init4) { + var state3 = 0; + var val; + return function(lineNumber) { + if (state3 === 2) + return val; + if (state3 === 1) + throw new ReferenceError(name16 + " was needed before it finished initializing (module " + moduleName + ", line " + lineNumber + ")", moduleName, lineNumber); + state3 = 1; + val = init4(); + state3 = 2; + return val; + }; + }; + var fromEnum2 = /* @__PURE__ */ fromEnum(boundedEnumChar); + var map10 = /* @__PURE__ */ map(functorMaybe); + var unfoldr2 = /* @__PURE__ */ unfoldr(unfoldableArray); + var div2 = /* @__PURE__ */ div(euclideanRingInt); + var mod2 = /* @__PURE__ */ mod(euclideanRingInt); + var compare2 = /* @__PURE__ */ compare(ordInt); + var unsurrogate = function(lead) { + return function(trail) { + return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0; + }; + }; + var isTrail = function(cu) { + return 56320 <= cu && cu <= 57343; + }; + var isLead = function(cu) { + return 55296 <= cu && cu <= 56319; + }; + var uncons3 = function(s) { + var v = length3(s); + if (v === 0) { + return Nothing.value; + } + ; + if (v === 1) { + return new Just({ + head: fromEnum2(charAt(0)(s)), + tail: "" + }); + } + ; + var cu1 = fromEnum2(charAt(1)(s)); + var cu0 = fromEnum2(charAt(0)(s)); + var $43 = isLead(cu0) && isTrail(cu1); + if ($43) { + return new Just({ + head: unsurrogate(cu0)(cu1), + tail: drop3(2)(s) + }); + } + ; + return new Just({ + head: cu0, + tail: drop3(1)(s) + }); + }; + var unconsButWithTuple = function(s) { + return map10(function(v) { + return new Tuple(v.head, v.tail); + })(uncons3(s)); + }; + var toCodePointArrayFallback = function(s) { + return unfoldr2(unconsButWithTuple)(s); + }; + var unsafeCodePointAt0Fallback = function(s) { + var cu0 = fromEnum2(charAt(0)(s)); + var $47 = isLead(cu0) && length3(s) > 1; + if ($47) { + var cu1 = fromEnum2(charAt(1)(s)); + var $48 = isTrail(cu1); + if ($48) { + return unsurrogate(cu0)(cu1); + } + ; + return cu0; + } + ; + return cu0; + }; + var unsafeCodePointAt0 = /* @__PURE__ */ _unsafeCodePointAt0(unsafeCodePointAt0Fallback); + var toCodePointArray = /* @__PURE__ */ _toCodePointArray(toCodePointArrayFallback)(unsafeCodePointAt0); + var length4 = function($74) { + return length(toCodePointArray($74)); + }; + var fromCharCode2 = /* @__PURE__ */ function() { + var $75 = toEnumWithDefaults(boundedEnumChar)(bottom(boundedChar))(top(boundedChar)); + return function($76) { + return singleton8($75($76)); + }; + }(); + var singletonFallback = function(v) { + if (v <= 65535) { + return fromCharCode2(v); + } + ; + var lead = div2(v - 65536 | 0)(1024) + 55296 | 0; + var trail = mod2(v - 65536 | 0)(1024) + 56320 | 0; + return fromCharCode2(lead) + fromCharCode2(trail); + }; + var singleton9 = /* @__PURE__ */ _singleton(singletonFallback); + var takeFallback = function(v) { + return function(v1) { + if (v < 1) { + return ""; + } + ; + var v2 = uncons3(v1); + if (v2 instanceof Just) { + return singleton9(v2.value0.head) + takeFallback(v - 1 | 0)(v2.value0.tail); + } + ; + return v1; + }; + }; + var take4 = /* @__PURE__ */ _take(takeFallback); + var eqCodePoint = { + eq: function(x) { + return function(y) { + return x === y; + }; + } + }; + var ordCodePoint = { + compare: function(x) { + return function(y) { + return compare2(x)(y); + }; + }, + Eq0: function() { + return eqCodePoint; + } + }; + var drop4 = function(n) { + return function(s) { + return drop3(length3(take4(n)(s)))(s); + }; + }; + var codePointAtFallback = function($copy_n) { + return function($copy_s) { + var $tco_var_n = $copy_n; + var $tco_done = false; + var $tco_result; + function $tco_loop(n, s) { + var v = uncons3(s); + if (v instanceof Just) { + var $66 = n === 0; + if ($66) { + $tco_done = true; + return new Just(v.value0.head); + } + ; + $tco_var_n = n - 1 | 0; + $copy_s = v.value0.tail; + return; + } + ; + $tco_done = true; + return Nothing.value; + } + ; + while (!$tco_done) { + $tco_result = $tco_loop($tco_var_n, $copy_s); + } + ; + return $tco_result; + }; + }; + var codePointAt = function(v) { + return function(v1) { + if (v < 0) { + return Nothing.value; + } + ; + if (v === 0 && v1 === "") { + return Nothing.value; + } + ; + if (v === 0) { + return new Just(unsafeCodePointAt0(v1)); + } + ; + return _codePointAt(codePointAtFallback)(Just.create)(Nothing.value)(unsafeCodePointAt0)(v)(v1); + }; + }; + var boundedCodePoint = { + bottom: 0, + top: 1114111, + Ord0: function() { + return ordCodePoint; + } + }; + var boundedEnumCodePoint = /* @__PURE__ */ function() { + return { + cardinality: 1114111 + 1 | 0, + fromEnum: function(v) { + return v; + }, + toEnum: function(n) { + if (n >= 0 && n <= 1114111) { + return new Just(n); + } + ; + if (otherwise) { + return Nothing.value; + } + ; + throw new Error("Failed pattern match at Data.String.CodePoints (line 63, column 1 - line 68, column 26): " + [n.constructor.name]); + }, + Bounded0: function() { + return boundedCodePoint; + }, + Enum1: function() { + return $lazy_enumCodePoint(0); + } + }; + }(); + var $lazy_enumCodePoint = /* @__PURE__ */ $runtime_lazy4("enumCodePoint", "Data.String.CodePoints", function() { + return { + succ: defaultSucc(toEnum(boundedEnumCodePoint))(fromEnum(boundedEnumCodePoint)), + pred: defaultPred(toEnum(boundedEnumCodePoint))(fromEnum(boundedEnumCodePoint)), + Ord0: function() { + return ordCodePoint; + } + }; + }); + // output/Data.Argonaut.Decode.Decoders/index.js var pure4 = /* @__PURE__ */ pure(applicativeEither); - var map10 = /* @__PURE__ */ map(functorEither); + var map11 = /* @__PURE__ */ map(functorEither); var lmap2 = /* @__PURE__ */ lmap(bifunctorEither); var composeKleisliFlipped2 = /* @__PURE__ */ composeKleisliFlipped(bindEither); var traverse5 = /* @__PURE__ */ traverse(traversableObject)(applicativeEither); @@ -4946,7 +5788,7 @@ } ; if (otherwise) { - return map10(Just.create)(decoder(json)); + return map11(Just.create)(decoder(json)); } ; throw new Error("Failed pattern match at Data.Argonaut.Decode.Decoders (line 37, column 1 - line 41, column 38): " + [decoder.constructor.name, json.constructor.name]); @@ -5004,13 +5846,13 @@ }; // output/Data.Argonaut.Decode.Combinators/index.js - var map11 = /* @__PURE__ */ map(functorEither); + var map12 = /* @__PURE__ */ map(functorEither); var getField2 = function(dictDecodeJson) { return getField(decodeJson(dictDecodeJson)); }; var defaultField = function(parser) { return function($$default2) { - return map11(fromMaybe($$default2))(parser); + return map12(fromMaybe($$default2))(parser); }; }; @@ -5144,6 +5986,21 @@ } }; + // output/Data.Lazy/foreign.js + var defer2 = function(thunk) { + var v = null; + return function() { + if (thunk === void 0) + return v; + v = thunk(); + thunk = void 0; + return v; + }; + }; + var force = function(l) { + return l(); + }; + // output/Effect.Aff.Class/index.js var lift4 = /* @__PURE__ */ lift(monadTransReaderT); var monadAffAff = { @@ -5283,8 +6140,8 @@ }); // output/Halogen.VDom.Types/index.js - var map12 = /* @__PURE__ */ map(functorArray); - var map13 = /* @__PURE__ */ map(functorTuple); + var map13 = /* @__PURE__ */ map(functorArray); + var map14 = /* @__PURE__ */ map(functorTuple); var Text = /* @__PURE__ */ function() { function Text2(value0) { this.value0 = value0; @@ -5413,11 +6270,11 @@ } ; if (v2 instanceof Elem) { - return new Elem(v2.value0, v2.value1, v.value0(v2.value2), map12(go2)(v2.value3)); + return new Elem(v2.value0, v2.value1, v.value0(v2.value2), map13(go2)(v2.value3)); } ; if (v2 instanceof Keyed) { - return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), map12(map13(go2))(v2.value3)); + return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), map13(map14(go2))(v2.value3)); } ; if (v2 instanceof Widget) { @@ -5608,9 +6465,9 @@ } // output/Web.DOM.ParentNode/index.js - var map14 = /* @__PURE__ */ map(functorEffect); + var map15 = /* @__PURE__ */ map(functorEffect); var querySelector = function(qs) { - var $2 = map14(toMaybe); + var $2 = map15(toMaybe); var $3 = _querySelector(qs); return function($4) { return $2($3($4)); @@ -5621,7 +6478,7 @@ var toNode = unsafeCoerce2; // output/Halogen.VDom.DOM/index.js - var $runtime_lazy4 = function(name16, moduleName, init4) { + var $runtime_lazy5 = function(name16, moduleName, init4) { var state3 = 0; var val; return function(lineNumber) { @@ -5638,7 +6495,7 @@ var haltWidget = function(v) { return halt(v.widget); }; - var $lazy_patchWidget = /* @__PURE__ */ $runtime_lazy4("patchWidget", "Halogen.VDom.DOM", function() { + var $lazy_patchWidget = /* @__PURE__ */ $runtime_lazy5("patchWidget", "Halogen.VDom.DOM", function() { return function(state3, vdom) { if (vdom instanceof Grafted) { return $lazy_patchWidget(291)(state3, runGraft(vdom.value0)); @@ -5664,7 +6521,7 @@ var parent2 = parentNode(v.node); return removeChild(v.node, parent2); }; - var $lazy_patchText = /* @__PURE__ */ $runtime_lazy4("patchText", "Halogen.VDom.DOM", function() { + var $lazy_patchText = /* @__PURE__ */ $runtime_lazy5("patchText", "Halogen.VDom.DOM", function() { return function(state3, vdom) { if (vdom instanceof Grafted) { return $lazy_patchText(82)(state3, runGraft(vdom.value0)); @@ -5722,7 +6579,7 @@ ; return false; }; - var $lazy_patchElem = /* @__PURE__ */ $runtime_lazy4("patchElem", "Halogen.VDom.DOM", function() { + var $lazy_patchElem = /* @__PURE__ */ $runtime_lazy5("patchElem", "Halogen.VDom.DOM", function() { return function(state3, vdom) { if (vdom instanceof Grafted) { return $lazy_patchElem(135)(state3, runGraft(vdom.value0)); @@ -5775,7 +6632,7 @@ }; }); var patchElem = /* @__PURE__ */ $lazy_patchElem(130); - var $lazy_patchKeyed = /* @__PURE__ */ $runtime_lazy4("patchKeyed", "Halogen.VDom.DOM", function() { + var $lazy_patchKeyed = /* @__PURE__ */ $runtime_lazy5("patchKeyed", "Halogen.VDom.DOM", function() { return function(state3, vdom) { if (vdom instanceof Grafted) { return $lazy_patchKeyed(222)(state3, runGraft(vdom.value0)); @@ -5890,7 +6747,7 @@ return mkStep(new Step(node, state3, patchElem, haltElem)); }; var buildVDom = function(spec) { - var $lazy_build = $runtime_lazy4("build", "Halogen.VDom.DOM", function() { + var $lazy_build = $runtime_lazy5("build", "Halogen.VDom.DOM", function() { return function(v) { if (v instanceof Text) { return buildText(spec, $lazy_build(59), v.value0); @@ -6087,7 +6944,7 @@ return unsafeReadTagged(dictMonad)("Number"); }; var readInt = function(dictMonad) { - var map41 = map(dictMonad.Bind1().Apply0().Functor0()); + var map44 = map(dictMonad.Bind1().Apply0().Functor0()); var readNumber1 = readNumber(dictMonad); return function(value15) { var error4 = new Left(singleton6(new TypeMismatch2("Int", tagOf(value15)))); @@ -6097,7 +6954,7 @@ return $155(fromNumber($156)); }; }(); - return mapExceptT(map41(either($$const(error4))(fromNumber2)))(readNumber1(value15)); + return mapExceptT(map44(either($$const(error4))(fromNumber2)))(readNumber1(value15)); }; }; var readString = function(dictMonad) { @@ -6136,7 +6993,7 @@ } // output/Halogen.VDom.DOM.Prop/index.js - var $runtime_lazy5 = function(name16, moduleName, init4) { + var $runtime_lazy6 = function(name16, moduleName, init4) { var state3 = 0; var val; return function(lineNumber) { @@ -6150,8 +7007,8 @@ return val; }; }; - var map15 = /* @__PURE__ */ map(functorFn); - var map16 = /* @__PURE__ */ map(functorMaybe); + var map16 = /* @__PURE__ */ map(functorFn); + var map17 = /* @__PURE__ */ map(functorMaybe); var Created = /* @__PURE__ */ function() { function Created2(value0) { this.value0 = value0; @@ -6275,11 +7132,11 @@ map: function(v) { return function(v1) { if (v1 instanceof Handler) { - return new Handler(v1.value0, map15(map16(v))(v1.value1)); + return new Handler(v1.value0, map16(map17(v))(v1.value1)); } ; if (v1 instanceof Ref) { - return new Ref(map15(map16(v))(v1.value0)); + return new Ref(map16(map17(v))(v1.value0)); } ; return v1; @@ -6407,7 +7264,7 @@ throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): " + [v2.constructor.name]); }; }; - var $lazy_patchProp = $runtime_lazy5("patchProp", "Halogen.VDom.DOM.Prop", function() { + var $lazy_patchProp = $runtime_lazy6("patchProp", "Halogen.VDom.DOM.Prop", function() { return function(state3, ps2) { var events = newMutMap(); var onThis = removeProp(state3.events); @@ -6441,8 +7298,8 @@ }; // output/Halogen.HTML.Core/index.js - var map17 = /* @__PURE__ */ map(functorArray); - var map18 = /* @__PURE__ */ map(functorProp); + var map18 = /* @__PURE__ */ map(functorArray); + var map19 = /* @__PURE__ */ map(functorProp); var map22 = /* @__PURE__ */ map(functorInput); var bimap3 = /* @__PURE__ */ bimap(bifunctorVDom); var HTML = function(x) { @@ -6490,7 +7347,7 @@ bimap: function(f) { return function(g) { return function(v) { - return bimap3(map17(map18(map22(g))))(f)(v); + return bimap3(map18(map19(map22(g))))(f)(v); }; }; } @@ -6518,7 +7375,7 @@ }(); // output/Control.Applicative.Free/index.js - var identity9 = /* @__PURE__ */ identity(categoryFn); + var identity10 = /* @__PURE__ */ identity(categoryFn); var Pure = /* @__PURE__ */ function() { function Pure2(value0) { this.value0 = value0; @@ -6530,14 +7387,14 @@ return Pure2; }(); var Lift = /* @__PURE__ */ function() { - function Lift3(value0) { + function Lift4(value0) { this.value0 = value0; } ; - Lift3.create = function(value0) { - return new Lift3(value0); + Lift4.create = function(value0) { + return new Lift4(value0); }; - return Lift3; + return Lift4; }(); var Ap = /* @__PURE__ */ function() { function Ap2(value0, value1) { @@ -6698,7 +7555,7 @@ }; }; var retractFreeAp = function(dictApplicative) { - return foldFreeAp(dictApplicative)(identity9); + return foldFreeAp(dictApplicative)(identity10); }; var applyFreeAp = { apply: function(fba) { @@ -6739,7 +7596,7 @@ }; return CatQueue2; }(); - var uncons3 = function($copy_v) { + var uncons4 = function($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { @@ -6772,7 +7629,7 @@ return new CatQueue(v.value0, new Cons(a2, v.value1)); }; }; - var $$null3 = function(v) { + var $$null4 = function(v) { if (v.value0 instanceof Nil && v.value1 instanceof Nil) { return true; } @@ -6861,7 +7718,7 @@ var $tco_done1 = false; var $tco_result; function $tco_loop(xs, ys) { - var v = uncons3(xs); + var v = uncons4(xs); if (v instanceof Nothing) { $tco_done1 = true; return foldl4(function(x) { @@ -6891,14 +7748,14 @@ }; }; }; - var uncons4 = function(v) { + var uncons5 = function(v) { if (v instanceof CatNil) { return Nothing.value; } ; if (v instanceof CatCons) { return new Just(new Tuple(v.value0, function() { - var $66 = $$null3(v.value1); + var $66 = $$null4(v.value1); if ($66) { return CatNil.value; } @@ -6923,7 +7780,7 @@ }; // output/Control.Monad.Free/index.js - var $runtime_lazy6 = function(name16, moduleName, init4) { + var $runtime_lazy7 = function(name16, moduleName, init4) { var state3 = 0; var val; return function(lineNumber) { @@ -6938,7 +7795,7 @@ }; }; var append4 = /* @__PURE__ */ append(semigroupCatList); - var map19 = /* @__PURE__ */ map(functorFn); + var map20 = /* @__PURE__ */ map(functorFn); var Free = /* @__PURE__ */ function() { function Free2(value0, value1) { this.value0 = value0; @@ -6988,7 +7845,7 @@ }; }; if (v.value0 instanceof Return) { - var v2 = uncons4(v.value1); + var v2 = uncons5(v.value1); if (v2 instanceof Nothing) { $tco_done = true; return new Return(v.value0.value0); @@ -7059,7 +7916,7 @@ return $lazy_freeApply(0); } }; - var $lazy_freeApply = /* @__PURE__ */ $runtime_lazy6("freeApply", "Control.Monad.Free", function() { + var $lazy_freeApply = /* @__PURE__ */ $runtime_lazy7("freeApply", "Control.Monad.Free", function() { return { apply: ap(freeMonad), Functor0: function() { @@ -7082,7 +7939,7 @@ } ; if (v instanceof Bind) { - return bind3(k(v.value0))(map19(go2)(v.value1)); + return bind3(k(v.value0))(map20(go2)(v.value1)); } ; throw new Error("Failed pattern match at Control.Monad.Free (line 168, column 10 - line 170, column 33): " + [v.constructor.name]); @@ -7304,9 +8161,9 @@ }; // output/Halogen.Query.HalogenM/index.js - var identity10 = /* @__PURE__ */ identity(categoryFn); + var identity11 = /* @__PURE__ */ identity(categoryFn); var lookup4 = /* @__PURE__ */ lookup3(); - var over2 = /* @__PURE__ */ over()(); + var over3 = /* @__PURE__ */ over()(); var SubscriptionId = function(x) { return x; }; @@ -7350,14 +8207,14 @@ return Unsubscribe2; }(); var Lift2 = /* @__PURE__ */ function() { - function Lift3(value0) { + function Lift4(value0) { this.value0 = value0; } ; - Lift3.create = function(value0) { - return new Lift3(value0); + Lift4.create = function(value0) { + return new Lift4(value0); }; - return Lift3; + return Lift4; }(); var ChildQuery2 = /* @__PURE__ */ function() { function ChildQuery3(value0) { @@ -7453,7 +8310,7 @@ var subscribe2 = function(es) { return liftF(new Subscribe(function(v) { return es; - }, identity10)); + }, identity11)); }; var raise = function(o) { return liftF(new Raise(o, unit)); @@ -7475,7 +8332,7 @@ return $177($178($179)); }; }; - }, q2, identity10)))); + }, q2, identity11)))); }; }; }; @@ -7556,7 +8413,7 @@ } ; if (v1 instanceof Par) { - return new Par(over2(HalogenAp)(hoistFreeAp(hoist(dictFunctor)(nat)))(v1.value0)); + return new Par(over3(HalogenAp)(hoistFreeAp(hoist(dictFunctor)(nat)))(v1.value0)); } ; if (v1 instanceof Fork) { @@ -7635,11 +8492,11 @@ bitraverse: function(dictApplicative) { var Apply0 = dictApplicative.Apply0(); var apply6 = apply(Apply0); - var map41 = map(Apply0.Functor0()); + var map44 = map(Apply0.Functor0()); return function(f) { return function(g) { return function(v) { - return apply6(map41(Tuple.create)(f(v.value0)))(g(v.value1)); + return apply6(map44(Tuple.create)(f(v.value0)))(g(v.value1)); }; }; }; @@ -7647,9 +8504,9 @@ bisequence: function(dictApplicative) { var Apply0 = dictApplicative.Apply0(); var apply6 = apply(Apply0); - var map41 = map(Apply0.Functor0()); + var map44 = map(Apply0.Functor0()); return function(v) { - return apply6(map41(Tuple.create)(v.value0))(v.value1); + return apply6(map44(Tuple.create)(v.value0))(v.value1); }; }, Bifunctor0: function() { @@ -7707,7 +8564,7 @@ }; // output/Routing.Duplex.Parser/index.js - var $runtime_lazy7 = function(name16, moduleName, init4) { + var $runtime_lazy8 = function(name16, moduleName, init4) { var state3 = 0; var val; return function(lineNumber) { @@ -7723,7 +8580,7 @@ }; var bitraverse2 = /* @__PURE__ */ bitraverse(bitraversableTuple)(applicativeEither); var traverse2 = /* @__PURE__ */ traverse(traversableArray)(applicativeEither); - var map20 = /* @__PURE__ */ map(functorNonEmptyArray); + var map21 = /* @__PURE__ */ map(functorNonEmptyArray); var map110 = /* @__PURE__ */ map(functorFn); var foldl3 = /* @__PURE__ */ foldl(foldableNonEmptyArray); var composeKleisli2 = /* @__PURE__ */ composeKleisli(bindEither); @@ -7824,7 +8681,7 @@ }; return Prefix2; }(); - var take4 = /* @__PURE__ */ function() { + var take5 = /* @__PURE__ */ function() { return new Chomp(function(state3) { var v = uncons(state3.segments); if (v instanceof Just) { @@ -7946,7 +8803,7 @@ map: function(f) { return function(m) { if (m instanceof Alt) { - return new Alt(map20(map(functorRouteParser)(f))(m.value0)); + return new Alt(map21(map(functorRouteParser)(f))(m.value0)); } ; if (m instanceof Chomp) { @@ -7993,7 +8850,7 @@ return new Fail(EndOfPath.value); }; }; - var $lazy_runRouteParser = /* @__PURE__ */ $runtime_lazy7("runRouteParser", "Routing.Duplex.Parser", function() { + var $lazy_runRouteParser = /* @__PURE__ */ $runtime_lazy8("runRouteParser", "Routing.Duplex.Parser", function() { var goAlt = function(v) { return function(v1) { return function(v2) { @@ -8297,7 +9154,7 @@ var applyFirst2 = /* @__PURE__ */ applyFirst(applyRouteParser); var pure8 = /* @__PURE__ */ pure(applicativeRouteParser); var apply3 = /* @__PURE__ */ apply(applyRouteParser); - var map21 = /* @__PURE__ */ map(functorRouteParser); + var map24 = /* @__PURE__ */ map(functorRouteParser); var mempty2 = /* @__PURE__ */ mempty(monoidRoutePRinter); var apply1 = /* @__PURE__ */ apply(applyFn); var map111 = /* @__PURE__ */ map(functorFn); @@ -8315,7 +9172,7 @@ return RouteDuplex2; }(); var segment = /* @__PURE__ */ function() { - return new RouteDuplex(put2, take4); + return new RouteDuplex(put2, take5); }(); var profunctorRouteDuplex = { dimap: function(f) { @@ -8323,7 +9180,7 @@ return function(v) { return new RouteDuplex(function($137) { return v.value0(f($137)); - }, map21(g)(v.value1)); + }, map24(g)(v.value1)); }; }; } @@ -8354,7 +9211,7 @@ var functorRouteDuplex = { map: function(f) { return function(m) { - return new RouteDuplex(m.value0, map21(f)(m.value1)); + return new RouteDuplex(m.value0, map24(f)(m.value1)); }; } }; @@ -8384,15 +9241,15 @@ }; // output/Routing.Duplex.Generic/index.js - var identity11 = /* @__PURE__ */ identity(categoryFn); - var map24 = /* @__PURE__ */ map(functorRouteParser); + var identity12 = /* @__PURE__ */ identity(categoryFn); + var map25 = /* @__PURE__ */ map(functorRouteParser); var alt2 = /* @__PURE__ */ alt(altRouteParser); var dimap2 = /* @__PURE__ */ dimap(profunctorRouteDuplex); var noArgs = /* @__PURE__ */ function() { return pure(applicativeRouteDuplex)(NoArguments.value); }(); var gRouteNoArguments = { - gRouteDuplexCtr: identity11 + gRouteDuplexCtr: identity12 }; var gRouteDuplexCtr = function(dict) { return dict.gRouteDuplexCtr; @@ -8420,7 +9277,7 @@ ; throw new Error("Failed pattern match at Routing.Duplex.Generic (line 51, column 11 - line 53, column 22): " + [v2.constructor.name]); }; - var dec = alt2(map24(Inl.create)(v.value1))(map24(Inr.create)(v1.value1)); + var dec = alt2(map25(Inl.create)(v.value1))(map25(Inr.create)(v1.value1)); return new RouteDuplex(enc, dec); }; } @@ -8439,18 +9296,18 @@ }; }; var gRouteConstructor = function(dictIsSymbol) { - var get7 = get2(dictIsSymbol)(); + var get8 = get2(dictIsSymbol)(); return function() { return function(dictGRouteDuplexCtr) { var gRouteDuplexCtr1 = gRouteDuplexCtr(dictGRouteDuplexCtr); return { gRouteDuplex: function(end$prime) { return function(r) { - var v = end$prime(gRouteDuplexCtr1(get7($$Proxy.value)(r))); + var v = end$prime(gRouteDuplexCtr1(get8($$Proxy.value)(r))); var enc = function(v1) { return v.value0(v1); }; - var dec = map24(Constructor)(v.value1); + var dec = map25(Constructor)(v.value1); return new RouteDuplex(enc, dec); }; } @@ -8459,13 +9316,13 @@ }; }; var gRouteArgument = { - gRouteDuplexCtr: identity11 + gRouteDuplexCtr: identity12 }; var gRouteAll = { gRouteDuplexCtr: function(v) { return new RouteDuplex(function(v1) { return v.value0(v1); - }, map24(Argument)(v.value1)); + }, map25(Argument)(v.value1)); } }; @@ -8487,6 +9344,7 @@ // output/Exblo.Navigate/index.js var lift5 = /* @__PURE__ */ lift(monadTransHalogenM); + var gsep2 = /* @__PURE__ */ gsep(/* @__PURE__ */ gsepStringRoute(gRouteAll)); var Home = /* @__PURE__ */ function() { function Home2() { } @@ -8504,16 +9362,26 @@ }; return Tx2; }(); + var Blk = /* @__PURE__ */ function() { + function Blk2(value0) { + this.value0 = value0; + } + ; + Blk2.create = function(value0) { + return new Blk2(value0); + }; + return Blk2; + }(); var navigate = function(dict) { return dict.navigate; }; var navigateHalogenM = function(dictNavigate) { return { navigate: function() { - var $47 = lift5(dictNavigate.Monad0()); - var $48 = navigate(dictNavigate); - return function($49) { - return $47($48($49)); + var $68 = lift5(dictNavigate.Monad0()); + var $69 = navigate(dictNavigate); + return function($70) { + return $68($69($70)); }; }(), Monad0: function() { @@ -8527,11 +9395,15 @@ return Home.value; } ; - if (x instanceof Inr) { - return new Tx(x.value0); + if (x instanceof Inr && x.value0 instanceof Inl) { + return new Tx(x.value0.value0); } ; - throw new Error("Failed pattern match at Exblo.Navigate (line 24, column 1 - line 24, column 48): " + [x.constructor.name]); + if (x instanceof Inr && x.value0 instanceof Inr) { + return new Blk(x.value0.value0); + } + ; + throw new Error("Failed pattern match at Exblo.Navigate (line 25, column 1 - line 25, column 48): " + [x.constructor.name]); }, from: function(x) { if (x instanceof Home) { @@ -8539,23 +9411,32 @@ } ; if (x instanceof Tx) { - return new Inr(x.value0); + return new Inr(new Inl(x.value0)); } ; - throw new Error("Failed pattern match at Exblo.Navigate (line 24, column 1 - line 24, column 48): " + [x.constructor.name]); + if (x instanceof Blk) { + return new Inr(new Inr(x.value0)); + } + ; + throw new Error("Failed pattern match at Exblo.Navigate (line 25, column 1 - line 25, column 48): " + [x.constructor.name]); } }; var routeCodec = /* @__PURE__ */ root(/* @__PURE__ */ sum2(genericRoute)(/* @__PURE__ */ gRouteSum(/* @__PURE__ */ gRouteConstructor({ reflectSymbol: function() { return "Home"; } - })()(gRouteNoArguments))(/* @__PURE__ */ gRouteConstructor({ + })()(gRouteNoArguments))(/* @__PURE__ */ gRouteSum(/* @__PURE__ */ gRouteConstructor({ reflectSymbol: function() { return "Tx"; } - })()(gRouteArgument)))({ + })()(gRouteArgument))(/* @__PURE__ */ gRouteConstructor({ + reflectSymbol: function() { + return "Blk"; + } + })()(gRouteArgument))))({ Home: noArgs, - Tx: /* @__PURE__ */ gsep(/* @__PURE__ */ gsepStringRoute(gRouteAll))("tx")(segment) + Tx: /* @__PURE__ */ gsep2("tx")(segment), + Blk: /* @__PURE__ */ gsep2("block")(segment) })); var eqRoute = { eq: function(x) { @@ -8568,6 +9449,10 @@ return x.value0 === y.value0; } ; + if (x instanceof Blk && y instanceof Blk) { + return x.value0 === y.value0; + } + ; return false; }; } @@ -8679,14 +9564,14 @@ // output/Halogen.Query.HalogenQ/index.js var Initialize = /* @__PURE__ */ function() { - function Initialize6(value0) { + function Initialize7(value0) { this.value0 = value0; } ; - Initialize6.create = function(value0) { - return new Initialize6(value0); + Initialize7.create = function(value0) { + return new Initialize7(value0); }; - return Initialize6; + return Initialize7; }(); var Finalize = /* @__PURE__ */ function() { function Finalize2(value0) { @@ -8699,17 +9584,17 @@ return Finalize2; }(); var Receive = /* @__PURE__ */ function() { - function Receive6(value0, value1) { + function Receive7(value0, value1) { this.value0 = value0; this.value1 = value1; } ; - Receive6.create = function(value0) { + Receive7.create = function(value0) { return function(value1) { - return new Receive6(value0, value1); + return new Receive7(value0, value1); }; }; - return Receive6; + return Receive7; }(); var Action2 = /* @__PURE__ */ function() { function Action3(value0, value1) { @@ -8739,7 +9624,7 @@ }(); // output/Halogen.VDom.Thunk/index.js - var $runtime_lazy8 = function(name16, moduleName, init4) { + var $runtime_lazy9 = function(name16, moduleName, init4) { var state3 = 0; var val; return function(lineNumber) { @@ -8790,7 +9675,7 @@ var haltThunk = function(state3) { return halt(state3.vdom); }; - var $lazy_patchThunk = $runtime_lazy8("patchThunk", "Halogen.VDom.Thunk", function() { + var $lazy_patchThunk = $runtime_lazy9("patchThunk", "Halogen.VDom.Thunk", function() { return function(state3, t2) { var $48 = unsafeEqThunk(state3.thunk, t2); if ($48) { @@ -8820,7 +9705,7 @@ // output/Halogen.Component/index.js var voidLeft2 = /* @__PURE__ */ voidLeft(functorHalogenM); var traverse_3 = /* @__PURE__ */ traverse_(applicativeHalogenM)(foldableMaybe); - var map25 = /* @__PURE__ */ map(functorHalogenM); + var map26 = /* @__PURE__ */ map(functorHalogenM); var lmap3 = /* @__PURE__ */ lmap(bifunctorHTML); var pure9 = /* @__PURE__ */ pure(applicativeHalogenM); var lookup6 = /* @__PURE__ */ lookup3(); @@ -8868,7 +9753,7 @@ ; if (v instanceof Query) { return unCoyoneda(function(g) { - var $45 = map25(maybe(v.value1(unit))(g)); + var $45 = map26(maybe(v.value1(unit))(g)); return function($46) { return $45(args.handleQuery($46)); }; @@ -9033,7 +9918,7 @@ var bind12 = /* @__PURE__ */ bind(bindAff); var liftEffect3 = /* @__PURE__ */ liftEffect(monadEffectAff); var pure1 = /* @__PURE__ */ pure(applicativeAff); - var map26 = /* @__PURE__ */ map(functorAff); + var map27 = /* @__PURE__ */ map(functorAff); var lift6 = /* @__PURE__ */ lift(monadTransHalogenM); var monadStoreT = function(dictMonad) { return monadReaderT(dictMonad); @@ -9085,7 +9970,7 @@ var hoist4 = hoist3(dictMonad.Bind1().Apply0().Functor0()); return function(initialStore) { return function(reducer) { - return function(component5) { + return function(component6) { return bind12(liftEffect3(function __do2() { var value15 = $$new(initialStore)(); var v = create(); @@ -9100,7 +9985,7 @@ emitter: hs.emitter, component: hoist4(function(v) { return runReaderT(v)(hs); - })(component5) + })(component6) }); }); }; @@ -9111,10 +9996,10 @@ var runAndEmitStoreT1 = runAndEmitStoreT(dictMonad); return function(initialStore) { return function(reducer) { - return function(component5) { - return map26(function(v) { + return function(component6) { + return map27(function(v) { return v.component; - })(runAndEmitStoreT1(initialStore)(reducer)(component5)); + })(runAndEmitStoreT1(initialStore)(reducer)(component6)); }; }; }; @@ -9198,11 +10083,11 @@ }; // output/Web.HTML.HTMLDocument/index.js - var map27 = /* @__PURE__ */ map(functorEffect); + var map28 = /* @__PURE__ */ map(functorEffect); var toParentNode = unsafeCoerce2; var toDocument = unsafeCoerce2; var readyState = function(doc) { - return map27(function() { + return map28(function() { var $4 = fromMaybe(Loading.value); return function($5) { return $4(parse3($5)); @@ -9255,7 +10140,7 @@ // output/Routing.Hash/index.js var bind5 = /* @__PURE__ */ bind(bindEffect); - var map28 = /* @__PURE__ */ map(functorEffect); + var map29 = /* @__PURE__ */ map(functorEffect); var bindFlipped4 = /* @__PURE__ */ bindFlipped(bindEffect); var join3 = /* @__PURE__ */ join(bindEffect); var apply4 = /* @__PURE__ */ apply(applyEffect); @@ -9265,7 +10150,7 @@ return bind5(bind5(windowImpl)(location))(setHash(h)); }; var getHash = /* @__PURE__ */ bind5(/* @__PURE__ */ bind5(windowImpl)(location))(/* @__PURE__ */ function() { - var $16 = map28(function() { + var $16 = map29(function() { var $18 = fromMaybe(""); var $19 = stripPrefix("#"); return function($20) { @@ -9280,9 +10165,9 @@ return function(init4) { return function __do2() { var ref2 = bindFlipped4($$new)(bindFlipped4(init4)(getHash))(); - var win = map28(toEventTarget)(windowImpl)(); + var win = map29(toEventTarget)(windowImpl)(); var listener = eventListener(function(v) { - return bindFlipped4(flip(write)(ref2))(join3(apply4(map28(cb)(read(ref2)))(getHash))); + return bindFlipped4(flip(write)(ref2))(join3(apply4(map29(cb)(read(ref2)))(getHash))); })(); addEventListener2(hashchange)(listener)(false)(win)(); return removeEventListener2(hashchange)(listener)(false)(win); @@ -9537,7 +10422,7 @@ }; // output/Affjax.ResponseFormat/index.js - var identity12 = /* @__PURE__ */ identity(categoryFn); + var identity13 = /* @__PURE__ */ identity(categoryFn); var $$ArrayBuffer = /* @__PURE__ */ function() { function $$ArrayBuffer2(value0) { this.value0 = value0; @@ -9633,10 +10518,10 @@ return Nothing.value; }; var string = /* @__PURE__ */ function() { - return new $$String2(identity12); + return new $$String2(identity13); }(); var ignore = /* @__PURE__ */ function() { - return new Ignore(identity12); + return new Ignore(identity13); }(); // output/Affjax.ResponseHeader/index.js @@ -9677,7 +10562,7 @@ // output/Data.FormURLEncoded/index.js var apply5 = /* @__PURE__ */ apply(applyMaybe); - var map29 = /* @__PURE__ */ map(functorMaybe); + var map30 = /* @__PURE__ */ map(functorMaybe); var traverse3 = /* @__PURE__ */ traverse(traversableArray)(applicativeMaybe); var toArray3 = function(v) { return v; @@ -9689,7 +10574,7 @@ } ; if (v.value1 instanceof Just) { - return apply5(map29(function(key) { + return apply5(map30(function(key) { return function(val) { return key + ("=" + val); }; @@ -9698,7 +10583,7 @@ ; throw new Error("Failed pattern match at Data.FormURLEncoded (line 37, column 16 - line 39, column 114): " + [v.constructor.name]); }; - var $37 = map29(joinWith("&")); + var $37 = map30(joinWith("&")); var $38 = traverse3(encodePart); return function($39) { return $37($38(toArray3($39))); @@ -9923,7 +10808,7 @@ var unsafeReadTagged2 = /* @__PURE__ */ unsafeReadTagged(monadIdentity); var alt6 = /* @__PURE__ */ alt(/* @__PURE__ */ altExceptT(semigroupNonEmptyList)(monadIdentity)); var composeKleisliFlipped3 = /* @__PURE__ */ composeKleisliFlipped(/* @__PURE__ */ bindExceptT(monadIdentity)); - var map30 = /* @__PURE__ */ map(functorMaybe); + var map31 = /* @__PURE__ */ map(functorMaybe); var any3 = /* @__PURE__ */ any(foldableArray)(heytingAlgebraBoolean); var eq3 = /* @__PURE__ */ eq(eqString); var bindFlipped5 = /* @__PURE__ */ bindFlipped(bindMaybe); @@ -10042,7 +10927,7 @@ } ; if (v2 instanceof FormURLEncoded) { - return note("Body contains values that cannot be encoded as application/x-www-form-urlencoded")(map30(unsafeToForeign)(encode(v2.value0))); + return note("Body contains values that cannot be encoded as application/x-www-form-urlencoded")(map31(unsafeToForeign)(encode(v2.value0))); } ; if (v2 instanceof Json) { @@ -10061,7 +10946,7 @@ }; }; var headers = function(reqContent) { - return addHeader(map30(ContentType.create)(bindFlipped5(toMediaType)(reqContent)))(addHeader(map30(Accept.create)(toMediaType2(req.responseFormat)))(req.headers)); + return addHeader(map31(ContentType.create)(bindFlipped5(toMediaType)(reqContent)))(addHeader(map31(Accept.create)(toMediaType2(req.responseFormat)))(req.headers)); }; var ajaxRequest = function(v2) { return { @@ -10078,7 +10963,7 @@ username: toNullable(req.username), password: toNullable(req.password), withCredentials: req.withCredentials, - timeout: fromMaybe(0)(map30(function(v1) { + timeout: fromMaybe(0)(map31(function(v1) { return v1; })(req.timeout)) }; @@ -10240,9 +11125,2368 @@ }; }; + // output/Data.DateTime.Instant/foreign.js + var createDateTime = function(y, m, d, h, mi, s, ms) { + var dateTime3 = new Date(Date.UTC(y, m, d, h, mi, s, ms)); + if (y >= 0 && y < 100) { + dateTime3.setUTCFullYear(y); + } + return dateTime3; + }; + function fromDateTimeImpl(y, mo, d, h, mi, s, ms) { + return createDateTime(y, mo - 1, d, h, mi, s, ms).getTime(); + } + function toDateTimeImpl(ctor) { + return function(instant2) { + var dt2 = new Date(instant2); + return ctor(dt2.getUTCFullYear())(dt2.getUTCMonth() + 1)(dt2.getUTCDate())(dt2.getUTCHours())(dt2.getUTCMinutes())(dt2.getUTCSeconds())(dt2.getUTCMilliseconds()); + }; + } + + // output/Data.Date/foreign.js + var createDate = function(y, m, d) { + var date = new Date(Date.UTC(y, m, d)); + if (y >= 0 && y < 100) { + date.setUTCFullYear(y); + } + return date; + }; + function canonicalDateImpl(ctor, y, m, d) { + var date = createDate(y, m - 1, d); + return ctor(date.getUTCFullYear())(date.getUTCMonth() + 1)(date.getUTCDate()); + } + function calcWeekday(y, m, d) { + return createDate(y, m - 1, d).getUTCDay(); + } + + // output/Data.Date.Component/index.js + var $runtime_lazy10 = function(name16, moduleName, init4) { + var state3 = 0; + var val; + return function(lineNumber) { + if (state3 === 2) + return val; + if (state3 === 1) + throw new ReferenceError(name16 + " was needed before it finished initializing (module " + moduleName + ", line " + lineNumber + ")", moduleName, lineNumber); + state3 = 1; + val = init4(); + state3 = 2; + return val; + }; + }; + var Monday = /* @__PURE__ */ function() { + function Monday2() { + } + ; + Monday2.value = new Monday2(); + return Monday2; + }(); + var Tuesday = /* @__PURE__ */ function() { + function Tuesday2() { + } + ; + Tuesday2.value = new Tuesday2(); + return Tuesday2; + }(); + var Wednesday = /* @__PURE__ */ function() { + function Wednesday2() { + } + ; + Wednesday2.value = new Wednesday2(); + return Wednesday2; + }(); + var Thursday = /* @__PURE__ */ function() { + function Thursday2() { + } + ; + Thursday2.value = new Thursday2(); + return Thursday2; + }(); + var Friday = /* @__PURE__ */ function() { + function Friday2() { + } + ; + Friday2.value = new Friday2(); + return Friday2; + }(); + var Saturday = /* @__PURE__ */ function() { + function Saturday2() { + } + ; + Saturday2.value = new Saturday2(); + return Saturday2; + }(); + var Sunday = /* @__PURE__ */ function() { + function Sunday2() { + } + ; + Sunday2.value = new Sunday2(); + return Sunday2; + }(); + var January = /* @__PURE__ */ function() { + function January2() { + } + ; + January2.value = new January2(); + return January2; + }(); + var February = /* @__PURE__ */ function() { + function February2() { + } + ; + February2.value = new February2(); + return February2; + }(); + var March = /* @__PURE__ */ function() { + function March2() { + } + ; + March2.value = new March2(); + return March2; + }(); + var April = /* @__PURE__ */ function() { + function April2() { + } + ; + April2.value = new April2(); + return April2; + }(); + var May = /* @__PURE__ */ function() { + function May2() { + } + ; + May2.value = new May2(); + return May2; + }(); + var June = /* @__PURE__ */ function() { + function June2() { + } + ; + June2.value = new June2(); + return June2; + }(); + var July = /* @__PURE__ */ function() { + function July2() { + } + ; + July2.value = new July2(); + return July2; + }(); + var August = /* @__PURE__ */ function() { + function August2() { + } + ; + August2.value = new August2(); + return August2; + }(); + var September = /* @__PURE__ */ function() { + function September2() { + } + ; + September2.value = new September2(); + return September2; + }(); + var October = /* @__PURE__ */ function() { + function October2() { + } + ; + October2.value = new October2(); + return October2; + }(); + var November = /* @__PURE__ */ function() { + function November2() { + } + ; + November2.value = new November2(); + return November2; + }(); + var December = /* @__PURE__ */ function() { + function December2() { + } + ; + December2.value = new December2(); + return December2; + }(); + var showWeekday = { + show: function(v) { + if (v instanceof Monday) { + return "Monday"; + } + ; + if (v instanceof Tuesday) { + return "Tuesday"; + } + ; + if (v instanceof Wednesday) { + return "Wednesday"; + } + ; + if (v instanceof Thursday) { + return "Thursday"; + } + ; + if (v instanceof Friday) { + return "Friday"; + } + ; + if (v instanceof Saturday) { + return "Saturday"; + } + ; + if (v instanceof Sunday) { + return "Sunday"; + } + ; + throw new Error("Failed pattern match at Data.Date.Component (line 184, column 1 - line 191, column 25): " + [v.constructor.name]); + } + }; + var showMonth = { + show: function(v) { + if (v instanceof January) { + return "January"; + } + ; + if (v instanceof February) { + return "February"; + } + ; + if (v instanceof March) { + return "March"; + } + ; + if (v instanceof April) { + return "April"; + } + ; + if (v instanceof May) { + return "May"; + } + ; + if (v instanceof June) { + return "June"; + } + ; + if (v instanceof July) { + return "July"; + } + ; + if (v instanceof August) { + return "August"; + } + ; + if (v instanceof September) { + return "September"; + } + ; + if (v instanceof October) { + return "October"; + } + ; + if (v instanceof November) { + return "November"; + } + ; + if (v instanceof December) { + return "December"; + } + ; + throw new Error("Failed pattern match at Data.Date.Component (line 101, column 1 - line 113, column 29): " + [v.constructor.name]); + } + }; + var ordYear = ordInt; + var ordDay = ordInt; + var eqWeekday = { + eq: function(x) { + return function(y) { + if (x instanceof Monday && y instanceof Monday) { + return true; + } + ; + if (x instanceof Tuesday && y instanceof Tuesday) { + return true; + } + ; + if (x instanceof Wednesday && y instanceof Wednesday) { + return true; + } + ; + if (x instanceof Thursday && y instanceof Thursday) { + return true; + } + ; + if (x instanceof Friday && y instanceof Friday) { + return true; + } + ; + if (x instanceof Saturday && y instanceof Saturday) { + return true; + } + ; + if (x instanceof Sunday && y instanceof Sunday) { + return true; + } + ; + return false; + }; + } + }; + var ordWeekday = { + compare: function(x) { + return function(y) { + if (x instanceof Monday && y instanceof Monday) { + return EQ.value; + } + ; + if (x instanceof Monday) { + return LT.value; + } + ; + if (y instanceof Monday) { + return GT.value; + } + ; + if (x instanceof Tuesday && y instanceof Tuesday) { + return EQ.value; + } + ; + if (x instanceof Tuesday) { + return LT.value; + } + ; + if (y instanceof Tuesday) { + return GT.value; + } + ; + if (x instanceof Wednesday && y instanceof Wednesday) { + return EQ.value; + } + ; + if (x instanceof Wednesday) { + return LT.value; + } + ; + if (y instanceof Wednesday) { + return GT.value; + } + ; + if (x instanceof Thursday && y instanceof Thursday) { + return EQ.value; + } + ; + if (x instanceof Thursday) { + return LT.value; + } + ; + if (y instanceof Thursday) { + return GT.value; + } + ; + if (x instanceof Friday && y instanceof Friday) { + return EQ.value; + } + ; + if (x instanceof Friday) { + return LT.value; + } + ; + if (y instanceof Friday) { + return GT.value; + } + ; + if (x instanceof Saturday && y instanceof Saturday) { + return EQ.value; + } + ; + if (x instanceof Saturday) { + return LT.value; + } + ; + if (y instanceof Saturday) { + return GT.value; + } + ; + if (x instanceof Sunday && y instanceof Sunday) { + return EQ.value; + } + ; + throw new Error("Failed pattern match at Data.Date.Component (line 0, column 0 - line 0, column 0): " + [x.constructor.name, y.constructor.name]); + }; + }, + Eq0: function() { + return eqWeekday; + } + }; + var eqMonth = { + eq: function(x) { + return function(y) { + if (x instanceof January && y instanceof January) { + return true; + } + ; + if (x instanceof February && y instanceof February) { + return true; + } + ; + if (x instanceof March && y instanceof March) { + return true; + } + ; + if (x instanceof April && y instanceof April) { + return true; + } + ; + if (x instanceof May && y instanceof May) { + return true; + } + ; + if (x instanceof June && y instanceof June) { + return true; + } + ; + if (x instanceof July && y instanceof July) { + return true; + } + ; + if (x instanceof August && y instanceof August) { + return true; + } + ; + if (x instanceof September && y instanceof September) { + return true; + } + ; + if (x instanceof October && y instanceof October) { + return true; + } + ; + if (x instanceof November && y instanceof November) { + return true; + } + ; + if (x instanceof December && y instanceof December) { + return true; + } + ; + return false; + }; + } + }; + var ordMonth = { + compare: function(x) { + return function(y) { + if (x instanceof January && y instanceof January) { + return EQ.value; + } + ; + if (x instanceof January) { + return LT.value; + } + ; + if (y instanceof January) { + return GT.value; + } + ; + if (x instanceof February && y instanceof February) { + return EQ.value; + } + ; + if (x instanceof February) { + return LT.value; + } + ; + if (y instanceof February) { + return GT.value; + } + ; + if (x instanceof March && y instanceof March) { + return EQ.value; + } + ; + if (x instanceof March) { + return LT.value; + } + ; + if (y instanceof March) { + return GT.value; + } + ; + if (x instanceof April && y instanceof April) { + return EQ.value; + } + ; + if (x instanceof April) { + return LT.value; + } + ; + if (y instanceof April) { + return GT.value; + } + ; + if (x instanceof May && y instanceof May) { + return EQ.value; + } + ; + if (x instanceof May) { + return LT.value; + } + ; + if (y instanceof May) { + return GT.value; + } + ; + if (x instanceof June && y instanceof June) { + return EQ.value; + } + ; + if (x instanceof June) { + return LT.value; + } + ; + if (y instanceof June) { + return GT.value; + } + ; + if (x instanceof July && y instanceof July) { + return EQ.value; + } + ; + if (x instanceof July) { + return LT.value; + } + ; + if (y instanceof July) { + return GT.value; + } + ; + if (x instanceof August && y instanceof August) { + return EQ.value; + } + ; + if (x instanceof August) { + return LT.value; + } + ; + if (y instanceof August) { + return GT.value; + } + ; + if (x instanceof September && y instanceof September) { + return EQ.value; + } + ; + if (x instanceof September) { + return LT.value; + } + ; + if (y instanceof September) { + return GT.value; + } + ; + if (x instanceof October && y instanceof October) { + return EQ.value; + } + ; + if (x instanceof October) { + return LT.value; + } + ; + if (y instanceof October) { + return GT.value; + } + ; + if (x instanceof November && y instanceof November) { + return EQ.value; + } + ; + if (x instanceof November) { + return LT.value; + } + ; + if (y instanceof November) { + return GT.value; + } + ; + if (x instanceof December && y instanceof December) { + return EQ.value; + } + ; + throw new Error("Failed pattern match at Data.Date.Component (line 0, column 0 - line 0, column 0): " + [x.constructor.name, y.constructor.name]); + }; + }, + Eq0: function() { + return eqMonth; + } + }; + var boundedYear = /* @__PURE__ */ function() { + return { + bottom: -271820 | 0, + top: 275759, + Ord0: function() { + return ordYear; + } + }; + }(); + var boundedWeekday = /* @__PURE__ */ function() { + return { + bottom: Monday.value, + top: Sunday.value, + Ord0: function() { + return ordWeekday; + } + }; + }(); + var boundedMonth = /* @__PURE__ */ function() { + return { + bottom: January.value, + top: December.value, + Ord0: function() { + return ordMonth; + } + }; + }(); + var boundedEnumYear = { + cardinality: 547580, + toEnum: function(n) { + if (n >= (-271820 | 0) && n <= 275759) { + return new Just(n); + } + ; + if (otherwise) { + return Nothing.value; + } + ; + throw new Error("Failed pattern match at Data.Date.Component (line 35, column 1 - line 40, column 24): " + [n.constructor.name]); + }, + fromEnum: function(v) { + return v; + }, + Bounded0: function() { + return boundedYear; + }, + Enum1: function() { + return $lazy_enumYear(0); + } + }; + var $lazy_enumYear = /* @__PURE__ */ $runtime_lazy10("enumYear", "Data.Date.Component", function() { + return { + succ: function() { + var $55 = toEnum(boundedEnumYear); + var $56 = fromEnum(boundedEnumYear); + return function($57) { + return $55(function(v) { + return v + 1 | 0; + }($56($57))); + }; + }(), + pred: function() { + var $58 = toEnum(boundedEnumYear); + var $59 = fromEnum(boundedEnumYear); + return function($60) { + return $58(function(v) { + return v - 1 | 0; + }($59($60))); + }; + }(), + Ord0: function() { + return ordYear; + } + }; + }); + var boundedEnumWeekday = { + cardinality: 7, + toEnum: function(v) { + if (v === 1) { + return new Just(Monday.value); + } + ; + if (v === 2) { + return new Just(Tuesday.value); + } + ; + if (v === 3) { + return new Just(Wednesday.value); + } + ; + if (v === 4) { + return new Just(Thursday.value); + } + ; + if (v === 5) { + return new Just(Friday.value); + } + ; + if (v === 6) { + return new Just(Saturday.value); + } + ; + if (v === 7) { + return new Just(Sunday.value); + } + ; + return Nothing.value; + }, + fromEnum: function(v) { + if (v instanceof Monday) { + return 1; + } + ; + if (v instanceof Tuesday) { + return 2; + } + ; + if (v instanceof Wednesday) { + return 3; + } + ; + if (v instanceof Thursday) { + return 4; + } + ; + if (v instanceof Friday) { + return 5; + } + ; + if (v instanceof Saturday) { + return 6; + } + ; + if (v instanceof Sunday) { + return 7; + } + ; + throw new Error("Failed pattern match at Data.Date.Component (line 175, column 14 - line 182, column 16): " + [v.constructor.name]); + }, + Bounded0: function() { + return boundedWeekday; + }, + Enum1: function() { + return $lazy_enumWeekday(0); + } + }; + var $lazy_enumWeekday = /* @__PURE__ */ $runtime_lazy10("enumWeekday", "Data.Date.Component", function() { + return { + succ: function() { + var $61 = toEnum(boundedEnumWeekday); + var $62 = fromEnum(boundedEnumWeekday); + return function($63) { + return $61(function(v) { + return v + 1 | 0; + }($62($63))); + }; + }(), + pred: function() { + var $64 = toEnum(boundedEnumWeekday); + var $65 = fromEnum(boundedEnumWeekday); + return function($66) { + return $64(function(v) { + return v - 1 | 0; + }($65($66))); + }; + }(), + Ord0: function() { + return ordWeekday; + } + }; + }); + var boundedEnumMonth = { + cardinality: 12, + toEnum: function(v) { + if (v === 1) { + return new Just(January.value); + } + ; + if (v === 2) { + return new Just(February.value); + } + ; + if (v === 3) { + return new Just(March.value); + } + ; + if (v === 4) { + return new Just(April.value); + } + ; + if (v === 5) { + return new Just(May.value); + } + ; + if (v === 6) { + return new Just(June.value); + } + ; + if (v === 7) { + return new Just(July.value); + } + ; + if (v === 8) { + return new Just(August.value); + } + ; + if (v === 9) { + return new Just(September.value); + } + ; + if (v === 10) { + return new Just(October.value); + } + ; + if (v === 11) { + return new Just(November.value); + } + ; + if (v === 12) { + return new Just(December.value); + } + ; + return Nothing.value; + }, + fromEnum: function(v) { + if (v instanceof January) { + return 1; + } + ; + if (v instanceof February) { + return 2; + } + ; + if (v instanceof March) { + return 3; + } + ; + if (v instanceof April) { + return 4; + } + ; + if (v instanceof May) { + return 5; + } + ; + if (v instanceof June) { + return 6; + } + ; + if (v instanceof July) { + return 7; + } + ; + if (v instanceof August) { + return 8; + } + ; + if (v instanceof September) { + return 9; + } + ; + if (v instanceof October) { + return 10; + } + ; + if (v instanceof November) { + return 11; + } + ; + if (v instanceof December) { + return 12; + } + ; + throw new Error("Failed pattern match at Data.Date.Component (line 87, column 14 - line 99, column 19): " + [v.constructor.name]); + }, + Bounded0: function() { + return boundedMonth; + }, + Enum1: function() { + return $lazy_enumMonth(0); + } + }; + var $lazy_enumMonth = /* @__PURE__ */ $runtime_lazy10("enumMonth", "Data.Date.Component", function() { + return { + succ: function() { + var $67 = toEnum(boundedEnumMonth); + var $68 = fromEnum(boundedEnumMonth); + return function($69) { + return $67(function(v) { + return v + 1 | 0; + }($68($69))); + }; + }(), + pred: function() { + var $70 = toEnum(boundedEnumMonth); + var $71 = fromEnum(boundedEnumMonth); + return function($72) { + return $70(function(v) { + return v - 1 | 0; + }($71($72))); + }; + }(), + Ord0: function() { + return ordMonth; + } + }; + }); + var boundedDay = { + bottom: 1, + top: 31, + Ord0: function() { + return ordDay; + } + }; + var boundedEnumDay = { + cardinality: 31, + toEnum: function(n) { + if (n >= 1 && n <= 31) { + return new Just(n); + } + ; + if (otherwise) { + return Nothing.value; + } + ; + throw new Error("Failed pattern match at Data.Date.Component (line 133, column 1 - line 138, column 23): " + [n.constructor.name]); + }, + fromEnum: function(v) { + return v; + }, + Bounded0: function() { + return boundedDay; + }, + Enum1: function() { + return $lazy_enumDay(0); + } + }; + var $lazy_enumDay = /* @__PURE__ */ $runtime_lazy10("enumDay", "Data.Date.Component", function() { + return { + succ: function() { + var $73 = toEnum(boundedEnumDay); + var $74 = fromEnum(boundedEnumDay); + return function($75) { + return $73(function(v) { + return v + 1 | 0; + }($74($75))); + }; + }(), + pred: function() { + var $76 = toEnum(boundedEnumDay); + var $77 = fromEnum(boundedEnumDay); + return function($78) { + return $76(function(v) { + return v - 1 | 0; + }($77($78))); + }; + }(), + Ord0: function() { + return ordDay; + } + }; + }); + + // output/Data.Date/index.js + var fromEnum3 = /* @__PURE__ */ fromEnum(boundedEnumMonth); + var fromJust6 = /* @__PURE__ */ fromJust(); + var toEnum2 = /* @__PURE__ */ toEnum(boundedEnumWeekday); + var toEnum22 = /* @__PURE__ */ toEnum(boundedEnumMonth); + var $$Date = /* @__PURE__ */ function() { + function $$Date2(value0, value1, value22) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value22; + } + ; + $$Date2.create = function(value0) { + return function(value1) { + return function(value22) { + return new $$Date2(value0, value1, value22); + }; + }; + }; + return $$Date2; + }(); + var year = function(v) { + return v.value0; + }; + var weekday = function(v) { + var n = calcWeekday(v.value0, fromEnum3(v.value1), v.value2); + var $86 = n === 0; + if ($86) { + return fromJust6(toEnum2(7)); + } + ; + return fromJust6(toEnum2(n)); + }; + var month = function(v) { + return v.value1; + }; + var day = function(v) { + return v.value2; + }; + var canonicalDate = function(y) { + return function(m) { + return function(d) { + var mkDate = function(y$prime) { + return function(m$prime) { + return function(d$prime) { + return new $$Date(y$prime, fromJust6(toEnum22(m$prime)), d$prime); + }; + }; + }; + return canonicalDateImpl(mkDate, y, fromEnum3(m), d); + }; + }; + }; + + // output/Data.Time.Component/index.js + var $runtime_lazy11 = function(name16, moduleName, init4) { + var state3 = 0; + var val; + return function(lineNumber) { + if (state3 === 2) + return val; + if (state3 === 1) + throw new ReferenceError(name16 + " was needed before it finished initializing (module " + moduleName + ", line " + lineNumber + ")", moduleName, lineNumber); + state3 = 1; + val = init4(); + state3 = 2; + return val; + }; + }; + var ordSecond = ordInt; + var ordMinute = ordInt; + var ordMillisecond = ordInt; + var ordHour = ordInt; + var boundedSecond = { + bottom: 0, + top: 59, + Ord0: function() { + return ordSecond; + } + }; + var boundedMinute = { + bottom: 0, + top: 59, + Ord0: function() { + return ordMinute; + } + }; + var boundedMillisecond = { + bottom: 0, + top: 999, + Ord0: function() { + return ordMillisecond; + } + }; + var boundedHour = { + bottom: 0, + top: 23, + Ord0: function() { + return ordHour; + } + }; + var boundedEnumSecond = { + cardinality: 60, + toEnum: function(n) { + if (n >= 0 && n <= 59) { + return new Just(n); + } + ; + if (otherwise) { + return Nothing.value; + } + ; + throw new Error("Failed pattern match at Data.Time.Component (line 90, column 1 - line 95, column 26): " + [n.constructor.name]); + }, + fromEnum: function(v) { + return v; + }, + Bounded0: function() { + return boundedSecond; + }, + Enum1: function() { + return $lazy_enumSecond(0); + } + }; + var $lazy_enumSecond = /* @__PURE__ */ $runtime_lazy11("enumSecond", "Data.Time.Component", function() { + return { + succ: function() { + var $36 = toEnum(boundedEnumSecond); + var $37 = fromEnum(boundedEnumSecond); + return function($38) { + return $36(function(v) { + return v + 1 | 0; + }($37($38))); + }; + }(), + pred: function() { + var $39 = toEnum(boundedEnumSecond); + var $40 = fromEnum(boundedEnumSecond); + return function($41) { + return $39(function(v) { + return v - 1 | 0; + }($40($41))); + }; + }(), + Ord0: function() { + return ordSecond; + } + }; + }); + var boundedEnumMinute = { + cardinality: 60, + toEnum: function(n) { + if (n >= 0 && n <= 59) { + return new Just(n); + } + ; + if (otherwise) { + return Nothing.value; + } + ; + throw new Error("Failed pattern match at Data.Time.Component (line 61, column 1 - line 66, column 26): " + [n.constructor.name]); + }, + fromEnum: function(v) { + return v; + }, + Bounded0: function() { + return boundedMinute; + }, + Enum1: function() { + return $lazy_enumMinute(0); + } + }; + var $lazy_enumMinute = /* @__PURE__ */ $runtime_lazy11("enumMinute", "Data.Time.Component", function() { + return { + succ: function() { + var $42 = toEnum(boundedEnumMinute); + var $43 = fromEnum(boundedEnumMinute); + return function($44) { + return $42(function(v) { + return v + 1 | 0; + }($43($44))); + }; + }(), + pred: function() { + var $45 = toEnum(boundedEnumMinute); + var $46 = fromEnum(boundedEnumMinute); + return function($47) { + return $45(function(v) { + return v - 1 | 0; + }($46($47))); + }; + }(), + Ord0: function() { + return ordMinute; + } + }; + }); + var boundedEnumMillisecond = { + cardinality: 1e3, + toEnum: function(n) { + if (n >= 0 && n <= 999) { + return new Just(n); + } + ; + if (otherwise) { + return Nothing.value; + } + ; + throw new Error("Failed pattern match at Data.Time.Component (line 120, column 1 - line 125, column 31): " + [n.constructor.name]); + }, + fromEnum: function(v) { + return v; + }, + Bounded0: function() { + return boundedMillisecond; + }, + Enum1: function() { + return $lazy_enumMillisecond(0); + } + }; + var $lazy_enumMillisecond = /* @__PURE__ */ $runtime_lazy11("enumMillisecond", "Data.Time.Component", function() { + return { + succ: function() { + var $48 = toEnum(boundedEnumMillisecond); + var $49 = fromEnum(boundedEnumMillisecond); + return function($50) { + return $48(function(v) { + return v + 1 | 0; + }($49($50))); + }; + }(), + pred: function() { + var $51 = toEnum(boundedEnumMillisecond); + var $52 = fromEnum(boundedEnumMillisecond); + return function($53) { + return $51(function(v) { + return v - 1 | 0; + }($52($53))); + }; + }(), + Ord0: function() { + return ordMillisecond; + } + }; + }); + var boundedEnumHour = { + cardinality: 24, + toEnum: function(n) { + if (n >= 0 && n <= 23) { + return new Just(n); + } + ; + if (otherwise) { + return Nothing.value; + } + ; + throw new Error("Failed pattern match at Data.Time.Component (line 32, column 1 - line 37, column 24): " + [n.constructor.name]); + }, + fromEnum: function(v) { + return v; + }, + Bounded0: function() { + return boundedHour; + }, + Enum1: function() { + return $lazy_enumHour(0); + } + }; + var $lazy_enumHour = /* @__PURE__ */ $runtime_lazy11("enumHour", "Data.Time.Component", function() { + return { + succ: function() { + var $54 = toEnum(boundedEnumHour); + var $55 = fromEnum(boundedEnumHour); + return function($56) { + return $54(function(v) { + return v + 1 | 0; + }($55($56))); + }; + }(), + pred: function() { + var $57 = toEnum(boundedEnumHour); + var $58 = fromEnum(boundedEnumHour); + return function($59) { + return $57(function(v) { + return v - 1 | 0; + }($58($59))); + }; + }(), + Ord0: function() { + return ordHour; + } + }; + }); + + // output/Data.Time/index.js + var Time = /* @__PURE__ */ function() { + function Time2(value0, value1, value22, value32) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value22; + this.value3 = value32; + } + ; + Time2.create = function(value0) { + return function(value1) { + return function(value22) { + return function(value32) { + return new Time2(value0, value1, value22, value32); + }; + }; + }; + }; + return Time2; + }(); + var second = function(v) { + return v.value2; + }; + var minute = function(v) { + return v.value1; + }; + var millisecond = function(v) { + return v.value3; + }; + var hour = function(v) { + return v.value0; + }; + + // output/Data.DateTime/index.js + var DateTime = /* @__PURE__ */ function() { + function DateTime2(value0, value1) { + this.value0 = value0; + this.value1 = value1; + } + ; + DateTime2.create = function(value0) { + return function(value1) { + return new DateTime2(value0, value1); + }; + }; + return DateTime2; + }(); + + // output/Data.DateTime.Instant/index.js + var fromJust7 = /* @__PURE__ */ fromJust(); + var toEnum3 = /* @__PURE__ */ toEnum(boundedEnumMonth); + var fromEnum4 = /* @__PURE__ */ fromEnum(boundedEnumMonth); + var unInstant = function(v) { + return v; + }; + var toDateTime = /* @__PURE__ */ function() { + var mkDateTime = function(y) { + return function(mo) { + return function(d) { + return function(h) { + return function(mi) { + return function(s) { + return function(ms) { + return new DateTime(canonicalDate(y)(fromJust7(toEnum3(mo)))(d), new Time(h, mi, s, ms)); + }; + }; + }; + }; + }; + }; + }; + return toDateTimeImpl(mkDateTime); + }(); + var instant = function(v) { + if (v >= -86399778816e5 && v <= 8639977881599999) { + return new Just(v); + } + ; + if (otherwise) { + return Nothing.value; + } + ; + throw new Error("Failed pattern match at Data.DateTime.Instant (line 44, column 1 - line 44, column 41): " + [v.constructor.name]); + }; + var fromDateTime = function(v) { + return fromDateTimeImpl(year(v.value0), fromEnum4(month(v.value0)), day(v.value0), hour(v.value1), minute(v.value1), second(v.value1), millisecond(v.value1)); + }; + + // output/Parsing/index.js + var unwrap5 = /* @__PURE__ */ unwrap(); + var ParseState = /* @__PURE__ */ function() { + function ParseState2(value0, value1, value22) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value22; + } + ; + ParseState2.create = function(value0) { + return function(value1) { + return function(value22) { + return new ParseState2(value0, value1, value22); + }; + }; + }; + return ParseState2; + }(); + var ParseError = /* @__PURE__ */ function() { + function ParseError2(value0, value1) { + this.value0 = value0; + this.value1 = value1; + } + ; + ParseError2.create = function(value0) { + return function(value1) { + return new ParseError2(value0, value1); + }; + }; + return ParseError2; + }(); + var More = /* @__PURE__ */ function() { + function More2(value0) { + this.value0 = value0; + } + ; + More2.create = function(value0) { + return new More2(value0); + }; + return More2; + }(); + var Lift3 = /* @__PURE__ */ function() { + function Lift4(value0) { + this.value0 = value0; + } + ; + Lift4.create = function(value0) { + return new Lift4(value0); + }; + return Lift4; + }(); + var Stop = /* @__PURE__ */ function() { + function Stop2(value0, value1) { + this.value0 = value0; + this.value1 = value1; + } + ; + Stop2.create = function(value0) { + return function(value1) { + return new Stop2(value0, value1); + }; + }; + return Stop2; + }(); + var lazyParserT = { + defer: function(f) { + var m = defer2(f); + return function(state1, more, lift1, $$throw2, done) { + var v = force(m); + return v(state1, more, lift1, $$throw2, done); + }; + } + }; + var functorParserT = { + map: function(f) { + return function(v) { + return function(state1, more, lift1, $$throw2, done) { + return more(function(v1) { + return v(state1, more, lift1, $$throw2, function(state22, a2) { + return more(function(v2) { + return done(state22, f(a2)); + }); + }); + }); + }; + }; + } + }; + var applyParserT = { + apply: function(v) { + return function(v1) { + return function(state1, more, lift1, $$throw2, done) { + return more(function(v2) { + return v(state1, more, lift1, $$throw2, function(state22, f) { + return more(function(v3) { + return v1(state22, more, lift1, $$throw2, function(state3, a2) { + return more(function(v4) { + return done(state3, f(a2)); + }); + }); + }); + }); + }); + }; + }; + }, + Functor0: function() { + return functorParserT; + } + }; + var bindParserT = { + bind: function(v) { + return function(next) { + return function(state1, more, lift1, $$throw2, done) { + return more(function(v1) { + return v(state1, more, lift1, $$throw2, function(state22, a2) { + return more(function(v2) { + var v3 = next(a2); + return v3(state22, more, lift1, $$throw2, done); + }); + }); + }); + }; + }; + }, + Apply0: function() { + return applyParserT; + } + }; + var bindFlipped6 = /* @__PURE__ */ bindFlipped(bindParserT); + var applicativeParserT = { + pure: function(a2) { + return function(state1, v, v1, v2, done) { + return done(state1, a2); + }; + }, + Apply0: function() { + return applyParserT; + } + }; + var monadParserT = { + Applicative0: function() { + return applicativeParserT; + }, + Bind1: function() { + return bindParserT; + } + }; + var monadThrowParseErrorParse = { + throwError: function(err) { + return function(state1, v, v1, $$throw2, v2) { + return $$throw2(state1, err); + }; + }, + Monad0: function() { + return monadParserT; + } + }; + var throwError2 = /* @__PURE__ */ throwError(monadThrowParseErrorParse); + var altParserT = { + alt: function(v) { + return function(v1) { + return function(v2, more, lift1, $$throw2, done) { + return more(function(v3) { + return v(new ParseState(v2.value0, v2.value1, false), more, lift1, function(v4, err) { + return more(function(v5) { + if (v4.value2) { + return $$throw2(v4, err); + } + ; + return v1(v2, more, lift1, $$throw2, done); + }); + }, done); + }); + }; + }; + }, + Functor0: function() { + return functorParserT; + } + }; + var stateParserT = function(k) { + return function(state1, v, v1, v2, done) { + var v3 = k(state1); + return done(v3.value1, v3.value0); + }; + }; + var runParserT$prime = function(dictMonadRec) { + var Monad0 = dictMonadRec.Monad0(); + var map44 = map(Monad0.Bind1().Apply0().Functor0()); + var pure111 = pure(Monad0.Applicative0()); + var tailRecM4 = tailRecM(dictMonadRec); + return function(state1) { + return function(v) { + var go2 = function($copy_step) { + var $tco_done = false; + var $tco_result; + function $tco_loop(step4) { + var v1 = step4(unit); + if (v1 instanceof More) { + $copy_step = v1.value0; + return; + } + ; + if (v1 instanceof Lift3) { + $tco_done = true; + return map44(Loop.create)(v1.value0); + } + ; + if (v1 instanceof Stop) { + $tco_done = true; + return pure111(new Done(new Tuple(v1.value1, v1.value0))); + } + ; + throw new Error("Failed pattern match at Parsing (line 152, column 13 - line 158, column 32): " + [v1.constructor.name]); + } + ; + while (!$tco_done) { + $tco_result = $tco_loop($copy_step); + } + ; + return $tco_result; + }; + return tailRecM4(go2)(function(v1) { + return v(state1, More.create, Lift3.create, function(state22, err) { + return new Stop(state22, new Left(err)); + }, function(state22, res) { + return new Stop(state22, new Right(res)); + }); + }); + }; + }; + }; + var position2 = /* @__PURE__ */ stateParserT(function(v) { + return new Tuple(v.value1, v); + }); + var parseErrorPosition = function(v) { + return v.value1; + }; + var parseErrorMessage = function(v) { + return v.value0; + }; + var initialPos = { + index: 0, + line: 1, + column: 1 + }; + var runParserT = function(dictMonadRec) { + var map44 = map(dictMonadRec.Monad0().Bind1().Apply0().Functor0()); + var runParserT$prime1 = runParserT$prime(dictMonadRec); + return function(s) { + return function(p2) { + var initialState = new ParseState(s, initialPos, false); + return map44(fst)(runParserT$prime1(initialState)(p2)); + }; + }; + }; + var runParserT1 = /* @__PURE__ */ runParserT(monadRecIdentity); + var runParser = function(s) { + var $281 = runParserT1(s); + return function($282) { + return unwrap5($281($282)); + }; + }; + var failWithPosition = function(message2) { + return function(pos) { + return throwError2(new ParseError(message2, pos)); + }; + }; + var fail3 = function(message2) { + return bindFlipped6(failWithPosition(message2))(position2); + }; + var plusParserT = { + empty: /* @__PURE__ */ fail3("No alternative"), + Alt0: function() { + return altParserT; + } + }; + var alternativeParserT = { + Applicative0: function() { + return applicativeParserT; + }, + Plus1: function() { + return plusParserT; + } + }; + + // output/Parsing.Combinators/index.js + var alt7 = /* @__PURE__ */ alt(altParserT); + var defer4 = /* @__PURE__ */ defer(lazyParserT); + var empty7 = /* @__PURE__ */ empty(plusParserT); + var withLazyErrorMessage = function(p2) { + return function(msg) { + return alt7(p2)(defer4(function(v) { + return fail3("Expected " + msg(unit)); + })); + }; + }; + var $$try5 = function(v) { + return function(v1, more, lift7, $$throw2, done) { + return v(v1, more, lift7, function(v2, err) { + return $$throw2(new ParseState(v2.value0, v2.value1, v1.value2), err); + }, done); + }; + }; + var choice = function(dictFoldable) { + var go2 = function(p1) { + return function(v) { + if (v instanceof Nothing) { + return new Just(p1); + } + ; + if (v instanceof Just) { + return new Just(alt7(p1)(v.value0)); + } + ; + throw new Error("Failed pattern match at Parsing.Combinators (line 358, column 11 - line 360, column 32): " + [v.constructor.name]); + }; + }; + var $95 = fromMaybe(empty7); + var $96 = foldr(dictFoldable)(go2)(Nothing.value); + return function($97) { + return $95($96($97)); + }; + }; + + // output/Parsing.String/index.js + var fromEnum5 = /* @__PURE__ */ fromEnum(boundedEnumCodePoint); + var mod3 = /* @__PURE__ */ mod(euclideanRingInt); + var fromJust8 = /* @__PURE__ */ fromJust(); + var toEnum4 = /* @__PURE__ */ toEnum(boundedEnumChar); + var show13 = /* @__PURE__ */ show(showString); + var updatePosSingle = function(v) { + return function(cp) { + return function(after) { + var v1 = fromEnum5(cp); + if (v1 === 10) { + return { + index: v.index + 1 | 0, + line: v.line + 1 | 0, + column: 1 + }; + } + ; + if (v1 === 13) { + var v2 = codePointAt(0)(after); + if (v2 instanceof Just && fromEnum5(v2.value0) === 10) { + return { + index: v.index + 1 | 0, + line: v.line, + column: v.column + }; + } + ; + return { + index: v.index + 1 | 0, + line: v.line + 1 | 0, + column: 1 + }; + } + ; + if (v1 === 9) { + return { + index: v.index + 1 | 0, + line: v.line, + column: (v.column + 8 | 0) - mod3(v.column - 1 | 0)(8) | 0 + }; + } + ; + return { + index: v.index + 1 | 0, + line: v.line, + column: v.column + 1 | 0 + }; + }; + }; + }; + var updatePosString = function($copy_pos) { + return function($copy_before) { + return function($copy_after) { + var $tco_var_pos = $copy_pos; + var $tco_var_before = $copy_before; + var $tco_done = false; + var $tco_result; + function $tco_loop(pos, before, after) { + var v = uncons3(before); + if (v instanceof Nothing) { + $tco_done = true; + return pos; + } + ; + if (v instanceof Just) { + var newPos = function() { + if ($$null3(v.value0.tail)) { + return updatePosSingle(pos)(v.value0.head)(after); + } + ; + if (otherwise) { + return updatePosSingle(pos)(v.value0.head)(v.value0.tail); + } + ; + throw new Error("Failed pattern match at Parsing.String (line 165, column 7 - line 167, column 52): "); + }(); + $tco_var_pos = newPos; + $tco_var_before = v.value0.tail; + $copy_after = after; + return; + } + ; + throw new Error("Failed pattern match at Parsing.String (line 161, column 36 - line 168, column 38): " + [v.constructor.name]); + } + ; + while (!$tco_done) { + $tco_result = $tco_loop($tco_var_pos, $tco_var_before, $copy_after); + } + ; + return $tco_result; + }; + }; + }; + var satisfy = function(f) { + return mkFn5(function(v) { + return function(v1) { + return function(v2) { + return function($$throw2) { + return function(done) { + var v3 = uncons3(v.value0); + if (v3 instanceof Nothing) { + return $$throw2(v, new ParseError("Unexpected EOF", v.value1)); + } + ; + if (v3 instanceof Just) { + var cp = fromEnum5(v3.value0.head); + var $85 = cp < 0 || cp > 65535; + if ($85) { + return $$throw2(v, new ParseError("Expected Char", v.value1)); + } + ; + var ch = fromJust8(toEnum4(cp)); + var $86 = f(ch); + if ($86) { + return done(new ParseState(v3.value0.tail, updatePosSingle(v.value1)(v3.value0.head)(v3.value0.tail), true), ch); + } + ; + return $$throw2(v, new ParseError("Predicate unsatisfied", v.value1)); + } + ; + throw new Error("Failed pattern match at Parsing.String (line 114, column 7 - line 129, column 75): " + [v3.constructor.name]); + }; + }; + }; + }; + }); + }; + var eof = /* @__PURE__ */ mkFn5(function(v) { + return function(v1) { + return function(v2) { + return function($$throw2) { + return function(done) { + var $133 = $$null3(v.value0); + if ($133) { + return done(new ParseState(v.value0, v.value1, true), unit); + } + ; + return $$throw2(v, new ParseError("Expected EOF", v.value1)); + }; + }; + }; + }; + }); + var consumeWith = function(f) { + return mkFn5(function(v) { + return function(v1) { + return function(v2) { + return function($$throw2) { + return function(done) { + var v3 = f(v.value0); + if (v3 instanceof Left) { + return $$throw2(v, new ParseError(v3.value0, v.value1)); + } + ; + if (v3 instanceof Right) { + return done(new ParseState(v3.value0.remainder, updatePosString(v.value1)(v3.value0.consumed)(v3.value0.remainder), !$$null3(v3.value0.consumed)), v3.value0.value); + } + ; + throw new Error("Failed pattern match at Parsing.String (line 286, column 7 - line 290, column 121): " + [v3.constructor.name]); + }; + }; + }; + }; + }); + }; + var string2 = function(str) { + return consumeWith(function(input3) { + var v = stripPrefix(str)(input3); + if (v instanceof Just) { + return new Right({ + value: str, + consumed: str, + remainder: v.value0 + }); + } + ; + return new Left("Expected " + show13(str)); + }); + }; + + // output/Data.Formatter.Parser.Utils/index.js + var show4 = /* @__PURE__ */ show(showInt); + var lmap4 = /* @__PURE__ */ lmap(bifunctorEither); + var applyFirst3 = /* @__PURE__ */ applyFirst(applyParserT); + var voidLeft3 = /* @__PURE__ */ voidLeft(functorParserT); + var printPosition = function(v) { + return "(line " + (show4(v.line) + (", col " + (show4(v.column) + ")"))); + }; + var printError2 = function(err) { + return parseErrorMessage(err) + (" " + printPosition(parseErrorPosition(err))); + }; + var runP = function(p2) { + return function(s) { + return lmap4(printError2)(runParser(s)(applyFirst3(p2)(eof))); + }; + }; + var oneOfAs = function(dictFunctor) { + var map44 = map(dictFunctor); + return function(dictFoldable) { + var choice2 = choice(dictFoldable); + return function(dictMonad) { + return function(p2) { + return function(xs) { + return choice2(map44(function(v) { + return voidLeft3(p2(v.value0))(v.value1); + })(xs)); + }; + }; + }; + }; + }; + + // output/Parsing.String.Basic/index.js + var show14 = /* @__PURE__ */ show(/* @__PURE__ */ showArray(showChar)); + var notElem1 = /* @__PURE__ */ notElem2(eqChar); + var noneOf = function(ss) { + return withLazyErrorMessage(satisfy(flip(notElem1)(ss)))(function(v) { + return "none of " + show14(ss); + }); + }; + + // output/Data.Formatter.DateTime/index.js + var show5 = /* @__PURE__ */ show(showInt); + var foldMap3 = /* @__PURE__ */ foldMap(foldableList); + var foldMap12 = /* @__PURE__ */ foldMap3(monoidString); + var mapFlipped3 = /* @__PURE__ */ mapFlipped(functorParserT); + var oneOfAs2 = /* @__PURE__ */ oneOfAs(functorArray)(foldableArray); + var map32 = /* @__PURE__ */ map(functorParserT); + var abs3 = /* @__PURE__ */ abs(ordInt)(ringInt); + var some3 = /* @__PURE__ */ some2(alternativeParserT)(lazyParserT); + var fromEnum6 = /* @__PURE__ */ fromEnum(boundedEnumYear); + var show15 = /* @__PURE__ */ show(showMonth); + var fromEnum1 = /* @__PURE__ */ fromEnum(boundedEnumMonth); + var fromEnum22 = /* @__PURE__ */ fromEnum(boundedEnumDay); + var unwrap6 = /* @__PURE__ */ unwrap(); + var fromEnum32 = /* @__PURE__ */ fromEnum(boundedEnumWeekday); + var show22 = /* @__PURE__ */ show(showWeekday); + var fromEnum42 = /* @__PURE__ */ fromEnum(boundedEnumHour); + var mod4 = /* @__PURE__ */ mod(euclideanRingInt); + var fromEnum52 = /* @__PURE__ */ fromEnum(boundedEnumMinute); + var fromEnum62 = /* @__PURE__ */ fromEnum(boundedEnumSecond); + var fromEnum7 = /* @__PURE__ */ fromEnum(boundedEnumMillisecond); + var div1 = /* @__PURE__ */ div(euclideanRingInt); + var mapFlipped1 = /* @__PURE__ */ mapFlipped(functorEither); + var YearFull = /* @__PURE__ */ function() { + function YearFull2() { + } + ; + YearFull2.value = new YearFull2(); + return YearFull2; + }(); + var YearTwoDigits = /* @__PURE__ */ function() { + function YearTwoDigits2() { + } + ; + YearTwoDigits2.value = new YearTwoDigits2(); + return YearTwoDigits2; + }(); + var YearAbsolute = /* @__PURE__ */ function() { + function YearAbsolute2() { + } + ; + YearAbsolute2.value = new YearAbsolute2(); + return YearAbsolute2; + }(); + var MonthFull = /* @__PURE__ */ function() { + function MonthFull2() { + } + ; + MonthFull2.value = new MonthFull2(); + return MonthFull2; + }(); + var MonthShort = /* @__PURE__ */ function() { + function MonthShort2() { + } + ; + MonthShort2.value = new MonthShort2(); + return MonthShort2; + }(); + var MonthTwoDigits = /* @__PURE__ */ function() { + function MonthTwoDigits2() { + } + ; + MonthTwoDigits2.value = new MonthTwoDigits2(); + return MonthTwoDigits2; + }(); + var DayOfMonthTwoDigits = /* @__PURE__ */ function() { + function DayOfMonthTwoDigits2() { + } + ; + DayOfMonthTwoDigits2.value = new DayOfMonthTwoDigits2(); + return DayOfMonthTwoDigits2; + }(); + var DayOfMonth = /* @__PURE__ */ function() { + function DayOfMonth2() { + } + ; + DayOfMonth2.value = new DayOfMonth2(); + return DayOfMonth2; + }(); + var UnixTimestamp = /* @__PURE__ */ function() { + function UnixTimestamp2() { + } + ; + UnixTimestamp2.value = new UnixTimestamp2(); + return UnixTimestamp2; + }(); + var DayOfWeek = /* @__PURE__ */ function() { + function DayOfWeek2() { + } + ; + DayOfWeek2.value = new DayOfWeek2(); + return DayOfWeek2; + }(); + var DayOfWeekName = /* @__PURE__ */ function() { + function DayOfWeekName2() { + } + ; + DayOfWeekName2.value = new DayOfWeekName2(); + return DayOfWeekName2; + }(); + var DayOfWeekNameShort = /* @__PURE__ */ function() { + function DayOfWeekNameShort2() { + } + ; + DayOfWeekNameShort2.value = new DayOfWeekNameShort2(); + return DayOfWeekNameShort2; + }(); + var Hours24 = /* @__PURE__ */ function() { + function Hours242() { + } + ; + Hours242.value = new Hours242(); + return Hours242; + }(); + var Hours12 = /* @__PURE__ */ function() { + function Hours122() { + } + ; + Hours122.value = new Hours122(); + return Hours122; + }(); + var Meridiem = /* @__PURE__ */ function() { + function Meridiem2() { + } + ; + Meridiem2.value = new Meridiem2(); + return Meridiem2; + }(); + var Minutes = /* @__PURE__ */ function() { + function Minutes2() { + } + ; + Minutes2.value = new Minutes2(); + return Minutes2; + }(); + var MinutesTwoDigits = /* @__PURE__ */ function() { + function MinutesTwoDigits2() { + } + ; + MinutesTwoDigits2.value = new MinutesTwoDigits2(); + return MinutesTwoDigits2; + }(); + var Seconds2 = /* @__PURE__ */ function() { + function Seconds3() { + } + ; + Seconds3.value = new Seconds3(); + return Seconds3; + }(); + var SecondsTwoDigits = /* @__PURE__ */ function() { + function SecondsTwoDigits2() { + } + ; + SecondsTwoDigits2.value = new SecondsTwoDigits2(); + return SecondsTwoDigits2; + }(); + var Milliseconds2 = /* @__PURE__ */ function() { + function Milliseconds3() { + } + ; + Milliseconds3.value = new Milliseconds3(); + return Milliseconds3; + }(); + var MillisecondsShort = /* @__PURE__ */ function() { + function MillisecondsShort2() { + } + ; + MillisecondsShort2.value = new MillisecondsShort2(); + return MillisecondsShort2; + }(); + var MillisecondsTwoDigits = /* @__PURE__ */ function() { + function MillisecondsTwoDigits2() { + } + ; + MillisecondsTwoDigits2.value = new MillisecondsTwoDigits2(); + return MillisecondsTwoDigits2; + }(); + var Placeholder = /* @__PURE__ */ function() { + function Placeholder2(value0) { + this.value0 = value0; + } + ; + Placeholder2.create = function(value0) { + return new Placeholder2(value0); + }; + return Placeholder2; + }(); + var printShortMonth = function(v) { + if (v instanceof January) { + return "Jan"; + } + ; + if (v instanceof February) { + return "Feb"; + } + ; + if (v instanceof March) { + return "Mar"; + } + ; + if (v instanceof April) { + return "Apr"; + } + ; + if (v instanceof May) { + return "May"; + } + ; + if (v instanceof June) { + return "Jun"; + } + ; + if (v instanceof July) { + return "Jul"; + } + ; + if (v instanceof August) { + return "Aug"; + } + ; + if (v instanceof September) { + return "Sep"; + } + ; + if (v instanceof October) { + return "Oct"; + } + ; + if (v instanceof November) { + return "Nov"; + } + ; + if (v instanceof December) { + return "Dec"; + } + ; + throw new Error("Failed pattern match at Data.Formatter.DateTime (line 489, column 19 - line 501, column 22): " + [v.constructor.name]); + }; + var placeholderContent = /* @__PURE__ */ mapFlipped3(/* @__PURE__ */ some(alternativeParserT)(lazyParserT)(/* @__PURE__ */ noneOf(/* @__PURE__ */ toCharArray("YMDEHhamsS"))))(fromCharArray); + var padSingleDigit = function(i2) { + if (i2 < 0) { + return "-" + padSingleDigit(-i2 | 0); + } + ; + if (i2 < 10) { + return "0" + show5(i2); + } + ; + if (otherwise) { + return show5(i2); + } + ; + throw new Error("Failed pattern match at Data.Formatter.DateTime (line 194, column 1 - line 194, column 32): " + [i2.constructor.name]); + }; + var padQuadrupleDigit = function(i2) { + if (i2 < 0) { + return "-" + padQuadrupleDigit(-i2 | 0); + } + ; + if (i2 < 10) { + return "000" + show5(i2); + } + ; + if (i2 < 100) { + return "00" + show5(i2); + } + ; + if (i2 < 1e3) { + return "0" + show5(i2); + } + ; + if (otherwise) { + return show5(i2); + } + ; + throw new Error("Failed pattern match at Data.Formatter.DateTime (line 207, column 1 - line 207, column 35): " + [i2.constructor.name]); + }; + var padDoubleDigit = function(i2) { + if (i2 < 0) { + return "-" + padDoubleDigit(-i2 | 0); + } + ; + if (i2 < 10) { + return "00" + show5(i2); + } + ; + if (i2 < 100) { + return "0" + show5(i2); + } + ; + if (otherwise) { + return show5(i2); + } + ; + throw new Error("Failed pattern match at Data.Formatter.DateTime (line 200, column 1 - line 200, column 32): " + [i2.constructor.name]); + }; + var formatterCommandParser = /* @__PURE__ */ function() { + return alt(altParserT)(oneOfAs2(monadIdentity)(function($664) { + return $$try5(string2($664)); + })([new Tuple("YYYY", YearFull.value), new Tuple("YY", YearTwoDigits.value), new Tuple("Y", YearAbsolute.value), new Tuple("MMMM", MonthFull.value), new Tuple("MMM", MonthShort.value), new Tuple("MM", MonthTwoDigits.value), new Tuple("DD", DayOfMonthTwoDigits.value), new Tuple("D", DayOfMonth.value), new Tuple("E", DayOfWeek.value), new Tuple("X", UnixTimestamp.value), new Tuple("dddd", DayOfWeekName.value), new Tuple("ddd", DayOfWeekNameShort.value), new Tuple("HH", Hours24.value), new Tuple("hh", Hours12.value), new Tuple("a", Meridiem.value), new Tuple("mm", MinutesTwoDigits.value), new Tuple("m", Minutes.value), new Tuple("ss", SecondsTwoDigits.value), new Tuple("s", Seconds2.value), new Tuple("SSS", Milliseconds2.value), new Tuple("SS", MillisecondsTwoDigits.value), new Tuple("S", MillisecondsShort.value)]))(map32(Placeholder.create)(placeholderContent)); + }(); + var formatYearTwoDigits = function(i2) { + var dateString = show5(abs3(i2)); + var dateLength = length4(dateString); + if (dateLength === 1) { + return "0" + dateString; + } + ; + if (dateLength === 2) { + return dateString; + } + ; + return drop4(dateLength - 2 | 0)(dateString); + }; + var formatParser = /* @__PURE__ */ some3(formatterCommandParser); + var parseFormatString = /* @__PURE__ */ runP(formatParser); + var fix12 = function(h) { + var $618 = h === 0; + if ($618) { + return 12; + } + ; + return h; + }; + var formatCommand = function(v) { + return function(v1) { + if (v1 instanceof YearFull) { + return padQuadrupleDigit(fromEnum6(year(v.value0))); + } + ; + if (v1 instanceof YearTwoDigits) { + return formatYearTwoDigits(fromEnum6(year(v.value0))); + } + ; + if (v1 instanceof YearAbsolute) { + return show5(fromEnum6(year(v.value0))); + } + ; + if (v1 instanceof MonthFull) { + return show15(month(v.value0)); + } + ; + if (v1 instanceof MonthShort) { + return printShortMonth(month(v.value0)); + } + ; + if (v1 instanceof MonthTwoDigits) { + return padSingleDigit(fromEnum1(month(v.value0))); + } + ; + if (v1 instanceof DayOfMonthTwoDigits) { + return padSingleDigit(fromEnum22(day(v.value0))); + } + ; + if (v1 instanceof DayOfMonth) { + return show5(fromEnum22(day(v.value0))); + } + ; + if (v1 instanceof UnixTimestamp) { + return show5(floor2(function(v2) { + return v2 / 1e3; + }(unwrap6(unInstant(fromDateTime(v)))))); + } + ; + if (v1 instanceof DayOfWeek) { + return show5(fromEnum32(weekday(v.value0))); + } + ; + if (v1 instanceof DayOfWeekName) { + return show22(weekday(v.value0)); + } + ; + if (v1 instanceof DayOfWeekNameShort) { + return take4(3)(show22(weekday(v.value0))); + } + ; + if (v1 instanceof Hours24) { + return padSingleDigit(fromEnum42(hour(v.value1))); + } + ; + if (v1 instanceof Hours12) { + return padSingleDigit(fix12(mod4(fromEnum42(hour(v.value1)))(12))); + } + ; + if (v1 instanceof Meridiem) { + var $621 = fromEnum42(hour(v.value1)) >= 12; + if ($621) { + return "PM"; + } + ; + return "AM"; + } + ; + if (v1 instanceof Minutes) { + return show5(fromEnum52(minute(v.value1))); + } + ; + if (v1 instanceof MinutesTwoDigits) { + return padSingleDigit(fromEnum52(minute(v.value1))); + } + ; + if (v1 instanceof Seconds2) { + return show5(fromEnum62(second(v.value1))); + } + ; + if (v1 instanceof SecondsTwoDigits) { + return padSingleDigit(fromEnum62(second(v.value1))); + } + ; + if (v1 instanceof Milliseconds2) { + return padDoubleDigit(fromEnum7(millisecond(v.value1))); + } + ; + if (v1 instanceof MillisecondsShort) { + return show5(function(v2) { + return div1(v2)(100); + }(fromEnum7(millisecond(v.value1)))); + } + ; + if (v1 instanceof MillisecondsTwoDigits) { + return padSingleDigit(function(v2) { + return div1(v2)(10); + }(fromEnum7(millisecond(v.value1)))); + } + ; + if (v1 instanceof Placeholder) { + return v1.value0; + } + ; + throw new Error("Failed pattern match at Data.Formatter.DateTime (line 169, column 38 - line 192, column 21): " + [v1.constructor.name]); + }; + }; + var format = function(f) { + return function(d) { + return foldMap12(formatCommand(d))(f); + }; + }; + var formatDateTime = function(pattern2) { + return function(datetime) { + return mapFlipped1(parseFormatString(pattern2))(function(v) { + return format(v)(datetime); + }); + }; + }; + // output/Exblo.Utils/index.js - var css = function($1) { - return class_(ClassName($1)); + var convertDuration2 = /* @__PURE__ */ convertDuration(durationSeconds)(durationMilliseconds); + var safeHref = /* @__PURE__ */ function() { + var $11 = append(semigroupString)("#"); + var $12 = print(routeCodec); + return function($13) { + return href($11($12($13))); + }; + }(); + var css = function($14) { + return class_(ClassName($14)); + }; + var convertToDate = function(secs) { + var v = instant(convertDuration2(toNumber(secs))); + if (v instanceof Nothing) { + return "N/A"; + } + ; + if (v instanceof Just) { + var v1 = formatDateTime("YYYY-MM-DD HH:mm:ss")(toDateTime(v.value0)); + if (v1 instanceof Left) { + return "N/A"; + } + ; + if (v1 instanceof Right) { + return v1.value0; + } + ; + throw new Error("Failed pattern match at Exblo.Utils (line 27, column 7 - line 29, column 21): " + [v1.constructor.name]); + } + ; + throw new Error("Failed pattern match at Exblo.Utils (line 24, column 3 - line 29, column 21): " + [v.constructor.name]); }; // output/Halogen.HTML.Elements/index.js @@ -10268,8 +13512,8 @@ var th_ = /* @__PURE__ */ th([]); var tr = /* @__PURE__ */ element2("tr"); var tr_ = /* @__PURE__ */ tr([]); - var div2 = /* @__PURE__ */ element2("div"); - var div_ = /* @__PURE__ */ div2([]); + var div3 = /* @__PURE__ */ element2("div"); + var div_ = /* @__PURE__ */ div3([]); var button = /* @__PURE__ */ element2("button"); var br = function(props) { return element2("br")(props)([]); @@ -10319,7 +13563,7 @@ var click2 = "click"; // output/Halogen.HTML.Events/index.js - var map31 = /* @__PURE__ */ map(functorMaybe); + var map33 = /* @__PURE__ */ map(functorMaybe); var composeKleisli3 = /* @__PURE__ */ composeKleisli(bindMaybe); var composeKleisliFlipped4 = /* @__PURE__ */ composeKleisliFlipped(/* @__PURE__ */ bindExceptT(monadIdentity)); var readProp2 = /* @__PURE__ */ readProp(monadIdentity); @@ -10328,7 +13572,7 @@ var handler$prime = function(et) { return function(f) { return handler(et)(function(ev) { - return map31(Action.create)(f(ev)); + return map33(Action.create)(f(ev)); }); }; }; @@ -10373,9 +13617,9 @@ var componentSlot22 = componentSlot1(dictOrd); return function(label5) { return function(p2) { - return function(component5) { + return function(component6) { return function(input3) { - return widget(new ComponentSlot(componentSlot22(label5)(p2)(component5)(input3)($$const(Nothing.value)))); + return widget(new ComponentSlot(componentSlot22(label5)(p2)(component6)(input3)($$const(Nothing.value)))); }; }; }; @@ -10390,10 +13634,10 @@ var componentSlot22 = componentSlot1(dictOrd); return function(label5) { return function(p2) { - return function(component5) { + return function(component6) { return function(input3) { return function(outputQuery) { - return widget(new ComponentSlot(componentSlot22(label5)(p2)(component5)(input3)(function($11) { + return widget(new ComponentSlot(componentSlot22(label5)(p2)(component6)(input3)(function($11) { return Just.create(outputQuery($11)); }))); }; @@ -10408,7 +13652,7 @@ // output/Halogen.Store.Connect/index.js var bind6 = /* @__PURE__ */ bind(bindHalogenM); var $$void5 = /* @__PURE__ */ $$void(functorHalogenM); - var map33 = /* @__PURE__ */ map(functorEmitter); + var map35 = /* @__PURE__ */ map(functorEmitter); var innerIsSymbol = { reflectSymbol: function() { return "inner"; @@ -10423,21 +13667,21 @@ var pure13 = /* @__PURE__ */ pure(applicativeHalogenM); var query2 = /* @__PURE__ */ query()(innerIsSymbol)(ordUnit); var Initialize2 = /* @__PURE__ */ function() { - function Initialize6() { + function Initialize7() { } ; - Initialize6.value = new Initialize6(); - return Initialize6; + Initialize7.value = new Initialize7(); + return Initialize7; }(); var Receive2 = /* @__PURE__ */ function() { - function Receive6(value0) { + function Receive7(value0) { this.value0 = value0; } ; - Receive6.create = function(value0) { - return new Receive6(value0); + Receive7.create = function(value0) { + return new Receive7(value0); }; - return Receive6; + return Receive7; }(); var Update = /* @__PURE__ */ function() { function Update2(value0) { @@ -10464,7 +13708,7 @@ return function(selector) { return function(action2) { return bind6(emitSelected2(selector))(function(emitter) { - return $$void5(subscribe2(map33(action2)(emitter))); + return $$void5(subscribe2(map35(action2)(emitter))); }); }; }; @@ -10474,16 +13718,16 @@ var subscribe1 = subscribe3(dictMonadStore); var getStore2 = getStore(monadStoreHalogenM(dictMonadStore)); return function(v) { - return function(component5) { + return function(component6) { var renderInner = function(input3) { return function(context) { - return slot2($$Proxy.value)(unit)(component5)({ + return slot2($$Proxy.value)(unit)(component6)({ input: input3, context })(Raise2.create); }; }; - var render4 = function(state3) { + var render5 = function(state3) { if (state3.context instanceof Just) { return renderInner(state3.input)(state3.context.value0); } @@ -10497,7 +13741,7 @@ input: input3 }; }; - var handleAction4 = function(v1) { + var handleAction5 = function(v1) { if (v1 instanceof Initialize2) { return discard2(subscribe1(v)(Update.create))(function() { return bind6(map113(v.select)(getStore2))(function(context) { @@ -10567,9 +13811,9 @@ }; return mkComponent({ initialState, - render: render4, + render: render5, "eval": mkEval({ - handleAction: handleAction4, + handleAction: handleAction5, handleQuery: query2($$Proxy.value)(unit), initialize: new Just(Initialize2.value), finalize: Nothing.value, @@ -10670,12 +13914,12 @@ var map114 = /* @__PURE__ */ map(/* @__PURE__ */ functorExceptT(functorIdentity)); var map210 = /* @__PURE__ */ map(functorNonEmptyList); var bindExceptT2 = /* @__PURE__ */ bindExceptT(monadIdentity); - var bindFlipped6 = /* @__PURE__ */ bindFlipped(bindExceptT2); - var map34 = /* @__PURE__ */ map(functorFn); + var bindFlipped7 = /* @__PURE__ */ bindFlipped(bindExceptT2); + var map36 = /* @__PURE__ */ map(functorFn); var traverse4 = /* @__PURE__ */ traverse(traversableMaybe)(applicativeExceptT2); var readNull2 = /* @__PURE__ */ readNull(monadIdentity); var composeKleisliFlipped5 = /* @__PURE__ */ composeKleisliFlipped(bindExceptT2); - var identity13 = /* @__PURE__ */ identity(categoryBuilder); + var identity14 = /* @__PURE__ */ identity(categoryBuilder); var traverseWithIndex2 = /* @__PURE__ */ traverseWithIndex(traversableWithIndexArray)(applicativeExceptT2); var readArray1 = /* @__PURE__ */ readArray(monadIdentity); var bind7 = /* @__PURE__ */ bind(bindExceptT2); @@ -10705,14 +13949,14 @@ ; return error4; }; - return withExcept(map210(reformat))(bindFlipped6(map34(map114(toNullable))(traverse4(readImpl2)))(readNull2(o))); + return withExcept(map210(reformat))(bindFlipped7(map36(map114(toNullable))(traverse4(readImpl2)))(readNull2(o))); } }; }; var readFieldsNil = { getFields: function(v) { return function(v1) { - return pure14(identity13); + return pure14(identity14); }; } }; @@ -10792,10 +14036,10 @@ return function(dictApplicative) { var Apply0 = dictApplicative.Apply0(); var apply6 = apply(Apply0); - var map42 = map(Apply0.Functor0()); + var map44 = map(Apply0.Functor0()); return function(fun) { return function(a2) { - return apply6(map42(applyEither1)(runExceptT(fun)))(runExceptT(a2)); + return apply6(map44(applyEither1)(runExceptT(fun)))(runExceptT(a2)); }; }; }; @@ -10816,7 +14060,7 @@ var rest2 = getFields1($$Proxy.value)(obj); var name16 = reflectSymbol2($$Proxy.value); var withExcept$prime = withExcept(map210(ErrorAtProperty.create(name16))); - var first2 = bind7(withExcept$prime(bindFlipped6(readImpl2)(readProp3(name16)(obj))))(function(value15) { + var first2 = bind7(withExcept$prime(bindFlipped7(readImpl2)(readProp3(name16)(obj))))(function(value15) { return pure14(insert13($$Proxy.value)(value15)); }); return exceptTApply1(map114(compose1)(first2))(rest2); @@ -10829,28 +14073,282 @@ }; }; - // output/Exblo.Home/index.js - var forever2 = /* @__PURE__ */ forever(monadRecAff); - var discard3 = /* @__PURE__ */ discard(discardUnit); - var discard1 = /* @__PURE__ */ discard3(bindAff); - var liftEffect4 = /* @__PURE__ */ liftEffect(monadEffectAff); - var show4 = /* @__PURE__ */ show(showInt); - var value14 = /* @__PURE__ */ value(isPropString); - var type_19 = /* @__PURE__ */ type_(isPropButtonType); - var show13 = /* @__PURE__ */ show(showZcashNet); - var bind8 = /* @__PURE__ */ bind(bindHalogenM); - var bindFlipped7 = /* @__PURE__ */ bindFlipped(bindHalogenM); - var discard22 = /* @__PURE__ */ discard3(bindHalogenM); + // output/Exblo.Block/index.js + var show6 = /* @__PURE__ */ show(showInt); + var map37 = /* @__PURE__ */ map(functorArray); + var discard3 = /* @__PURE__ */ discard(discardUnit)(bindHalogenM); var modify_4 = /* @__PURE__ */ modify_2(monadStateHalogenM); - var readJSON2 = /* @__PURE__ */ readJSON(readInt2); - var show22 = /* @__PURE__ */ show(/* @__PURE__ */ showNonEmptyList(showForeignError)); + var bind8 = /* @__PURE__ */ bind(bindHalogenM); var gets3 = /* @__PURE__ */ gets(monadStateHalogenM); + var readJSON2 = /* @__PURE__ */ readJSON(/* @__PURE__ */ readRecord()(/* @__PURE__ */ readFieldsCons({ + reflectSymbol: function() { + return "confirmations"; + } + })(readInt2)(/* @__PURE__ */ readFieldsCons({ + reflectSymbol: function() { + return "hash"; + } + })(readString3)(/* @__PURE__ */ readFieldsCons({ + reflectSymbol: function() { + return "height"; + } + })(readInt2)(/* @__PURE__ */ readFieldsCons({ + reflectSymbol: function() { + return "time"; + } + })(readInt2)(/* @__PURE__ */ readFieldsCons({ + reflectSymbol: function() { + return "tx"; + } + })(/* @__PURE__ */ readArray2(readString3))(readFieldsNil)()())()())()())()())()())); + var show16 = /* @__PURE__ */ show(/* @__PURE__ */ showNonEmptyList(showForeignError)); + var get5 = /* @__PURE__ */ get(monadStateHalogenM); + var selectEq2 = /* @__PURE__ */ selectEq(eqZcashNet); var Initialize3 = /* @__PURE__ */ function() { - function Initialize6() { + function Initialize7() { } ; - Initialize6.value = new Initialize6(); - return Initialize6; + Initialize7.value = new Initialize7(); + return Initialize7; + }(); + var Receive3 = /* @__PURE__ */ function() { + function Receive7(value0) { + this.value0 = value0; + } + ; + Receive7.create = function(value0) { + return new Receive7(value0); + }; + return Receive7; + }(); + var Close = /* @__PURE__ */ function() { + function Close3(value0) { + this.value0 = value0; + } + ; + Close3.create = function(value0) { + return new Close3(value0); + }; + return Close3; + }(); + var render = function(state3) { + return div3([css("bigcard")])([h1_([text("exblo")]), function() { + if (state3.block instanceof NotAsked) { + return p_([text("Explore the Zcash blockchain")]); + } + ; + if (state3.block instanceof Loading2) { + return p_([text("Processing Zebra response...")]); + } + ; + if (state3.block instanceof Failure) { + return div3([css("card")])([p_([text(state3.block.value0)]), button([css("btn-primary raised"), onClick(function(ev) { + return new Close(ev); + })])([text("Back"), i([css("ri-arrow-go-back-fill ri-lg")])([])])]); + } + ; + if (state3.block instanceof Success2) { + return div3([css("card")])([table_([tr_([th_([text("hash")]), td_([text(state3.block.value0.hash)])]), tr_([th_([text("mined")]), td_([text(convertToDate(state3.block.value0.time))])]), tr_([th_([text("height")]), td_([text(show6(state3.block.value0.height))])]), tr_([th_([text("confirmations")]), td_([text(show6(state3.block.value0.confirmations))])]), tr_([th_([text("txs")]), td_(map37(function(txid) { + return p_([a([safeHref(new Tx(txid))])([text(txid)])]); + })(state3.block.value0.tx))])]), button([css("btn-primary raised"), onClick(function(ev) { + return new Close(ev); + })])([text("Back"), i([css("ri-arrow-go-back-fill ri-lg")])([])])]); + } + ; + throw new Error("Failed pattern match at Exblo.Block (line 63, column 7 - line 96, column 16): " + [state3.block.constructor.name]); + }(), p_([i([css("ri-copyright-line")])([]), text("2024 Vergara Technologies LLC")])]); + }; + var handleAction = function(dictMonadAff) { + var liftAff2 = liftAff(monadAffHalogenM(dictMonadAff)); + return function(dictNavigate) { + var navigate2 = navigate(navigateHalogenM(dictNavigate)); + return function(v) { + if (v instanceof Initialize3) { + return discard3(modify_4(function(v1) { + var $79 = {}; + for (var $80 in v1) { + if ({}.hasOwnProperty.call(v1, $80)) { + $79[$80] = v1[$80]; + } + ; + } + ; + $79.block = Loading2.value; + return $79; + }))(function() { + return bind8(gets3(function(v1) { + return v1.blid; + }))(function(term) { + return bind8(liftAff2(get4(string)("https://api.exblo.app/getblockinfo/" + term)))(function(res) { + if (res instanceof Left) { + return modify_4(function(v12) { + var $83 = {}; + for (var $84 in v12) { + if ({}.hasOwnProperty.call(v12, $84)) { + $83[$84] = v12[$84]; + } + ; + } + ; + $83.block = new Failure(printError(res.value0)); + return $83; + }); + } + ; + if (res instanceof Right) { + if (res.value0.status === 200) { + var v1 = readJSON2(res.value0.body); + if (v1 instanceof Right) { + return modify_4(function(v2) { + var $89 = {}; + for (var $90 in v2) { + if ({}.hasOwnProperty.call(v2, $90)) { + $89[$90] = v2[$90]; + } + ; + } + ; + $89.block = new Success2(v1.value0); + return $89; + }); + } + ; + if (v1 instanceof Left) { + return modify_4(function(v2) { + var $93 = {}; + for (var $94 in v2) { + if ({}.hasOwnProperty.call(v2, $94)) { + $93[$94] = v2[$94]; + } + ; + } + ; + $93.block = new Failure(show16(v1.value0)); + return $93; + }); + } + ; + throw new Error("Failed pattern match at Exblo.Block (line 115, column 20 - line 118, column 74): " + [v1.constructor.name]); + } + ; + return modify_4(function(v12) { + var $97 = {}; + for (var $98 in v12) { + if ({}.hasOwnProperty.call(v12, $98)) { + $97[$98] = v12[$98]; + } + ; + } + ; + $97.block = new Failure("Invalid block identifier"); + return $97; + }); + } + ; + throw new Error("Failed pattern match at Exblo.Block (line 109, column 6 - line 119, column 83): " + [res.constructor.name]); + }); + }); + }); + } + ; + if (v instanceof Receive3) { + return bind8(get5)(function(st) { + var $101 = st.blid !== v.value0.input; + if ($101) { + return discard3(modify_4(function(v1) { + var $102 = {}; + for (var $103 in v1) { + if ({}.hasOwnProperty.call(v1, $103)) { + $102[$103] = v1[$103]; + } + ; + } + ; + $102.blid = v.value0.input; + $102.network = v.value0.context; + return $102; + }))(function() { + return handleAction(dictMonadAff)(dictNavigate)(Initialize3.value); + }); + } + ; + return modify_4(function(v1) { + var $105 = {}; + for (var $106 in v1) { + if ({}.hasOwnProperty.call(v1, $106)) { + $105[$106] = v1[$106]; + } + ; + } + ; + $105.network = v.value0.context; + return $105; + }); + }); + } + ; + if (v instanceof Close) { + return navigate2(Home.value); + } + ; + throw new Error("Failed pattern match at Exblo.Block (line 104, column 16 - line 127, column 28): " + [v.constructor.name]); + }; + }; + }; + var component = function(dictMonadAff) { + var connect2 = connect(dictMonadAff.MonadEffect0()); + var handleAction1 = handleAction(dictMonadAff); + return function(dictMonadStore) { + var connect1 = connect2(dictMonadStore); + return function(dictNavigate) { + var initialState = function(v) { + return { + block: NotAsked.value, + network: v.context, + blid: v.input + }; + }; + return connect1(selectEq2(function(v) { + return v.network; + }))(mkComponent({ + initialState, + render, + "eval": mkEval({ + handleQuery: defaultEval.handleQuery, + finalize: defaultEval.finalize, + handleAction: handleAction1(dictNavigate), + receive: function($115) { + return Just.create(Receive3.create($115)); + }, + initialize: new Just(Initialize3.value) + }) + })); + }; + }; + }; + + // output/Exblo.Home/index.js + var forever2 = /* @__PURE__ */ forever(monadRecAff); + var discard4 = /* @__PURE__ */ discard(discardUnit); + var discard1 = /* @__PURE__ */ discard4(bindAff); + var liftEffect4 = /* @__PURE__ */ liftEffect(monadEffectAff); + var show7 = /* @__PURE__ */ show(showInt); + var value14 = /* @__PURE__ */ value(isPropString); + var type_19 = /* @__PURE__ */ type_(isPropButtonType); + var show17 = /* @__PURE__ */ show(showZcashNet); + var bind9 = /* @__PURE__ */ bind(bindHalogenM); + var bindFlipped8 = /* @__PURE__ */ bindFlipped(bindHalogenM); + var discard22 = /* @__PURE__ */ discard4(bindHalogenM); + var modify_5 = /* @__PURE__ */ modify_2(monadStateHalogenM); + var readJSON3 = /* @__PURE__ */ readJSON(readInt2); + var show23 = /* @__PURE__ */ show(/* @__PURE__ */ showNonEmptyList(showForeignError)); + var gets4 = /* @__PURE__ */ gets(monadStateHalogenM); + var Initialize4 = /* @__PURE__ */ function() { + function Initialize7() { + } + ; + Initialize7.value = new Initialize7(); + return Initialize7; }(); var Refresh = /* @__PURE__ */ function() { function Refresh2() { @@ -10859,15 +14357,15 @@ Refresh2.value = new Refresh2(); return Refresh2; }(); - var Receive3 = /* @__PURE__ */ function() { - function Receive6(value0) { + var Receive4 = /* @__PURE__ */ function() { + function Receive7(value0) { this.value0 = value0; } ; - Receive6.create = function(value0) { - return new Receive6(value0); + Receive7.create = function(value0) { + return new Receive7(value0); }; - return Receive6; + return Receive7; }(); var Search = /* @__PURE__ */ function() { function Search2(value0) { @@ -10892,13 +14390,13 @@ var timer = function(dictMonadAff) { var MonadEffect0 = dictMonadAff.MonadEffect0(); var Monad0 = MonadEffect0.Monad0(); - var bind18 = bind(Monad0.Bind1()); + var bind19 = bind(Monad0.Bind1()); var liftEffect12 = liftEffect(MonadEffect0); var liftAff2 = liftAff(dictMonadAff); var pure23 = pure(Monad0.Applicative0()); return function(val) { - return bind18(liftEffect12(create))(function(v) { - return bind18(liftAff2(forkAff(forever2(discard1(delay(6e4))(function() { + return bind19(liftEffect12(create))(function(v) { + return bind19(liftAff2(forkAff(forever2(discard1(delay(6e4))(function() { return liftEffect4(notify(v.listener)(val)); })))))(function() { return pure23(v.emitter); @@ -10906,8 +14404,8 @@ }); }; }; - var render = function(state3) { - return div2([css("bigcard")])([h1_([text("exblo")]), div2([css("card")])([h3_([text("latest block")]), p_([text(function() { + var render2 = function(state3) { + return div3([css("bigcard")])([h1_([text("exblo")]), div3([css("card")])([h3_([text("latest block")]), p_([text(function() { if (state3.block instanceof NotAsked) { return "N/A"; } @@ -10921,17 +14419,17 @@ } ; if (state3.block instanceof Success2) { - return show4(state3.block.value0); + return show7(state3.block.value0); } ; - throw new Error("Failed pattern match at Exblo.Home (line 72, column 17 - line 76, column 38): " + [state3.block.constructor.name]); + throw new Error("Failed pattern match at Exblo.Home (line 68, column 17 - line 72, column 38): " + [state3.block.constructor.name]); }())])]), form([onSubmit(function(ev) { return new Search(ev); - })])([p_([input([css("input"), value14(state3.term), placeholder("Search TX ID..."), onValueInput(function(str) { + })])([p_([input([css("input"), value14(state3.term), placeholder("TX ID/Block height..."), onValueInput(function(str) { return new SetTerm(str); - })]), button([css("btn-primary raised"), type_19(ButtonSubmit.value)])([i([css("ri-search-line ri-xl")])([])])])]), table([css("footer")])([tr_([td([css("footer")])([p_([text("Made with "), a([href("https://www.purescript.org/")])([text("PureScript")])])]), td([css("footer")])([p_([i([css("ri-copyright-line")])([]), text("2024 Vergara Technologies LLC")])]), td([css("footer")])([p([])([text("Network: "), text(show13(state3.network)), br_, text("Server: "), text(state3.version), br_, text("UI: 0.1.0.1"), br_, text("Zebra Node: "), text(state3.zebra)])])])])]); + })]), button([css("btn-primary raised"), type_19(ButtonSubmit.value)])([i([css("ri-search-line ri-xl")])([])])])]), table([css("footer")])([tr_([td([css("footer")])([p_([text("Made with "), a([href("https://www.purescript.org/")])([text("PureScript")])])]), td([css("footer")])([p_([i([css("ri-copyright-line")])([]), text("2024 Vergara Technologies LLC")])]), td([css("footer")])([p([])([text("Network: "), text(show17(state3.network)), br_, text("Server: "), text(state3.version), br_, text("UI: 0.3.0.0"), br_, text("Zebra Node: "), text(state3.zebra)])])])])]); }; - var handleAction = function(dictMonadAff) { + var handleAction2 = function(dictMonadAff) { var monadAffHalogenM2 = monadAffHalogenM(dictMonadAff); var timer1 = timer(monadAffHalogenM2); var liftAff2 = liftAff(monadAffHalogenM2); @@ -10943,139 +14441,144 @@ return function(dictMonadStore) { var getStore2 = getStore(monadStoreHalogenM(dictMonadStore)); return function(v) { - if (v instanceof Initialize3) { - return bind8(bindFlipped7(subscribe2)(timer1(Refresh.value)))(function() { - return bind8(getStore2)(function(st) { - return discard22(modify_4(function(v1) { - var $72 = {}; - for (var $73 in v1) { - if ({}.hasOwnProperty.call(v1, $73)) { - $72[$73] = v1[$73]; + if (v instanceof Initialize4) { + return bind9(bindFlipped8(subscribe2)(timer1(Refresh.value)))(function() { + return bind9(getStore2)(function(st) { + return discard22(modify_5(function(v1) { + var $70 = {}; + for (var $71 in v1) { + if ({}.hasOwnProperty.call(v1, $71)) { + $70[$71] = v1[$71]; } ; } ; - $72.network = st.network; - $72.zebra = st.zebraVersion; - $72.version = st.version; - return $72; + $70.network = st.network; + $70.zebra = st.zebraVersion; + $70.version = st.version; + return $70; }))(function() { - return handleAction(dictMonadAff)(dictNavigate)(dictMonadStore)(Refresh.value); + return handleAction2(dictMonadAff)(dictNavigate)(dictMonadStore)(Refresh.value); }); }); }); } ; if (v instanceof Refresh) { - return discard22(modify_4(function(v1) { - var $75 = {}; - for (var $76 in v1) { - if ({}.hasOwnProperty.call(v1, $76)) { - $75[$76] = v1[$76]; + return discard22(modify_5(function(v1) { + var $73 = {}; + for (var $74 in v1) { + if ({}.hasOwnProperty.call(v1, $74)) { + $73[$74] = v1[$74]; } ; } ; - $75.block = Loading2.value; - return $75; + $73.block = Loading2.value; + return $73; }))(function() { - return bind8(liftAff2(get4(string)("https://api.exblo.app/getblock")))(function(res) { + return bind9(liftAff2(get4(string)("https://api.exblo.app/getblock")))(function(res) { if (res instanceof Left) { return log4("/block response failed to decode: " + printError(res.value0)); } ; if (res instanceof Right) { - var v1 = readJSON2(res.value0.body); + var v1 = readJSON3(res.value0.body); if (v1 instanceof Right) { - return modify_4(function(v2) { - var $81 = {}; - for (var $82 in v2) { - if ({}.hasOwnProperty.call(v2, $82)) { - $81[$82] = v2[$82]; + return modify_5(function(v2) { + var $79 = {}; + for (var $80 in v2) { + if ({}.hasOwnProperty.call(v2, $80)) { + $79[$80] = v2[$80]; } ; } ; - $81.block = new Success2(v1.value0); - return $81; + $79.block = new Success2(v1.value0); + return $79; }); } ; if (v1 instanceof Left) { - return discard22(log4("Can't parse JSON. " + show22(v1.value0)))(function() { - return modify_4(function(v2) { - var $85 = {}; - for (var $86 in v2) { - if ({}.hasOwnProperty.call(v2, $86)) { - $85[$86] = v2[$86]; + return discard22(log4("Can't parse JSON. " + show23(v1.value0)))(function() { + return modify_5(function(v2) { + var $83 = {}; + for (var $84 in v2) { + if ({}.hasOwnProperty.call(v2, $84)) { + $83[$84] = v2[$84]; } ; } ; - $85.block = new Failure("Failed to parse response"); - return $85; + $83.block = new Failure("Failed to parse response"); + return $83; }); }); } ; - throw new Error("Failed pattern match at Exblo.Home (line 148, column 9 - line 156, column 61): " + [v1.constructor.name]); + throw new Error("Failed pattern match at Exblo.Home (line 144, column 9 - line 152, column 61): " + [v1.constructor.name]); } ; - throw new Error("Failed pattern match at Exblo.Home (line 144, column 5 - line 156, column 61): " + [res.constructor.name]); + throw new Error("Failed pattern match at Exblo.Home (line 140, column 5 - line 152, column 61): " + [res.constructor.name]); }); }); } ; if (v instanceof SetTerm) { - return modify_4(function(v1) { - var $90 = {}; - for (var $91 in v1) { - if ({}.hasOwnProperty.call(v1, $91)) { - $90[$91] = v1[$91]; + return modify_5(function(v1) { + var $88 = {}; + for (var $89 in v1) { + if ({}.hasOwnProperty.call(v1, $89)) { + $88[$89] = v1[$89]; } ; } ; - $90.term = v.value0; - return $90; + $88.term = v.value0; + return $88; }); } ; - if (v instanceof Receive3) { - return modify_4(function(v1) { - var $94 = {}; - for (var $95 in v1) { - if ({}.hasOwnProperty.call(v1, $95)) { - $94[$95] = v1[$95]; + if (v instanceof Receive4) { + return modify_5(function(v1) { + var $92 = {}; + for (var $93 in v1) { + if ({}.hasOwnProperty.call(v1, $93)) { + $92[$93] = v1[$93]; } ; } ; - $94.network = v.value0.context.network; - $94.zebra = v.value0.context.zebraVersion; - $94.version = v.value0.context.version; - return $94; + $92.network = v.value0.context.network; + $92.zebra = v.value0.context.zebraVersion; + $92.version = v.value0.context.version; + return $92; }); } ; if (v instanceof Search) { return discard22(liftEffect12(preventDefault(v.value0)))(function() { - return bind8(gets3(function(v1) { + return bind9(gets4(function(v1) { return v1.term; }))(function(term) { + var $98 = length3(term) !== 64; + if ($98) { + return navigate2(new Blk(term)); + } + ; return navigate2(new Tx(term)); }); }); } ; - throw new Error("Failed pattern match at Exblo.Home (line 135, column 16 - line 164, column 23): " + [v.constructor.name]); + throw new Error("Failed pattern match at Exblo.Home (line 131, column 16 - line 162, column 30): " + [v.constructor.name]); }; }; }; }; - var component = function(dictMonadAff) { + var component2 = function(dictMonadAff) { var connect2 = connect(dictMonadAff.MonadEffect0()); - var handleAction1 = handleAction(dictMonadAff); + var handleAction1 = handleAction2(dictMonadAff); return function(dictMonadStore) { var connect1 = connect2(dictMonadStore); return function(dictNavigate) { @@ -11089,15 +14592,15 @@ version: "" }; }, - render, + render: render2, "eval": mkEval({ handleQuery: defaultEval.handleQuery, finalize: defaultEval.finalize, handleAction: handleAction1(dictNavigate)(dictMonadStore), - receive: function($106) { - return Just.create(Receive3.create($106)); + receive: function($100) { + return Just.create(Receive4.create($100)); }, - initialize: new Just(Initialize3.value) + initialize: new Just(Initialize4.value) }) })); }; @@ -11105,11 +14608,11 @@ }; // output/Exblo.Tx/index.js - var show5 = /* @__PURE__ */ show(showInt); - var discard4 = /* @__PURE__ */ discard(discardUnit)(bindHalogenM); - var modify_5 = /* @__PURE__ */ modify_2(monadStateHalogenM); - var bind9 = /* @__PURE__ */ bind(bindHalogenM); - var gets4 = /* @__PURE__ */ gets(monadStateHalogenM); + var show8 = /* @__PURE__ */ show(showInt); + var discard5 = /* @__PURE__ */ discard(discardUnit)(bindHalogenM); + var modify_6 = /* @__PURE__ */ modify_2(monadStateHalogenM); + var bind10 = /* @__PURE__ */ bind(bindHalogenM); + var gets5 = /* @__PURE__ */ gets(monadStateHalogenM); var readRecord2 = /* @__PURE__ */ readRecord(); var readFieldsCons2 = /* @__PURE__ */ readFieldsCons({ reflectSymbol: function() { @@ -11170,7 +14673,7 @@ return "txid"; } })(readString3)(readFieldsNil)()(); - var readJSON3 = /* @__PURE__ */ readJSON(/* @__PURE__ */ readRecord2(/* @__PURE__ */ readFieldsCons({ + var readJSON4 = /* @__PURE__ */ readJSON(/* @__PURE__ */ readRecord2(/* @__PURE__ */ readFieldsCons({ reflectSymbol: function() { return "confirmations"; } @@ -11251,38 +14754,38 @@ return "outputscript"; } })(readString3)(readFieldsCons9)()())))(readFieldsNil)()())()())()())))(readFieldsCons10)()())()())()())()())()())()())); - var show14 = /* @__PURE__ */ show(/* @__PURE__ */ showNonEmptyList(showForeignError)); - var get5 = /* @__PURE__ */ get(monadStateHalogenM); - var selectEq2 = /* @__PURE__ */ selectEq(eqZcashNet); - var Initialize4 = /* @__PURE__ */ function() { - function Initialize6() { + var show18 = /* @__PURE__ */ show(/* @__PURE__ */ showNonEmptyList(showForeignError)); + var get6 = /* @__PURE__ */ get(monadStateHalogenM); + var selectEq3 = /* @__PURE__ */ selectEq(eqZcashNet); + var Initialize5 = /* @__PURE__ */ function() { + function Initialize7() { } ; - Initialize6.value = new Initialize6(); - return Initialize6; + Initialize7.value = new Initialize7(); + return Initialize7; }(); - var Receive4 = /* @__PURE__ */ function() { - function Receive6(value0) { + var Receive5 = /* @__PURE__ */ function() { + function Receive7(value0) { this.value0 = value0; } ; - Receive6.create = function(value0) { - return new Receive6(value0); + Receive7.create = function(value0) { + return new Receive7(value0); }; - return Receive6; + return Receive7; }(); - var Close = /* @__PURE__ */ function() { - function Close2(value0) { + var Close2 = /* @__PURE__ */ function() { + function Close3(value0) { this.value0 = value0; } ; - Close2.create = function(value0) { - return new Close2(value0); + Close3.create = function(value0) { + return new Close3(value0); }; - return Close2; + return Close3; }(); - var render2 = function(state3) { - return div2([css("bigcard")])([h1_([text("exblo")]), function() { + var render3 = function(state3) { + return div3([css("bigcard")])([h1_([text("exblo")]), function() { if (state3.tx instanceof NotAsked) { return p_([text("Explore the Zcash blockchain")]); } @@ -11292,20 +14795,20 @@ } ; if (state3.tx instanceof Failure) { - return div2([css("card")])([p_([text(state3.tx.value0)]), button([css("btn-primary raised"), onClick(function(ev) { - return new Close(ev); + return div3([css("card")])([p_([text(state3.tx.value0)]), button([css("btn-primary raised"), onClick(function(ev) { + return new Close2(ev); })])([i([css("ri-arrow-go-back-fill ri-lg")])([]), text("Back")])]); } ; if (state3.tx instanceof Success2) { - return div2([css("card")])([table_([tr_([th_([text("tx id")]), td_([text(state3.tx.value0.txid)])]), tr_([th_([text("block")]), td_([text(show5(state3.tx.value0.height))])]), tr_([th_([text("confirmations")]), td_([text(show5(state3.tx.value0.confirmations))])]), tr_([th_([text("expiry")]), td_([text(show5(state3.tx.value0.expiry))])]), tr_([th_([text("fee")]), td_([text(show5(sumBundles(state3.tx.value0.transparent)(state3.tx.value0.sapling)(state3.tx.value0.orchard)))])]), function() { + return div3([css("card")])([table_([tr_([th_([text("tx id")]), td_([text(state3.tx.value0.txid)])]), tr_([th_([text("block")]), td_([a([safeHref(new Blk(show8(state3.tx.value0.height)))])([text(show8(state3.tx.value0.height))])])]), tr_([th_([text("confirmations")]), td_([text(show8(state3.tx.value0.confirmations))])]), tr_([th_([text("expiry")]), td_([text(show8(state3.tx.value0.expiry))])]), tr_([th_([text("fee")]), td_([text(show8(sumBundles(state3.tx.value0.transparent)(state3.tx.value0.sapling)(state3.tx.value0.orchard)))])]), function() { var v = toMaybe(state3.tx.value0.orchard); if (v instanceof Nothing) { return p_([]); } ; if (v instanceof Just) { - return tr_([th_([text("orchard")]), table_([tr_([th_([text("actions")]), td_([text(show5(length(v.value0.actions)))])]), tr_([th_([text("value")]), td_([text(show5(v.value0.value))])])])]); + return tr_([th_([text("orchard")]), table_([tr_([th_([text("actions")]), td_([text(show8(length(v.value0.actions)))])]), tr_([th_([text("value")]), td_([text(show8(v.value0.value))])])])]); } ; throw new Error("Failed pattern match at Exblo.Tx (line 90, column 19 - line 105, column 26): " + [v.constructor.name]); @@ -11316,7 +14819,7 @@ } ; if (v instanceof Just) { - return tr_([th_([text("sapling")]), table_([tr_([th_([text("spends")]), td_([text(show5(length(v.value0.spends)))])]), tr_([th_([text("outputs")]), td_([text(show5(length(v.value0.outputs)))])]), tr_([th_([text("value")]), td_([text(show5(v.value0.value))])])])]); + return tr_([th_([text("sapling")]), table_([tr_([th_([text("spends")]), td_([text(show8(length(v.value0.spends)))])]), tr_([th_([text("outputs")]), td_([text(show8(length(v.value0.outputs)))])]), tr_([th_([text("value")]), td_([text(show8(v.value0.value))])])])]); } ; throw new Error("Failed pattern match at Exblo.Tx (line 106, column 19 - line 125, column 26): " + [v.constructor.name]); @@ -11333,7 +14836,7 @@ } ; return p_([]); - }()]), table_([tr_([th_([text("inputs")]), td_([text(show5(length(v.value0.vin)))])]), tr_([th_([text("outputs")]), td_([text(show5(length(v.value0.vout)))])]), tr_([th_([text("value")]), td_([text(show5(foldl2(function(a2) { + }()]), table_([tr_([th_([text("inputs")]), td_([text(show8(length(v.value0.vin)))])]), tr_([th_([text("outputs")]), td_([text(show8(length(v.value0.vout)))])]), tr_([th_([text("value")]), td_([text(show8(foldl2(function(a2) { return function(b2) { return a2 + b2.value | 0; }; @@ -11342,20 +14845,20 @@ ; throw new Error("Failed pattern match at Exblo.Tx (line 126, column 19 - line 149, column 26): " + [v.constructor.name]); }()]), button([css("btn-primary raised"), onClick(function(ev) { - return new Close(ev); - })])([i([css("ri-arrow-go-back-fill ri-lg")])([]), text("Back")])]); + return new Close2(ev); + })])([text("Back"), i([css("ri-arrow-go-back-fill ri-lg")])([])])]); } ; throw new Error("Failed pattern match at Exblo.Tx (line 66, column 7 - line 158, column 14): " + [state3.tx.constructor.name]); }(), p_([i([css("ri-copyright-line")])([]), text("2024 Vergara Technologies LLC")])]); }; - var handleAction2 = function(dictMonadAff) { + var handleAction3 = function(dictMonadAff) { var liftAff2 = liftAff(monadAffHalogenM(dictMonadAff)); return function(dictNavigate) { var navigate2 = navigate(navigateHalogenM(dictNavigate)); return function(v) { - if (v instanceof Initialize4) { - return discard4(modify_5(function(v1) { + if (v instanceof Initialize5) { + return discard5(modify_6(function(v1) { var $298 = {}; for (var $299 in v1) { if ({}.hasOwnProperty.call(v1, $299)) { @@ -11367,12 +14870,12 @@ $298.tx = Loading2.value; return $298; }))(function() { - return bind9(gets4(function(v1) { + return bind10(gets5(function(v1) { return v1.hex; }))(function(term) { - return bind9(liftAff2(get4(string)("https://api.exblo.app/gettransaction/" + term)))(function(res) { + return bind10(liftAff2(get4(string)("https://api.exblo.app/gettransaction/" + term)))(function(res) { if (res instanceof Left) { - return modify_5(function(v12) { + return modify_6(function(v12) { var $302 = {}; for (var $303 in v12) { if ({}.hasOwnProperty.call(v12, $303)) { @@ -11388,9 +14891,9 @@ ; if (res instanceof Right) { if (res.value0.status === 200) { - var v1 = readJSON3(res.value0.body); + var v1 = readJSON4(res.value0.body); if (v1 instanceof Right) { - return modify_5(function(v2) { + return modify_6(function(v2) { var $308 = {}; for (var $309 in v2) { if ({}.hasOwnProperty.call(v2, $309)) { @@ -11405,7 +14908,7 @@ } ; if (v1 instanceof Left) { - return modify_5(function(v2) { + return modify_6(function(v2) { var $312 = {}; for (var $313 in v2) { if ({}.hasOwnProperty.call(v2, $313)) { @@ -11414,15 +14917,15 @@ ; } ; - $312.tx = new Failure(show14(v1.value0)); + $312.tx = new Failure(show18(v1.value0)); return $312; }); } ; - throw new Error("Failed pattern match at Exblo.Tx (line 178, column 18 - line 181, column 69): " + [v1.constructor.name]); + throw new Error("Failed pattern match at Exblo.Tx (line 178, column 18 - line 182, column 62): " + [v1.constructor.name]); } ; - return modify_5(function(v12) { + return modify_6(function(v12) { var $316 = {}; for (var $317 in v12) { if ({}.hasOwnProperty.call(v12, $317)) { @@ -11436,17 +14939,17 @@ }); } ; - throw new Error("Failed pattern match at Exblo.Tx (line 172, column 5 - line 182, column 85): " + [res.constructor.name]); + throw new Error("Failed pattern match at Exblo.Tx (line 172, column 5 - line 184, column 80): " + [res.constructor.name]); }); }); }); } ; - if (v instanceof Receive4) { - return bind9(get5)(function(st) { + if (v instanceof Receive5) { + return bind10(get6)(function(st) { var $320 = st.hex !== v.value0.input; if ($320) { - return discard4(modify_5(function(v1) { + return discard5(modify_6(function(v1) { var $321 = {}; for (var $322 in v1) { if ({}.hasOwnProperty.call(v1, $322)) { @@ -11459,11 +14962,11 @@ $321.network = v.value0.context; return $321; }))(function() { - return handleAction2(dictMonadAff)(dictNavigate)(Initialize4.value); + return handleAction3(dictMonadAff)(dictNavigate)(Initialize5.value); }); } ; - return modify_5(function(v1) { + return modify_6(function(v1) { var $324 = {}; for (var $325 in v1) { if ({}.hasOwnProperty.call(v1, $325)) { @@ -11478,17 +14981,17 @@ }); } ; - if (v instanceof Close) { + if (v instanceof Close2) { return navigate2(Home.value); } ; - throw new Error("Failed pattern match at Exblo.Tx (line 167, column 16 - line 190, column 27): " + [v.constructor.name]); + throw new Error("Failed pattern match at Exblo.Tx (line 167, column 16 - line 192, column 27): " + [v.constructor.name]); }; }; }; - var component2 = function(dictMonadAff) { + var component3 = function(dictMonadAff) { var connect2 = connect(dictMonadAff.MonadEffect0()); - var handleAction1 = handleAction2(dictMonadAff); + var handleAction1 = handleAction3(dictMonadAff); return function(dictMonadStore) { var connect1 = connect2(dictMonadStore); return function(dictNavigate) { @@ -11499,19 +15002,19 @@ hex: v.input }; }; - return connect1(selectEq2(function(v) { + return connect1(selectEq3(function(v) { return v.network; }))(mkComponent({ initialState, - render: render2, + render: render3, "eval": mkEval({ handleQuery: defaultEval.handleQuery, finalize: defaultEval.finalize, handleAction: handleAction1(dictNavigate), receive: function($334) { - return Just.create(Receive4.create($334)); + return Just.create(Receive5.create($334)); }, - initialize: new Just(Initialize4.value) + initialize: new Just(Initialize5.value) }) })); }; @@ -11530,17 +15033,22 @@ return "transaction"; } })(ordUnit); - var bind10 = /* @__PURE__ */ bind(bindHalogenM); - var get6 = /* @__PURE__ */ get(monadStateHalogenM); - var discard5 = /* @__PURE__ */ discard(discardUnit)(bindHalogenM); + var slot_3 = /* @__PURE__ */ slot_2({ + reflectSymbol: function() { + return "block"; + } + })(ordUnit); + var bind11 = /* @__PURE__ */ bind(bindHalogenM); + var get7 = /* @__PURE__ */ get(monadStateHalogenM); + var discard6 = /* @__PURE__ */ discard(discardUnit)(bindHalogenM); var when2 = /* @__PURE__ */ when(applicativeHalogenM); var notEq2 = /* @__PURE__ */ notEq(/* @__PURE__ */ eqMaybe(eqRoute)); - var modify_6 = /* @__PURE__ */ modify_2(monadStateHalogenM); + var modify_7 = /* @__PURE__ */ modify_2(monadStateHalogenM); var pure15 = /* @__PURE__ */ pure(applicativeHalogenM); - var bindFlipped8 = /* @__PURE__ */ bindFlipped(bindEither); + var bindFlipped9 = /* @__PURE__ */ bindFlipped(bindEither); var decodeJson3 = /* @__PURE__ */ decodeJson(decodeJsonExbloInfo); - var show6 = /* @__PURE__ */ show(showJsonDecodeError); - var map35 = /* @__PURE__ */ map(functorHalogenM); + var show9 = /* @__PURE__ */ show(showJsonDecodeError); + var map38 = /* @__PURE__ */ map(functorHalogenM); var Navigate = /* @__PURE__ */ function() { function Navigate2(value0, value1) { this.value0 = value0; @@ -11554,73 +15062,80 @@ }; return Navigate2; }(); - var Initialize5 = /* @__PURE__ */ function() { - function Initialize6() { + var Initialize6 = /* @__PURE__ */ function() { + function Initialize7() { } ; - Initialize6.value = new Initialize6(); - return Initialize6; + Initialize7.value = new Initialize7(); + return Initialize7; }(); - var Receive5 = /* @__PURE__ */ function() { - function Receive6(value0) { + var Receive6 = /* @__PURE__ */ function() { + function Receive7(value0) { this.value0 = value0; } ; - Receive6.create = function(value0) { - return new Receive6(value0); + Receive7.create = function(value0) { + return new Receive7(value0); }; - return Receive6; + return Receive7; }(); - var render3 = function(dictMonadAff) { - var component1 = component(dictMonadAff); - var component22 = component2(dictMonadAff); + var render4 = function(dictMonadAff) { + var component1 = component2(dictMonadAff); + var component22 = component3(dictMonadAff); + var component32 = component(dictMonadAff); return function(dictMonadStore) { - var component32 = component1(dictMonadStore); - var component42 = component22(dictMonadStore); + var component42 = component1(dictMonadStore); + var component52 = component22(dictMonadStore); + var component6 = component32(dictMonadStore); return function(dictNavigate) { - var component5 = component32(dictNavigate); - var component6 = component42(dictNavigate); + var component7 = component42(dictNavigate); + var component8 = component52(dictNavigate); + var component9 = component6(dictNavigate); return function(v) { if (v.route instanceof Just) { if (v.route.value0 instanceof Home) { - return slot_1($$Proxy.value)(unit)(component5)(unit); + return slot_1($$Proxy.value)(unit)(component7)(unit); } ; if (v.route.value0 instanceof Tx) { - return slot_22($$Proxy.value)(unit)(component6)(v.route.value0.value0); + return slot_22($$Proxy.value)(unit)(component8)(v.route.value0.value0); } ; - throw new Error("Failed pattern match at Exblo.Router (line 62, column 9 - line 64, column 80): " + [v.route.value0.constructor.name]); + if (v.route.value0 instanceof Blk) { + return slot_3($$Proxy.value)(unit)(component9)(v.route.value0.value0); + } + ; + throw new Error("Failed pattern match at Exblo.Router (line 62, column 7 - line 65, column 72): " + [v.route.value0.constructor.name]); } ; if (v.route instanceof Nothing) { return div_([text("Page not found.")]); } ; - throw new Error("Failed pattern match at Exblo.Router (line 60, column 3 - line 65, column 55): " + [v.route.constructor.name]); + throw new Error("Failed pattern match at Exblo.Router (line 60, column 3 - line 66, column 53): " + [v.route.constructor.name]); }; }; }; }; var handleQuery = function(v) { - return bind10(get6)(function(v1) { - return discard5(when2(notEq2(v1.route)(new Just(v.value0)))(modify_6(function(v2) { - var $73 = {}; - for (var $74 in v2) { - if ({}.hasOwnProperty.call(v2, $74)) { - $73[$74] = v2[$74]; + return bind11(get7)(function(v1) { + return discard6(when2(notEq2(v1.route)(new Just(v.value0)))(modify_7(function(v2) { + var $80 = {}; + for (var $81 in v2) { + if ({}.hasOwnProperty.call(v2, $81)) { + $80[$81] = v2[$81]; } ; } ; - $73.route = new Just(v.value0); - return $73; + $80.route = new Just(v.value0); + return $80; })))(function() { return pure15(new Just(v.value1)); }); }); }; - var handleAction3 = function(dictMonadAff) { + var handleAction4 = function(dictMonadAff) { var liftAff2 = liftAff(monadAffHalogenM(dictMonadAff)); var monadEffectHalogenM2 = monadEffectHalogenM(dictMonadAff.MonadEffect0()); var log4 = log3(monadEffectHalogenM2); @@ -11632,33 +15147,33 @@ var getStore2 = getStore(monadStoreHalogenM2); var updateStore2 = updateStore(monadStoreHalogenM2); return function(v) { - if (v instanceof Initialize5) { - return bind10(getStore2)(function(s) { - return bind10(liftAff2(get4(string)(s.baseUrl + "/getinfo")))(function(res) { - return discard5(function() { + if (v instanceof Initialize6) { + return bind11(getStore2)(function(s) { + return bind11(liftAff2(get4(string)(s.baseUrl + "/getinfo")))(function(res) { + return discard6(function() { if (res instanceof Left) { return log4("/getinfo response failed " + printError(res.value0)); } ; if (res instanceof Right) { - var v1 = bindFlipped8(decodeJson3)(parseJson(res.value0.body)); + var v1 = bindFlipped9(decodeJson3)(parseJson(res.value0.body)); if (v1 instanceof Right) { return updateStore2(new SetInfo(v1.value0)); } ; if (v1 instanceof Left) { - return log4("/getinfo JSON decode failed " + show6(v1.value0)); + return log4("/getinfo JSON decode failed " + show9(v1.value0)); } ; - throw new Error("Failed pattern match at Exblo.Router (line 76, column 12 - line 79, column 74): " + [v1.constructor.name]); + throw new Error("Failed pattern match at Exblo.Router (line 77, column 9 - line 80, column 69): " + [v1.constructor.name]); } ; - throw new Error("Failed pattern match at Exblo.Router (line 72, column 5 - line 79, column 74): " + [res.constructor.name]); + throw new Error("Failed pattern match at Exblo.Router (line 73, column 5 - line 80, column 69): " + [res.constructor.name]); }())(function() { - return bind10(map35(function() { - var $90 = parse(routeCodec); - return function($91) { - return hush($90($91)); + return bind11(map38(function() { + var $97 = parse(routeCodec); + return function($98) { + return hush($97($98)); }; }())(liftEffect10(getHash)))(function(initialRoute) { return navigate2(fromMaybe(Home.value)(initialRoute)); @@ -11668,24 +15183,24 @@ }); } ; - if (v instanceof Receive5) { + if (v instanceof Receive6) { return pure15(unit); } ; - throw new Error("Failed pattern match at Exblo.Router (line 68, column 16 - line 82, column 44): " + [v.constructor.name]); + throw new Error("Failed pattern match at Exblo.Router (line 69, column 16 - line 83, column 44): " + [v.constructor.name]); }; }; }; }; var deriveState = function(v) { return { - route: Nothing.value + route: new Just(Home.value) }; }; - var component3 = function(dictMonadAff) { + var component4 = function(dictMonadAff) { var connect2 = connect(dictMonadAff.MonadEffect0()); - var render1 = render3(dictMonadAff); - var handleAction1 = handleAction3(dictMonadAff); + var render1 = render4(dictMonadAff); + var handleAction1 = handleAction4(dictMonadAff); return function(dictNavigate) { var handleAction22 = handleAction1(dictNavigate); return function(dictMonadStore) { @@ -11696,10 +15211,10 @@ finalize: defaultEval.finalize, handleAction: handleAction22(dictMonadStore), handleQuery, - receive: function($92) { - return Just.create(Receive5.create($92)); + receive: function($99) { + return Just.create(Receive6.create($99)); }, - initialize: new Just(Initialize5.value) + initialize: new Just(Initialize6.value) }) })); }; @@ -11707,18 +15222,18 @@ }; // output/Halogen.Aff.Util/index.js - var bind11 = /* @__PURE__ */ bind(bindAff); + var bind13 = /* @__PURE__ */ bind(bindAff); var liftEffect5 = /* @__PURE__ */ liftEffect(monadEffectAff); - var bindFlipped9 = /* @__PURE__ */ bindFlipped(bindEffect); + var bindFlipped10 = /* @__PURE__ */ bindFlipped(bindEffect); var composeKleisliFlipped6 = /* @__PURE__ */ composeKleisliFlipped(bindEffect); var pure16 = /* @__PURE__ */ pure(applicativeAff); var bindFlipped1 = /* @__PURE__ */ bindFlipped(bindMaybe); var pure17 = /* @__PURE__ */ pure(applicativeEffect); - var map36 = /* @__PURE__ */ map(functorEffect); - var discard6 = /* @__PURE__ */ discard(discardUnit); - var throwError2 = /* @__PURE__ */ throwError(monadThrowAff); + var map39 = /* @__PURE__ */ map(functorEffect); + var discard7 = /* @__PURE__ */ discard(discardUnit); + var throwError3 = /* @__PURE__ */ throwError(monadThrowAff); var selectElement = function(query3) { - return bind11(liftEffect5(bindFlipped9(composeKleisliFlipped6(function() { + return bind13(liftEffect5(bindFlipped10(composeKleisliFlipped6(function() { var $16 = querySelector(query3); return function($17) { return $16(toParentNode($17)); @@ -11730,9 +15245,9 @@ var runHalogenAff = /* @__PURE__ */ runAff_(/* @__PURE__ */ either(throwException)(/* @__PURE__ */ $$const(/* @__PURE__ */ pure17(unit)))); var awaitLoad = /* @__PURE__ */ makeAff(function(callback) { return function __do2() { - var rs = bindFlipped9(readyState)(bindFlipped9(document)(windowImpl))(); + var rs = bindFlipped10(readyState)(bindFlipped10(document)(windowImpl))(); if (rs instanceof Loading) { - var et = map36(toEventTarget)(windowImpl)(); + var et = map39(toEventTarget)(windowImpl)(); var listener = eventListener(function(v) { return callback(new Right(unit)); })(); @@ -11744,9 +15259,9 @@ return nonCanceler; }; }); - var awaitBody = /* @__PURE__ */ discard6(bindAff)(awaitLoad)(function() { - return bind11(selectElement("body"))(function(body2) { - return maybe(throwError2(error("Could not find body")))(pure16)(body2); + var awaitBody = /* @__PURE__ */ discard7(bindAff)(awaitLoad)(function() { + return bind13(selectElement("body"))(function(body2) { + return maybe(throwError3(error("Could not find body")))(pure16)(body2); }); }); @@ -11775,7 +15290,7 @@ return f(v); }; }; - var initDriverState = function(component5) { + var initDriverState = function(component6) { return function(input3) { return function(handler3) { return function(lchs) { @@ -11791,8 +15306,8 @@ var subscriptions = $$new(new Just(empty3))(); var forks = $$new(empty3)(); var ds = { - component: component5, - state: component5.initialState(input3), + component: component6, + state: component6.initialState(input3), refs: empty3, children: empty6, childrenIn, @@ -11818,18 +15333,18 @@ // output/Halogen.Aff.Driver.Eval/index.js var traverse_4 = /* @__PURE__ */ traverse_(applicativeEffect)(foldableMaybe); - var bindFlipped10 = /* @__PURE__ */ bindFlipped(bindMaybe); + var bindFlipped11 = /* @__PURE__ */ bindFlipped(bindMaybe); var lookup8 = /* @__PURE__ */ lookup2(ordSubscriptionId); - var bind13 = /* @__PURE__ */ bind(bindAff); + var bind14 = /* @__PURE__ */ bind(bindAff); var liftEffect6 = /* @__PURE__ */ liftEffect(monadEffectAff); - var discard7 = /* @__PURE__ */ discard(discardUnit); - var discard12 = /* @__PURE__ */ discard7(bindAff); + var discard8 = /* @__PURE__ */ discard(discardUnit); + var discard12 = /* @__PURE__ */ discard8(bindAff); var traverse_12 = /* @__PURE__ */ traverse_(applicativeAff); var traverse_22 = /* @__PURE__ */ traverse_12(foldableList); var fork3 = /* @__PURE__ */ fork(monadForkAff); var parSequence_2 = /* @__PURE__ */ parSequence_(parallelAff)(applicativeParAff)(foldableList); var pure18 = /* @__PURE__ */ pure(applicativeAff); - var map37 = /* @__PURE__ */ map(functorCoyoneda); + var map40 = /* @__PURE__ */ map(functorCoyoneda); var parallel3 = /* @__PURE__ */ parallel(parallelAff); var map115 = /* @__PURE__ */ map(functorAff); var sequential2 = /* @__PURE__ */ sequential(parallelAff); @@ -11849,13 +15364,13 @@ return function __do2() { var v = read(ref2)(); var subs = read(v.subscriptions)(); - return traverse_4(unsubscribe)(bindFlipped10(lookup8(sid))(subs))(); + return traverse_4(unsubscribe)(bindFlipped11(lookup8(sid))(subs))(); }; }; }; var queueOrRun = function(ref2) { return function(au) { - return bind13(liftEffect6(read(ref2)))(function(v) { + return bind14(liftEffect6(read(ref2)))(function(v) { if (v instanceof Nothing) { return au; } @@ -11874,8 +15389,8 @@ initializers: Nil.value, finalizers: Nil.value })(lchs)))(function() { - return bind13(liftEffect6(f))(function(result) { - return bind13(liftEffect6(read(lchs)))(function(v) { + return bind14(liftEffect6(f))(function(result) { + return bind14(liftEffect6(read(lchs)))(function(v) { return discard12(traverse_22(fork3)(v.finalizers))(function() { return discard12(parSequence_2(v.initializers))(function() { return pure18(result); @@ -11889,7 +15404,7 @@ var handleAff = /* @__PURE__ */ runAff_(/* @__PURE__ */ either(throwException)(/* @__PURE__ */ $$const(/* @__PURE__ */ pure(applicativeEffect)(unit)))); var fresh = function(f) { return function(ref2) { - return bind13(liftEffect6(read(ref2)))(function(v) { + return bind14(liftEffect6(read(ref2)))(function(v) { return liftEffect6(modify$prime(function(i2) { return { state: i2 + 1 | 0, @@ -11899,26 +15414,26 @@ }); }; }; - var evalQ = function(render4) { + var evalQ = function(render5) { return function(ref2) { return function(q2) { - return bind13(liftEffect6(read(ref2)))(function(v) { - return evalM(render4)(ref2)(v["component"]["eval"](new Query(map37(Just.create)(liftCoyoneda(q2)), $$const(Nothing.value)))); + return bind14(liftEffect6(read(ref2)))(function(v) { + return evalM(render5)(ref2)(v["component"]["eval"](new Query(map40(Just.create)(liftCoyoneda(q2)), $$const(Nothing.value)))); }); }; }; }; - var evalM = function(render4) { + var evalM = function(render5) { return function(initRef) { return function(v) { var evalChildQuery = function(ref2) { return function(cqb) { - return bind13(liftEffect6(read(ref2)))(function(v1) { + return bind14(liftEffect6(read(ref2)))(function(v1) { return unChildQueryBox(function(v2) { var evalChild = function(v3) { - return parallel3(bind13(liftEffect6(read(v3)))(function(dsx) { + return parallel3(bind14(liftEffect6(read(v3)))(function(dsx) { return unDriverStateX(function(ds) { - return evalQ(render4)(ds.selfRef)(v2.value1); + return evalQ(render5)(ds.selfRef)(v2.value1); })(dsx); })); }; @@ -11930,7 +15445,7 @@ var go2 = function(ref2) { return function(v1) { if (v1 instanceof State) { - return bind13(liftEffect6(read(ref2)))(function(v2) { + return bind14(liftEffect6(read(ref2)))(function(v2) { var v3 = v1.value0(v2.state); if (unsafeRefEq(v2.state)(v3.value1)) { return pure18(v3.value0); @@ -11955,7 +15470,7 @@ lifecycleHandlers: v2.lifecycleHandlers, state: v3.value1 })(ref2)))(function() { - return discard12(handleLifecycle(v2.lifecycleHandlers)(render4(v2.lifecycleHandlers)(ref2)))(function() { + return discard12(handleLifecycle(v2.lifecycleHandlers)(render5(v2.lifecycleHandlers)(ref2)))(function() { return pure18(v3.value0); }); }); @@ -11966,11 +15481,11 @@ } ; if (v1 instanceof Subscribe) { - return bind13(fresh(SubscriptionId)(ref2))(function(sid) { - return bind13(liftEffect6(subscribe(v1.value0(sid))(function(act) { - return handleAff(evalF(render4)(ref2)(new Action(act))); + return bind14(fresh(SubscriptionId)(ref2))(function(sid) { + return bind14(liftEffect6(subscribe(v1.value0(sid))(function(act) { + return handleAff(evalF(render5)(ref2)(new Action(act))); })))(function(finalize) { - return bind13(liftEffect6(read(ref2)))(function(v2) { + return bind14(liftEffect6(read(ref2)))(function(v2) { return discard12(liftEffect6(modify_(map211(insert9(sid)(finalize)))(v2.subscriptions)))(function() { return pure18(v1.value1(sid)); }); @@ -11994,8 +15509,8 @@ } ; if (v1 instanceof Raise) { - return bind13(liftEffect6(read(ref2)))(function(v2) { - return bind13(liftEffect6(read(v2.handlerRef)))(function(handler3) { + return bind14(liftEffect6(read(ref2)))(function(v2) { + return bind14(liftEffect6(read(v2.handlerRef)))(function(handler3) { return discard12(queueOrRun(v2.pendingOuts)(handler3(v1.value0)))(function() { return pure18(v1.value1); }); @@ -12005,7 +15520,7 @@ ; if (v1 instanceof Par) { return sequential2(retractFreeAp2(hoistFreeAp(function() { - var $119 = evalM(render4)(ref2); + var $119 = evalM(render5)(ref2); return function($120) { return parallel3($119($120)); }; @@ -12013,13 +15528,13 @@ } ; if (v1 instanceof Fork) { - return bind13(fresh(ForkId)(ref2))(function(fid) { - return bind13(liftEffect6(read(ref2)))(function(v2) { - return bind13(liftEffect6($$new(false)))(function(doneRef) { - return bind13(fork3($$finally(liftEffect6(function __do2() { + return bind14(fresh(ForkId)(ref2))(function(fid) { + return bind14(liftEffect6(read(ref2)))(function(v2) { + return bind14(liftEffect6($$new(false)))(function(doneRef) { + return bind14(fork3($$finally(liftEffect6(function __do2() { modify_($$delete4(fid))(v2.forks)(); return write(true)(doneRef)(); - }))(evalM(render4)(ref2)(v1.value0))))(function(fiber) { + }))(evalM(render5)(ref2)(v1.value0))))(function(fiber) { return discard12(liftEffect6(unlessM2(read(doneRef))(modify_(insert12(fid)(fiber))(v2.forks))))(function() { return pure18(v1.value1(fid)); }); @@ -12030,8 +15545,8 @@ } ; if (v1 instanceof Join) { - return bind13(liftEffect6(read(ref2)))(function(v2) { - return bind13(liftEffect6(read(v2.forks)))(function(forkMap) { + return bind14(liftEffect6(read(ref2)))(function(v2) { + return bind14(liftEffect6(read(v2.forks)))(function(forkMap) { return discard12(traverse_32(joinFiber)(lookup12(v1.value0)(forkMap)))(function() { return pure18(v1.value1); }); @@ -12040,8 +15555,8 @@ } ; if (v1 instanceof Kill) { - return bind13(liftEffect6(read(ref2)))(function(v2) { - return bind13(liftEffect6(read(v2.forks)))(function(forkMap) { + return bind14(liftEffect6(read(ref2)))(function(v2) { + return bind14(liftEffect6(read(v2.forks)))(function(forkMap) { return discard12(traverse_32(killFiber(error("Cancelled")))(lookup12(v1.value0)(forkMap)))(function() { return pure18(v1.value1); }); @@ -12050,7 +15565,7 @@ } ; if (v1 instanceof GetRef) { - return bind13(liftEffect6(read(ref2)))(function(v2) { + return bind14(liftEffect6(read(ref2)))(function(v2) { return pure18(v1.value1(lookup22(v1.value0)(v2.refs))); }); } @@ -12062,7 +15577,7 @@ }; }; }; - var evalF = function(render4) { + var evalF = function(render5) { return function(ref2) { return function(v) { if (v instanceof RefUpdate) { @@ -12089,8 +15604,8 @@ } ; if (v instanceof Action) { - return bind13(liftEffect6(read(ref2)))(function(v1) { - return evalM(render4)(ref2)(v1["component"]["eval"](new Action2(v.value0, unit))); + return bind14(liftEffect6(read(ref2)))(function(v1) { + return evalM(render5)(ref2)(v1["component"]["eval"](new Action2(v.value0, unit))); }); } ; @@ -12100,20 +15615,20 @@ }; // output/Halogen.Aff.Driver/index.js - var bind14 = /* @__PURE__ */ bind(bindEffect); - var discard8 = /* @__PURE__ */ discard(discardUnit); + var bind15 = /* @__PURE__ */ bind(bindEffect); + var discard9 = /* @__PURE__ */ discard(discardUnit); var for_2 = /* @__PURE__ */ for_(applicativeEffect)(foldableMaybe); var traverse_5 = /* @__PURE__ */ traverse_(applicativeAff)(foldableList); var fork4 = /* @__PURE__ */ fork(monadForkAff); - var bindFlipped11 = /* @__PURE__ */ bindFlipped(bindEffect); + var bindFlipped12 = /* @__PURE__ */ bindFlipped(bindEffect); var traverse_13 = /* @__PURE__ */ traverse_(applicativeEffect); var traverse_23 = /* @__PURE__ */ traverse_13(foldableMaybe); var traverse_33 = /* @__PURE__ */ traverse_13(foldableMap); - var discard23 = /* @__PURE__ */ discard8(bindAff); + var discard23 = /* @__PURE__ */ discard9(bindAff); var parSequence_3 = /* @__PURE__ */ parSequence_(parallelAff)(applicativeParAff)(foldableList); var liftEffect7 = /* @__PURE__ */ liftEffect(monadEffectAff); var pure19 = /* @__PURE__ */ pure(applicativeEffect); - var map38 = /* @__PURE__ */ map(functorEffect); + var map41 = /* @__PURE__ */ map(functorEffect); var pure110 = /* @__PURE__ */ pure(applicativeAff); var when3 = /* @__PURE__ */ when(applicativeEffect); var renderStateX2 = /* @__PURE__ */ renderStateX(functorEffect); @@ -12121,8 +15636,8 @@ var foreachSlot2 = /* @__PURE__ */ foreachSlot(applicativeEffect); var renderStateX_2 = /* @__PURE__ */ renderStateX_(applicativeEffect); var tailRecM3 = /* @__PURE__ */ tailRecM(monadRecEffect); - var voidLeft3 = /* @__PURE__ */ voidLeft(functorEffect); - var bind15 = /* @__PURE__ */ bind(bindAff); + var voidLeft4 = /* @__PURE__ */ voidLeft(functorEffect); + var bind16 = /* @__PURE__ */ bind(bindAff); var liftEffect1 = /* @__PURE__ */ liftEffect(monadEffectEffect); var newLifecycleHandlers = /* @__PURE__ */ function() { return $$new({ @@ -12144,9 +15659,9 @@ }; var cleanupSubscriptionsAndForks = function(v) { return function __do2() { - bindFlipped11(traverse_23(traverse_33(unsubscribe)))(read(v.subscriptions))(); + bindFlipped12(traverse_23(traverse_33(unsubscribe)))(read(v.subscriptions))(); write(Nothing.value)(v.subscriptions)(); - bindFlipped11(traverse_33(function() { + bindFlipped12(traverse_33(function() { var $61 = killFiber(error("finalized")); return function($62) { return handleAff($61($62)); @@ -12156,12 +15671,12 @@ }; }; var runUI = function(renderSpec2) { - return function(component5) { + return function(component6) { return function(i2) { var squashChildInitializers = function(lchs) { return function(preInits) { return unDriverStateX(function(st) { - var parentInitializer = evalM(render4)(st.selfRef)(st["component"]["eval"](new Initialize(unit))); + var parentInitializer = evalM(render5)(st.selfRef)(st["component"]["eval"](new Initialize(unit))); return modify_(function(handlers) { return { initializers: new Cons(discard23(parSequence_3(reverse2(handlers.initializers)))(function() { @@ -12190,15 +15705,15 @@ initializers: Nil.value, finalizers: pre2.finalizers })(lchs)(); - bindFlipped11(unDriverStateX(function() { - var $63 = render4(lchs); + bindFlipped12(unDriverStateX(function() { + var $63 = render5(lchs); return function($64) { return $63(function(v) { return v.selfRef; }($64)); }; }()))(read($$var2))(); - bindFlipped11(squashChildInitializers(lchs)(pre2.initializers))(read($$var2))(); + bindFlipped12(squashChildInitializers(lchs)(pre2.initializers))(read($$var2))(); return $$var2; }; }); @@ -12211,7 +15726,7 @@ return function(childrenOutRef) { return unComponentSlot(function(slot3) { return function __do2() { - var childrenIn = map38(slot3.pop)(read(childrenInRef))(); + var childrenIn = map41(slot3.pop)(read(childrenInRef))(); var $$var2 = function() { if (childrenIn instanceof Just) { write(childrenIn.value0.value1)(childrenInRef)(); @@ -12224,7 +15739,7 @@ return $65(slot3.output($66)); }; }())(); - return handleAff(evalM(render4)(st.selfRef)(st["component"]["eval"](new Receive(slot3.input, unit))))(); + return handleAff(evalM(render5)(st.selfRef)(st["component"]["eval"](new Receive(slot3.input, unit))))(); }; })(dsx)(); return childrenIn.value0.value0; @@ -12241,12 +15756,12 @@ ; throw new Error("Failed pattern match at Halogen.Aff.Driver (line 213, column 14 - line 222, column 98): " + [childrenIn.constructor.name]); }(); - var isDuplicate = map38(function($69) { + var isDuplicate = map41(function($69) { return isJust(slot3.get($69)); })(read(childrenOutRef))(); when3(isDuplicate)(warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(); modify_(slot3.set($$var2))(childrenOutRef)(); - return bind14(read($$var2))(renderStateX2(function(v) { + return bind15(read($$var2))(renderStateX2(function(v) { if (v instanceof Nothing) { return $$throw("Halogen internal error: child was not initialized in renderChild"); } @@ -12263,17 +15778,17 @@ }; }; }; - var render4 = function(lchs) { + var render5 = function(lchs) { return function($$var2) { return function __do2() { var v = read($$var2)(); - var shouldProcessHandlers = map38(isNothing)(read(v.pendingHandlers))(); + var shouldProcessHandlers = map41(isNothing)(read(v.pendingHandlers))(); when3(shouldProcessHandlers)(write(new Just(Nil.value))(v.pendingHandlers))(); write(empty6)(v.childrenOut)(); write(v.children)(v.childrenIn)(); var handler3 = function() { var $70 = queueOrRun(v.pendingHandlers); - var $71 = evalF(render4)(v.selfRef); + var $71 = evalF(render5)(v.selfRef); return function($72) { return $70($$void6($71($72))); }; @@ -12329,7 +15844,7 @@ var mmore = read(v.pendingHandlers)(); var $52 = maybe(false)($$null2)(mmore); if ($52) { - return voidLeft3(write(Nothing.value)(v.pendingHandlers))(new Done(unit))(); + return voidLeft4(write(Nothing.value)(v.pendingHandlers))(new Done(unit))(); } ; return new Loop(unit); @@ -12342,7 +15857,7 @@ return unDriverStateX(function(st) { return function __do2() { cleanupSubscriptionsAndForks(st)(); - var f = evalM(render4)(st.selfRef)(st["component"]["eval"](new Finalize(unit))); + var f = evalM(render5)(st.selfRef)(st["component"]["eval"](new Finalize(unit))); modify_(function(handlers) { return { initializers: handlers.initializers, @@ -12361,12 +15876,12 @@ var evalDriver = function(disposed) { return function(ref2) { return function(q2) { - return bind15(liftEffect7(read(disposed)))(function(v) { + return bind16(liftEffect7(read(disposed)))(function(v) { if (v) { return pure110(Nothing.value); } ; - return evalQ(render4)(ref2)(q2); + return evalQ(render5)(ref2)(q2); }); }; }; @@ -12392,16 +15907,16 @@ }; }; }; - return bind15(liftEffect7(newLifecycleHandlers))(function(lchs) { - return bind15(liftEffect7($$new(false)))(function(disposed) { + return bind16(liftEffect7(newLifecycleHandlers))(function(lchs) { + return bind16(liftEffect7($$new(false)))(function(disposed) { return handleLifecycle(lchs)(function __do2() { var sio = create(); - var dsx = bindFlipped11(read)(runComponent(lchs)(function() { + var dsx = bindFlipped12(read)(runComponent(lchs)(function() { var $78 = notify(sio.listener); return function($79) { return liftEffect7($78($79)); }; - }())(i2)(component5))(); + }())(i2)(component6))(); return unDriverStateX(function(st) { return pure19({ query: evalDriver(disposed)(st.selfRef), @@ -12460,22 +15975,22 @@ } // output/Web.DOM.Node/index.js - var map39 = /* @__PURE__ */ map(functorEffect); + var map42 = /* @__PURE__ */ map(functorEffect); var parentNode2 = /* @__PURE__ */ function() { - var $6 = map39(toMaybe); + var $6 = map42(toMaybe); return function($7) { return $6(_parentNode($7)); }; }(); var nextSibling = /* @__PURE__ */ function() { - var $15 = map39(toMaybe); + var $15 = map42(toMaybe); return function($16) { return $15(_nextSibling($16)); }; }(); // output/Halogen.VDom.Driver/index.js - var $runtime_lazy9 = function(name16, moduleName, init4) { + var $runtime_lazy12 = function(name16, moduleName, init4) { var state3 = 0; var val; return function(lineNumber) { @@ -12492,14 +16007,14 @@ var $$void7 = /* @__PURE__ */ $$void(functorEffect); var pure20 = /* @__PURE__ */ pure(applicativeEffect); var traverse_6 = /* @__PURE__ */ traverse_(applicativeEffect)(foldableMaybe); - var unwrap5 = /* @__PURE__ */ unwrap(); + var unwrap7 = /* @__PURE__ */ unwrap(); var when4 = /* @__PURE__ */ when(applicativeEffect); var not2 = /* @__PURE__ */ not(/* @__PURE__ */ heytingAlgebraFunction(/* @__PURE__ */ heytingAlgebraFunction(heytingAlgebraBoolean))); - var identity14 = /* @__PURE__ */ identity(categoryFn); - var bind16 = /* @__PURE__ */ bind(bindAff); + var identity15 = /* @__PURE__ */ identity(categoryFn); + var bind17 = /* @__PURE__ */ bind(bindAff); var liftEffect8 = /* @__PURE__ */ liftEffect(monadEffectAff); - var map40 = /* @__PURE__ */ map(functorEffect); - var bindFlipped12 = /* @__PURE__ */ bindFlipped(bindEffect); + var map43 = /* @__PURE__ */ map(functorEffect); + var bindFlipped13 = /* @__PURE__ */ bindFlipped(bindEffect); var substInParent = function(v) { return function(v1) { return function(v2) { @@ -12537,8 +16052,8 @@ return unit; }; var buildWidget2 = function(spec) { - var buildThunk2 = buildThunk(unwrap5)(spec); - var $lazy_patch = $runtime_lazy9("patch", "Halogen.VDom.Driver", function() { + var buildThunk2 = buildThunk(unwrap7)(spec); + var $lazy_patch = $runtime_lazy12("patch", "Halogen.VDom.Driver", function() { return function(st, slot3) { if (st instanceof Just) { if (slot3 instanceof ComponentSlot) { @@ -12557,7 +16072,7 @@ return $lazy_render(104)(slot3); }; }); - var $lazy_render = $runtime_lazy9("render", "Halogen.VDom.Driver", function() { + var $lazy_render = $runtime_lazy12("render", "Halogen.VDom.Driver", function() { return function(slot3) { if (slot3 instanceof ComponentSlot) { return $lazy_renderComponentSlot(86)(slot3.value0); @@ -12571,7 +16086,7 @@ throw new Error("Failed pattern match at Halogen.VDom.Driver (line 84, column 7 - line 89, column 75): " + [slot3.constructor.name]); }; }); - var $lazy_renderComponentSlot = $runtime_lazy9("renderComponentSlot", "Halogen.VDom.Driver", function() { + var $lazy_renderComponentSlot = $runtime_lazy12("renderComponentSlot", "Halogen.VDom.Driver", function() { return function(cs) { var renderChild = read(renderChildRef)(); var rsx = renderChild(cs)(); @@ -12580,9 +16095,9 @@ }; }); var patch2 = $lazy_patch(91); - var render4 = $lazy_render(82); + var render5 = $lazy_render(82); var renderComponentSlot = $lazy_renderComponentSlot(109); - return render4; + return render5; }; var buildAttributes = buildProp(handler3); return { @@ -12595,7 +16110,7 @@ }; var renderSpec = function(document2) { return function(container) { - var render4 = function(handler3) { + var render5 = function(handler3) { return function(child) { return function(v) { return function(v1) { @@ -12636,33 +16151,33 @@ }; }; return { - render: render4, - renderChild: identity14, + render: render5, + renderChild: identity15, removeChild: removeChild3, dispose: removeChild3 }; }; }; - var runUI2 = function(component5) { + var runUI2 = function(component6) { return function(i2) { return function(element3) { - return bind16(liftEffect8(map40(toDocument)(bindFlipped12(document)(windowImpl))))(function(document2) { - return runUI(renderSpec(document2)(element3))(component5)(i2); + return bind17(liftEffect8(map43(toDocument)(bindFlipped13(document)(windowImpl))))(function(document2) { + return runUI(renderSpec(document2)(element3))(component6)(i2); }); }; }; }; // output/Main/index.js - var bind17 = /* @__PURE__ */ bind(bindAff); - var component4 = /* @__PURE__ */ component3(monadAffAppM)(navigateAppM)(monadStoreAppM); + var bind18 = /* @__PURE__ */ bind(bindAff); + var component5 = /* @__PURE__ */ component4(monadAffAppM)(navigateAppM)(monadStoreAppM); var $$void8 = /* @__PURE__ */ $$void(functorAff); var liftEffect9 = /* @__PURE__ */ liftEffect(monadEffectAff); var matchesWith2 = /* @__PURE__ */ matchesWith(foldableEither); var when5 = /* @__PURE__ */ when(applicativeEffect); var notEq3 = /* @__PURE__ */ notEq(/* @__PURE__ */ eqMaybe(eqRoute)); var pure21 = /* @__PURE__ */ pure(applicativeAff); - var main2 = /* @__PURE__ */ runHalogenAff(/* @__PURE__ */ bind17(awaitBody)(function(body2) { + var main2 = /* @__PURE__ */ runHalogenAff(/* @__PURE__ */ bind18(awaitBody)(function(body2) { var initialStore = { baseUrl: "https://api.exblo.app", logLevel: Dev.value, @@ -12670,11 +16185,11 @@ zebraVersion: "", version: "" }; - return bind17(runAppM(initialStore)(component4))(function(rootComponent) { - return bind17(runUI2(rootComponent)(unit)(body2))(function(halogenIO) { + return bind18(runAppM(initialStore)(component5))(function(rootComponent) { + return bind18(runUI2(rootComponent)(unit)(body2))(function(halogenIO) { return $$void8(liftEffect9(matchesWith2(parse(routeCodec))(function(old) { return function($$new2) { - return when5(notEq3(old)(new Just($$new2)))(launchAff_(bind17(halogenIO.query(mkTell(Navigate.create($$new2))))(function(_response) { + return when5(notEq3(old)(new Just($$new2)))(launchAff_(bind18(halogenIO.query(mkTell(Navigate.create($$new2))))(function(_response) { return pure21(unit); }))); }; diff --git a/spago.dhall b/spago.dhall index a6c9636..5f1e08d 100644 --- a/spago.dhall +++ b/spago.dhall @@ -17,7 +17,6 @@ to generate this file without the comments in this block. , "affjax-web" , "argonaut-codecs" , "arrays" - , "codec-argonaut" , "console" , "datetime" , "effect" @@ -35,6 +34,7 @@ to generate this file without the comments in this block. , "routing-duplex" , "safe-coerce" , "simple-json" + , "strings" , "tailrec" , "transformers" , "web-events" diff --git a/src/Exblo/API.purs b/src/Exblo/API.purs index 6ab0da2..516df49 100644 --- a/src/Exblo/API.purs +++ b/src/Exblo/API.purs @@ -133,3 +133,12 @@ sumBundles t s o = Nothing -> 0 Just sap -> sap.value ) + +type Block = + { hash :: String + , height :: Int + , confirmations :: Int + , time :: Int + , tx :: Array String + } + diff --git a/src/Exblo/Block.purs b/src/Exblo/Block.purs new file mode 100644 index 0000000..f0efa14 --- /dev/null +++ b/src/Exblo/Block.purs @@ -0,0 +1,127 @@ +module Exblo.Block where + +import Prelude + +import Simple.JSON (readJSON) +import Affjax.StatusCode (StatusCode(..)) +import Affjax.Web as AX +import Affjax.ResponseFormat as AXRF +import Data.Maybe (Maybe(..)) +import Data.Either (Either(..)) +import Effect.Aff.Class (class MonadAff) +import Exblo.API (Block, ZcashNet) +import Exblo.Navigate (class Navigate, navigate, Route(..)) +import Exblo.Store as S +import Exblo.Utils (css, convertToDate, safeHref) +import Halogen as H +import Halogen.HTML as HH +import Halogen.HTML.Events as HE +import Halogen.Store.Connect (Connected, connect) +import Halogen.Store.Monad (class MonadStore) +import Halogen.Store.Select (selectEq) +import Network.RemoteData (RemoteData(..)) +import Web.UIEvent.MouseEvent (MouseEvent) + +type Input = String + +type State = + { block :: RemoteData String Block + , network :: ZcashNet + , blid :: Input + } + +data Action + = Initialize + | Receive (Connected ZcashNet Input) + | Close MouseEvent + +component :: forall q o m . MonadAff m => MonadStore S.Action S.Store m => Navigate m => H.Component q Input o m +component = connect (selectEq _.network) $ + H.mkComponent + { initialState + , render + , eval: H.mkEval $ H.defaultEval + { handleAction = handleAction + , receive = Just <<< Receive + , initialize = Just Initialize + } + } + where + initialState :: Connected ZcashNet Input -> State + initialState { context: net, input: blid} = + { block: NotAsked + , network: net + , blid: blid + } + +render :: forall cs m. State -> H.ComponentHTML Action cs m +render state = + HH.div + [ css "bigcard" + ] + [ HH.h1_ [ HH.text "exblo"] + , case state.block of + NotAsked -> HH.p_ [ HH.text "Explore the Zcash blockchain" ] + Loading -> HH.p_ [ HH.text "Processing Zebra response..." ] + Failure e -> + HH.div + [ css "card" ] + [ HH.p_ [ HH.text e ] + , HH.button + [ css "btn-primary raised" + , HE.onClick \ev -> Close ev + ] + [ HH.text "Back" + , HH.i [ css "ri-arrow-go-back-fill ri-lg" ] [] + ] + ] + Success b -> + HH.div + [ css "card" ] + [ HH.table_ + [ HH.tr_ [ HH.th_ [ HH.text "hash" ], HH.td_ [ HH.text b.hash ] ] + , HH.tr_ [ HH.th_ [ HH.text "mined" ], HH.td_ [ HH.text $ convertToDate b.time ] ] + , HH.tr_ [ HH.th_ [ HH.text "height" ], HH.td_ [ HH.text $ show b.height ] ] + , HH.tr_ [ HH.th_ [ HH.text "confirmations" ], HH.td_ [ HH.text $ show b.confirmations ] ] + , HH.tr_ [ HH.th_ [ HH.text "txs" ] + , HH.td_ (map (\txid -> HH.p_ [ HH.a [ safeHref $ Tx txid ] [HH.text txid]] ) b.tx)] + ] + , HH.button + [ css "btn-primary raised" + , HE.onClick \ev -> Close ev + ] + [ HH.text "Back" + , HH.i [ css "ri-arrow-go-back-fill ri-lg" ] [] + ] + ] + , HH.p_ + [ HH.i [ css "ri-copyright-line" ] [] + , HH.text "2024 Vergara Technologies LLC" + ] + ] + +handleAction :: forall cs o m. MonadAff m => Navigate m => Action -> H.HalogenM State Action cs o m Unit +handleAction = case _ of + Initialize -> do + H.modify_ _ { block = Loading } + term <- H.gets _.blid + res <- H.liftAff $ AX.get AXRF.string ("https://api.exblo.app/getblockinfo/" <> term) + case res of + Left err -> do + H.modify_ _ { block = Failure $ AX.printError err } + Right response -> do + case response.status of + StatusCode 200 -> do + case readJSON response.body of + Right (b :: Block) -> + H.modify_ _ { block = Success b } + Left e -> H.modify_ _ { block = Failure $ show e } + _any -> H.modify_ _ { block = Failure "Invalid block identifier" } + Receive {context: network, input: bl } -> do + st <- H.get + if (st.blid /= bl) then do + H.modify_ _ { blid = bl, network = network } + handleAction Initialize + else + H.modify_ _ { network = network } + Close _e -> navigate Home diff --git a/src/Exblo/Home.purs b/src/Exblo/Home.purs index cde2144..cf80605 100644 --- a/src/Exblo/Home.purs +++ b/src/Exblo/Home.purs @@ -7,16 +7,12 @@ import Affjax.Web as AX import Affjax.ResponseFormat as AXRF import Data.Maybe (Maybe(..)) import Data.Either (Either(..)) -import Data.Int (toNumber) -import Data.Nullable (Nullable, toMaybe) -import Data.Array (length, foldl) -import Data.Formatter.DateTime as FDT -import Data.DateTime.Instant (toDateTime, instant) -import Effect.Aff (Milliseconds(..)) +import Data.String.CodeUnits as SC import Effect.Aff as Aff import Effect.Aff.Class (class MonadAff) import Effect.Class.Console (log) -import Exblo.API (ZcashNet(..), Transaction(..), sumBundles) +import Effect.Aff (Milliseconds(..)) +import Exblo.API (ZcashNet(..)) import Exblo.Navigate (class Navigate, navigate, Route(..)) import Exblo.Utils (css) import Exblo.Store as S @@ -82,7 +78,7 @@ render state = [ HH.input [ css "input" , HP.value state.term - , HP.placeholder "Search TX ID..." + , HP.placeholder "TX ID/Block height..." , HE.onValueInput \str -> SetTerm str ] , HH.button @@ -121,7 +117,7 @@ render state = , HH.text "Server: " , HH.text state.version , HH.br_ - , HH.text "UI: 0.2.0.1" + , HH.text "UI: 0.3.0.0" , HH.br_ , HH.text "Zebra Node: " , HH.text state.zebra @@ -161,16 +157,9 @@ handleAction = case _ of Search event -> do H.liftEffect $ Event.preventDefault event term <- H.gets _.term - navigate $ Tx term - -convertToDate :: Int -> String -convertToDate secs = - case instant (Milliseconds (toNumber (1000 * secs))) of - Nothing -> "N/A" - Just i -> - case (FDT.formatDateTime "YYYY-DD-MM HH:mm:ss:SSS" <<< toDateTime) i of - Left _e -> "N/A" - Right d -> d + if (SC.length term /= 64) + then navigate $ Blk term + else navigate $ Tx term timer :: forall m a. MonadAff m => a -> m (HS.Emitter a) timer val = do diff --git a/src/Exblo/Navigate.purs b/src/Exblo/Navigate.purs index 64844b9..895c7be 100644 --- a/src/Exblo/Navigate.purs +++ b/src/Exblo/Navigate.purs @@ -20,6 +20,7 @@ instance navigateHalogenM :: Navigate m => Navigate (HalogenM st act slots msg m data Route = Home | Tx String + | Blk String derive instance genericRoute :: Generic Route _ derive instance eqRoute :: Eq Route @@ -29,6 +30,7 @@ routeCodec :: RouteDuplex' Route routeCodec = root $ sum { "Home": noArgs , "Tx": "tx" / segment + , "Blk": "block" / segment } safeHref :: forall r i. Route -> HH.IProp (href :: String | r) i diff --git a/src/Exblo/Router.purs b/src/Exblo/Router.purs index 1ac1642..88d8cce 100644 --- a/src/Exblo/Router.purs +++ b/src/Exblo/Router.purs @@ -1,7 +1,6 @@ module Exblo.Router where import Prelude -import Data.Codec.Argonaut as CA import Data.Argonaut.Decode (decodeJson, parseJson) import Affjax.Web as AX import Affjax.ResponseFormat as AXRF @@ -9,11 +8,12 @@ import Data.Either (hush, Either(..)) import Data.Maybe (Maybe(..), fromMaybe) import Effect.Class.Console (log) import Effect.Aff.Class (class MonadAff) -import Exblo.API (ExbloInfo(..)) +import Exblo.API (ExbloInfo) import Exblo.Home as Home import Exblo.Navigate (class Navigate, navigate, Route(..), routeCodec) import Exblo.Store as S import Exblo.Tx as Tx +import Exblo.Block as Block import Exblo.Utils (OpaqueSlot) import Halogen as H import Halogen.HTML as HH @@ -24,7 +24,6 @@ import Routing.Duplex (parse) import Routing.Hash (getHash) import Type.Proxy (Proxy(..)) - data Query a = Navigate Route a type State = @@ -38,31 +37,33 @@ data Action type ChildSlots = ( home :: OpaqueSlot Unit , transaction :: OpaqueSlot Unit + , block :: OpaqueSlot Unit ) deriveState :: Connected S.Store Unit -> State -deriveState { context: store} = { route: Nothing } +deriveState { context: store } = { route: Just Home } component :: forall m. MonadAff m => Navigate m => MonadStore S.Action S.Store m => H.Component Query Unit Void m component = connect selectAll $ H.mkComponent { initialState: deriveState , render: render , eval: H.mkEval $ H.defaultEval - { handleAction = handleAction - , handleQuery = handleQuery - , receive = Just <<< Receive - , initialize = Just Initialize - } + { handleAction = handleAction + , handleQuery = handleQuery + , receive = Just <<< Receive + , initialize = Just Initialize + } } -render :: forall m. MonadAff m => MonadStore S.Action S.Store m => Navigate m =>State -> H.ComponentHTML Action ChildSlots m +render :: forall m. MonadAff m => MonadStore S.Action S.Store m => Navigate m => State -> H.ComponentHTML Action ChildSlots m render { route } = case route of - Just r -> - case r of - Home -> HH.slot_ (Proxy :: _ "home") unit Home.component unit - Tx hex -> HH.slot_ (Proxy :: _ "transaction") unit Tx.component hex - Nothing -> HH.div_ [ HH.text "Page not found." ] + Just r -> + case r of + Home -> HH.slot_ (Proxy :: _ "home") unit Home.component unit + Tx hex -> HH.slot_ (Proxy :: _ "transaction") unit Tx.component hex + Blk id -> HH.slot_ (Proxy :: _ "block") unit Block.component id + Nothing -> HH.div_ [ HH.text "Page not found." ] handleAction :: forall m. MonadAff m => Navigate m => MonadStore S.Action S.Store m => Action -> H.HalogenM State Action ChildSlots Void m Unit handleAction = case _ of @@ -70,13 +71,13 @@ handleAction = case _ of s <- getStore res <- H.liftAff $ AX.get AXRF.string (s.baseUrl <> "/getinfo") case res of - Left err -> do - log $ "/getinfo response failed " <> AX.printError err - Right response -> do - case decodeJson =<< parseJson response.body of - Right (x :: ExbloInfo) -> do - updateStore $ S.SetInfo x - Left e1 -> log $ "/getinfo JSON decode failed " <> show e1 + Left err -> do + log $ "/getinfo response failed " <> AX.printError err + Right response -> do + case decodeJson =<< parseJson response.body of + Right (x :: ExbloInfo) -> do + updateStore $ S.SetInfo x + Left e1 -> log $ "/getinfo JSON decode failed " <> show e1 initialRoute <- hush <<< (parse routeCodec) <$> H.liftEffect getHash navigate $ fromMaybe Home initialRoute Receive { context: baseUrl } -> pure unit @@ -84,8 +85,8 @@ handleAction = case _ of handleQuery :: forall a m. Query a -> H.HalogenM State Action ChildSlots Void m (Maybe a) handleQuery = case _ of Navigate dest a -> do - { route } <- H.get - when (route /= Just dest) do - H.modify_ _ { route = Just dest } - pure (Just a) + { route } <- H.get + when (route /= Just dest) do + H.modify_ _ { route = Just dest } + pure (Just a) diff --git a/src/Exblo/Tx.purs b/src/Exblo/Tx.purs index 1a6e540..168f94f 100644 --- a/src/Exblo/Tx.purs +++ b/src/Exblo/Tx.purs @@ -14,7 +14,7 @@ import Effect.Aff.Class (class MonadAff) import Exblo.API (Transaction(..), ZcashNet, sumBundles) import Exblo.Navigate (class Navigate, navigate, Route(..)) import Exblo.Store as S -import Exblo.Utils (css) +import Exblo.Utils (css, safeHref) import Halogen as H import Halogen.HTML as HH import Halogen.HTML.Events as HE @@ -83,7 +83,7 @@ render state = [ css "card" ] [ HH.table_ [ HH.tr_ [ HH.th_ [ HH.text "tx id" ], HH.td_ [ HH.text t.txid ] ] - , HH.tr_ [ HH.th_ [ HH.text "block" ], HH.td_ [ HH.text (show t.height) ] ] + , HH.tr_ [ HH.th_ [ HH.text "block" ], HH.td_ [ HH.a [ safeHref $ Blk $ show t.height] [ HH.text (show t.height) ] ] ] , HH.tr_ [ HH.th_ [ HH.text "confirmations" ], HH.td_ [ HH.text (show t.confirmations) ] ] , HH.tr_ [ HH.th_ [ HH.text "expiry" ], HH.td_ [ HH.text (show t.expiry) ] ] , HH.tr_ [ HH.th_ [ HH.text "fee" ], HH.td_ [ HH.text (show $ sumBundles t.transparent t.sapling t.orchard) ] ] @@ -152,8 +152,8 @@ render state = [ css "btn-primary raised" , HE.onClick \ev -> Close ev ] - [ HH.i [ css "ri-arrow-go-back-fill ri-lg" ] [] - , HH.text "Back" + [ HH.text "Back" + , HH.i [ css "ri-arrow-go-back-fill ri-lg" ] [] ] ] , HH.p_ @@ -178,8 +178,10 @@ handleAction = case _ of case readJSON response.body of Right (t :: Transaction) -> H.modify_ _ { tx = Success t} - Left e -> H.modify_ _ { tx = Failure $ show e } - _any -> H.modify_ _ { tx = Failure "Invalid transaction identifier" } + Left e -> + H.modify_ _ { tx = Failure $ show e } + _any -> do + H.modify_ _ { tx = Failure "Invalid transaction identifier" } Receive {context: network, input: hex } -> do st <- H.get if (st.hex /= hex) then do diff --git a/src/Exblo/Utils.purs b/src/Exblo/Utils.purs index d9f45f6..fd5d99d 100644 --- a/src/Exblo/Utils.purs +++ b/src/Exblo/Utils.purs @@ -2,6 +2,14 @@ module Exblo.Utils where import Prelude +import Data.DateTime.Instant (toDateTime, instant) +import Data.Time.Duration (Seconds(..), convertDuration) +import Data.Either (Either(..)) +import Data.Formatter.DateTime as FDT +import Data.Int (toNumber) +import Data.Maybe (Maybe(..)) +import Exblo.Navigate (Route, routeCodec) +import Routing.Duplex (print) import Halogen as H import Halogen.HTML as HH import Halogen.HTML.Properties as HP @@ -10,3 +18,15 @@ type OpaqueSlot slot = forall query. H.Slot query Void slot css :: forall r i. String -> HH.IProp (class :: String | r) i css = HP.class_ <<< HH.ClassName + +convertToDate :: Int -> String +convertToDate secs = + case instant (convertDuration $ Seconds (toNumber secs)) of + Nothing -> "N/A" + Just i -> + case (FDT.formatDateTime "YYYY-MM-DD HH:mm:ss" <<< toDateTime) i of + Left _e -> "N/A" + Right d -> d + +safeHref :: forall r i. Route -> HH.IProp (href :: String | r) i +safeHref = HP.href <<< append "#" <<< print routeCodec