var console = { log: function(s) { var text = document.createTextNode(s); var div = document.createElement("div"); div.appendChild(text); var cons = document.getElementById("console"); cons && cons.appendChild(div); } }; window.onerror = function(e) { console.log(e); return true; }; // Generated by psc-bundle 0.11.6 var PS = {}; (function(exports) { "use strict"; exports.arrayMap = function (f) { return function (arr) { var l = arr.length; var result = new Array(l); for (var i = 0; i < l; i++) { result[i] = f(arr[i]); } return result; }; }; })(PS["Data.Functor"] = PS["Data.Functor"] || {}); (function(exports) { "use strict"; // | A `Semigroupoid` is similar to a [`Category`](#category) but does not // | require an identity element `id`, just composable morphisms. // | // | `Semigroupoid`s must satisfy the following law: // | // | - Associativity: `p <<< (q <<< r) = (p <<< q) <<< r` // | // | One example of a `Semigroupoid` is the function type constructor `(->)`, // | with `(<<<)` defined as function composition. var Semigroupoid = function (compose) { this.compose = compose; }; var semigroupoidFn = new Semigroupoid(function (f) { return function (g) { return function (x) { return f(g(x)); }; }; }); var compose = function (dict) { return dict.compose; }; // | Forwards composition, or `compose` with its arguments reversed. var composeFlipped = function (dictSemigroupoid) { return function (f) { return function (g) { return compose(dictSemigroupoid)(g)(f); }; }; }; exports["Semigroupoid"] = Semigroupoid; exports["compose"] = compose; exports["composeFlipped"] = composeFlipped; exports["semigroupoidFn"] = semigroupoidFn; })(PS["Control.Semigroupoid"] = PS["Control.Semigroupoid"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; // | `Category`s consist of objects and composable morphisms between them, and // | as such are [`Semigroupoids`](#semigroupoid), but unlike `semigroupoids` // | must have an identity element. // | // | Instances must satisfy the following law in addition to the // | `Semigroupoid` law: // | // | - Identity: `id <<< p = p <<< id = p` var Category = function (Semigroupoid0, id) { this.Semigroupoid0 = Semigroupoid0; this.id = id; }; var id = function (dict) { return dict.id; }; var categoryFn = new Category(function () { return Control_Semigroupoid.semigroupoidFn; }, function (x) { return x; }); exports["Category"] = Category; exports["id"] = id; exports["categoryFn"] = categoryFn; })(PS["Control.Category"] = PS["Control.Category"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; // | The `on` function is used to change the domain of a binary operator. // | // | For example, we can create a function which compares two records based on the values of their `x` properties: // | // | ```purescript // | compareX :: forall r. { x :: Number | r } -> { x :: Number | r } -> Ordering // | compareX = compare `on` _.x // | ``` var on = function (f) { return function (g) { return function (x) { return function (y) { return f(g(x))(g(y)); }; }; }; }; // | Flips the order of the arguments to a function of two arguments. // | // | ```purescript // | flip const 1 2 = const 2 1 = 2 // | ``` var flip = function (f) { return function (b) { return function (a) { return f(a)(b); }; }; }; // | Returns its first argument and ignores its second. // | // | ```purescript // | const 1 "hello" = 1 // | ``` var $$const = function (a) { return function (v) { return a; }; }; // | Applies an argument to a function. This is primarily used as the `(#)` // | operator, which allows parentheses to be ommitted in some cases, or as a // | natural way to apply a value to a chain of composed functions. var applyFlipped = function (x) { return function (f) { return f(x); }; }; // | Applies a function to an argument. This is primarily used as the operator // | `($)` which allows parentheses to be omitted in some cases, or as a // | natural way to apply a chain of composed functions to a value. var apply = function (f) { return function (x) { return f(x); }; }; exports["apply"] = apply; exports["applyFlipped"] = applyFlipped; exports["const"] = $$const; exports["flip"] = flip; exports["on"] = on; })(PS["Data.Function"] = PS["Data.Function"] || {}); (function(exports) { "use strict"; exports.unit = {}; })(PS["Data.Unit"] = PS["Data.Unit"] || {}); (function(exports) { "use strict"; exports.showIntImpl = function (n) { return n.toString(); }; exports.showNumberImpl = function (n) { var str = n.toString(); return isNaN(str + ".0") ? str : str + ".0"; }; exports.showCharImpl = function (c) { var code = c.charCodeAt(0); if (code < 0x20 || code === 0x7F) { switch (c) { case "\x07": return "'\\a'"; case "\b": return "'\\b'"; case "\f": return "'\\f'"; case "\n": return "'\\n'"; case "\r": return "'\\r'"; case "\t": return "'\\t'"; case "\v": return "'\\v'"; } return "'\\" + code.toString(10) + "'"; } return c === "'" || c === "\\" ? "'\\" + c + "'" : "'" + c + "'"; }; exports.showStringImpl = function (s) { var l = s.length; return "\"" + s.replace( /[\0-\x1F\x7F"\\]/g, // eslint-disable-line no-control-regex function (c, i) { switch (c) { case "\"": case "\\": return "\\" + c; case "\x07": return "\\a"; case "\b": return "\\b"; case "\f": return "\\f"; case "\n": return "\\n"; case "\r": return "\\r"; case "\t": return "\\t"; case "\v": return "\\v"; } var k = i + 1; var empty = k < l && s[k] >= "0" && s[k] <= "9" ? "\\&" : ""; return "\\" + c.charCodeAt(0).toString(10) + empty; } ) + "\""; }; exports.showArrayImpl = function (f) { return function (xs) { var ss = []; for (var i = 0, l = xs.length; i < l; i++) { ss[i] = f(xs[i]); } return "[" + ss.join(",") + "]"; }; }; })(PS["Data.Show"] = PS["Data.Show"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Show"]; // | The `Show` type class represents those types which can be converted into // | a human-readable `String` representation. // | // | While not required, it is recommended that for any expression `x`, the // | string `show x` be executable PureScript code which evaluates to the same // | value as the expression `x`. var Show = function (show) { this.show = show; }; var showString = new Show($foreign.showStringImpl); var showNumber = new Show($foreign.showNumberImpl); var showInt = new Show($foreign.showIntImpl); var showChar = new Show($foreign.showCharImpl); var showBoolean = new Show(function (v) { if (v) { return "true"; }; if (!v) { return "false"; }; throw new Error("Failed pattern match at Data.Show line 12, column 1 - line 12, column 37: " + [ v.constructor.name ]); }); var show = function (dict) { return dict.show; }; var showArray = function (dictShow) { return new Show($foreign.showArrayImpl(show(dictShow))); }; exports["Show"] = Show; exports["show"] = show; exports["showBoolean"] = showBoolean; exports["showInt"] = showInt; exports["showNumber"] = showNumber; exports["showChar"] = showChar; exports["showString"] = showString; exports["showArray"] = showArray; })(PS["Data.Show"] = PS["Data.Show"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Unit"]; var Data_Show = PS["Data.Show"]; var showUnit = new Data_Show.Show(function (v) { return "unit"; }); exports["showUnit"] = showUnit; exports["unit"] = $foreign.unit; })(PS["Data.Unit"] = PS["Data.Unit"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Functor"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Unit = PS["Data.Unit"]; // | A `Functor` is a type constructor which supports a mapping operation // | `map`. // | // | `map` can be used to turn functions `a -> b` into functions // | `f a -> f b` whose argument and return types use the type constructor `f` // | to represent some computational context. // | // | Instances must satisfy the following laws: // | // | - Identity: `map id = id` // | - Composition: `map (f <<< g) = map f <<< map g` var Functor = function (map) { this.map = map; }; var map = function (dict) { return dict.map; }; // | `mapFlipped` is `map` with its arguments reversed. For example: // | // | ```purescript // | [1, 2, 3] <#> \n -> n * n // | ``` var mapFlipped = function (dictFunctor) { return function (fa) { return function (f) { return map(dictFunctor)(f)(fa); }; }; }; // | The `void` function is used to ignore the type wrapped by a // | [`Functor`](#functor), replacing it with `Unit` and keeping only the type // | information provided by the type constructor itself. // | // | `void` is often useful when using `do` notation to change the return type // | of a monadic computation: // | // | ```purescript // | main = forE 1 10 \n -> void do // | print n // | print (n * n) // | ``` var $$void = function (dictFunctor) { return map(dictFunctor)(Data_Function["const"](Data_Unit.unit)); }; // | A version of `voidRight` with its arguments flipped. var voidLeft = function (dictFunctor) { return function (f) { return function (x) { return map(dictFunctor)(Data_Function["const"](x))(f); }; }; }; // | Ignore the return value of a computation, using the specified return value // | instead. var voidRight = function (dictFunctor) { return function (x) { return map(dictFunctor)(Data_Function["const"](x)); }; }; var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn)); var functorArray = new Functor($foreign.arrayMap); // | Apply a value in a computational context to a value in no context. // | // | Generalizes `flip`. // | // | ```purescript // | longEnough :: String -> Bool // | hasSymbol :: String -> Bool // | hasDigit :: String -> Bool // | password :: String // | // | validate :: String -> List Bool // | validate = flap [longEnough, hasSymbol, hasDigit] // | ``` // | // | ```purescript // | flap (-) 3 4 == 1 // | threeve <$> Just 1 <@> 'a' <*> Just true == Just (threeve 1 'a' true) // | ``` var flap = function (dictFunctor) { return function (ff) { return function (x) { return map(dictFunctor)(function (f) { return f(x); })(ff); }; }; }; exports["Functor"] = Functor; exports["flap"] = flap; exports["map"] = map; exports["mapFlipped"] = mapFlipped; exports["void"] = $$void; exports["voidLeft"] = voidLeft; exports["voidRight"] = voidRight; exports["functorFn"] = functorFn; exports["functorArray"] = functorArray; })(PS["Data.Functor"] = PS["Data.Functor"] || {}); (function(exports) { "use strict"; exports.concatString = function (s1) { return function (s2) { return s1 + s2; }; }; exports.concatArray = function (xs) { return function (ys) { if (xs.length === 0) return ys; if (ys.length === 0) return xs; return xs.concat(ys); }; }; })(PS["Data.Semigroup"] = PS["Data.Semigroup"] || {}); (function(exports) { "use strict"; var Data_Show = PS["Data.Show"]; // | An uninhabited data type. // | // | `Void` is useful to eliminate the possibility of a value being created. // | For example, a value of type `Either Void Boolean` can never have // | a Left value created in PureScript. var Void = function (x) { return x; }; var absurd = function (a) { var spin = function ($copy_v) { var $tco_result; function $tco_loop(v) { $copy_v = v; return; }; while (!false) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return spin(a); }; var showVoid = new Data_Show.Show(absurd); exports["absurd"] = absurd; exports["showVoid"] = showVoid; })(PS["Data.Void"] = PS["Data.Void"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Semigroup"]; var Data_Unit = PS["Data.Unit"]; var Data_Void = PS["Data.Void"]; // | The `Semigroup` type class identifies an associative operation on a type. // | // | Instances are required to satisfy the following law: // | // | - Associativity: `(x <> y) <> z = x <> (y <> z)` // | // | One example of a `Semigroup` is `String`, with `(<>)` defined as string // | concatenation. var Semigroup = function (append) { this.append = append; }; var semigroupVoid = new Semigroup(function (v) { return Data_Void.absurd; }); var semigroupUnit = new Semigroup(function (v) { return function (v1) { return Data_Unit.unit; }; }); var semigroupString = new Semigroup($foreign.concatString); var semigroupArray = new Semigroup($foreign.concatArray); var append = function (dict) { return dict.append; }; var semigroupFn = function (dictSemigroup) { return new Semigroup(function (f) { return function (g) { return function (x) { return append(dictSemigroup)(f(x))(g(x)); }; }; }); }; exports["Semigroup"] = Semigroup; exports["append"] = append; exports["semigroupString"] = semigroupString; exports["semigroupUnit"] = semigroupUnit; exports["semigroupVoid"] = semigroupVoid; exports["semigroupFn"] = semigroupFn; exports["semigroupArray"] = semigroupArray; })(PS["Data.Semigroup"] = PS["Data.Semigroup"] || {}); (function(exports) { "use strict"; var Data_Functor = PS["Data.Functor"]; var Data_Semigroup = PS["Data.Semigroup"]; // | The `Alt` type class identifies an associative operation on a type // | constructor. It is similar to `Semigroup`, except that it applies to // | types of kind `* -> *`, like `Array` or `List`, rather than concrete types // | `String` or `Number`. // | // | `Alt` instances are required to satisfy the following laws: // | // | - Associativity: `(x <|> y) <|> z == x <|> (y <|> z)` // | - Distributivity: `f <$> (x <|> y) == (f <$> x) <|> (f <$> y)` // | // | For example, the `Array` (`[]`) type is an instance of `Alt`, where // | `(<|>)` is defined to be concatenation. var Alt = function (Functor0, alt) { this.Functor0 = Functor0; this.alt = alt; }; var altArray = new Alt(function () { return Data_Functor.functorArray; }, Data_Semigroup.append(Data_Semigroup.semigroupArray)); var alt = function (dict) { return dict.alt; }; exports["Alt"] = Alt; exports["alt"] = alt; exports["altArray"] = altArray; })(PS["Control.Alt"] = PS["Control.Alt"] || {}); (function(exports) { "use strict"; exports.arrayApply = function (fs) { return function (xs) { var result = []; var n = 0; for (var i = 0, l = fs.length; i < l; i++) { for (var j = 0, k = xs.length; j < k; j++) { result[n++] = fs[i](xs[j]); } } return result; }; }; })(PS["Control.Apply"] = PS["Control.Apply"] || {}); (function(exports) { "use strict"; var $foreign = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; // | The `Apply` class provides the `(<*>)` which is used to apply a function // | to an argument under a type constructor. // | // | `Apply` can be used to lift functions of two or more arguments to work on // | values wrapped with the type constructor `f`. It might also be understood // | in terms of the `lift2` function: // | // | ```purescript // | lift2 :: forall f a b c. Apply f => (a -> b -> c) -> f a -> f b -> f c // | lift2 f a b = f <$> a <*> b // | ``` // | // | `(<*>)` is recovered from `lift2` as `lift2 ($)`. That is, `(<*>)` lifts // | the function application operator `($)` to arguments wrapped with the // | type constructor `f`. // | // | Instances must satisfy the following law in addition to the `Functor` // | laws: // | // | - Associative composition: `(<<<) <$> f <*> g <*> h = f <*> (g <*> h)` // | // | Formally, `Apply` represents a strong lax semi-monoidal endofunctor. var Apply = function (Functor0, apply) { this.Functor0 = Functor0; this.apply = apply; }; var applyFn = new Apply(function () { return Data_Functor.functorFn; }, function (f) { return function (g) { return function (x) { return f(x)(g(x)); }; }; }); var applyArray = new Apply(function () { return Data_Functor.functorArray; }, $foreign.arrayApply); var apply = function (dict) { return dict.apply; }; // | Combine two effectful actions, keeping only the result of the first. var applyFirst = function (dictApply) { return function (a) { return function (b) { return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function["const"])(a))(b); }; }; }; // | Combine two effectful actions, keeping only the result of the second. var applySecond = function (dictApply) { return function (a) { return function (b) { return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function["const"](Control_Category.id(Control_Category.categoryFn)))(a))(b); }; }; }; // | Lift a function of two arguments to a function which accepts and returns // | values wrapped with the type constructor `f`. var lift2 = function (dictApply) { return function (f) { return function (a) { return function (b) { return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b); }; }; }; }; // | Lift a function of three arguments to a function which accepts and returns // | values wrapped with the type constructor `f`. var lift3 = function (dictApply) { return function (f) { return function (a) { return function (b) { return function (c) { return apply(dictApply)(apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b))(c); }; }; }; }; }; // | Lift a function of four arguments to a function which accepts and returns // | values wrapped with the type constructor `f`. var lift4 = function (dictApply) { return function (f) { return function (a) { return function (b) { return function (c) { return function (d) { return apply(dictApply)(apply(dictApply)(apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b))(c))(d); }; }; }; }; }; }; // | Lift a function of five arguments to a function which accepts and returns // | values wrapped with the type constructor `f`. var lift5 = function (dictApply) { return function (f) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return apply(dictApply)(apply(dictApply)(apply(dictApply)(apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b))(c))(d))(e); }; }; }; }; }; }; }; exports["Apply"] = Apply; exports["apply"] = apply; exports["applyFirst"] = applyFirst; exports["applySecond"] = applySecond; exports["lift2"] = lift2; exports["lift3"] = lift3; exports["lift4"] = lift4; exports["lift5"] = lift5; exports["applyFn"] = applyFn; exports["applyArray"] = applyArray; })(PS["Control.Apply"] = PS["Control.Apply"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Data_Functor = PS["Data.Functor"]; var Data_Unit = PS["Data.Unit"]; // | The `Applicative` type class extends the [`Apply`](#apply) type class // | with a `pure` function, which can be used to create values of type `f a` // | from values of type `a`. // | // | Where [`Apply`](#apply) provides the ability to lift functions of two or // | more arguments to functions whose arguments are wrapped using `f`, and // | [`Functor`](#functor) provides the ability to lift functions of one // | argument, `pure` can be seen as the function which lifts functions of // | _zero_ arguments. That is, `Applicative` functors support a lifting // | operation for any number of function arguments. // | // | Instances must satisfy the following laws in addition to the `Apply` // | laws: // | // | - Identity: `(pure id) <*> v = v` // | - Composition: `pure (<<<) <*> f <*> g <*> h = f <*> (g <*> h)` // | - Homomorphism: `(pure f) <*> (pure x) = pure (f x)` // | - Interchange: `u <*> (pure y) = (pure (_ $ y)) <*> u` var Applicative = function (Apply0, pure) { this.Apply0 = Apply0; this.pure = pure; }; var pure = function (dict) { return dict.pure; }; // | Perform a applicative action unless a condition is true. var unless = function (dictApplicative) { return function (v) { return function (v1) { if (!v) { return v1; }; if (v) { return pure(dictApplicative)(Data_Unit.unit); }; throw new Error("Failed pattern match at Control.Applicative line 62, column 1 - line 62, column 65: " + [ v.constructor.name, v1.constructor.name ]); }; }; }; // | Perform a applicative action when a condition is true. var when = function (dictApplicative) { return function (v) { return function (v1) { if (v) { return v1; }; if (!v) { return pure(dictApplicative)(Data_Unit.unit); }; throw new Error("Failed pattern match at Control.Applicative line 57, column 1 - line 57, column 63: " + [ v.constructor.name, v1.constructor.name ]); }; }; }; // | `liftA1` provides a default implementation of `(<$>)` for any // | [`Applicative`](#applicative) functor, without using `(<$>)` as provided // | by the [`Functor`](#functor)-[`Applicative`](#applicative) superclass // | relationship. // | // | `liftA1` can therefore be used to write [`Functor`](#functor) instances // | as follows: // | // | ```purescript // | instance functorF :: Functor F where // | map = liftA1 // | ``` var liftA1 = function (dictApplicative) { return function (f) { return function (a) { return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a); }; }; }; var applicativeFn = new Applicative(function () { return Control_Apply.applyFn; }, function (x) { return function (v) { return x; }; }); var applicativeArray = new Applicative(function () { return Control_Apply.applyArray; }, function (x) { return [ x ]; }); exports["Applicative"] = Applicative; exports["liftA1"] = liftA1; exports["pure"] = pure; exports["unless"] = unless; exports["when"] = when; exports["applicativeFn"] = applicativeFn; exports["applicativeArray"] = applicativeArray; })(PS["Control.Applicative"] = PS["Control.Applicative"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Data_Functor = PS["Data.Functor"]; // | The `Plus` type class extends the `Alt` type class with a value that // | should be the left and right identity for `(<|>)`. // | // | It is similar to `Monoid`, except that it applies to types of // | kind `* -> *`, like `Array` or `List`, rather than concrete types like // | `String` or `Number`. // | // | `Plus` instances should satisfy the following laws: // | // | - Left identity: `empty <|> x == x` // | - Right identity: `x <|> empty == x` // | - Annihilation: `f <$> empty == empty` var Plus = function (Alt0, empty) { this.Alt0 = Alt0; this.empty = empty; }; var plusArray = new Plus(function () { return Control_Alt.altArray; }, [ ]); var empty = function (dict) { return dict.empty; }; exports["Plus"] = Plus; exports["empty"] = empty; exports["plusArray"] = plusArray; })(PS["Control.Plus"] = PS["Control.Plus"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Plus = PS["Control.Plus"]; var Data_Functor = PS["Data.Functor"]; // | The `Alternative` type class has no members of its own; it just specifies // | that the type constructor has both `Applicative` and `Plus` instances. // | // | Types which have `Alternative` instances should also satisfy the following // | laws: // | // | - Distributivity: `(f <|> g) <*> x == (f <*> x) <|> (g <*> x)` // | - Annihilation: `empty <*> f = empty` var Alternative = function (Applicative0, Plus1) { this.Applicative0 = Applicative0; this.Plus1 = Plus1; }; var alternativeArray = new Alternative(function () { return Control_Applicative.applicativeArray; }, function () { return Control_Plus.plusArray; }); exports["Alternative"] = Alternative; exports["alternativeArray"] = alternativeArray; })(PS["Control.Alternative"] = PS["Control.Alternative"] || {}); (function(exports) { "use strict"; exports.arrayBind = function (arr) { return function (f) { var result = []; for (var i = 0, l = arr.length; i < l; i++) { Array.prototype.push.apply(result, f(arr[i])); } return result; }; }; })(PS["Control.Bind"] = PS["Control.Bind"] || {}); (function(exports) { "use strict"; var $foreign = PS["Control.Bind"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Unit = PS["Data.Unit"]; // | The `Bind` type class extends the [`Apply`](#apply) type class with a // | "bind" operation `(>>=)` which composes computations in sequence, using // | the return value of one computation to determine the next computation. // | // | The `>>=` operator can also be expressed using `do` notation, as follows: // | // | ```purescript // | x >>= f = do y <- x // | f y // | ``` // | // | where the function argument of `f` is given the name `y`. // | // | Instances must satisfy the following law in addition to the `Apply` // | laws: // | // | - Associativity: `(x >>= f) >>= g = x >>= (\k -> f k >>= g)` // | // | Associativity tells us that we can regroup operations which use `do` // | notation so that we can unambiguously write, for example: // | // | ```purescript // | do x <- m1 // | y <- m2 x // | m3 x y // | ``` var Bind = function (Apply0, bind) { this.Apply0 = Apply0; this.bind = bind; }; // | A class for types whose values can safely be discarded // | in a `do` notation block. // | // | An example is the `Unit` type, since there is only one // | possible value which can be returned. var Discard = function (discard) { this.discard = discard; }; var discard = function (dict) { return dict.discard; }; var bindFn = new Bind(function () { return Control_Apply.applyFn; }, function (m) { return function (f) { return function (x) { return f(m(x))(x); }; }; }); var bindArray = new Bind(function () { return Control_Apply.applyArray; }, $foreign.arrayBind); var bind = function (dict) { return dict.bind; }; // | `bindFlipped` is `bind` with its arguments reversed. For example: // | // | ```purescript // | print =<< random // | ``` var bindFlipped = function (dictBind) { return Data_Function.flip(bind(dictBind)); }; // | Backwards Kleisli composition. var composeKleisliFlipped = function (dictBind) { return function (f) { return function (g) { return function (a) { return bindFlipped(dictBind)(f)(g(a)); }; }; }; }; // | Forwards Kleisli composition. // | // | For example: // | // | ```purescript // | import Data.Array (head, tail) // | // | third = tail >=> tail >=> head // | ``` var composeKleisli = function (dictBind) { return function (f) { return function (g) { return function (a) { return bind(dictBind)(f(a))(g); }; }; }; }; var discardUnit = new Discard(function (dictBind) { return bind(dictBind); }); // | Execute a monadic action if a condition holds. // | // | For example: // | // | ```purescript // | main = ifM ((< 0.5) <$> random) // | (trace "Heads") // | (trace "Tails") // | ``` var ifM = function (dictBind) { return function (cond) { return function (t) { return function (f) { return bind(dictBind)(cond)(function (cond$prime) { if (cond$prime) { return t; }; return f; }); }; }; }; }; // | Collapse two applications of a monadic type constructor into one. var join = function (dictBind) { return function (m) { return bind(dictBind)(m)(Control_Category.id(Control_Category.categoryFn)); }; }; exports["Bind"] = Bind; exports["Discard"] = Discard; exports["bind"] = bind; exports["bindFlipped"] = bindFlipped; exports["composeKleisli"] = composeKleisli; exports["composeKleisliFlipped"] = composeKleisliFlipped; exports["discard"] = discard; exports["ifM"] = ifM; exports["join"] = join; exports["bindFn"] = bindFn; exports["bindArray"] = bindArray; exports["discardUnit"] = discardUnit; })(PS["Control.Bind"] = PS["Control.Bind"] || {}); (function(exports) { "use strict"; exports.boolConj = function (b1) { return function (b2) { return b1 && b2; }; }; exports.boolDisj = function (b1) { return function (b2) { return b1 || b2; }; }; exports.boolNot = function (b) { return !b; }; })(PS["Data.HeytingAlgebra"] = PS["Data.HeytingAlgebra"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.HeytingAlgebra"]; var Data_Unit = PS["Data.Unit"]; // | The `HeytingAlgebra` type class represents types that are bounded lattices with // | an implication operator such that the following laws hold: // | // | - Associativity: // | - `a || (b || c) = (a || b) || c` // | - `a && (b && c) = (a && b) && c` // | - Commutativity: // | - `a || b = b || a` // | - `a && b = b && a` // | - Absorption: // | - `a || (a && b) = a` // | - `a && (a || b) = a` // | - Idempotent: // | - `a || a = a` // | - `a && a = a` // | - Identity: // | - `a || ff = a` // | - `a && tt = a` // | - Implication: // | - ``a `implies` a = tt`` // | - ``a && (a `implies` b) = a && b`` // | - ``b && (a `implies` b) = b`` // | - ``a `implies` (b && c) = (a `implies` b) && (a `implies` c)`` // | - Complemented: // | - ``not a = a `implies` ff`` var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) { this.conj = conj; this.disj = disj; this.ff = ff; this.implies = implies; this.not = not; this.tt = tt; }; var tt = function (dict) { return dict.tt; }; var not = function (dict) { return dict.not; }; var implies = function (dict) { return dict.implies; }; var heytingAlgebraUnit = new HeytingAlgebra(function (v) { return function (v1) { return Data_Unit.unit; }; }, function (v) { return function (v1) { return Data_Unit.unit; }; }, Data_Unit.unit, function (v) { return function (v1) { return Data_Unit.unit; }; }, function (v) { return Data_Unit.unit; }, Data_Unit.unit); var ff = function (dict) { return dict.ff; }; var disj = function (dict) { return dict.disj; }; var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) { return function (b) { return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b); }; }, $foreign.boolNot, true); var conj = function (dict) { return dict.conj; }; var heytingAlgebraFunction = function (dictHeytingAlgebra) { return new HeytingAlgebra(function (f) { return function (g) { return function (a) { return conj(dictHeytingAlgebra)(f(a))(g(a)); }; }; }, function (f) { return function (g) { return function (a) { return disj(dictHeytingAlgebra)(f(a))(g(a)); }; }; }, function (v) { return ff(dictHeytingAlgebra); }, function (f) { return function (g) { return function (a) { return implies(dictHeytingAlgebra)(f(a))(g(a)); }; }; }, function (f) { return function (a) { return not(dictHeytingAlgebra)(f(a)); }; }, function (v) { return tt(dictHeytingAlgebra); }); }; exports["HeytingAlgebra"] = HeytingAlgebra; exports["conj"] = conj; exports["disj"] = disj; exports["ff"] = ff; exports["implies"] = implies; exports["not"] = not; exports["tt"] = tt; exports["heytingAlgebraBoolean"] = heytingAlgebraBoolean; exports["heytingAlgebraUnit"] = heytingAlgebraUnit; exports["heytingAlgebraFunction"] = heytingAlgebraFunction; })(PS["Data.HeytingAlgebra"] = PS["Data.HeytingAlgebra"] || {}); (function(exports) { "use strict"; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Unit = PS["Data.Unit"]; // | The `BooleanAlgebra` type class represents types that behave like boolean // | values. // | // | Instances should satisfy the following laws in addition to the // | `HeytingAlgebra` law: // | // | - Excluded middle: // | - `a || not a = tt` var BooleanAlgebra = function (HeytingAlgebra0) { this.HeytingAlgebra0 = HeytingAlgebra0; }; var booleanAlgebraUnit = new BooleanAlgebra(function () { return Data_HeytingAlgebra.heytingAlgebraUnit; }); var booleanAlgebraFn = function (dictBooleanAlgebra) { return new BooleanAlgebra(function () { return Data_HeytingAlgebra.heytingAlgebraFunction(dictBooleanAlgebra.HeytingAlgebra0()); }); }; var booleanAlgebraBoolean = new BooleanAlgebra(function () { return Data_HeytingAlgebra.heytingAlgebraBoolean; }); exports["BooleanAlgebra"] = BooleanAlgebra; exports["booleanAlgebraBoolean"] = booleanAlgebraBoolean; exports["booleanAlgebraUnit"] = booleanAlgebraUnit; exports["booleanAlgebraFn"] = booleanAlgebraFn; })(PS["Data.BooleanAlgebra"] = PS["Data.BooleanAlgebra"] || {}); (function(exports) { "use strict"; exports.topInt = 2147483647; exports.bottomInt = -2147483648; exports.topChar = String.fromCharCode(65535); exports.bottomChar = String.fromCharCode(0); })(PS["Data.Bounded"] = PS["Data.Bounded"] || {}); (function(exports) { "use strict"; exports.ordArrayImpl = function (f) { return function (xs) { return function (ys) { var i = 0; var xlen = xs.length; var ylen = ys.length; while (i < xlen && i < ylen) { var x = xs[i]; var y = ys[i]; var o = f(x)(y); if (o !== 0) { return o; } i++; } if (xlen === ylen) { return 0; } else if (xlen > ylen) { return -1; } else { return 1; } }; }; }; })(PS["Data.Ord"] = PS["Data.Ord"] || {}); (function(exports) { "use strict"; exports.refEq = function (r1) { return function (r2) { return r1 === r2; }; }; exports.refIneq = function (r1) { return function (r2) { return r1 !== r2; }; }; exports.eqArrayImpl = function (f) { return function (xs) { return function (ys) { if (xs.length !== ys.length) return false; for (var i = 0; i < xs.length; i++) { if (!f(xs[i])(ys[i])) return false; } return true; }; }; }; })(PS["Data.Eq"] = PS["Data.Eq"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Eq"]; var Data_Unit = PS["Data.Unit"]; var Data_Void = PS["Data.Void"]; // | The `Eq` type class represents types which support decidable equality. // | // | `Eq` instances should satisfy the following laws: // | // | - Reflexivity: `x == x = true` // | - Symmetry: `x == y = y == x` // | - Transitivity: if `x == y` and `y == z` then `x == z` // | // | **Note:** The `Number` type is not an entirely law abiding member of this // | class due to the presence of `NaN`, since `NaN /= NaN`. Additionally, // | computing with `Number` can result in a loss of precision, so sometimes // | values that should be equivalent are not. var Eq = function (eq) { this.eq = eq; }; // | The `Eq1` type class represents type constructors with decidable equality. var Eq1 = function (eq1) { this.eq1 = eq1; }; var eqVoid = new Eq(function (v) { return function (v1) { return true; }; }); var eqUnit = new Eq(function (v) { return function (v1) { return true; }; }); var eqString = new Eq($foreign.refEq); var eqNumber = new Eq($foreign.refEq); var eqInt = new Eq($foreign.refEq); var eqChar = new Eq($foreign.refEq); var eqBoolean = new Eq($foreign.refEq); var eq1 = function (dict) { return dict.eq1; }; var eq = function (dict) { return dict.eq; }; var eqArray = function (dictEq) { return new Eq($foreign.eqArrayImpl(eq(dictEq))); }; var eq1Array = new Eq1(function (dictEq) { return eq(eqArray(dictEq)); }); // | `notEq` tests whether one value is _not equal_ to another. Shorthand for // | `not (eq x y)`. var notEq = function (dictEq) { return function (x) { return function (y) { return eq(eqBoolean)(eq(dictEq)(x)(y))(false); }; }; }; var notEq1 = function (dictEq1) { return function (dictEq) { return function (x) { return function (y) { return eq(eqBoolean)(eq1(dictEq1)(dictEq)(x)(y))(false); }; }; }; }; exports["Eq"] = Eq; exports["Eq1"] = Eq1; exports["eq"] = eq; exports["eq1"] = eq1; exports["notEq"] = notEq; exports["notEq1"] = notEq1; exports["eqBoolean"] = eqBoolean; exports["eqInt"] = eqInt; exports["eqNumber"] = eqNumber; exports["eqChar"] = eqChar; exports["eqString"] = eqString; exports["eqUnit"] = eqUnit; exports["eqVoid"] = eqVoid; exports["eqArray"] = eqArray; exports["eq1Array"] = eq1Array; })(PS["Data.Eq"] = PS["Data.Eq"] || {}); (function(exports) { "use strict"; exports.unsafeCompareImpl = function (lt) { return function (eq) { return function (gt) { return function (x) { return function (y) { return x < y ? lt : x === y ? eq : gt; }; }; }; }; }; })(PS["Data.Ord.Unsafe"] = PS["Data.Ord.Unsafe"] || {}); (function(exports) { "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; // | The `Ordering` data type represents the three possible outcomes of // | comparing two values: // | // | `LT` - The first value is _less than_ the second. // | `GT` - The first value is _greater than_ the second. // | `EQ` - The first value is _equal to_ the second. var LT = (function () { function LT() { }; LT.value = new LT(); return LT; })(); // | The `Ordering` data type represents the three possible outcomes of // | comparing two values: // | // | `LT` - The first value is _less than_ the second. // | `GT` - The first value is _greater than_ the second. // | `EQ` - The first value is _equal to_ the second. var GT = (function () { function GT() { }; GT.value = new GT(); return GT; })(); // | The `Ordering` data type represents the three possible outcomes of // | comparing two values: // | // | `LT` - The first value is _less than_ the second. // | `GT` - The first value is _greater than_ the second. // | `EQ` - The first value is _equal to_ the second. var EQ = (function () { function EQ() { }; EQ.value = new EQ(); return EQ; })(); var showOrdering = new Data_Show.Show(function (v) { if (v instanceof LT) { return "LT"; }; if (v instanceof GT) { return "GT"; }; if (v instanceof EQ) { return "EQ"; }; throw new Error("Failed pattern match at Data.Ordering line 26, column 1 - line 26, column 39: " + [ v.constructor.name ]); }); var semigroupOrdering = new Data_Semigroup.Semigroup(function (v) { return function (v1) { if (v instanceof LT) { return LT.value; }; if (v instanceof GT) { return GT.value; }; if (v instanceof EQ) { return v1; }; throw new Error("Failed pattern match at Data.Ordering line 21, column 1 - line 21, column 49: " + [ v.constructor.name, v1.constructor.name ]); }; }); // | Reverses an `Ordering` value, flipping greater than for less than while // | preserving equality. var invert = function (v) { if (v instanceof GT) { return LT.value; }; if (v instanceof EQ) { return EQ.value; }; if (v instanceof LT) { return GT.value; }; throw new Error("Failed pattern match at Data.Ordering line 33, column 1 - line 33, column 31: " + [ v.constructor.name ]); }; var eqOrdering = new Data_Eq.Eq(function (v) { return function (v1) { if (v instanceof LT && v1 instanceof LT) { return true; }; if (v instanceof GT && v1 instanceof GT) { return true; }; if (v instanceof EQ && v1 instanceof EQ) { return true; }; return false; }; }); exports["LT"] = LT; exports["GT"] = GT; exports["EQ"] = EQ; exports["invert"] = invert; exports["eqOrdering"] = eqOrdering; exports["semigroupOrdering"] = semigroupOrdering; exports["showOrdering"] = showOrdering; })(PS["Data.Ordering"] = PS["Data.Ordering"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Ord.Unsafe"]; var Data_Ordering = PS["Data.Ordering"]; var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value); exports["unsafeCompare"] = unsafeCompare; })(PS["Data.Ord.Unsafe"] = PS["Data.Ord.Unsafe"] || {}); (function(exports) { "use strict"; exports.intSub = function (x) { return function (y) { /* jshint bitwise: false */ return x - y | 0; }; }; exports.numSub = function (n1) { return function (n2) { return n1 - n2; }; }; })(PS["Data.Ring"] = PS["Data.Ring"] || {}); (function(exports) { "use strict"; exports.intAdd = function (x) { return function (y) { /* jshint bitwise: false */ return x + y | 0; }; }; exports.intMul = function (x) { return function (y) { /* jshint bitwise: false */ return x * y | 0; }; }; exports.numAdd = function (n1) { return function (n2) { return n1 + n2; }; }; exports.numMul = function (n1) { return function (n2) { return n1 * n2; }; }; })(PS["Data.Semiring"] = PS["Data.Semiring"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Semiring"]; var Data_Unit = PS["Data.Unit"]; // | The `Semiring` class is for types that support an addition and // | multiplication operation. // | // | Instances must satisfy the following laws: // | // | - Commutative monoid under addition: // | - Associativity: `(a + b) + c = a + (b + c)` // | - Identity: `zero + a = a + zero = a` // | - Commutative: `a + b = b + a` // | - Monoid under multiplication: // | - Associativity: `(a * b) * c = a * (b * c)` // | - Identity: `one * a = a * one = a` // | - Multiplication distributes over addition: // | - Left distributivity: `a * (b + c) = (a * b) + (a * c)` // | - Right distributivity: `(a + b) * c = (a * c) + (b * c)` // | - Annihilation: `zero * a = a * zero = zero` // | // | **Note:** The `Number` and `Int` types are not fully law abiding // | members of this class hierarchy due to the potential for arithmetic // | overflows, and in the case of `Number`, the presence of `NaN` and // | `Infinity` values. The behaviour is unspecified in these cases. var Semiring = function (add, mul, one, zero) { this.add = add; this.mul = mul; this.one = one; this.zero = zero; }; var zero = function (dict) { return dict.zero; }; var semiringUnit = new Semiring(function (v) { return function (v1) { return Data_Unit.unit; }; }, function (v) { return function (v1) { return Data_Unit.unit; }; }, Data_Unit.unit, Data_Unit.unit); var semiringNumber = new Semiring($foreign.numAdd, $foreign.numMul, 1.0, 0.0); var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0); var one = function (dict) { return dict.one; }; var mul = function (dict) { return dict.mul; }; var add = function (dict) { return dict.add; }; var semiringFn = function (dictSemiring) { return new Semiring(function (f) { return function (g) { return function (x) { return add(dictSemiring)(f(x))(g(x)); }; }; }, function (f) { return function (g) { return function (x) { return mul(dictSemiring)(f(x))(g(x)); }; }; }, function (v) { return one(dictSemiring); }, function (v) { return zero(dictSemiring); }); }; exports["Semiring"] = Semiring; exports["add"] = add; exports["mul"] = mul; exports["one"] = one; exports["zero"] = zero; exports["semiringInt"] = semiringInt; exports["semiringNumber"] = semiringNumber; exports["semiringFn"] = semiringFn; exports["semiringUnit"] = semiringUnit; })(PS["Data.Semiring"] = PS["Data.Semiring"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Ring"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Unit = PS["Data.Unit"]; // | The `Ring` class is for types that support addition, multiplication, // | and subtraction operations. // | // | Instances must satisfy the following law in addition to the `Semiring` // | laws: // | // | - Additive inverse: `a - a = (zero - a) + a = zero` var Ring = function (Semiring0, sub) { this.Semiring0 = Semiring0; this.sub = sub; }; var sub = function (dict) { return dict.sub; }; var ringUnit = new Ring(function () { return Data_Semiring.semiringUnit; }, function (v) { return function (v1) { return Data_Unit.unit; }; }); var ringNumber = new Ring(function () { return Data_Semiring.semiringNumber; }, $foreign.numSub); var ringInt = new Ring(function () { return Data_Semiring.semiringInt; }, $foreign.intSub); var ringFn = function (dictRing) { return new Ring(function () { return Data_Semiring.semiringFn(dictRing.Semiring0()); }, function (f) { return function (g) { return function (x) { return sub(dictRing)(f(x))(g(x)); }; }; }); }; // | `negate x` can be used as a shorthand for `zero - x`. var negate = function (dictRing) { return function (a) { return sub(dictRing)(Data_Semiring.zero(dictRing.Semiring0()))(a); }; }; exports["Ring"] = Ring; exports["negate"] = negate; exports["sub"] = sub; exports["ringInt"] = ringInt; exports["ringNumber"] = ringNumber; exports["ringUnit"] = ringUnit; exports["ringFn"] = ringFn; })(PS["Data.Ring"] = PS["Data.Ring"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Ord"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Ord_Unsafe = PS["Data.Ord.Unsafe"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Unit = PS["Data.Unit"]; var Data_Void = PS["Data.Void"]; // | The `Ord` type class represents types which support comparisons with a // | _total order_. // | // | `Ord` instances should satisfy the laws of total orderings: // | // | - Reflexivity: `a <= a` // | - Antisymmetry: if `a <= b` and `b <= a` then `a = b` // | - Transitivity: if `a <= b` and `b <= c` then `a <= c` var Ord = function (Eq0, compare) { this.Eq0 = Eq0; this.compare = compare; }; // | The `Ord1` type class represents totally ordered type constructors. var Ord1 = function (Eq10, compare1) { this.Eq10 = Eq10; this.compare1 = compare1; }; var ordVoid = new Ord(function () { return Data_Eq.eqVoid; }, function (v) { return function (v1) { return Data_Ordering.EQ.value; }; }); var ordUnit = new Ord(function () { return Data_Eq.eqUnit; }, function (v) { return function (v1) { return Data_Ordering.EQ.value; }; }); var ordString = new Ord(function () { return Data_Eq.eqString; }, Data_Ord_Unsafe.unsafeCompare); var ordOrdering = new Ord(function () { return Data_Ordering.eqOrdering; }, function (v) { return function (v1) { if (v instanceof Data_Ordering.LT && v1 instanceof Data_Ordering.LT) { return Data_Ordering.EQ.value; }; if (v instanceof Data_Ordering.EQ && v1 instanceof Data_Ordering.EQ) { return Data_Ordering.EQ.value; }; if (v instanceof Data_Ordering.GT && v1 instanceof Data_Ordering.GT) { return Data_Ordering.EQ.value; }; if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.EQ && v1 instanceof Data_Ordering.LT) { return Data_Ordering.GT.value; }; if (v instanceof Data_Ordering.EQ && v1 instanceof Data_Ordering.GT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; throw new Error("Failed pattern match at Data.Ord line 68, column 1 - line 68, column 37: " + [ v.constructor.name, v1.constructor.name ]); }; }); var ordNumber = new Ord(function () { return Data_Eq.eqNumber; }, Data_Ord_Unsafe.unsafeCompare); var ordInt = new Ord(function () { return Data_Eq.eqInt; }, Data_Ord_Unsafe.unsafeCompare); var ordChar = new Ord(function () { return Data_Eq.eqChar; }, Data_Ord_Unsafe.unsafeCompare); var ordBoolean = new Ord(function () { return Data_Eq.eqBoolean; }, Data_Ord_Unsafe.unsafeCompare); var compare1 = function (dict) { return dict.compare1; }; var compare = function (dict) { return dict.compare; }; // | Compares two values by mapping them to a type with an `Ord` instance. var comparing = function (dictOrd) { return function (f) { return Data_Function.on(compare(dictOrd))(f); }; }; // | Test whether one value is _strictly greater than_ another. var greaterThan = function (dictOrd) { return function (a1) { return function (a2) { var v = compare(dictOrd)(a1)(a2); if (v instanceof Data_Ordering.GT) { return true; }; return false; }; }; }; // | Test whether one value is _non-strictly greater than_ another. var greaterThanOrEq = function (dictOrd) { return function (a1) { return function (a2) { var v = compare(dictOrd)(a1)(a2); if (v instanceof Data_Ordering.LT) { return false; }; return true; }; }; }; // | The sign function; always evaluates to either `one` or `negate one`. For // | any `x`, we should have `signum x * abs x == x`. var signum = function (dictOrd) { return function (dictRing) { return function (x) { var $33 = greaterThanOrEq(dictOrd)(x)(Data_Semiring.zero(dictRing.Semiring0())); if ($33) { return Data_Semiring.one(dictRing.Semiring0()); }; return Data_Ring.negate(dictRing)(Data_Semiring.one(dictRing.Semiring0())); }; }; }; // | Test whether one value is _strictly less than_ another. var lessThan = function (dictOrd) { return function (a1) { return function (a2) { var v = compare(dictOrd)(a1)(a2); if (v instanceof Data_Ordering.LT) { return true; }; return false; }; }; }; // | Test whether one value is _non-strictly less than_ another. var lessThanOrEq = function (dictOrd) { return function (a1) { return function (a2) { var v = compare(dictOrd)(a1)(a2); if (v instanceof Data_Ordering.GT) { return false; }; return true; }; }; }; // | Take the maximum of two values. If they are considered equal, the first // | argument is chosen. var max = function (dictOrd) { return function (x) { return function (y) { var v = compare(dictOrd)(x)(y); if (v instanceof Data_Ordering.LT) { return y; }; if (v instanceof Data_Ordering.EQ) { return x; }; if (v instanceof Data_Ordering.GT) { return x; }; throw new Error("Failed pattern match at Data.Ord line 123, column 3 - line 126, column 12: " + [ v.constructor.name ]); }; }; }; // | Take the minimum of two values. If they are considered equal, the first // | argument is chosen. var min = function (dictOrd) { return function (x) { return function (y) { var v = compare(dictOrd)(x)(y); if (v instanceof Data_Ordering.LT) { return x; }; if (v instanceof Data_Ordering.EQ) { return x; }; if (v instanceof Data_Ordering.GT) { return y; }; throw new Error("Failed pattern match at Data.Ord line 114, column 3 - line 117, column 12: " + [ v.constructor.name ]); }; }; }; var ordArray = function (dictOrd) { return new Ord(function () { return Data_Eq.eqArray(dictOrd.Eq0()); }, (function () { var toDelta = function (x) { return function (y) { var v = compare(dictOrd)(x)(y); if (v instanceof Data_Ordering.EQ) { return 0; }; if (v instanceof Data_Ordering.LT) { return 1; }; if (v instanceof Data_Ordering.GT) { return -1 | 0; }; throw new Error("Failed pattern match at Data.Ord line 61, column 7 - line 66, column 1: " + [ v.constructor.name ]); }; }; return function (xs) { return function (ys) { return compare(ordInt)(0)($foreign.ordArrayImpl(toDelta)(xs)(ys)); }; }; })()); }; var ord1Array = new Ord1(function () { return Data_Eq.eq1Array; }, function (dictOrd) { return compare(ordArray(dictOrd)); }); // | Clamp a value between a minimum and a maximum. For example: // | // | ``` purescript // | let f = clamp 0 10 // | f (-5) == 0 // | f 5 == 5 // | f 15 == 10 // | ``` var clamp = function (dictOrd) { return function (low) { return function (hi) { return function (x) { return min(dictOrd)(hi)(max(dictOrd)(low)(x)); }; }; }; }; // | Test whether a value is between a minimum and a maximum (inclusive). // | For example: // | // | ``` purescript // | let f = between 0 10 // | f 0 == true // | f (-5) == false // | f 5 == true // | f 10 == true // | f 15 == false // | ``` var between = function (dictOrd) { return function (low) { return function (hi) { return function (x) { if (lessThan(dictOrd)(x)(low)) { return false; }; if (greaterThan(dictOrd)(x)(hi)) { return false; }; return true; }; }; }; }; // | The absolute value function. `abs x` is defined as `if x >= zero then x // | else negate x`. var abs = function (dictOrd) { return function (dictRing) { return function (x) { var $42 = greaterThanOrEq(dictOrd)(x)(Data_Semiring.zero(dictRing.Semiring0())); if ($42) { return x; }; return Data_Ring.negate(dictRing)(x); }; }; }; exports["Ord"] = Ord; exports["Ord1"] = Ord1; exports["abs"] = abs; exports["between"] = between; exports["clamp"] = clamp; exports["compare"] = compare; exports["compare1"] = compare1; exports["comparing"] = comparing; exports["greaterThan"] = greaterThan; exports["greaterThanOrEq"] = greaterThanOrEq; exports["lessThan"] = lessThan; exports["lessThanOrEq"] = lessThanOrEq; exports["max"] = max; exports["min"] = min; exports["signum"] = signum; exports["ordBoolean"] = ordBoolean; exports["ordInt"] = ordInt; exports["ordNumber"] = ordNumber; exports["ordString"] = ordString; exports["ordChar"] = ordChar; exports["ordUnit"] = ordUnit; exports["ordVoid"] = ordVoid; exports["ordArray"] = ordArray; exports["ordOrdering"] = ordOrdering; exports["ord1Array"] = ord1Array; })(PS["Data.Ord"] = PS["Data.Ord"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Bounded"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Unit = PS["Data.Unit"]; // | The `Bounded` type class represents totally ordered types that have an // | upper and lower boundary. // | // | Instances should satisfy the following law in addition to the `Ord` laws: // | // | - Bounded: `bottom <= a <= top` var Bounded = function (Ord0, bottom, top) { this.Ord0 = Ord0; this.bottom = bottom; this.top = top; }; var top = function (dict) { return dict.top; }; var boundedUnit = new Bounded(function () { return Data_Ord.ordUnit; }, Data_Unit.unit, Data_Unit.unit); var boundedOrdering = new Bounded(function () { return Data_Ord.ordOrdering; }, Data_Ordering.LT.value, Data_Ordering.GT.value); var boundedInt = new Bounded(function () { return Data_Ord.ordInt; }, $foreign.bottomInt, $foreign.topInt); // | Characters fall within the Unicode range. var boundedChar = new Bounded(function () { return Data_Ord.ordChar; }, $foreign.bottomChar, $foreign.topChar); var boundedBoolean = new Bounded(function () { return Data_Ord.ordBoolean; }, false, true); var bottom = function (dict) { return dict.bottom; }; exports["Bounded"] = Bounded; exports["bottom"] = bottom; exports["top"] = top; exports["boundedBoolean"] = boundedBoolean; exports["boundedInt"] = boundedInt; exports["boundedChar"] = boundedChar; exports["boundedOrdering"] = boundedOrdering; exports["boundedUnit"] = boundedUnit; })(PS["Data.Bounded"] = PS["Data.Bounded"] || {}); (function(exports) { "use strict"; var Data_Ring = PS["Data.Ring"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Unit = PS["Data.Unit"]; // | The `CommutativeRing` class is for rings where multiplication is // | commutative. // | // | Instances must satisfy the following law in addition to the `Ring` // | laws: // | // | - Commutative multiplication: `a * b = b * a` var CommutativeRing = function (Ring0) { this.Ring0 = Ring0; }; var commutativeRingUnit = new CommutativeRing(function () { return Data_Ring.ringUnit; }); var commutativeRingNumber = new CommutativeRing(function () { return Data_Ring.ringNumber; }); var commutativeRingInt = new CommutativeRing(function () { return Data_Ring.ringInt; }); var commutativeRingFn = function (dictCommutativeRing) { return new CommutativeRing(function () { return Data_Ring.ringFn(dictCommutativeRing.Ring0()); }); }; exports["CommutativeRing"] = CommutativeRing; exports["commutativeRingInt"] = commutativeRingInt; exports["commutativeRingNumber"] = commutativeRingNumber; exports["commutativeRingUnit"] = commutativeRingUnit; exports["commutativeRingFn"] = commutativeRingFn; })(PS["Data.CommutativeRing"] = PS["Data.CommutativeRing"] || {}); (function(exports) { "use strict"; exports.intDegree = function (x) { return Math.min(Math.abs(x), 2147483647); }; exports.intDiv = function (x) { return function (y) { /* jshint bitwise: false */ return x / y | 0; }; }; exports.intMod = function (x) { return function (y) { return x % y; }; }; exports.numDiv = function (n1) { return function (n2) { return n1 / n2; }; }; })(PS["Data.EuclideanRing"] = PS["Data.EuclideanRing"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.EuclideanRing"]; var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; var Data_CommutativeRing = PS["Data.CommutativeRing"]; var Data_Eq = PS["Data.Eq"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Ring = PS["Data.Ring"]; var Data_Semiring = PS["Data.Semiring"]; // | The `EuclideanRing` class is for commutative rings that support division. // | The mathematical structure this class is based on is sometimes also called // | a *Euclidean domain*. // | // | Instances must satisfy the following laws in addition to the `Ring` // | laws: // | // | - Integral domain: `one /= zero`, and if `a` and `b` are both nonzero then // | so is their product `a * b` // | - Euclidean function `degree`: // | - Nonnegativity: For all nonzero `a`, `degree a >= 0` // | - Quotient/remainder: For all `a` and `b`, where `b` is nonzero, // | let `q = a / b` and ``r = a `mod` b``; then `a = q*b + r`, and also // | either `r = zero` or `degree r < degree b` // | - Submultiplicative euclidean function: // | - For all nonzero `a` and `b`, `degree a <= degree (a * b)` // | // | The behaviour of division by `zero` is unconstrained by these laws, // | meaning that individual instances are free to choose how to behave in this // | case. Similarly, there are no restrictions on what the result of // | `degree zero` is; it doesn't make sense to ask for `degree zero` in the // | same way that it doesn't make sense to divide by `zero`, so again, // | individual instances may choose how to handle this case. // | // | For any `EuclideanRing` which is also a `Field`, one valid choice // | for `degree` is simply `const 1`. In fact, unless there's a specific // | reason not to, `Field` types should normally use this definition of // | `degree`. var EuclideanRing = function (CommutativeRing0, degree, div, mod) { this.CommutativeRing0 = CommutativeRing0; this.degree = degree; this.div = div; this.mod = mod; }; var mod = function (dict) { return dict.mod; }; // | The *greatest common divisor* of two values. var gcd = function ($copy_dictEq) { return function ($copy_dictEuclideanRing) { return function ($copy_a) { return function ($copy_b) { var $tco_var_dictEq = $copy_dictEq; var $tco_var_dictEuclideanRing = $copy_dictEuclideanRing; var $tco_var_a = $copy_a; var $tco_done = false; var $tco_result; function $tco_loop(dictEq, dictEuclideanRing, a, b) { var $7 = Data_Eq.eq(dictEq)(b)(Data_Semiring.zero(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0())); if ($7) { $tco_done = true; return a; }; $tco_var_dictEq = dictEq; $tco_var_dictEuclideanRing = dictEuclideanRing; $tco_var_a = b; $copy_b = mod(dictEuclideanRing)(a)(b); return; }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_dictEq, $tco_var_dictEuclideanRing, $tco_var_a, $copy_b); }; return $tco_result; }; }; }; }; var euclideanRingNumber = new EuclideanRing(function () { return Data_CommutativeRing.commutativeRingNumber; }, function (v) { return 1; }, $foreign.numDiv, function (v) { return function (v1) { return 0.0; }; }); var euclideanRingInt = new EuclideanRing(function () { return Data_CommutativeRing.commutativeRingInt; }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod); var div = function (dict) { return dict.div; }; // | The *least common multiple* of two values. var lcm = function (dictEq) { return function (dictEuclideanRing) { return function (a) { return function (b) { var $8 = Data_Eq.eq(dictEq)(a)(Data_Semiring.zero(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0())) || Data_Eq.eq(dictEq)(b)(Data_Semiring.zero(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0())); if ($8) { return Data_Semiring.zero(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0()); }; return div(dictEuclideanRing)(Data_Semiring.mul(((dictEuclideanRing.CommutativeRing0()).Ring0()).Semiring0())(a)(b))(gcd(dictEq)(dictEuclideanRing)(a)(b)); }; }; }; }; var degree = function (dict) { return dict.degree; }; exports["EuclideanRing"] = EuclideanRing; exports["degree"] = degree; exports["div"] = div; exports["gcd"] = gcd; exports["lcm"] = lcm; exports["mod"] = mod; exports["euclideanRingInt"] = euclideanRingInt; exports["euclideanRingNumber"] = euclideanRingNumber; })(PS["Data.EuclideanRing"] = PS["Data.EuclideanRing"] || {}); (function(exports) { "use strict"; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Ring = PS["Data.Ring"]; var Data_Semiring = PS["Data.Semiring"]; // | The `DivisionRing` class is for non-zero rings in which every non-zero // | element has a multiplicative inverse. Division rings are sometimes also // | called *skew fields*. // | // | Instances must satisfy the following laws in addition to the `Ring` laws: // | // | - Non-zero ring: `one /= zero` // | - Non-zero multiplicative inverse: `recip a * a = a * recip a = one` for // | all non-zero `a` // | // | The result of `recip zero` is left undefined; individual instances may // | choose how to handle this case. // | // | If a type has both `DivisionRing` and `CommutativeRing` instances, then // | it is a field and should have a `Field` instance. var DivisionRing = function (Ring0, recip) { this.Ring0 = Ring0; this.recip = recip; }; var recip = function (dict) { return dict.recip; }; // | Right division, defined as `rightDiv a b = a * recip b`. Left and right // | division are distinct in this module because a `DivisionRing` is not // | necessarily commutative. // | // | If the type `a` is also a `EuclideanRing`, then this function is // | equivalent to `div` from the `EuclideanRing` class. When working // | abstractly, `div` should generally be preferred, unless you know that you // | need your code to work with noncommutative rings. var rightDiv = function (dictDivisionRing) { return function (a) { return function (b) { return Data_Semiring.mul((dictDivisionRing.Ring0()).Semiring0())(a)(recip(dictDivisionRing)(b)); }; }; }; // | Left division, defined as `leftDiv a b = recip b * a`. Left and right // | division are distinct in this module because a `DivisionRing` is not // | necessarily commutative. // | // | If the type `a` is also a `EuclideanRing`, then this function is // | equivalent to `div` from the `EuclideanRing` class. When working // | abstractly, `div` should generally be preferred, unless you know that you // | need your code to work with noncommutative rings. var leftDiv = function (dictDivisionRing) { return function (a) { return function (b) { return Data_Semiring.mul((dictDivisionRing.Ring0()).Semiring0())(recip(dictDivisionRing)(b))(a); }; }; }; var divisionringNumber = new DivisionRing(function () { return Data_Ring.ringNumber; }, function (x) { return 1.0 / x; }); exports["DivisionRing"] = DivisionRing; exports["leftDiv"] = leftDiv; exports["recip"] = recip; exports["rightDiv"] = rightDiv; exports["divisionringNumber"] = divisionringNumber; })(PS["Data.DivisionRing"] = PS["Data.DivisionRing"] || {}); (function(exports) { "use strict"; var Data_CommutativeRing = PS["Data.CommutativeRing"]; var Data_DivisionRing = PS["Data.DivisionRing"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Ring = PS["Data.Ring"]; var Data_Semiring = PS["Data.Semiring"]; // | The `Field` class is for types that are (commutative) fields. // | // | Instances must satisfy the following law in addition to the // | `EuclideanRing` laws: // | // | - Non-zero multiplicative inverse: ``a `mod` b = zero`` for all `a` and `b` // | // | If a type has a `Field` instance, it should also have a `DivisionRing` // | instance. In a future release, `DivisionRing` may become a superclass of // | `Field`. var Field = function (EuclideanRing0) { this.EuclideanRing0 = EuclideanRing0; }; var fieldNumber = new Field(function () { return Data_EuclideanRing.euclideanRingNumber; }); exports["Field"] = Field; exports["fieldNumber"] = fieldNumber; })(PS["Data.Field"] = PS["Data.Field"] || {}); (function(exports) { "use strict"; exports.foldrArray = function (f) { return function (init) { return function (xs) { var acc = init; var len = xs.length; for (var i = len - 1; i >= 0; i--) { acc = f(xs[i])(acc); } return acc; }; }; }; exports.foldlArray = function (f) { return function (init) { return function (xs) { var acc = init; var len = xs.length; for (var i = 0; i < len; i++) { acc = f(acc)(xs[i]); } return acc; }; }; }; })(PS["Data.Foldable"] = PS["Data.Foldable"] || {}); (function(exports) { "use strict"; exports.arrayExtend = function(f) { return function(xs) { return xs.map(function (_, i, xs) { return f(xs.slice(i)); }); }; }; })(PS["Control.Extend"] = PS["Control.Extend"] || {}); (function(exports) { "use strict"; var $foreign = PS["Control.Extend"]; var Control_Category = PS["Control.Category"]; var Data_Functor = PS["Data.Functor"]; var Data_Semigroup = PS["Data.Semigroup"]; // | The `Extend` class defines the extension operator `(<<=)` // | which extends a local context-dependent computation to // | a global computation. // | // | `Extend` is the dual of `Bind`, and `(<<=)` is the dual of // | `(>>=)`. // | // | Laws: // | // | - Associativity: `extend f <<< extend g = extend (f <<< extend g)` var Extend = function (Functor0, extend) { this.Functor0 = Functor0; this.extend = extend; }; var extendFn = function (dictSemigroup) { return new Extend(function () { return Data_Functor.functorFn; }, function (f) { return function (g) { return function (w) { return f(function (w$prime) { return g(Data_Semigroup.append(dictSemigroup)(w)(w$prime)); }); }; }; }); }; var extendArray = new Extend(function () { return Data_Functor.functorArray; }, $foreign.arrayExtend); var extend = function (dict) { return dict.extend; }; // | A version of `extend` with its arguments flipped. var extendFlipped = function (dictExtend) { return function (w) { return function (f) { return extend(dictExtend)(f)(w); }; }; }; // | Duplicate a comonadic context. // | // | `duplicate` is dual to `Control.Bind.join`. var duplicate = function (dictExtend) { return extend(dictExtend)(Control_Category.id(Control_Category.categoryFn)); }; // | Backwards co-Kleisli composition. var composeCoKleisliFlipped = function (dictExtend) { return function (f) { return function (g) { return function (w) { return f(extend(dictExtend)(g)(w)); }; }; }; }; // | Forwards co-Kleisli composition. var composeCoKleisli = function (dictExtend) { return function (f) { return function (g) { return function (w) { return g(extend(dictExtend)(f)(w)); }; }; }; }; exports["Extend"] = Extend; exports["composeCoKleisli"] = composeCoKleisli; exports["composeCoKleisliFlipped"] = composeCoKleisliFlipped; exports["duplicate"] = duplicate; exports["extend"] = extend; exports["extendFlipped"] = extendFlipped; exports["extendFn"] = extendFn; exports["extendArray"] = extendArray; })(PS["Control.Extend"] = PS["Control.Extend"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Data_Functor = PS["Data.Functor"]; var Data_Unit = PS["Data.Unit"]; // | The `Monad` type class combines the operations of the `Bind` and // | `Applicative` type classes. Therefore, `Monad` instances represent type // | constructors which support sequential composition, and also lifting of // | functions of arbitrary arity. // | // | Instances must satisfy the following laws in addition to the // | `Applicative` and `Bind` laws: // | // | - Left Identity: `pure x >>= f = f x` // | - Right Identity: `x >>= pure = x` var Monad = function (Applicative0, Bind1) { this.Applicative0 = Applicative0; this.Bind1 = Bind1; }; // | Perform a monadic action when a condition is true, where the conditional // | value is also in a monadic context. var whenM = function (dictMonad) { return function (mb) { return function (m) { return Control_Bind.bind(dictMonad.Bind1())(mb)(function (v) { return Control_Applicative.when(dictMonad.Applicative0())(v)(m); }); }; }; }; // | Perform a monadic action unless a condition is true, where the conditional // | value is also in a monadic context. var unlessM = function (dictMonad) { return function (mb) { return function (m) { return Control_Bind.bind(dictMonad.Bind1())(mb)(function (v) { return Control_Applicative.unless(dictMonad.Applicative0())(v)(m); }); }; }; }; var monadFn = new Monad(function () { return Control_Applicative.applicativeFn; }, function () { return Control_Bind.bindFn; }); var monadArray = new Monad(function () { return Control_Applicative.applicativeArray; }, function () { return Control_Bind.bindArray; }); // | `liftM1` provides a default implementation of `(<$>)` for any // | [`Monad`](#monad), without using `(<$>)` as provided by the // | [`Functor`](#functor)-[`Monad`](#monad) superclass relationship. // | // | `liftM1` can therefore be used to write [`Functor`](#functor) instances // | as follows: // | // | ```purescript // | instance functorF :: Functor F where // | map = liftM1 // | ``` var liftM1 = function (dictMonad) { return function (f) { return function (a) { return Control_Bind.bind(dictMonad.Bind1())(a)(function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(f(v)); }); }; }; }; // | `ap` provides a default implementation of `(<*>)` for any // | [`Monad`](#monad), without using `(<*>)` as provided by the // | [`Apply`](#apply)-[`Monad`](#monad) superclass relationship. // | // | `ap` can therefore be used to write [`Apply`](#apply) instances as // | follows: // | // | ```purescript // | instance applyF :: Apply F where // | apply = ap // | ``` var ap = function (dictMonad) { return function (f) { return function (a) { return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) { return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) { return Control_Applicative.pure(dictMonad.Applicative0())(v(v1)); }); }); }; }; }; exports["Monad"] = Monad; exports["ap"] = ap; exports["liftM1"] = liftM1; exports["unlessM"] = unlessM; exports["whenM"] = whenM; exports["monadFn"] = monadFn; exports["monadArray"] = monadArray; })(PS["Control.Monad"] = PS["Control.Monad"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Control_Plus = PS["Control.Plus"]; var Data_Functor = PS["Data.Functor"]; var Data_Unit = PS["Data.Unit"]; // | The `MonadZero` type class has no members of its own; it just specifies // | that the type has both `Monad` and `Alternative` instances. // | // | Types which have `MonadZero` instances should also satisfy the following // | laws: // | // | - Annihilation: `empty >>= f = empty` var MonadZero = function (Alternative1, Monad0) { this.Alternative1 = Alternative1; this.Monad0 = Monad0; }; var monadZeroArray = new MonadZero(function () { return Control_Alternative.alternativeArray; }, function () { return Control_Monad.monadArray; }); // | Fail using `Plus` if a condition does not hold, or // | succeed using `Monad` if it does. // | // | For example: // | // | ```purescript // | import Prelude // | import Control.Monad (bind) // | import Control.MonadZero (guard) // | import Data.Array ((..)) // | // | factors :: Int -> Array Int // | factors n = do // | a <- 1..n // | b <- a..n // | guard $ a * b == n // | pure [a, b] // | ``` var guard = function (dictMonadZero) { return function (v) { if (v) { return Control_Applicative.pure((dictMonadZero.Alternative1()).Applicative0())(Data_Unit.unit); }; if (!v) { return Control_Plus.empty((dictMonadZero.Alternative1()).Plus1()); }; throw new Error("Failed pattern match at Control.MonadZero line 54, column 1 - line 54, column 52: " + [ v.constructor.name ]); }; }; exports["MonadZero"] = MonadZero; exports["guard"] = guard; exports["monadZeroArray"] = monadZeroArray; })(PS["Control.MonadZero"] = PS["Control.MonadZero"] || {}); (function(exports) { "use strict"; var Data_Functor = PS["Data.Functor"]; // | A type of functor that can be used to adapt the type of a wrapped function // | where the parameterised type occurs in both the positive and negative // | position, for example, `F (a -> a)`. // | // | An `Invariant` instance should satisfy the following laws: // | // | - Identity: `imap id id = id` // | - Composition: `imap g1 g2 <<< imap f1 f2 = imap (g1 <<< f1) (f2 <<< g2)` // | var Invariant = function (imap) { this.imap = imap; }; // | As all `Functor`s are also trivially `Invariant`, this function can be // | used as the `imap` implementation for any types that has an existing // | `Functor` instance. var imapF = function (dictFunctor) { return function (f) { return function (v) { return Data_Functor.map(dictFunctor)(f); }; }; }; var invariantArray = new Invariant(imapF(Data_Functor.functorArray)); var invariantFn = new Invariant(imapF(Data_Functor.functorFn)); var imap = function (dict) { return dict.imap; }; exports["Invariant"] = Invariant; exports["imap"] = imap; exports["imapF"] = imapF; exports["invariantFn"] = invariantFn; exports["invariantArray"] = invariantArray; })(PS["Data.Functor.Invariant"] = PS["Data.Functor.Invariant"] || {}); (function(exports) { "use strict"; // | An alias for `true`, which can be useful in guard clauses: // | // | ```purescript // | max x y | x >= y = x // | | otherwise = y // | ``` var otherwise = true; exports["otherwise"] = otherwise; })(PS["Data.Boolean"] = PS["Data.Boolean"] || {}); (function(exports) { "use strict"; var Data_Boolean = PS["Data.Boolean"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Function = PS["Data.Function"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | A `Monoid` is a `Semigroup` with a value `mempty`, which is both a // | left and right unit for the associative operation `<>`: // | // | ```text // | forall x. mempty <> x = x <> mempty = x // | ``` // | // | `Monoid`s are commonly used as the result of fold operations, where // | `<>` is used to combine individual results, and `mempty` gives the result // | of folding an empty collection of elements. var Monoid = function (Semigroup0, mempty) { this.Semigroup0 = Semigroup0; this.mempty = mempty; }; var monoidUnit = new Monoid(function () { return Data_Semigroup.semigroupUnit; }, Data_Unit.unit); var monoidString = new Monoid(function () { return Data_Semigroup.semigroupString; }, ""); var monoidArray = new Monoid(function () { return Data_Semigroup.semigroupArray; }, [ ]); var mempty = function (dict) { return dict.mempty; }; var monoidFn = function (dictMonoid) { return new Monoid(function () { return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0()); }, Data_Function["const"](mempty(dictMonoid))); }; // | Append a value to itself a certain number of times. For the // | `Multiplicative` type, and for a non-negative power, this is the same as // | normal number exponentiation. // | // | If the second argument is negative this function will return `mempty` // | (*unlike* normal number exponentiation). The `Monoid` constraint alone // | is not enough to write a `power` function with the property that `power x // | n` cancels with `power x (-n)`, i.e. `power x n <> power x (-n) = mempty`. // | For that, we would additionally need the ability to invert elements, i.e. // | a Group. var power = function (dictMonoid) { return function (x) { var go = function (p) { if (p <= 0) { return mempty(dictMonoid); }; if (p === 1) { return x; }; if (p % 2 === 0) { var x$prime = go(p / 2 | 0); return Data_Semigroup.append(dictMonoid.Semigroup0())(x$prime)(x$prime); }; if (Data_Boolean.otherwise) { var x$prime = go(p / 2 | 0); return Data_Semigroup.append(dictMonoid.Semigroup0())(x$prime)(Data_Semigroup.append(dictMonoid.Semigroup0())(x$prime)(x)); }; throw new Error("Failed pattern match at Data.Monoid line 48, column 3 - line 48, column 17: " + [ p.constructor.name ]); }; return go; }; }; exports["Monoid"] = Monoid; exports["mempty"] = mempty; exports["power"] = power; exports["monoidUnit"] = monoidUnit; exports["monoidFn"] = monoidFn; exports["monoidString"] = monoidString; exports["monoidArray"] = monoidArray; })(PS["Data.Monoid"] = PS["Data.Monoid"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | The `Maybe` type is used to represent optional values and can be seen as // | something like a type-safe `null`, where `Nothing` is `null` and `Just x` // | is the non-null value `x`. var Nothing = (function () { function Nothing() { }; Nothing.value = new Nothing(); return Nothing; })(); // | The `Maybe` type is used to represent optional values and can be seen as // | something like a type-safe `null`, where `Nothing` is `null` and `Just x` // | is the non-null value `x`. var Just = (function () { function Just(value0) { this.value0 = value0; }; Just.create = function (value0) { return new Just(value0); }; return Just; })(); // | The `Show` instance allows `Maybe` values to be rendered as a string with // | `show` whenever there is an `Show` instance for the type the `Maybe` // | contains. var showMaybe = function (dictShow) { return new Data_Show.Show(function (v) { if (v instanceof Just) { return "(Just " + (Data_Show.show(dictShow)(v.value0) + ")"); }; if (v instanceof Nothing) { return "Nothing"; }; throw new Error("Failed pattern match at Data.Maybe line 207, column 1 - line 207, column 47: " + [ v.constructor.name ]); }); }; // | The `Semigroup` instance enables use of the operator `<>` on `Maybe` values // | whenever there is a `Semigroup` instance for the type the `Maybe` contains. // | The exact behaviour of `<>` depends on the "inner" `Semigroup` instance, // | but generally captures the notion of appending or combining things. // | // | ``` purescript // | Just x <> Just y = Just (x <> y) // | Just x <> Nothing = Just x // | Nothing <> Just y = Just y // | Nothing <> Nothing = Nothing // | ``` var semigroupMaybe = function (dictSemigroup) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { if (v instanceof Nothing) { return v1; }; if (v1 instanceof Nothing) { return v; }; if (v instanceof Just && v1 instanceof Just) { return new Just(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0)); }; throw new Error("Failed pattern match at Data.Maybe line 176, column 1 - line 176, column 62: " + [ v.constructor.name, v1.constructor.name ]); }; }); }; var monoidMaybe = function (dictSemigroup) { return new Data_Monoid.Monoid(function () { return semigroupMaybe(dictSemigroup); }, Nothing.value); }; // | Similar to `maybe` but for use in cases where the default value may be // | expensive to compute. As PureScript is not lazy, the standard `maybe` has // | to evaluate the default value before returning the result, whereas here // | the value is only computed when the `Maybe` is known to be `Nothing`. // | // | ``` purescript // | maybe' (\_ -> x) f Nothing == x // | maybe' (\_ -> x) f (Just y) == f y // | ``` var maybe$prime = function (v) { return function (v1) { return function (v2) { if (v2 instanceof Nothing) { return v(Data_Unit.unit); }; if (v2 instanceof Just) { return v1(v2.value0); }; throw new Error("Failed pattern match at Data.Maybe line 232, column 1 - line 232, column 62: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; // | Takes a default value, a function, and a `Maybe` value. If the `Maybe` // | value is `Nothing` the default value is returned, otherwise the function // | is applied to the value inside the `Just` and the result is returned. // | // | ``` purescript // | maybe x f Nothing == x // | maybe x f (Just y) == f y // | ``` var maybe = function (v) { return function (v1) { return function (v2) { if (v2 instanceof Nothing) { return v; }; if (v2 instanceof Just) { return v1(v2.value0); }; throw new Error("Failed pattern match at Data.Maybe line 219, column 1 - line 219, column 51: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; // | Returns `true` when the `Maybe` value is `Nothing`. var isNothing = maybe(true)(Data_Function["const"](false)); // | Returns `true` when the `Maybe` value was constructed with `Just`. var isJust = maybe(false)(Data_Function["const"](true)); // | The `Functor` instance allows functions to transform the contents of a // | `Just` with the `<$>` operator: // | // | ``` purescript // | f <$> Just x == Just (f x) // | ``` // | // | `Nothing` values are left untouched: // | // | ``` purescript // | f <$> Nothing == Nothing // | ``` var functorMaybe = new Data_Functor.Functor(function (v) { return function (v1) { if (v1 instanceof Just) { return new Just(v(v1.value0)); }; return Nothing.value; }; }); var invariantMaybe = new Data_Functor_Invariant.Invariant(Data_Functor_Invariant.imapF(functorMaybe)); // | Similar to `fromMaybe` but for use in cases where the default value may be // | expensive to compute. As PureScript is not lazy, the standard `fromMaybe` // | has to evaluate the default value before returning the result, whereas here // | the value is only computed when the `Maybe` is known to be `Nothing`. // | // | ``` purescript // | fromMaybe' (\_ -> x) Nothing == x // | fromMaybe' (\_ -> x) (Just y) == y // | ``` var fromMaybe$prime = function (a) { return maybe$prime(a)(Control_Category.id(Control_Category.categoryFn)); }; // | Takes a default value, and a `Maybe` value. If the `Maybe` value is // | `Nothing` the default value is returned, otherwise the value inside the // | `Just` is returned. // | // | ``` purescript // | fromMaybe x Nothing == x // | fromMaybe x (Just y) == y // | ``` var fromMaybe = function (a) { return maybe(a)(Control_Category.id(Control_Category.categoryFn)); }; // | A partial function that extracts the value from the `Just` data // | constructor. Passing `Nothing` to `fromJust` will throw an error at // | runtime. var fromJust = function (dictPartial) { return function (v) { var __unused = function (dictPartial1) { return function ($dollar34) { return $dollar34; }; }; return __unused(dictPartial)((function () { if (v instanceof Just) { return v.value0; }; throw new Error("Failed pattern match at Data.Maybe line 270, column 1 - line 270, column 46: " + [ v.constructor.name ]); })()); }; }; // | The `Extend` instance allows sequencing of `Maybe` values and functions // | that accept a `Maybe a` and return a non-`Maybe` result using the // | `<<=` operator. // | // | ``` purescript // | f <<= Nothing = Nothing // | f <<= Just x = Just (f x) // | ``` var extendMaybe = new Control_Extend.Extend(function () { return functorMaybe; }, function (v) { return function (v1) { if (v1 instanceof Nothing) { return Nothing.value; }; return new Just(v(v1)); }; }); var eqMaybe = function (dictEq) { return new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof Nothing && y instanceof Nothing) { return true; }; if (x instanceof Just && y instanceof Just) { return Data_Eq.eq(dictEq)(x.value0)(y.value0); }; return false; }; }); }; var ordMaybe = function (dictOrd) { return new Data_Ord.Ord(function () { return eqMaybe(dictOrd.Eq0()); }, function (x) { return function (y) { if (x instanceof Nothing && y instanceof Nothing) { return Data_Ordering.EQ.value; }; if (x instanceof Nothing) { return Data_Ordering.LT.value; }; if (y instanceof Nothing) { return Data_Ordering.GT.value; }; if (x instanceof Just && y instanceof Just) { return Data_Ord.compare(dictOrd)(x.value0)(y.value0); }; throw new Error("Failed pattern match at Data.Maybe line 196, column 8 - line 196, column 51: " + [ x.constructor.name, y.constructor.name ]); }; }); }; var eq1Maybe = new Data_Eq.Eq1(function (dictEq) { return Data_Eq.eq(eqMaybe(dictEq)); }); var ord1Maybe = new Data_Ord.Ord1(function () { return eq1Maybe; }, function (dictOrd) { return Data_Ord.compare(ordMaybe(dictOrd)); }); var boundedMaybe = function (dictBounded) { return new Data_Bounded.Bounded(function () { return ordMaybe(dictBounded.Ord0()); }, Nothing.value, new Just(Data_Bounded.top(dictBounded))); }; // | The `Apply` instance allows functions contained within a `Just` to // | transform a value contained within a `Just` using the `apply` operator: // | // | ``` purescript // | Just f <*> Just x == Just (f x) // | ``` // | // | `Nothing` values are left untouched: // | // | ``` purescript // | Just f <*> Nothing == Nothing // | Nothing <*> Just x == Nothing // | ``` // | // | Combining `Functor`'s `<$>` with `Apply`'s `<*>` can be used transform a // | pure function to take `Maybe`-typed arguments so `f :: a -> b -> c` // | becomes `f :: Maybe a -> Maybe b -> Maybe c`: // | // | ``` purescript // | f <$> Just x <*> Just y == Just (f x y) // | ``` // | // | The `Nothing`-preserving behaviour of both operators means the result of // | an expression like the above but where any one of the values is `Nothing` // | means the whole result becomes `Nothing` also: // | // | ``` purescript // | f <$> Nothing <*> Just y == Nothing // | f <$> Just x <*> Nothing == Nothing // | f <$> Nothing <*> Nothing == Nothing // | ``` var applyMaybe = new Control_Apply.Apply(function () { return functorMaybe; }, function (v) { return function (v1) { if (v instanceof Just) { return Data_Functor.map(functorMaybe)(v.value0)(v1); }; if (v instanceof Nothing) { return Nothing.value; }; throw new Error("Failed pattern match at Data.Maybe line 68, column 1 - line 68, column 35: " + [ v.constructor.name, v1.constructor.name ]); }; }); // | The `Bind` instance allows sequencing of `Maybe` values and functions that // | return a `Maybe` by using the `>>=` operator: // | // | ``` purescript // | Just x >>= f = f x // | Nothing >>= f = Nothing // | ``` var bindMaybe = new Control_Bind.Bind(function () { return applyMaybe; }, function (v) { return function (v1) { if (v instanceof Just) { return v1(v.value0); }; if (v instanceof Nothing) { return Nothing.value; }; throw new Error("Failed pattern match at Data.Maybe line 127, column 1 - line 127, column 33: " + [ v.constructor.name, v1.constructor.name ]); }; }); // | The `Applicative` instance enables lifting of values into `Maybe` with the // | `pure` or `return` function (`return` is an alias for `pure`): // | // | ``` purescript // | pure x :: Maybe _ == Just x // | return x :: Maybe _ == Just x // | ``` // | // | Combining `Functor`'s `<$>` with `Apply`'s `<*>` and `Applicative`'s // | `pure` can be used to pass a mixture of `Maybe` and non-`Maybe` typed // | values to a function that does not usually expect them, by using `pure` // | for any value that is not already `Maybe` typed: // | // | ``` purescript // | f <$> Just x <*> pure y == Just (f x y) // | ``` // | // | Even though `pure = Just` it is recommended to use `pure` in situations // | like this as it allows the choice of `Applicative` to be changed later // | without having to go through and replace `Just` with a new constructor. var applicativeMaybe = new Control_Applicative.Applicative(function () { return applyMaybe; }, Just.create); // | The `Monad` instance guarantees that there are both `Applicative` and // | `Bind` instances for `Maybe`. This also enables the `do` syntactic sugar: // | // | ``` purescript // | do // | x' <- x // | y' <- y // | pure (f x' y') // | ``` // | // | Which is equivalent to: // | // | ``` purescript // | x >>= (\x' -> y >>= (\y' -> pure (f x' y'))) // | ``` var monadMaybe = new Control_Monad.Monad(function () { return applicativeMaybe; }, function () { return bindMaybe; }); // | The `Alt` instance allows for a choice to be made between two `Maybe` // | values with the `<|>` operator, where the first `Just` encountered // | is taken. // | // | ``` purescript // | Just x <|> Just y == Just x // | Nothing <|> Just y == Just y // | Nothing <|> Nothing == Nothing // | ``` var altMaybe = new Control_Alt.Alt(function () { return functorMaybe; }, function (v) { return function (v1) { if (v instanceof Nothing) { return v1; }; return v; }; }); // | The `Plus` instance provides a default `Maybe` value: // | // | ``` purescript // | empty :: Maybe _ == Nothing // | ``` var plusMaybe = new Control_Plus.Plus(function () { return altMaybe; }, Nothing.value); // | The `Alternative` instance guarantees that there are both `Applicative` and // | `Plus` instances for `Maybe`. var alternativeMaybe = new Control_Alternative.Alternative(function () { return applicativeMaybe; }, function () { return plusMaybe; }); var monadZeroMaybe = new Control_MonadZero.MonadZero(function () { return alternativeMaybe; }, function () { return monadMaybe; }); exports["Nothing"] = Nothing; exports["Just"] = Just; exports["fromJust"] = fromJust; exports["fromMaybe"] = fromMaybe; exports["fromMaybe'"] = fromMaybe$prime; exports["isJust"] = isJust; exports["isNothing"] = isNothing; exports["maybe"] = maybe; exports["maybe'"] = maybe$prime; exports["functorMaybe"] = functorMaybe; exports["applyMaybe"] = applyMaybe; exports["applicativeMaybe"] = applicativeMaybe; exports["altMaybe"] = altMaybe; exports["plusMaybe"] = plusMaybe; exports["alternativeMaybe"] = alternativeMaybe; exports["bindMaybe"] = bindMaybe; exports["monadMaybe"] = monadMaybe; exports["monadZeroMaybe"] = monadZeroMaybe; exports["extendMaybe"] = extendMaybe; exports["invariantMaybe"] = invariantMaybe; exports["semigroupMaybe"] = semigroupMaybe; exports["monoidMaybe"] = monoidMaybe; exports["eqMaybe"] = eqMaybe; exports["eq1Maybe"] = eq1Maybe; exports["ordMaybe"] = ordMaybe; exports["ord1Maybe"] = ord1Maybe; exports["boundedMaybe"] = boundedMaybe; exports["showMaybe"] = showMaybe; })(PS["Data.Maybe"] = PS["Data.Maybe"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Prelude = PS["Prelude"]; // | A type class for `newtype`s to enable convenient wrapping and unwrapping, // | and the use of the other functions in this module. // | // | The compiler can derive instances of `Newtype` automatically: // | // | ``` purescript // | newtype EmailAddress = EmailAddress String // | // | derive instance newtypeEmailAddress :: Newtype EmailAddress _ // | ``` // | // | Note that deriving for `Newtype` instances requires that the type be // | defined as `newtype` rather than `data` declaration (even if the `data` // | structurally fits the rules of a `newtype`), and the use of a wildcard for // | the wrapped type. // | // | Instances must obey the following laws: // | ``` purescript // | unwrap <<< wrap = id // | wrap <<< unwrap = id // | ``` var Newtype = function (unwrap, wrap) { this.unwrap = unwrap; this.wrap = wrap; }; var wrap = function (dict) { return dict.wrap; }; var unwrap = function (dict) { return dict.unwrap; }; // | Much like `under2`, but where the lifted binary function operates on // | values in a `Functor`. var underF2 = function (dictFunctor) { return function (dictFunctor1) { return function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return function ($50) { return function ($51) { return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(Data_Function.on(f)(Data_Functor.map(dictFunctor)(wrap(dictNewtype)))($50)($51)); }; }; }; }; }; }; }; }; // | Much like `under`, but where the lifted function operates on values in a // | `Functor`: // | // | ``` purescript // | newtype EmailAddress = EmailAddress String // | derive instance newtypeEmailAddress :: Newtype EmailAddress _ // | // | isValid :: EmailAddress -> Boolean // | isValid x = false -- imagine a slightly less strict predicate here // | // | findValidEmailString :: Array String -> Maybe String // | findValidEmailString = underF EmailAddress (Foldable.find isValid) // | ``` // | // | The above example also demonstrates that the functor type is polymorphic // | here too, the input is an `Array` but the result is a `Maybe`. var underF = function (dictFunctor) { return function (dictFunctor1) { return function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return function ($52) { return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($52))); }; }; }; }; }; }; }; // | The opposite of `over2`: lowers a binary function that operates on `Newtype`d // | values to operate on the wrapped value instead. var under2 = function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return function ($53) { return function ($54) { return unwrap(dictNewtype1)(Data_Function.on(f)(wrap(dictNewtype))($53)($54)); }; }; }; }; }; }; // | The opposite of `over`: lowers a function that operates on `Newtype`d // | values to operate on the wrapped value instead. // | // | ``` purescript // | newtype Degrees = Degrees Number // | derive instance newtypeDegrees :: Newtype Degrees _ // | // | newtype NormalDegrees = NormalDegrees Number // | derive instance newtypeNormalDegrees :: Newtype NormalDegrees _ // | // | normaliseDegrees :: Degrees -> NormalDegrees // | normaliseDegrees (Degrees deg) = NormalDegrees (deg % 360.0) // | // | asNormalDegrees :: Number -> Number // | asNormalDegrees = under Degrees normaliseDegrees // | ``` // | // | As with `over` the `Newtype` is polymorphic, as illustrated in the example // | above - both `Degrees` and `NormalDegrees` are instances of `Newtype`, // | so even though `normaliseDegrees` changes the result type we can still put // | a `Number` in and get a `Number` out via `under`. var under = function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return function ($55) { return unwrap(dictNewtype1)(f(wrap(dictNewtype)($55))); }; }; }; }; }; // | Given a constructor for a `Newtype`, this returns the appropriate `unwrap` // | function. var un = function (dictNewtype) { return function (v) { return unwrap(dictNewtype); }; }; // | Similar to the function from the `Traversable` class, but operating within // | a newtype instead. var traverse = function (dictFunctor) { return function (dictNewtype) { return function (v) { return function (f) { return function ($56) { return Data_Functor.map(dictFunctor)(wrap(dictNewtype))(f(unwrap(dictNewtype)($56))); }; }; }; }; }; // | Much like `over2`, but where the lifted binary function operates on // | values in a `Functor`. var overF2 = function (dictFunctor) { return function (dictFunctor1) { return function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return function ($57) { return function ($58) { return Data_Functor.map(dictFunctor1)(wrap(dictNewtype1))(Data_Function.on(f)(Data_Functor.map(dictFunctor)(unwrap(dictNewtype)))($57)($58)); }; }; }; }; }; }; }; }; // | Much like `over`, but where the lifted function operates on values in a // | `Functor`: // | // | ``` purescript // | findLabel :: String -> Array Label -> Maybe Label // | findLabel s = overF Label (Foldable.find (_ == s)) // | ``` // | // | The above example also demonstrates that the functor type is polymorphic // | here too, the input is an `Array` but the result is a `Maybe`. var overF = function (dictFunctor) { return function (dictFunctor1) { return function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return function ($59) { return Data_Functor.map(dictFunctor1)(wrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(unwrap(dictNewtype))($59))); }; }; }; }; }; }; }; // | Lifts a binary function to operate over newtypes. // | // | ``` purescript // | newtype Meter = Meter Int // | derive newtype instance newtypeMeter :: Newtype Meter _ // | newtype SquareMeter = SquareMeter Int // | derive newtype instance newtypeSquareMeter :: Newtype SquareMeter _ // | // | area :: Meter -> Meter -> SquareMeter // | area = over2 Meter (*) // | ``` // | // | The above example also demonstrates that the return type is polymorphic // | here too. var over2 = function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return function ($60) { return function ($61) { return wrap(dictNewtype1)(Data_Function.on(f)(unwrap(dictNewtype))($60)($61)); }; }; }; }; }; }; // | Lifts a function operate over newtypes. This can be used to lift a // | function to manipulate the contents of a single newtype, somewhat like // | `map` does for a `Functor`: // | // | ``` purescript // | newtype Label = Label String // | derive instance newtypeLabel :: Newtype Label _ // | // | toUpperLabel :: Label -> Label // | toUpperLabel = over Label String.toUpper // | ``` // | // | But the result newtype is polymorphic, meaning the result can be returned // | as an alternative newtype: // | // | ``` purescript // | newtype UppercaseLabel = UppercaseLabel String // | derive instance newtypeUppercaseLabel :: Newtype UppercaseLabel _ // | // | toUpperLabel' :: Label -> UppercaseLabel // | toUpperLabel' = over Label String.toUpper // | ``` var over = function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return function ($62) { return wrap(dictNewtype1)(f(unwrap(dictNewtype)($62))); }; }; }; }; }; // | Deprecated previous name of `un`. var op = function (dictNewtype) { return un(dictNewtype); }; // | Similar to the function from the `Distributive` class, but operating within // | a newtype instead. var collect = function (dictFunctor) { return function (dictNewtype) { return function (v) { return function (f) { return function ($63) { return wrap(dictNewtype)(f(Data_Functor.map(dictFunctor)(unwrap(dictNewtype))($63))); }; }; }; }; }; // | Similar to `ala` but useful for cases where you want to use an additional // | projection with the higher order function: // | // | ``` purescript // | alaF Additive foldMap String.length ["hello", "world"] -- 10 // | alaF Multiplicative foldMap Math.abs [1.0, -2.0, 3.0, -4.0] -- 24.0 // | ``` // | // | The type admits other possibilities due to the polymorphic `Functor` // | constraints, but the case described above works because ((->) a) is a // | `Functor`. var alaF = function (dictFunctor) { return function (dictFunctor1) { return function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return function ($64) { return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($64))); }; }; }; }; }; }; }; // | This combinator is for when you have a higher order function that you want // | to use in the context of some newtype - `foldMap` being a common example: // | // | ``` purescript // | ala Additive foldMap [1,2,3,4] -- 10 // | ala Multiplicative foldMap [1,2,3,4] -- 24 // | ala Conj foldMap [true, false] -- false // | ala Disj foldMap [true, false] -- true // | ``` var ala = function (dictFunctor) { return function (dictNewtype) { return function (dictNewtype1) { return function (v) { return function (f) { return Data_Functor.map(dictFunctor)(unwrap(dictNewtype))(f(wrap(dictNewtype1))); }; }; }; }; }; exports["Newtype"] = Newtype; exports["ala"] = ala; exports["alaF"] = alaF; exports["collect"] = collect; exports["op"] = op; exports["over"] = over; exports["over2"] = over2; exports["overF"] = overF; exports["overF2"] = overF2; exports["traverse"] = traverse; exports["un"] = un; exports["under"] = under; exports["under2"] = under2; exports["underF"] = underF; exports["underF2"] = underF2; exports["unwrap"] = unwrap; exports["wrap"] = wrap; })(PS["Data.Newtype"] = PS["Data.Newtype"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Monoid returning the first (left-most) non-`Nothing` value. // | // | ``` purescript // | First (Just x) <> First (Just y) == First (Just x) // | First Nothing <> First (Just y) == First (Just y) // | First Nothing <> Nothing == First Nothing // | mempty :: First _ == First Nothing // | ``` var First = function (x) { return x; }; var showFirst = function (dictShow) { return new Data_Show.Show(function (v) { return "First (" + (Data_Show.show(Data_Maybe.showMaybe(dictShow))(v) + ")"); }); }; var semigroupFirst = new Data_Semigroup.Semigroup(function (v) { return function (v1) { if (v instanceof Data_Maybe.Just) { return v; }; return v1; }; }); var ordFirst = function (dictOrd) { return Data_Maybe.ordMaybe(dictOrd); }; var ord1First = Data_Maybe.ord1Maybe; var newtypeFirst = new Data_Newtype.Newtype(function (n) { return n; }, First); var monoidFirst = new Data_Monoid.Monoid(function () { return semigroupFirst; }, Data_Maybe.Nothing.value); var monadFirst = Data_Maybe.monadMaybe; var invariantFirst = Data_Maybe.invariantMaybe; var functorFirst = Data_Maybe.functorMaybe; var extendFirst = Data_Maybe.extendMaybe; var eqFirst = function (dictEq) { return Data_Maybe.eqMaybe(dictEq); }; var eq1First = Data_Maybe.eq1Maybe; var boundedFirst = function (dictBounded) { return Data_Maybe.boundedMaybe(dictBounded); }; var bindFirst = Data_Maybe.bindMaybe; var applyFirst = Data_Maybe.applyMaybe; var applicativeFirst = Data_Maybe.applicativeMaybe; exports["First"] = First; exports["newtypeFirst"] = newtypeFirst; exports["eqFirst"] = eqFirst; exports["eq1First"] = eq1First; exports["ordFirst"] = ordFirst; exports["ord1First"] = ord1First; exports["boundedFirst"] = boundedFirst; exports["functorFirst"] = functorFirst; exports["invariantFirst"] = invariantFirst; exports["applyFirst"] = applyFirst; exports["applicativeFirst"] = applicativeFirst; exports["bindFirst"] = bindFirst; exports["monadFirst"] = monadFirst; exports["extendFirst"] = extendFirst; exports["showFirst"] = showFirst; exports["semigroupFirst"] = semigroupFirst; exports["monoidFirst"] = monoidFirst; })(PS["Data.Maybe.First"] = PS["Data.Maybe.First"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Monoid returning the last (right-most) non-`Nothing` value. // | // | ``` purescript // | Last (Just x) <> Last (Just y) == Last (Just y) // | Last (Just x) <> Nothing == Last (Just x) // | Last Nothing <> Nothing == Last Nothing // | mempty :: Last _ == Last Nothing // | ``` var Last = function (x) { return x; }; var showLast = function (dictShow) { return new Data_Show.Show(function (v) { return "(Last " + (Data_Show.show(Data_Maybe.showMaybe(dictShow))(v) + ")"); }); }; var semigroupLast = new Data_Semigroup.Semigroup(function (v) { return function (v1) { if (v1 instanceof Data_Maybe.Just) { return v1; }; if (v1 instanceof Data_Maybe.Nothing) { return v; }; throw new Error("Failed pattern match at Data.Maybe.Last line 53, column 1 - line 53, column 45: " + [ v.constructor.name, v1.constructor.name ]); }; }); var ordLast = function (dictOrd) { return Data_Maybe.ordMaybe(dictOrd); }; var ord1Last = Data_Maybe.ord1Maybe; var newtypeLast = new Data_Newtype.Newtype(function (n) { return n; }, Last); var monoidLast = new Data_Monoid.Monoid(function () { return semigroupLast; }, Data_Maybe.Nothing.value); var monadLast = Data_Maybe.monadMaybe; var invariantLast = Data_Maybe.invariantMaybe; var functorLast = Data_Maybe.functorMaybe; var extendLast = Data_Maybe.extendMaybe; var eqLast = function (dictEq) { return Data_Maybe.eqMaybe(dictEq); }; var eq1Last = Data_Maybe.eq1Maybe; var boundedLast = function (dictBounded) { return Data_Maybe.boundedMaybe(dictBounded); }; var bindLast = Data_Maybe.bindMaybe; var applyLast = Data_Maybe.applyMaybe; var applicativeLast = Data_Maybe.applicativeMaybe; exports["Last"] = Last; exports["newtypeLast"] = newtypeLast; exports["eqLast"] = eqLast; exports["eq1Last"] = eq1Last; exports["ordLast"] = ordLast; exports["ord1Last"] = ord1Last; exports["boundedLast"] = boundedLast; exports["functorLast"] = functorLast; exports["invariantLast"] = invariantLast; exports["applyLast"] = applyLast; exports["applicativeLast"] = applicativeLast; exports["bindLast"] = bindLast; exports["monadLast"] = monadLast; exports["extendLast"] = extendLast; exports["showLast"] = showLast; exports["semigroupLast"] = semigroupLast; exports["monoidLast"] = monoidLast; })(PS["Data.Maybe.Last"] = PS["Data.Maybe.Last"] || {}); (function(exports) { "use strict"; var Control_Extend = PS["Control.Extend"]; var Data_Functor = PS["Data.Functor"]; // | `Comonad` extends the `Extend` class with the `extract` function // | which extracts a value, discarding the comonadic context. // | // | `Comonad` is the dual of `Monad`, and `extract` is the dual of `pure`. // | // | Laws: // | // | - Left Identity: `extract <<= xs = xs` // | - Right Identity: `extract (f <<= xs) = f xs` var Comonad = function (Extend0, extract) { this.Extend0 = Extend0; this.extract = extract; }; var extract = function (dict) { return dict.extract; }; exports["Comonad"] = Comonad; exports["extract"] = extract; })(PS["Control.Comonad"] = PS["Control.Comonad"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Monoid and semigroup for semirings under addition. // | // | ``` purescript // | Additive x <> Additive y == Additive (x + y) // | mempty :: Additive _ == Additive zero // | ``` var Additive = function (x) { return x; }; var showAdditive = function (dictShow) { return new Data_Show.Show(function (v) { return "(Additive " + (Data_Show.show(dictShow)(v) + ")"); }); }; var semigroupAdditive = function (dictSemiring) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Data_Semiring.add(dictSemiring)(v)(v1); }; }); }; var ordAdditive = function (dictOrd) { return dictOrd; }; var newtypeAdditive = new Data_Newtype.Newtype(function (n) { return n; }, Additive); var monoidAdditive = function (dictSemiring) { return new Data_Monoid.Monoid(function () { return semigroupAdditive(dictSemiring); }, Data_Semiring.zero(dictSemiring)); }; var invariantAdditive = new Data_Functor_Invariant.Invariant(function (f) { return function (v) { return function (v1) { return f(v1); }; }; }); var functorAdditive = new Data_Functor.Functor(function (f) { return function (v) { return f(v); }; }); var extendAdditive = new Control_Extend.Extend(function () { return functorAdditive; }, function (f) { return function (x) { return f(x); }; }); var eqAdditive = function (dictEq) { return dictEq; }; var comonadAdditive = new Control_Comonad.Comonad(function () { return extendAdditive; }, Data_Newtype.unwrap(newtypeAdditive)); var boundedAdditive = function (dictBounded) { return dictBounded; }; var applyAdditive = new Control_Apply.Apply(function () { return functorAdditive; }, function (v) { return function (v1) { return v(v1); }; }); var bindAdditive = new Control_Bind.Bind(function () { return applyAdditive; }, function (v) { return function (f) { return f(v); }; }); var applicativeAdditive = new Control_Applicative.Applicative(function () { return applyAdditive; }, Additive); var monadAdditive = new Control_Monad.Monad(function () { return applicativeAdditive; }, function () { return bindAdditive; }); exports["Additive"] = Additive; exports["newtypeAdditive"] = newtypeAdditive; exports["eqAdditive"] = eqAdditive; exports["ordAdditive"] = ordAdditive; exports["boundedAdditive"] = boundedAdditive; exports["functorAdditive"] = functorAdditive; exports["invariantAdditive"] = invariantAdditive; exports["applyAdditive"] = applyAdditive; exports["applicativeAdditive"] = applicativeAdditive; exports["bindAdditive"] = bindAdditive; exports["monadAdditive"] = monadAdditive; exports["extendAdditive"] = extendAdditive; exports["comonadAdditive"] = comonadAdditive; exports["showAdditive"] = showAdditive; exports["semigroupAdditive"] = semigroupAdditive; exports["monoidAdditive"] = monoidAdditive; })(PS["Data.Monoid.Additive"] = PS["Data.Monoid.Additive"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Monoid under conjuntion. // | // | ``` purescript // | Conj x <> Conj y == Conj (x && y) // | mempty :: Conj _ == Conj top // | ``` var Conj = function (x) { return x; }; var showConj = function (dictShow) { return new Data_Show.Show(function (v) { return "(Conj " + (Data_Show.show(dictShow)(v) + ")"); }); }; var semiringConj = function (dictHeytingAlgebra) { return new Data_Semiring.Semiring(function (v) { return function (v1) { return Data_HeytingAlgebra.conj(dictHeytingAlgebra)(v)(v1); }; }, function (v) { return function (v1) { return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1); }; }, Data_HeytingAlgebra.ff(dictHeytingAlgebra), Data_HeytingAlgebra.tt(dictHeytingAlgebra)); }; var semigroupConj = function (dictHeytingAlgebra) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Data_HeytingAlgebra.conj(dictHeytingAlgebra)(v)(v1); }; }); }; var ordConj = function (dictOrd) { return dictOrd; }; var newtypeConj = new Data_Newtype.Newtype(function (n) { return n; }, Conj); var monoidConj = function (dictHeytingAlgebra) { return new Data_Monoid.Monoid(function () { return semigroupConj(dictHeytingAlgebra); }, Data_HeytingAlgebra.tt(dictHeytingAlgebra)); }; var invariantConj = new Data_Functor_Invariant.Invariant(function (f) { return function (v) { return function (v1) { return f(v1); }; }; }); var functorConj = new Data_Functor.Functor(function (f) { return function (v) { return f(v); }; }); var extendConj = new Control_Extend.Extend(function () { return functorConj; }, function (f) { return function (x) { return f(x); }; }); var eqConj = function (dictEq) { return dictEq; }; var comonadConj = new Control_Comonad.Comonad(function () { return extendConj; }, Data_Newtype.unwrap(newtypeConj)); var boundedConj = function (dictBounded) { return dictBounded; }; var applyConj = new Control_Apply.Apply(function () { return functorConj; }, function (v) { return function (v1) { return v(v1); }; }); var bindConj = new Control_Bind.Bind(function () { return applyConj; }, function (v) { return function (f) { return f(v); }; }); var applicativeConj = new Control_Applicative.Applicative(function () { return applyConj; }, Conj); var monadConj = new Control_Monad.Monad(function () { return applicativeConj; }, function () { return bindConj; }); exports["Conj"] = Conj; exports["newtypeConj"] = newtypeConj; exports["eqConj"] = eqConj; exports["ordConj"] = ordConj; exports["boundedConj"] = boundedConj; exports["functorConj"] = functorConj; exports["invariantConj"] = invariantConj; exports["applyConj"] = applyConj; exports["applicativeConj"] = applicativeConj; exports["bindConj"] = bindConj; exports["monadConj"] = monadConj; exports["extendConj"] = extendConj; exports["comonadConj"] = comonadConj; exports["showConj"] = showConj; exports["semigroupConj"] = semigroupConj; exports["monoidConj"] = monoidConj; exports["semiringConj"] = semiringConj; })(PS["Data.Monoid.Conj"] = PS["Data.Monoid.Conj"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Monoid under disjuntion. // | // | ``` purescript // | Disj x <> Disj y == Disj (x || y) // | mempty :: Disj _ == Disj bottom // | ``` var Disj = function (x) { return x; }; var showDisj = function (dictShow) { return new Data_Show.Show(function (v) { return "(Disj " + (Data_Show.show(dictShow)(v) + ")"); }); }; var semiringDisj = function (dictHeytingAlgebra) { return new Data_Semiring.Semiring(function (v) { return function (v1) { return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1); }; }, function (v) { return function (v1) { return Data_HeytingAlgebra.conj(dictHeytingAlgebra)(v)(v1); }; }, Data_HeytingAlgebra.tt(dictHeytingAlgebra), Data_HeytingAlgebra.ff(dictHeytingAlgebra)); }; var semigroupDisj = function (dictHeytingAlgebra) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1); }; }); }; var ordDisj = function (dictOrd) { return dictOrd; }; var newtypeDisj = new Data_Newtype.Newtype(function (n) { return n; }, Disj); var monoidDisj = function (dictHeytingAlgebra) { return new Data_Monoid.Monoid(function () { return semigroupDisj(dictHeytingAlgebra); }, Data_HeytingAlgebra.ff(dictHeytingAlgebra)); }; var invariantDisj = new Data_Functor_Invariant.Invariant(function (f) { return function (v) { return function (v1) { return f(v1); }; }; }); var functorDisj = new Data_Functor.Functor(function (f) { return function (v) { return f(v); }; }); var extendDisj = new Control_Extend.Extend(function () { return functorDisj; }, function (f) { return function (x) { return f(x); }; }); var eqDisj = function (dictEq) { return dictEq; }; var comonadDisj = new Control_Comonad.Comonad(function () { return extendDisj; }, Data_Newtype.unwrap(newtypeDisj)); var boundedDisj = function (dictBounded) { return dictBounded; }; var applyDisj = new Control_Apply.Apply(function () { return functorDisj; }, function (v) { return function (v1) { return v(v1); }; }); var bindDisj = new Control_Bind.Bind(function () { return applyDisj; }, function (v) { return function (f) { return f(v); }; }); var applicativeDisj = new Control_Applicative.Applicative(function () { return applyDisj; }, Disj); var monadDisj = new Control_Monad.Monad(function () { return applicativeDisj; }, function () { return bindDisj; }); exports["Disj"] = Disj; exports["newtypeDisj"] = newtypeDisj; exports["eqDisj"] = eqDisj; exports["ordDisj"] = ordDisj; exports["boundedDisj"] = boundedDisj; exports["functorDisj"] = functorDisj; exports["invariantDisj"] = invariantDisj; exports["applyDisj"] = applyDisj; exports["applicativeDisj"] = applicativeDisj; exports["bindDisj"] = bindDisj; exports["monadDisj"] = monadDisj; exports["extendDisj"] = extendDisj; exports["comonadDisj"] = comonadDisj; exports["showDisj"] = showDisj; exports["semigroupDisj"] = semigroupDisj; exports["monoidDisj"] = monoidDisj; exports["semiringDisj"] = semiringDisj; })(PS["Data.Monoid.Disj"] = PS["Data.Monoid.Disj"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | The dual of a monoid. // | // | ``` purescript // | Dual x <> Dual y == Dual (y <> x) // | mempty :: Dual _ == Dual mempty // | ``` var Dual = function (x) { return x; }; var showDual = function (dictShow) { return new Data_Show.Show(function (v) { return "(Dual " + (Data_Show.show(dictShow)(v) + ")"); }); }; var semigroupDual = function (dictSemigroup) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Data_Semigroup.append(dictSemigroup)(v1)(v); }; }); }; var ordDual = function (dictOrd) { return dictOrd; }; var newtypeDual = new Data_Newtype.Newtype(function (n) { return n; }, Dual); var monoidDual = function (dictMonoid) { return new Data_Monoid.Monoid(function () { return semigroupDual(dictMonoid.Semigroup0()); }, Data_Monoid.mempty(dictMonoid)); }; var invariantDual = new Data_Functor_Invariant.Invariant(function (f) { return function (v) { return function (v1) { return f(v1); }; }; }); var functorDual = new Data_Functor.Functor(function (f) { return function (v) { return f(v); }; }); var extendDual = new Control_Extend.Extend(function () { return functorDual; }, function (f) { return function (x) { return f(x); }; }); var eqDual = function (dictEq) { return dictEq; }; var comonadDual = new Control_Comonad.Comonad(function () { return extendDual; }, Data_Newtype.unwrap(newtypeDual)); var boundedDual = function (dictBounded) { return dictBounded; }; var applyDual = new Control_Apply.Apply(function () { return functorDual; }, function (v) { return function (v1) { return v(v1); }; }); var bindDual = new Control_Bind.Bind(function () { return applyDual; }, function (v) { return function (f) { return f(v); }; }); var applicativeDual = new Control_Applicative.Applicative(function () { return applyDual; }, Dual); var monadDual = new Control_Monad.Monad(function () { return applicativeDual; }, function () { return bindDual; }); exports["Dual"] = Dual; exports["newtypeDual"] = newtypeDual; exports["eqDual"] = eqDual; exports["ordDual"] = ordDual; exports["boundedDual"] = boundedDual; exports["functorDual"] = functorDual; exports["invariantDual"] = invariantDual; exports["applyDual"] = applyDual; exports["applicativeDual"] = applicativeDual; exports["bindDual"] = bindDual; exports["monadDual"] = monadDual; exports["extendDual"] = extendDual; exports["comonadDual"] = comonadDual; exports["showDual"] = showDual; exports["semigroupDual"] = semigroupDual; exports["monoidDual"] = monoidDual; })(PS["Data.Monoid.Dual"] = PS["Data.Monoid.Dual"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Semigroup = PS["Data.Semigroup"]; var Prelude = PS["Prelude"]; // | Monoid of endomorphisms under composition. // | // | Composes of functions of type `a -> a`: // | ``` purescript // | Endo f <> Endo g == Endo (f <<< g) // | mempty :: Endo _ == Endo id // | ``` var Endo = function (x) { return x; }; var semigroupEndo = new Data_Semigroup.Semigroup(function (v) { return function (v1) { return function ($11) { return v(v1($11)); }; }; }); var newtypeEndo = new Data_Newtype.Newtype(function (n) { return n; }, Endo); var monoidEndo = new Data_Monoid.Monoid(function () { return semigroupEndo; }, Control_Category.id(Control_Category.categoryFn)); var invariantEndo = new Data_Functor_Invariant.Invariant(function (ab) { return function (ba) { return function (v) { return function ($12) { return ab(v(ba($12))); }; }; }; }); exports["Endo"] = Endo; exports["newtypeEndo"] = newtypeEndo; exports["invariantEndo"] = invariantEndo; exports["semigroupEndo"] = semigroupEndo; exports["monoidEndo"] = monoidEndo; })(PS["Data.Monoid.Endo"] = PS["Data.Monoid.Endo"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Monoid and semigroup for semirings under multiplication. // | // | ``` purescript // | Multiplicative x <> Multiplicative y == Multiplicative (x * y) // | mempty :: Multiplicative _ == Multiplicative one // | ``` var Multiplicative = function (x) { return x; }; var showMultiplicative = function (dictShow) { return new Data_Show.Show(function (v) { return "(Multiplicative " + (Data_Show.show(dictShow)(v) + ")"); }); }; var semigroupMultiplicative = function (dictSemiring) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Data_Semiring.mul(dictSemiring)(v)(v1); }; }); }; var ordMultiplicative = function (dictOrd) { return dictOrd; }; var newtypeMultiplicative = new Data_Newtype.Newtype(function (n) { return n; }, Multiplicative); var monoidMultiplicative = function (dictSemiring) { return new Data_Monoid.Monoid(function () { return semigroupMultiplicative(dictSemiring); }, Data_Semiring.one(dictSemiring)); }; var invariantMultiplicative = new Data_Functor_Invariant.Invariant(function (f) { return function (v) { return function (v1) { return f(v1); }; }; }); var functorMultiplicative = new Data_Functor.Functor(function (f) { return function (v) { return f(v); }; }); var extendMultiplicative = new Control_Extend.Extend(function () { return functorMultiplicative; }, function (f) { return function (x) { return f(x); }; }); var eqMultiplicative = function (dictEq) { return dictEq; }; var comonadMultiplicative = new Control_Comonad.Comonad(function () { return extendMultiplicative; }, Data_Newtype.unwrap(newtypeMultiplicative)); var boundedMultiplicative = function (dictBounded) { return dictBounded; }; var applyMultiplicative = new Control_Apply.Apply(function () { return functorMultiplicative; }, function (v) { return function (v1) { return v(v1); }; }); var bindMultiplicative = new Control_Bind.Bind(function () { return applyMultiplicative; }, function (v) { return function (f) { return f(v); }; }); var applicativeMultiplicative = new Control_Applicative.Applicative(function () { return applyMultiplicative; }, Multiplicative); var monadMultiplicative = new Control_Monad.Monad(function () { return applicativeMultiplicative; }, function () { return bindMultiplicative; }); exports["Multiplicative"] = Multiplicative; exports["newtypeMultiplicative"] = newtypeMultiplicative; exports["eqMultiplicative"] = eqMultiplicative; exports["ordMultiplicative"] = ordMultiplicative; exports["boundedMultiplicative"] = boundedMultiplicative; exports["functorMultiplicative"] = functorMultiplicative; exports["invariantMultiplicative"] = invariantMultiplicative; exports["applyMultiplicative"] = applyMultiplicative; exports["applicativeMultiplicative"] = applicativeMultiplicative; exports["bindMultiplicative"] = bindMultiplicative; exports["monadMultiplicative"] = monadMultiplicative; exports["extendMultiplicative"] = extendMultiplicative; exports["comonadMultiplicative"] = comonadMultiplicative; exports["showMultiplicative"] = showMultiplicative; exports["semigroupMultiplicative"] = semigroupMultiplicative; exports["monoidMultiplicative"] = monoidMultiplicative; })(PS["Data.Monoid.Multiplicative"] = PS["Data.Monoid.Multiplicative"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Foldable"]; var Control_Alt = PS["Control.Alt"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Maybe_First = PS["Data.Maybe.First"]; var Data_Maybe_Last = PS["Data.Maybe.Last"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Monoid_Additive = PS["Data.Monoid.Additive"]; var Data_Monoid_Conj = PS["Data.Monoid.Conj"]; var Data_Monoid_Disj = PS["Data.Monoid.Disj"]; var Data_Monoid_Dual = PS["Data.Monoid.Dual"]; var Data_Monoid_Endo = PS["Data.Monoid.Endo"]; var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | `Foldable` represents data structures which can be _folded_. // | // | - `foldr` folds a structure from the right // | - `foldl` folds a structure from the left // | - `foldMap` folds a structure by accumulating values in a `Monoid` // | // | Default implementations are provided by the following functions: // | // | - `foldrDefault` // | - `foldlDefault` // | - `foldMapDefaultR` // | - `foldMapDefaultL` // | // | Note: some combinations of the default implementations are unsafe to // | use together - causing a non-terminating mutually recursive cycle. // | These combinations are documented per function. var Foldable = function (foldMap, foldl, foldr) { this.foldMap = foldMap; this.foldl = foldl; this.foldr = foldr; }; var foldr = function (dict) { return dict.foldr; }; // | Test whether the structure is empty. // | Optimized for structures that are similar to cons-lists, because there // | is no general way to do better. var $$null = function (dictFoldable) { return foldr(dictFoldable)(function (v) { return function (v1) { return false; }; })(true); }; // | Combines a collection of elements using the `Alt` operation. var oneOf = function (dictFoldable) { return function (dictPlus) { return foldr(dictFoldable)(Control_Alt.alt(dictPlus.Alt0()))(Control_Plus.empty(dictPlus)); }; }; // | Traverse a data structure, performing some effects encoded by an // | `Applicative` functor at each value, ignoring the final result. // | // | For example: // | // | ```purescript // | traverse_ print [1, 2, 3] // | ``` var traverse_ = function (dictApplicative) { return function (dictFoldable) { return function (f) { return foldr(dictFoldable)(function ($181) { return Control_Apply.applySecond(dictApplicative.Apply0())(f($181)); })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit)); }; }; }; // | A version of `traverse_` with its arguments flipped. // | // | This can be useful when running an action written using do notation // | for every element in a data structure: // | // | For example: // | // | ```purescript // | for_ [1, 2, 3] \n -> do // | print n // | trace "squared is" // | print (n * n) // | ``` var for_ = function (dictApplicative) { return function (dictFoldable) { return Data_Function.flip(traverse_(dictApplicative)(dictFoldable)); }; }; // | Perform all of the effects in some data structure in the order // | given by the `Foldable` instance, ignoring the final result. // | // | For example: // | // | ```purescript // | sequence_ [ trace "Hello, ", trace " world!" ] // | ``` var sequence_ = function (dictApplicative) { return function (dictFoldable) { return traverse_(dictApplicative)(dictFoldable)(Control_Category.id(Control_Category.categoryFn)); }; }; var foldl = function (dict) { return dict.foldl; }; // | Fold a data structure, accumulating values in some `Monoid`, // | combining adjacent elements using the specified separator. var intercalate = function (dictFoldable) { return function (dictMonoid) { return function (sep) { return function (xs) { var go = function (v) { return function (x) { if (v.init) { return { init: false, acc: x }; }; return { init: false, acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x)) }; }; }; return (foldl(dictFoldable)(go)({ init: true, acc: Data_Monoid.mempty(dictMonoid) })(xs)).acc; }; }; }; }; // | Returns the size/length of a finite structure. // | Optimized for structures that are similar to cons-lists, because there // | is no general way to do better. var length = function (dictFoldable) { return function (dictSemiring) { return foldl(dictFoldable)(function (c) { return function (v) { return Data_Semiring.add(dictSemiring)(Data_Semiring.one(dictSemiring))(c); }; })(Data_Semiring.zero(dictSemiring)); }; }; // | Find the largest element of a structure, according to a given comparison // | function. The comparison function should represent a total ordering (see // | the `Ord` type class laws); if it does not, the behaviour is undefined. var maximumBy = function (dictFoldable) { return function (cmp) { var max$prime = function (v) { return function (v1) { if (v instanceof Data_Maybe.Nothing) { return new Data_Maybe.Just(v1); }; if (v instanceof Data_Maybe.Just) { return new Data_Maybe.Just((function () { var $104 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.GT.value); if ($104) { return v.value0; }; return v1; })()); }; throw new Error("Failed pattern match at Data.Foldable line 347, column 3 - line 347, column 27: " + [ v.constructor.name, v1.constructor.name ]); }; }; return foldl(dictFoldable)(max$prime)(Data_Maybe.Nothing.value); }; }; // | Find the largest element of a structure, according to its `Ord` instance. var maximum = function (dictOrd) { return function (dictFoldable) { return maximumBy(dictFoldable)(Data_Ord.compare(dictOrd)); }; }; // | Find the smallest element of a structure, according to a given comparison // | function. The comparison function should represent a total ordering (see // | the `Ord` type class laws); if it does not, the behaviour is undefined. var minimumBy = function (dictFoldable) { return function (cmp) { var min$prime = function (v) { return function (v1) { if (v instanceof Data_Maybe.Nothing) { return new Data_Maybe.Just(v1); }; if (v instanceof Data_Maybe.Just) { return new Data_Maybe.Just((function () { var $108 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.LT.value); if ($108) { return v.value0; }; return v1; })()); }; throw new Error("Failed pattern match at Data.Foldable line 360, column 3 - line 360, column 27: " + [ v.constructor.name, v1.constructor.name ]); }; }; return foldl(dictFoldable)(min$prime)(Data_Maybe.Nothing.value); }; }; // | Find the smallest element of a structure, according to its `Ord` instance. var minimum = function (dictOrd) { return function (dictFoldable) { return minimumBy(dictFoldable)(Data_Ord.compare(dictOrd)); }; }; // | Find the product of the numeric values in a data structure. var product = function (dictFoldable) { return function (dictSemiring) { return foldl(dictFoldable)(Data_Semiring.mul(dictSemiring))(Data_Semiring.one(dictSemiring)); }; }; // | Find the sum of the numeric values in a data structure. var sum = function (dictFoldable) { return function (dictSemiring) { return foldl(dictFoldable)(Data_Semiring.add(dictSemiring))(Data_Semiring.zero(dictSemiring)); }; }; var foldableMultiplicative = new Foldable(function (dictMonoid) { return function (f) { return function (v) { return f(v); }; }; }, function (f) { return function (z) { return function (v) { return f(z)(v); }; }; }, function (f) { return function (z) { return function (v) { return f(v)(z); }; }; }); var foldableMaybe = new Foldable(function (dictMonoid) { return function (f) { return function (v) { if (v instanceof Data_Maybe.Nothing) { return Data_Monoid.mempty(dictMonoid); }; if (v instanceof Data_Maybe.Just) { return f(v.value0); }; throw new Error("Failed pattern match at Data.Foldable line 128, column 1 - line 128, column 41: " + [ f.constructor.name, v.constructor.name ]); }; }; }, function (v) { return function (z) { return function (v1) { if (v1 instanceof Data_Maybe.Nothing) { return z; }; if (v1 instanceof Data_Maybe.Just) { return v(z)(v1.value0); }; throw new Error("Failed pattern match at Data.Foldable line 128, column 1 - line 128, column 41: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]); }; }; }, function (v) { return function (z) { return function (v1) { if (v1 instanceof Data_Maybe.Nothing) { return z; }; if (v1 instanceof Data_Maybe.Just) { return v(v1.value0)(z); }; throw new Error("Failed pattern match at Data.Foldable line 128, column 1 - line 128, column 41: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]); }; }; }); var foldableDual = new Foldable(function (dictMonoid) { return function (f) { return function (v) { return f(v); }; }; }, function (f) { return function (z) { return function (v) { return f(z)(v); }; }; }, function (f) { return function (z) { return function (v) { return f(v)(z); }; }; }); var foldableDisj = new Foldable(function (dictMonoid) { return function (f) { return function (v) { return f(v); }; }; }, function (f) { return function (z) { return function (v) { return f(z)(v); }; }; }, function (f) { return function (z) { return function (v) { return f(v)(z); }; }; }); var foldableConj = new Foldable(function (dictMonoid) { return function (f) { return function (v) { return f(v); }; }; }, function (f) { return function (z) { return function (v) { return f(z)(v); }; }; }, function (f) { return function (z) { return function (v) { return f(v)(z); }; }; }); var foldableAdditive = new Foldable(function (dictMonoid) { return function (f) { return function (v) { return f(v); }; }; }, function (f) { return function (z) { return function (v) { return f(z)(v); }; }; }, function (f) { return function (z) { return function (v) { return f(v)(z); }; }; }); // | A default implementation of `foldMap` using `foldr`. // | // | Note: when defining a `Foldable` instance, this function is unsafe to use // | in combination with `foldrDefault`. var foldMapDefaultR = function (dictFoldable) { return function (dictMonoid) { return function (f) { return foldr(dictFoldable)(function (x) { return function (acc) { return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc); }; })(Data_Monoid.mempty(dictMonoid)); }; }; }; var foldableArray = new Foldable(function (dictMonoid) { return foldMapDefaultR(foldableArray)(dictMonoid); }, $foreign.foldlArray, $foreign.foldrArray); // | A default implementation of `foldMap` using `foldl`. // | // | Note: when defining a `Foldable` instance, this function is unsafe to use // | in combination with `foldlDefault`. var foldMapDefaultL = function (dictFoldable) { return function (dictMonoid) { return function (f) { return foldl(dictFoldable)(function (acc) { return function (x) { return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(x)); }; })(Data_Monoid.mempty(dictMonoid)); }; }; }; var foldMap = function (dict) { return dict.foldMap; }; var foldableFirst = new Foldable(function (dictMonoid) { return function (f) { return function (v) { return foldMap(foldableMaybe)(dictMonoid)(f)(v); }; }; }, function (f) { return function (z) { return function (v) { return foldl(foldableMaybe)(f)(z)(v); }; }; }, function (f) { return function (z) { return function (v) { return foldr(foldableMaybe)(f)(z)(v); }; }; }); var foldableLast = new Foldable(function (dictMonoid) { return function (f) { return function (v) { return foldMap(foldableMaybe)(dictMonoid)(f)(v); }; }; }, function (f) { return function (z) { return function (v) { return foldl(foldableMaybe)(f)(z)(v); }; }; }, function (f) { return function (z) { return function (v) { return foldr(foldableMaybe)(f)(z)(v); }; }; }); // | A default implementation of `foldl` using `foldMap`. // | // | Note: when defining a `Foldable` instance, this function is unsafe to use // | in combination with `foldMapDefaultL`. var foldlDefault = function (dictFoldable) { return function (c) { return function (u) { return function (xs) { return Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo)(Data_Newtype.unwrap(Data_Monoid_Dual.newtypeDual)(foldMap(dictFoldable)(Data_Monoid_Dual.monoidDual(Data_Monoid_Endo.monoidEndo))(function ($182) { return Data_Monoid_Dual.Dual(Data_Monoid_Endo.Endo(Data_Function.flip(c)($182))); })(xs)))(u); }; }; }; }; // | A default implementation of `foldr` using `foldMap`. // | // | Note: when defining a `Foldable` instance, this function is unsafe to use // | in combination with `foldMapDefaultR`. var foldrDefault = function (dictFoldable) { return function (c) { return function (u) { return function (xs) { return Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo)(foldMap(dictFoldable)(Data_Monoid_Endo.monoidEndo)(function ($183) { return Data_Monoid_Endo.Endo(c($183)); })(xs))(u); }; }; }; }; // | `foldMap` but with each element surrounded by some fixed value. // | // | For example: // | // | ```purescript // | > surroundMap "*" show [] // | = "*" // | // | > surroundMap "*" show [1] // | = "*1*" // | // | > surroundMap "*" show [1, 2] // | = "*1*2*" // | // | > surroundMap "*" show [1, 2, 3] // | = "*1*2*3*" // | ``` var surroundMap = function (dictFoldable) { return function (dictSemigroup) { return function (d) { return function (t) { return function (f) { var joined = function (a) { return function (m) { return Data_Semigroup.append(dictSemigroup)(d)(Data_Semigroup.append(dictSemigroup)(t(a))(m)); }; }; return Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo)(foldMap(dictFoldable)(Data_Monoid_Endo.monoidEndo)(joined)(f))(d); }; }; }; }; }; // | `fold` but with each element surrounded by some fixed value. // | // | For example: // | // | ```purescript // | > surround "*" [] // | = "*" // | // | > surround "*" ["1"] // | = "*1*" // | // | > surround "*" ["1", "2"] // | = "*1*2*" // | // | > surround "*" ["1", "2", "3"] // | = "*1*2*3*" // | ``` var surround = function (dictFoldable) { return function (dictSemigroup) { return function (d) { return surroundMap(dictFoldable)(dictSemigroup)(d)(Control_Category.id(Control_Category.categoryFn)); }; }; }; // | Similar to 'foldl', but the result is encapsulated in a monad. // | // | Note: this function is not generally stack-safe, e.g., for monads which // | build up thunks a la `Eff`. var foldM = function (dictFoldable) { return function (dictMonad) { return function (f) { return function (a0) { return foldl(dictFoldable)(function (ma) { return function (b) { return Control_Bind.bind(dictMonad.Bind1())(ma)(Data_Function.flip(f)(b)); }; })(Control_Applicative.pure(dictMonad.Applicative0())(a0)); }; }; }; }; // | Fold a data structure, accumulating values in some `Monoid`. var fold = function (dictFoldable) { return function (dictMonoid) { return foldMap(dictFoldable)(dictMonoid)(Control_Category.id(Control_Category.categoryFn)); }; }; // | Try to find an element in a data structure which satisfies a predicate mapping. var findMap = function (dictFoldable) { return function (p) { var go = function (v) { return function (v1) { if (v instanceof Data_Maybe.Nothing) { return p(v1); }; return v; }; }; return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value); }; }; // | Try to find an element in a data structure which satisfies a predicate. var find = function (dictFoldable) { return function (p) { var go = function (v) { return function (v1) { if (v instanceof Data_Maybe.Nothing && p(v1)) { return new Data_Maybe.Just(v1); }; return v; }; }; return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value); }; }; // | `any f` is the same as `or <<< map f`; map a function over the structure, // | and then get the disjunction of the results. var any = function (dictFoldable) { return function (dictHeytingAlgebra) { return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Monoid_Disj.newtypeDisj)(Data_Monoid_Disj.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra))); }; }; // | Test whether a value is an element of a data structure. var elem = function (dictFoldable) { return function (dictEq) { return function ($184) { return any(dictFoldable)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Eq.eq(dictEq)($184)); }; }; }; // | Test whether a value is not an element of a data structure. var notElem = function (dictFoldable) { return function (dictEq) { return function (x) { return function ($185) { return !elem(dictFoldable)(dictEq)(x)($185); }; }; }; }; // | The disjunction of all the values in a data structure. When specialized // | to `Boolean`, this function will test whether any of the values in a data // | structure is `true`. var or = function (dictFoldable) { return function (dictHeytingAlgebra) { return any(dictFoldable)(dictHeytingAlgebra)(Control_Category.id(Control_Category.categoryFn)); }; }; // | `all f` is the same as `and <<< map f`; map a function over the structure, // | and then get the conjunction of the results. var all = function (dictFoldable) { return function (dictHeytingAlgebra) { return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Monoid_Conj.newtypeConj)(Data_Monoid_Conj.newtypeConj)(Data_Monoid_Conj.Conj)(foldMap(dictFoldable)(Data_Monoid_Conj.monoidConj(dictHeytingAlgebra))); }; }; // | The conjunction of all the values in a data structure. When specialized // | to `Boolean`, this function will test whether all of the values in a data // | structure are `true`. var and = function (dictFoldable) { return function (dictHeytingAlgebra) { return all(dictFoldable)(dictHeytingAlgebra)(Control_Category.id(Control_Category.categoryFn)); }; }; exports["Foldable"] = Foldable; exports["all"] = all; exports["and"] = and; exports["any"] = any; exports["elem"] = elem; exports["find"] = find; exports["findMap"] = findMap; exports["fold"] = fold; exports["foldM"] = foldM; exports["foldMap"] = foldMap; exports["foldMapDefaultL"] = foldMapDefaultL; exports["foldMapDefaultR"] = foldMapDefaultR; exports["foldl"] = foldl; exports["foldlDefault"] = foldlDefault; exports["foldr"] = foldr; exports["foldrDefault"] = foldrDefault; exports["for_"] = for_; exports["intercalate"] = intercalate; exports["length"] = length; exports["maximum"] = maximum; exports["maximumBy"] = maximumBy; exports["minimum"] = minimum; exports["minimumBy"] = minimumBy; exports["notElem"] = notElem; exports["null"] = $$null; exports["oneOf"] = oneOf; exports["or"] = or; exports["product"] = product; exports["sequence_"] = sequence_; exports["sum"] = sum; exports["surround"] = surround; exports["surroundMap"] = surroundMap; exports["traverse_"] = traverse_; exports["foldableArray"] = foldableArray; exports["foldableMaybe"] = foldableMaybe; exports["foldableFirst"] = foldableFirst; exports["foldableLast"] = foldableLast; exports["foldableAdditive"] = foldableAdditive; exports["foldableDual"] = foldableDual; exports["foldableDisj"] = foldableDisj; exports["foldableConj"] = foldableConj; exports["foldableMultiplicative"] = foldableMultiplicative; })(PS["Data.Foldable"] = PS["Data.Foldable"] || {}); (function(exports) { "use strict"; var Data_Functor = PS["Data.Functor"]; var Data_Void = PS["Data.Void"]; var Prelude = PS["Prelude"]; // | A `Contravariant` functor can be seen as a way of changing the input type // | of a consumer of input, in contrast to the standard covariant `Functor` // | that can be seen as a way of changing the output type of a producer of // | output. // | // | `Contravariant` instances should satisfy the following laws: // | // | - Identity `(>$<) id = id` // | - Composition `(f >$<) <<< (g >$<) = (>$<) (g <<< f)` var Contravariant = function (cmap) { this.cmap = cmap; }; var cmap = function (dict) { return dict.cmap; }; // | `cmapFlipped` is `cmap` with its arguments reversed. var cmapFlipped = function (dictContravariant) { return function (x) { return function (f) { return cmap(dictContravariant)(f)(x); }; }; }; var coerce = function (dictContravariant) { return function (dictFunctor) { return function (a) { return Data_Functor.map(dictFunctor)(Data_Void.absurd)(cmap(dictContravariant)(Data_Void.absurd)(a)); }; }; }; exports["Contravariant"] = Contravariant; exports["cmap"] = cmap; exports["cmapFlipped"] = cmapFlipped; exports["coerce"] = coerce; })(PS["Data.Functor.Contravariant"] = PS["Data.Functor.Contravariant"] || {}); (function(exports) { "use strict"; // jshint maxparams: 3 exports.traverseArrayImpl = function () { function Cont(fn) { this.fn = fn; } var emptyList = {}; var ConsCell = function (head, tail) { this.head = head; this.tail = tail; }; function consList(x) { return function (xs) { return new ConsCell(x, xs); }; } function listToArray(list) { var arr = []; var xs = list; while (xs !== emptyList) { arr.push(xs.head); xs = xs.tail; } return arr; } return function (apply) { return function (map) { return function (pure) { return function (f) { var buildFrom = function (x, ys) { return apply(map(consList)(f(x)))(ys); }; var go = function (acc, currentLen, xs) { if (currentLen === 0) { return acc; } else { var last = xs[currentLen - 1]; return new Cont(function () { return go(buildFrom(last, acc), currentLen - 1, xs); }); } }; return function (array) { var result = go(pure(emptyList), array.length, array); while (result instanceof Cont) { result = result.fn(); } return map(listToArray)(result); }; }; }; }; }; }(); })(PS["Data.Traversable"] = PS["Data.Traversable"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Traversable"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Maybe_First = PS["Data.Maybe.First"]; var Data_Maybe_Last = PS["Data.Maybe.Last"]; var Data_Monoid_Additive = PS["Data.Monoid.Additive"]; var Data_Monoid_Conj = PS["Data.Monoid.Conj"]; var Data_Monoid_Disj = PS["Data.Monoid.Disj"]; var Data_Monoid_Dual = PS["Data.Monoid.Dual"]; var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"]; var Prelude = PS["Prelude"]; var StateL = function (x) { return x; }; var StateR = function (x) { return x; }; // | `Traversable` represents data structures which can be _traversed_, // | accumulating results and effects in some `Applicative` functor. // | // | - `traverse` runs an action for every element in a data structure, // | and accumulates the results. // | - `sequence` runs the actions _contained_ in a data structure, // | and accumulates the results. // | // | The `traverse` and `sequence` functions should be compatible in the // | following sense: // | // | - `traverse f xs = sequence (f <$> xs)` // | - `sequence = traverse id` // | // | `Traversable` instances should also be compatible with the corresponding // | `Foldable` instances, in the following sense: // | // | - `foldMap f = runConst <<< traverse (Const <<< f)` // | // | Default implementations are provided by the following functions: // | // | - `traverseDefault` // | - `sequenceDefault` var Traversable = function (Foldable1, Functor0, sequence, traverse) { this.Foldable1 = Foldable1; this.Functor0 = Functor0; this.sequence = sequence; this.traverse = traverse; }; var traverse = function (dict) { return dict.traverse; }; var traversableMultiplicative = new Traversable(function () { return Data_Foldable.foldableMultiplicative; }, function () { return Data_Monoid_Multiplicative.functorMultiplicative; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Multiplicative.Multiplicative)(v); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Multiplicative.Multiplicative)(f(v)); }; }; }); var traversableMaybe = new Traversable(function () { return Data_Foldable.foldableMaybe; }, function () { return Data_Maybe.functorMaybe; }, function (dictApplicative) { return function (v) { if (v instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(dictApplicative)(Data_Maybe.Nothing.value); }; if (v instanceof Data_Maybe.Just) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe.Just.create)(v.value0); }; throw new Error("Failed pattern match at Data.Traversable line 84, column 1 - line 84, column 47: " + [ v.constructor.name ]); }; }, function (dictApplicative) { return function (v) { return function (v1) { if (v1 instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(dictApplicative)(Data_Maybe.Nothing.value); }; if (v1 instanceof Data_Maybe.Just) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe.Just.create)(v(v1.value0)); }; throw new Error("Failed pattern match at Data.Traversable line 84, column 1 - line 84, column 47: " + [ v.constructor.name, v1.constructor.name ]); }; }; }); var traversableDual = new Traversable(function () { return Data_Foldable.foldableDual; }, function () { return Data_Monoid_Dual.functorDual; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Dual.Dual)(v); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Dual.Dual)(f(v)); }; }; }); var traversableDisj = new Traversable(function () { return Data_Foldable.foldableDisj; }, function () { return Data_Monoid_Disj.functorDisj; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Disj.Disj)(v); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Disj.Disj)(f(v)); }; }; }); var traversableConj = new Traversable(function () { return Data_Foldable.foldableConj; }, function () { return Data_Monoid_Conj.functorConj; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Conj.Conj)(v); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Conj.Conj)(f(v)); }; }; }); var traversableAdditive = new Traversable(function () { return Data_Foldable.foldableAdditive; }, function () { return Data_Monoid_Additive.functorAdditive; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Additive.Additive)(v); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Monoid_Additive.Additive)(f(v)); }; }; }); var stateR = function (v) { return v; }; var stateL = function (v) { return v; }; // | A default implementation of `sequence` using `traverse`. var sequenceDefault = function (dictTraversable) { return function (dictApplicative) { return traverse(dictTraversable)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); }; }; var traversableArray = new Traversable(function () { return Data_Foldable.foldableArray; }, function () { return Data_Functor.functorArray; }, function (dictApplicative) { return sequenceDefault(traversableArray)(dictApplicative); }, function (dictApplicative) { return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative)); }); var sequence = function (dict) { return dict.sequence; }; var traversableFirst = new Traversable(function () { return Data_Foldable.foldableFirst; }, function () { return Data_Maybe_First.functorFirst; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe_First.First)(sequence(traversableMaybe)(dictApplicative)(v)); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe_First.First)(traverse(traversableMaybe)(dictApplicative)(f)(v)); }; }; }); var traversableLast = new Traversable(function () { return Data_Foldable.foldableLast; }, function () { return Data_Maybe_Last.functorLast; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe_Last.Last)(sequence(traversableMaybe)(dictApplicative)(v)); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Maybe_Last.Last)(traverse(traversableMaybe)(dictApplicative)(f)(v)); }; }; }); // | A default implementation of `traverse` using `sequence` and `map`. var traverseDefault = function (dictTraversable) { return function (dictApplicative) { return function (f) { return function (ta) { return sequence(dictTraversable)(dictApplicative)(Data_Functor.map(dictTraversable.Functor0())(f)(ta)); }; }; }; }; var functorStateR = new Data_Functor.Functor(function (f) { return function (k) { return function (s) { var v = stateR(k)(s); return { accum: v.accum, value: f(v.value) }; }; }; }); var functorStateL = new Data_Functor.Functor(function (f) { return function (k) { return function (s) { var v = stateL(k)(s); return { accum: v.accum, value: f(v.value) }; }; }; }); // | A version of `traverse` with its arguments flipped. // | // | // | This can be useful when running an action written using do notation // | for every element in a data structure: // | // | For example: // | // | ```purescript // | for [1, 2, 3] \n -> do // | print n // | return (n * n) // | ``` var $$for = function (dictApplicative) { return function (dictTraversable) { return function (x) { return function (f) { return traverse(dictTraversable)(dictApplicative)(f)(x); }; }; }; }; var applyStateR = new Control_Apply.Apply(function () { return functorStateR; }, function (f) { return function (x) { return function (s) { var v = stateR(x)(s); var v1 = stateR(f)(v.accum); return { accum: v1.accum, value: v1.value(v.value) }; }; }; }); var applyStateL = new Control_Apply.Apply(function () { return functorStateL; }, function (f) { return function (x) { return function (s) { var v = stateL(f)(s); var v1 = stateL(x)(v.accum); return { accum: v1.accum, value: v.value(v1.value) }; }; }; }); var applicativeStateR = new Control_Applicative.Applicative(function () { return applyStateR; }, function (a) { return function (s) { return { accum: s, value: a }; }; }); // | Fold a data structure from the right, keeping all intermediate results // | instead of only the final result. // | // | Unlike `scanr`, `mapAccumR` allows the type of accumulator to differ // | from the element type of the final data structure. var mapAccumR = function (dictTraversable) { return function (f) { return function (s0) { return function (xs) { return stateR(traverse(dictTraversable)(applicativeStateR)(function (a) { return function (s) { return f(s)(a); }; })(xs))(s0); }; }; }; }; // | Fold a data structure from the right, keeping all intermediate results // | instead of only the final result. Note that the initial value does not // | appear in the result (unlike Haskell's `Prelude.scanr`). // | // | ```purescript // | scanr (+) 0 [1,2,3] = [1,3,6] // | scanr (flip (-)) 10 [1,2,3] = [4,5,7] // | ``` var scanr = function (dictTraversable) { return function (f) { return function (b0) { return function (xs) { return (mapAccumR(dictTraversable)(function (b) { return function (a) { var b$prime = f(a)(b); return { accum: b$prime, value: b$prime }; }; })(b0)(xs)).value; }; }; }; }; var applicativeStateL = new Control_Applicative.Applicative(function () { return applyStateL; }, function (a) { return function (s) { return { accum: s, value: a }; }; }); // | Fold a data structure from the left, keeping all intermediate results // | instead of only the final result. // | // | Unlike `scanl`, `mapAccumL` allows the type of accumulator to differ // | from the element type of the final data structure. var mapAccumL = function (dictTraversable) { return function (f) { return function (s0) { return function (xs) { return stateL(traverse(dictTraversable)(applicativeStateL)(function (a) { return function (s) { return f(s)(a); }; })(xs))(s0); }; }; }; }; // | Fold a data structure from the left, keeping all intermediate results // | instead of only the final result. Note that the initial value does not // | appear in the result (unlike Haskell's `Prelude.scanl`). // | // | ```purescript // | scanl (+) 0 [1,2,3] = [1,3,6] // | scanl (-) 10 [1,2,3] = [9,7,4] // | ``` var scanl = function (dictTraversable) { return function (f) { return function (b0) { return function (xs) { return (mapAccumL(dictTraversable)(function (b) { return function (a) { var b$prime = f(b)(a); return { accum: b$prime, value: b$prime }; }; })(b0)(xs)).value; }; }; }; }; exports["Traversable"] = Traversable; exports["for"] = $$for; exports["mapAccumL"] = mapAccumL; exports["mapAccumR"] = mapAccumR; exports["scanl"] = scanl; exports["scanr"] = scanr; exports["sequence"] = sequence; exports["sequenceDefault"] = sequenceDefault; exports["traverse"] = traverse; exports["traverseDefault"] = traverseDefault; exports["traversableArray"] = traversableArray; exports["traversableMaybe"] = traversableMaybe; exports["traversableFirst"] = traversableFirst; exports["traversableLast"] = traversableLast; exports["traversableAdditive"] = traversableAdditive; exports["traversableDual"] = traversableDual; exports["traversableConj"] = traversableConj; exports["traversableDisj"] = traversableDisj; exports["traversableMultiplicative"] = traversableMultiplicative; })(PS["Data.Traversable"] = PS["Data.Traversable"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; var Data_Bounded = PS["Data.Bounded"]; var Data_CommutativeRing = PS["Data.CommutativeRing"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Field = PS["Data.Field"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Contravariant = PS["Data.Functor.Contravariant"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; // | The `Const` type constructor, which wraps its first type argument // | and ignores its second. That is, `Const a b` is isomorphic to `a` // | for any `b`. // | // | `Const` has some useful instances. For example, the `Applicative` // | instance allows us to collect results using a `Monoid` while // | ignoring return values. var Const = function (x) { return x; }; var showConst = function (dictShow) { return new Data_Show.Show(function (v) { return "(Const " + (Data_Show.show(dictShow)(v) + ")"); }); }; var semiringConst = function (dictSemiring) { return dictSemiring; }; var semigroupoidConst = new Control_Semigroupoid.Semigroupoid(function (v) { return function (v1) { return v1; }; }); var semigroupConst = function (dictSemigroup) { return dictSemigroup; }; var ringConst = function (dictRing) { return dictRing; }; var ordConst = function (dictOrd) { return dictOrd; }; var newtypeConst = new Data_Newtype.Newtype(function (n) { return n; }, Const); var monoidConst = function (dictMonoid) { return dictMonoid; }; var heytingAlgebraConst = function (dictHeytingAlgebra) { return dictHeytingAlgebra; }; var functorConst = new Data_Functor.Functor(function (v) { return function (v1) { return v1; }; }); var invariantConst = new Data_Functor_Invariant.Invariant(Data_Functor_Invariant.imapF(functorConst)); var foldableConst = new Data_Foldable.Foldable(function (dictMonoid) { return function (v) { return function (v1) { return Data_Monoid.mempty(dictMonoid); }; }; }, function (v) { return function (z) { return function (v1) { return z; }; }; }, function (v) { return function (z) { return function (v1) { return z; }; }; }); var traversableConst = new Data_Traversable.Traversable(function () { return foldableConst; }, function () { return functorConst; }, function (dictApplicative) { return function (v) { return Control_Applicative.pure(dictApplicative)(v); }; }, function (dictApplicative) { return function (v) { return function (v1) { return Control_Applicative.pure(dictApplicative)(v1); }; }; }); var fieldConst = function (dictField) { return dictField; }; var euclideanRingConst = function (dictEuclideanRing) { return dictEuclideanRing; }; var eqConst = function (dictEq) { return dictEq; }; var contravariantConst = new Data_Functor_Contravariant.Contravariant(function (v) { return function (v1) { return v1; }; }); var commutativeRingConst = function (dictCommutativeRing) { return dictCommutativeRing; }; var boundedConst = function (dictBounded) { return dictBounded; }; var booleanAlgebraConst = function (dictBooleanAlgebra) { return dictBooleanAlgebra; }; var applyConst = function (dictSemigroup) { return new Control_Apply.Apply(function () { return functorConst; }, function (v) { return function (v1) { return Data_Semigroup.append(dictSemigroup)(v)(v1); }; }); }; var bindConst = function (dictSemigroup) { return new Control_Bind.Bind(function () { return applyConst(dictSemigroup); }, function (v) { return function (v1) { return v; }; }); }; var applicativeConst = function (dictMonoid) { return new Control_Applicative.Applicative(function () { return applyConst(dictMonoid.Semigroup0()); }, function (v) { return Data_Monoid.mempty(dictMonoid); }); }; exports["Const"] = Const; exports["newtypeConst"] = newtypeConst; exports["eqConst"] = eqConst; exports["ordConst"] = ordConst; exports["boundedConst"] = boundedConst; exports["showConst"] = showConst; exports["semigroupoidConst"] = semigroupoidConst; exports["semigroupConst"] = semigroupConst; exports["monoidConst"] = monoidConst; exports["semiringConst"] = semiringConst; exports["ringConst"] = ringConst; exports["euclideanRingConst"] = euclideanRingConst; exports["commutativeRingConst"] = commutativeRingConst; exports["fieldConst"] = fieldConst; exports["heytingAlgebraConst"] = heytingAlgebraConst; exports["booleanAlgebraConst"] = booleanAlgebraConst; exports["functorConst"] = functorConst; exports["invariantConst"] = invariantConst; exports["contravariantConst"] = contravariantConst; exports["applyConst"] = applyConst; exports["bindConst"] = bindConst; exports["applicativeConst"] = applicativeConst; exports["foldableConst"] = foldableConst; exports["traversableConst"] = traversableConst; })(PS["Data.Const"] = PS["Data.Const"] || {}); (function(exports) { "use strict"; // module Unsafe.Coerce exports.unsafeCoerce = function (x) { return x; }; })(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {}); (function(exports) { "use strict"; var $foreign = PS["Unsafe.Coerce"]; exports["unsafeCoerce"] = $foreign.unsafeCoerce; })(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {}); (function(exports) { "use strict"; var Unsafe_Coerce = PS["Unsafe.Coerce"]; // | The `runExists` function is used to eliminate a value of type `Exists f`. The rank 2 type ensures // | that the existentially-quantified type does not escape its scope. Since the function is required // | to work for _any_ type `a`, it will work for the existentially-quantified type. // | // | For example, we can write a function to obtain the head of a stream by using `runExists` as follows: // | // | ```purescript // | head :: forall a. Stream a -> a // | head = runExists head' // | where // | head' :: forall s. StreamF a s -> a // | head' (StreamF s f) = snd (f s) // | ``` var runExists = Unsafe_Coerce.unsafeCoerce; // | The `mkExists` function is used to introduce a value of type `Exists f`, by providing a value of // | type `f a`, for some type `a` which will be hidden in the existentially-quantified type. // | // | For example, to create a value of type `Stream Number`, we might use `mkExists` as follows: // | // | ```purescript // | nats :: Stream Number // | nats = mkExists $ StreamF 0 (\n -> Tuple (n + 1) n) // | ``` var mkExists = Unsafe_Coerce.unsafeCoerce; exports["mkExists"] = mkExists; exports["runExists"] = runExists; })(PS["Data.Exists"] = PS["Data.Exists"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Const = PS["Data.Const"]; var Data_Exists = PS["Data.Exists"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var ApF = (function () { function ApF(value0, value1) { this.value0 = value0; this.value1 = value1; }; ApF.create = function (value0) { return function (value1) { return new ApF(value0, value1); }; }; return ApF; })(); // | The free applicative functor for a type constructor `f`. var Pure = (function () { function Pure(value0) { this.value0 = value0; }; Pure.create = function (value0) { return new Pure(value0); }; return Pure; })(); // | The free applicative functor for a type constructor `f`. var Ap = (function () { function Ap(value0) { this.value0 = value0; }; Ap.create = function (value0) { return new Ap(value0); }; return Ap; })(); // | Run a free applicative functor using the applicative instance for // | the type constructor `f`. var retractFreeAp = function (dictApplicative) { return function (v) { if (v instanceof Pure) { return Control_Applicative.pure(dictApplicative)(v.value0); }; if (v instanceof Ap) { return Data_Exists.runExists(function (v1) { return Control_Apply.apply(dictApplicative.Apply0())(retractFreeAp(dictApplicative)(v1.value1(Data_Unit.unit)))(v1.value0(Data_Unit.unit)); })(v.value0); }; throw new Error("Failed pattern match at Control.Applicative.Free line 32, column 1 - line 32, column 64: " + [ v.constructor.name ]); }; }; // | Run a free applicative functor with a natural transformation from // | the type constructor `f` to the applicative functor `g`. var foldFreeAp = function (dictApplicative) { return function (k) { return function (v) { if (v instanceof Pure) { return Control_Applicative.pure(dictApplicative)(v.value0); }; if (v instanceof Ap) { return Data_Exists.runExists(function (v1) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Function.flip(Control_Category.id(Control_Category.categoryFn)))(k(v1.value0(Data_Unit.unit))))(foldFreeAp(dictApplicative)(k)(v1.value1(Data_Unit.unit))); })(v.value0); }; throw new Error("Failed pattern match at Control.Applicative.Free line 38, column 1 - line 38, column 75: " + [ k.constructor.name, v.constructor.name ]); }; }; }; var ap = function (v) { return function (k) { return new Ap(Data_Exists.mkExists(new ApF(v, k))); }; }; var functorFreeAp = new Data_Functor.Functor(function (k) { return function (v) { if (v instanceof Pure) { return new Pure(k(v.value0)); }; if (v instanceof Ap) { return Data_Exists.runExists(function (v1) { return ap(v1.value0)(function (v3) { return Data_Functor.map(functorFreeAp)(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn)(k))(v1.value1(Data_Unit.unit)); }); })(v.value0); }; throw new Error("Failed pattern match at Control.Applicative.Free line 52, column 1 - line 52, column 45: " + [ k.constructor.name, v.constructor.name ]); }; }); var applyFreeAp = new Control_Apply.Apply(function () { return functorFreeAp; }, function (v) { return function (f) { if (v instanceof Pure) { return Data_Functor.map(functorFreeAp)(v.value0)(f); }; if (v instanceof Ap) { return Data_Exists.runExists(function (v1) { return ap(v1.value0)(function (v3) { return Control_Apply.apply(applyFreeAp)(Data_Functor.map(functorFreeAp)(Data_Function.flip)(v1.value1(Data_Unit.unit)))(f); }); })(v.value0); }; throw new Error("Failed pattern match at Control.Applicative.Free line 56, column 1 - line 56, column 41: " + [ v.constructor.name, f.constructor.name ]); }; }); var applicativeFreeAp = new Control_Applicative.Applicative(function () { return applyFreeAp; }, Pure.create); // | Natural transformation from `FreeAp f a` to `FreeAp g a` given a // | natural transformation from `f` to `g`. var hoistFreeAp = function (k) { return function (v) { if (v instanceof Pure) { return new Pure(v.value0); }; if (v instanceof Ap) { return Data_Exists.runExists(function (v1) { return ap(function (v3) { return k(v1.value0(Data_Unit.unit)); })(function (v3) { return hoistFreeAp(k)(v1.value1(Data_Unit.unit)); }); })(v.value0); }; throw new Error("Failed pattern match at Control.Applicative.Free line 44, column 1 - line 44, column 66: " + [ k.constructor.name, v.constructor.name ]); }; }; // | Lift a value described by the type constructor `f` into // | the free applicative functor. var liftFreeAp = function (a) { return ap(function (v) { return a; })(function (v) { return new Pure(Control_Category.id(Control_Category.categoryFn)); }); }; // | Perform monoidal analysis over the free applicative functor `f`. var analyzeFreeAp = function (dictMonoid) { return function (k) { return function ($53) { return Data_Newtype.unwrap(Data_Const.newtypeConst)(foldFreeAp(Data_Const.applicativeConst(dictMonoid))(function ($54) { return Data_Const.Const(k($54)); })($53)); }; }; }; exports["analyzeFreeAp"] = analyzeFreeAp; exports["foldFreeAp"] = foldFreeAp; exports["hoistFreeAp"] = hoistFreeAp; exports["liftFreeAp"] = liftFreeAp; exports["retractFreeAp"] = retractFreeAp; exports["functorFreeAp"] = functorFreeAp; exports["applyFreeAp"] = applyFreeAp; exports["applicativeFreeAp"] = applicativeFreeAp; })(PS["Control.Applicative.Free"] = PS["Control.Applicative.Free"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; // | A `Bifunctor` is a `Functor` from the pair category `(Type, Type)` to `Type`. // | // | A type constructor with two type arguments can be made into a `Bifunctor` if // | both of its type arguments are covariant. // | // | The `bimap` function maps a pair of functions over the two type arguments // | of the bifunctor. // | // | Laws: // | // | - Identity: `bimap id id == id` // | - Composition: `bimap f1 g1 <<< bimap f2 g2 == bimap (f1 <<< f2) (g1 <<< g2)` // | var Bifunctor = function (bimap) { this.bimap = bimap; }; var bimap = function (dict) { return dict.bimap; }; // | Map a function over the first type argument of a `Bifunctor`. var lmap = function (dictBifunctor) { return function (f) { return bimap(dictBifunctor)(f)(Control_Category.id(Control_Category.categoryFn)); }; }; // | Map a function over the second type arguments of a `Bifunctor`. var rmap = function (dictBifunctor) { return bimap(dictBifunctor)(Control_Category.id(Control_Category.categoryFn)); }; exports["Bifunctor"] = Bifunctor; exports["bimap"] = bimap; exports["lmap"] = lmap; exports["rmap"] = rmap; })(PS["Data.Bifunctor"] = PS["Data.Bifunctor"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Function = PS["Data.Function"]; // | `Biapply` captures type constructors of two arguments which support lifting of // | functions of one or more arguments, in the sense of `Apply`. var Biapply = function (Bifunctor0, biapply) { this.Bifunctor0 = Bifunctor0; this.biapply = biapply; }; var biapply = function (dict) { return dict.biapply; }; // | Keep the results of the second computation. var biapplyFirst = function (dictBiapply) { return function (a) { return function (b) { return biapply(dictBiapply)(Control_Category.id(Control_Category.categoryFn)(Data_Bifunctor.bimap(dictBiapply.Bifunctor0())(Data_Function["const"](Control_Category.id(Control_Category.categoryFn)))(Data_Function["const"](Control_Category.id(Control_Category.categoryFn))))(a))(b); }; }; }; // | Keep the results of the first computation. var biapplySecond = function (dictBiapply) { return function (a) { return function (b) { return biapply(dictBiapply)(Control_Category.id(Control_Category.categoryFn)(Data_Bifunctor.bimap(dictBiapply.Bifunctor0())(Data_Function["const"])(Data_Function["const"]))(a))(b); }; }; }; // | Lift a function of two arguments. var bilift2 = function (dictBiapply) { return function (f) { return function (g) { return function (a) { return function (b) { return biapply(dictBiapply)(Control_Category.id(Control_Category.categoryFn)(Data_Bifunctor.bimap(dictBiapply.Bifunctor0())(f)(g))(a))(b); }; }; }; }; }; // | Lift a function of three arguments. var bilift3 = function (dictBiapply) { return function (f) { return function (g) { return function (a) { return function (b) { return function (c) { return biapply(dictBiapply)(biapply(dictBiapply)(Control_Category.id(Control_Category.categoryFn)(Data_Bifunctor.bimap(dictBiapply.Bifunctor0())(f)(g))(a))(b))(c); }; }; }; }; }; }; exports["Biapply"] = Biapply; exports["biapply"] = biapply; exports["biapplyFirst"] = biapplyFirst; exports["biapplySecond"] = biapplySecond; exports["bilift2"] = bilift2; exports["bilift3"] = bilift3; })(PS["Control.Biapply"] = PS["Control.Biapply"] || {}); (function(exports) { "use strict"; var Control_Biapply = PS["Control.Biapply"]; // | `Biapplicative` captures type constructors of two arguments which support lifting of // | functions of zero or more arguments, in the sense of `Applicative`. var Biapplicative = function (Biapply0, bipure) { this.Biapply0 = Biapply0; this.bipure = bipure; }; var bipure = function (dict) { return dict.bipure; }; exports["Biapplicative"] = Biapplicative; exports["bipure"] = bipure; })(PS["Control.Biapplicative"] = PS["Control.Biapplicative"] || {}); (function(exports) { "use strict"; exports.pureE = function (a) { return function () { return a; }; }; exports.bindE = function (a) { return function (f) { return function () { return f(a())(); }; }; }; exports.runPure = function (f) { return f(); }; exports.untilE = function (f) { return function () { while (!f()); return {}; }; }; exports.whileE = function (f) { return function (a) { return function () { while (f()) { a(); } return {}; }; }; }; exports.forE = function (lo) { return function (hi) { return function (f) { return function () { for (var i = lo; i < hi; i++) { f(i)(); } }; }; }; }; exports.foreachE = function (as) { return function (f) { return function () { for (var i = 0, l = as.length; i < l; i++) { f(as[i])(); } }; }; }; })(PS["Control.Monad.Eff"] = PS["Control.Monad.Eff"] || {}); (function(exports) { "use strict"; var $foreign = PS["Control.Monad.Eff"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Data_Functor = PS["Data.Functor"]; var Data_Unit = PS["Data.Unit"]; var monadEff = new Control_Monad.Monad(function () { return applicativeEff; }, function () { return bindEff; }); var bindEff = new Control_Bind.Bind(function () { return applyEff; }, $foreign.bindE); var applyEff = new Control_Apply.Apply(function () { return functorEff; }, Control_Monad.ap(monadEff)); var applicativeEff = new Control_Applicative.Applicative(function () { return applyEff; }, $foreign.pureE); var functorEff = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEff)); exports["functorEff"] = functorEff; exports["applyEff"] = applyEff; exports["applicativeEff"] = applicativeEff; exports["bindEff"] = bindEff; exports["monadEff"] = monadEff; exports["forE"] = $foreign.forE; exports["foreachE"] = $foreign.foreachE; exports["runPure"] = $foreign.runPure; exports["untilE"] = $foreign.untilE; exports["whileE"] = $foreign.whileE; })(PS["Control.Monad.Eff"] = PS["Control.Monad.Eff"] || {}); (function(exports) { "use strict"; exports.unsafeCoerceEff = function (f) { return f; }; })(PS["Control.Monad.Eff.Unsafe"] = PS["Control.Monad.Eff.Unsafe"] || {}); (function(exports) { "use strict"; var $foreign = PS["Control.Monad.Eff.Unsafe"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; // | Run an effectful computation. // | // | *Note*: use of this function can result in arbitrary side-effects. var unsafePerformEff = function ($0) { return Control_Monad_Eff.runPure($foreign.unsafeCoerceEff($0)); }; exports["unsafePerformEff"] = unsafePerformEff; exports["unsafeCoerceEff"] = $foreign.unsafeCoerceEff; })(PS["Control.Monad.Eff.Unsafe"] = PS["Control.Monad.Eff.Unsafe"] || {}); (function(exports) { "use strict"; exports.newSTRef = function (val) { return function () { return { value: val }; }; }; exports.readSTRef = function (ref) { return function () { return ref.value; }; }; exports.modifySTRef = function (ref) { return function (f) { return function () { return ref.value = f(ref.value); // eslint-disable-line no-return-assign }; }; }; exports.writeSTRef = function (ref) { return function (a) { return function () { return ref.value = a; // eslint-disable-line no-return-assign }; }; }; exports.runST = function (f) { return f; }; })(PS["Control.Monad.ST"] = PS["Control.Monad.ST"] || {}); (function(exports) { "use strict"; var $foreign = PS["Control.Monad.ST"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; // | A convenience function which combines `runST` with `runPure`, which can be // | used when the only required effect is `ST`. // | // | Note: since this function has a rank-2 type, it may cause problems to apply // | this function using the `$` operator. The recommended approach is to use // | parentheses instead. var pureST = function (st) { return Control_Monad_Eff.runPure($foreign.runST(st)); }; exports["pureST"] = pureST; exports["modifySTRef"] = $foreign.modifySTRef; exports["newSTRef"] = $foreign.newSTRef; exports["readSTRef"] = $foreign.readSTRef; exports["runST"] = $foreign.runST; exports["writeSTRef"] = $foreign.writeSTRef; })(PS["Control.Monad.ST"] = PS["Control.Monad.ST"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Biapplicative = PS["Control.Biapplicative"]; var Control_Biapply = PS["Control.Biapply"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Make a `Functor` over the first argument of a `Bifunctor` var Clown = function (x) { return x; }; var showClown = function (dictShow) { return new Data_Show.Show(function (v) { return "(Clown " + (Data_Show.show(dictShow)(v) + ")"); }); }; var ordClown = function (dictOrd) { return dictOrd; }; var newtypeClown = new Data_Newtype.Newtype(function (n) { return n; }, Clown); var functorClown = new Data_Functor.Functor(function (v) { return function (v1) { return v1; }; }); var eqClown = function (dictEq) { return dictEq; }; var bifunctorClown = function (dictFunctor) { return new Data_Bifunctor.Bifunctor(function (f) { return function (v) { return function (v1) { return Data_Functor.map(dictFunctor)(f)(v1); }; }; }); }; var biapplyClown = function (dictApply) { return new Control_Biapply.Biapply(function () { return bifunctorClown(dictApply.Functor0()); }, function (v) { return function (v1) { return Control_Apply.apply(dictApply)(v)(v1); }; }); }; var biapplicativeClown = function (dictApplicative) { return new Control_Biapplicative.Biapplicative(function () { return biapplyClown(dictApplicative.Apply0()); }, function (a) { return function (v) { return Control_Applicative.pure(dictApplicative)(a); }; }); }; exports["Clown"] = Clown; exports["newtypeClown"] = newtypeClown; exports["eqClown"] = eqClown; exports["ordClown"] = ordClown; exports["showClown"] = showClown; exports["functorClown"] = functorClown; exports["bifunctorClown"] = bifunctorClown; exports["biapplyClown"] = biapplyClown; exports["biapplicativeClown"] = biapplicativeClown; })(PS["Data.Bifunctor.Clown"] = PS["Data.Bifunctor.Clown"] || {}); (function(exports) { "use strict"; var Control_Biapplicative = PS["Control.Biapplicative"]; var Control_Biapply = PS["Control.Biapply"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Flips the order of the type arguments of a `Bifunctor`. var Flip = function (x) { return x; }; var showFlip = function (dictShow) { return new Data_Show.Show(function (v) { return "(Flip " + (Data_Show.show(dictShow)(v) + ")"); }); }; var ordFlip = function (dictOrd) { return dictOrd; }; var newtypeFlip = new Data_Newtype.Newtype(function (n) { return n; }, Flip); var functorFlip = function (dictBifunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Bifunctor.lmap(dictBifunctor)(f)(v); }; }); }; var eqFlip = function (dictEq) { return dictEq; }; var bifunctorFlip = function (dictBifunctor) { return new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { return Data_Bifunctor.bimap(dictBifunctor)(g)(f)(v); }; }; }); }; var biapplyFlip = function (dictBiapply) { return new Control_Biapply.Biapply(function () { return bifunctorFlip(dictBiapply.Bifunctor0()); }, function (v) { return function (v1) { return Control_Biapply.biapply(dictBiapply)(v)(v1); }; }); }; var biapplicativeFlip = function (dictBiapplicative) { return new Control_Biapplicative.Biapplicative(function () { return biapplyFlip(dictBiapplicative.Biapply0()); }, function (a) { return function (b) { return Control_Biapplicative.bipure(dictBiapplicative)(b)(a); }; }); }; exports["Flip"] = Flip; exports["newtypeFlip"] = newtypeFlip; exports["eqFlip"] = eqFlip; exports["ordFlip"] = ordFlip; exports["showFlip"] = showFlip; exports["functorFlip"] = functorFlip; exports["bifunctorFlip"] = bifunctorFlip; exports["biapplyFlip"] = biapplyFlip; exports["biapplicativeFlip"] = biapplicativeFlip; })(PS["Data.Bifunctor.Flip"] = PS["Data.Bifunctor.Flip"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Biapplicative = PS["Control.Biapplicative"]; var Control_Biapply = PS["Control.Biapply"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Make a `Functor` over the second argument of a `Bifunctor` var Joker = function (x) { return x; }; var showJoker = function (dictShow) { return new Data_Show.Show(function (v) { return "(Joker " + (Data_Show.show(dictShow)(v) + ")"); }); }; var ordJoker = function (dictOrd) { return dictOrd; }; var newtypeJoker = new Data_Newtype.Newtype(function (n) { return n; }, Joker); var functorJoker = function (dictFunctor) { return new Data_Functor.Functor(function (g) { return function (v) { return Data_Functor.map(dictFunctor)(g)(v); }; }); }; var eqJoker = function (dictEq) { return dictEq; }; var bifunctorJoker = function (dictFunctor) { return new Data_Bifunctor.Bifunctor(function (v) { return function (g) { return function (v1) { return Data_Functor.map(dictFunctor)(g)(v1); }; }; }); }; var biapplyJoker = function (dictApply) { return new Control_Biapply.Biapply(function () { return bifunctorJoker(dictApply.Functor0()); }, function (v) { return function (v1) { return Control_Apply.apply(dictApply)(v)(v1); }; }); }; var biapplicativeJoker = function (dictApplicative) { return new Control_Biapplicative.Biapplicative(function () { return biapplyJoker(dictApplicative.Apply0()); }, function (v) { return function (b) { return Control_Applicative.pure(dictApplicative)(b); }; }); }; exports["Joker"] = Joker; exports["newtypeJoker"] = newtypeJoker; exports["eqJoker"] = eqJoker; exports["ordJoker"] = ordJoker; exports["showJoker"] = showJoker; exports["functorJoker"] = functorJoker; exports["bifunctorJoker"] = bifunctorJoker; exports["biapplyJoker"] = biapplyJoker; exports["biapplicativeJoker"] = biapplicativeJoker; })(PS["Data.Bifunctor.Joker"] = PS["Data.Bifunctor.Joker"] || {}); (function(exports) { "use strict"; var Control_Biapplicative = PS["Control.Biapplicative"]; var Control_Biapply = PS["Control.Biapply"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | The product of two `Bifunctor`s. var Product = (function () { function Product(value0, value1) { this.value0 = value0; this.value1 = value1; }; Product.create = function (value0) { return function (value1) { return new Product(value0, value1); }; }; return Product; })(); var showProduct = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (v) { return "(Product " + (Data_Show.show(dictShow)(v.value0) + (" " + (Data_Show.show(dictShow1)(v.value1) + ")"))); }); }; }; var eqProduct = function (dictEq) { return function (dictEq1) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1); }; }); }; }; var ordProduct = function (dictOrd) { return function (dictOrd1) { return new Data_Ord.Ord(function () { return eqProduct(dictOrd.Eq0())(dictOrd1.Eq0()); }, function (x) { return function (y) { var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(dictOrd1)(x.value1)(y.value1); }; }); }; }; var bifunctorProduct = function (dictBifunctor) { return function (dictBifunctor1) { return new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { return new Product(Data_Bifunctor.bimap(dictBifunctor)(f)(g)(v.value0), Data_Bifunctor.bimap(dictBifunctor1)(f)(g)(v.value1)); }; }; }); }; }; var biapplyProduct = function (dictBiapply) { return function (dictBiapply1) { return new Control_Biapply.Biapply(function () { return bifunctorProduct(dictBiapply.Bifunctor0())(dictBiapply1.Bifunctor0()); }, function (v) { return function (v1) { return new Product(Control_Biapply.biapply(dictBiapply)(v.value0)(v1.value0), Control_Biapply.biapply(dictBiapply1)(v.value1)(v1.value1)); }; }); }; }; var biapplicativeProduct = function (dictBiapplicative) { return function (dictBiapplicative1) { return new Control_Biapplicative.Biapplicative(function () { return biapplyProduct(dictBiapplicative.Biapply0())(dictBiapplicative1.Biapply0()); }, function (a) { return function (b) { return new Product(Control_Biapplicative.bipure(dictBiapplicative)(a)(b), Control_Biapplicative.bipure(dictBiapplicative1)(a)(b)); }; }); }; }; exports["Product"] = Product; exports["eqProduct"] = eqProduct; exports["ordProduct"] = ordProduct; exports["showProduct"] = showProduct; exports["bifunctorProduct"] = bifunctorProduct; exports["biapplyProduct"] = biapplyProduct; exports["biapplicativeProduct"] = biapplicativeProduct; })(PS["Data.Bifunctor.Product"] = PS["Data.Bifunctor.Product"] || {}); (function(exports) { "use strict"; var Control_Biapplicative = PS["Control.Biapplicative"]; var Control_Biapply = PS["Control.Biapply"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Provides a `Functor` over the second argument of a `Bifunctor`. var Wrap = function (x) { return x; }; var showWrap = function (dictShow) { return new Data_Show.Show(function (v) { return "(Wrap " + (Data_Show.show(dictShow)(v) + ")"); }); }; var ordWrap = function (dictOrd) { return dictOrd; }; var newtypeWrap = new Data_Newtype.Newtype(function (n) { return n; }, Wrap); var functorWrap = function (dictBifunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Bifunctor.rmap(dictBifunctor)(f)(v); }; }); }; var eqWrap = function (dictEq) { return dictEq; }; var bifunctorWrap = function (dictBifunctor) { return new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { return Data_Bifunctor.bimap(dictBifunctor)(f)(g)(v); }; }; }); }; var biapplyWrap = function (dictBiapply) { return new Control_Biapply.Biapply(function () { return bifunctorWrap(dictBiapply.Bifunctor0()); }, function (v) { return function (v1) { return Control_Biapply.biapply(dictBiapply)(v)(v1); }; }); }; var biapplicativeWrap = function (dictBiapplicative) { return new Control_Biapplicative.Biapplicative(function () { return biapplyWrap(dictBiapplicative.Biapply0()); }, function (a) { return function (b) { return Control_Biapplicative.bipure(dictBiapplicative)(a)(b); }; }); }; exports["Wrap"] = Wrap; exports["newtypeWrap"] = newtypeWrap; exports["eqWrap"] = eqWrap; exports["ordWrap"] = ordWrap; exports["showWrap"] = showWrap; exports["functorWrap"] = functorWrap; exports["bifunctorWrap"] = bifunctorWrap; exports["biapplyWrap"] = biapplyWrap; exports["biapplicativeWrap"] = biapplicativeWrap; })(PS["Data.Bifunctor.Wrap"] = PS["Data.Bifunctor.Wrap"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor_Clown = PS["Data.Bifunctor.Clown"]; var Data_Bifunctor_Flip = PS["Data.Bifunctor.Flip"]; var Data_Bifunctor_Joker = PS["Data.Bifunctor.Joker"]; var Data_Bifunctor_Product = PS["Data.Bifunctor.Product"]; var Data_Bifunctor_Wrap = PS["Data.Bifunctor.Wrap"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Monoid_Conj = PS["Data.Monoid.Conj"]; var Data_Monoid_Disj = PS["Data.Monoid.Disj"]; var Data_Monoid_Dual = PS["Data.Monoid.Dual"]; var Data_Monoid_Endo = PS["Data.Monoid.Endo"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | `Bifoldable` represents data structures with two type arguments which can be // | folded. // | // | A fold for such a structure requires two step functions, one for each type // | argument. Type class instances should choose the appropriate step function based // | on the type of the element encountered at each point of the fold. // | // | Default implementations are provided by the following functions: // | // | - `bifoldrDefault` // | - `bifoldlDefault` // | - `bifoldMapDefaultR` // | - `bifoldMapDefaultL` // | // | Note: some combinations of the default implementations are unsafe to // | use together - causing a non-terminating mutually recursive cycle. // | These combinations are documented per function. var Bifoldable = function (bifoldMap, bifoldl, bifoldr) { this.bifoldMap = bifoldMap; this.bifoldl = bifoldl; this.bifoldr = bifoldr; }; var bifoldr = function (dict) { return dict.bifoldr; }; // | Traverse a data structure, accumulating effects using an `Applicative` functor, // | ignoring the final result. var bitraverse_ = function (dictBifoldable) { return function (dictApplicative) { return function (f) { return function (g) { return bifoldr(dictBifoldable)(function ($97) { return Control_Apply.applySecond(dictApplicative.Apply0())(f($97)); })(function ($98) { return Control_Apply.applySecond(dictApplicative.Apply0())(g($98)); })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit)); }; }; }; }; // | A version of `bitraverse_` with the data structure as the first argument. var bifor_ = function (dictBifoldable) { return function (dictApplicative) { return function (t) { return function (f) { return function (g) { return bitraverse_(dictBifoldable)(dictApplicative)(f)(g)(t); }; }; }; }; }; // | Collapse a data structure, collecting effects using an `Applicative` functor, // | ignoring the final result. var bisequence_ = function (dictBifoldable) { return function (dictApplicative) { return bitraverse_(dictBifoldable)(dictApplicative)(Control_Category.id(Control_Category.categoryFn))(Control_Category.id(Control_Category.categoryFn)); }; }; var bifoldl = function (dict) { return dict.bifoldl; }; var bifoldableJoker = function (dictFoldable) { return new Bifoldable(function (dictMonoid) { return function (v) { return function (r) { return function (v1) { return Data_Foldable.foldMap(dictFoldable)(dictMonoid)(r)(v1); }; }; }; }, function (v) { return function (r) { return function (u) { return function (v1) { return Data_Foldable.foldl(dictFoldable)(r)(u)(v1); }; }; }; }, function (v) { return function (r) { return function (u) { return function (v1) { return Data_Foldable.foldr(dictFoldable)(r)(u)(v1); }; }; }; }); }; var bifoldableClown = function (dictFoldable) { return new Bifoldable(function (dictMonoid) { return function (l) { return function (v) { return function (v1) { return Data_Foldable.foldMap(dictFoldable)(dictMonoid)(l)(v1); }; }; }; }, function (l) { return function (v) { return function (u) { return function (v1) { return Data_Foldable.foldl(dictFoldable)(l)(u)(v1); }; }; }; }, function (l) { return function (v) { return function (u) { return function (v1) { return Data_Foldable.foldr(dictFoldable)(l)(u)(v1); }; }; }; }); }; // | A default implementation of `bifoldMap` using `bifoldr`. // | // | Note: when defining a `Bifoldable` instance, this function is unsafe to // | use in combination with `bifoldrDefault`. var bifoldMapDefaultR = function (dictBifoldable) { return function (dictMonoid) { return function (f) { return function (g) { return bifoldr(dictBifoldable)(function ($99) { return Data_Semigroup.append(dictMonoid.Semigroup0())(f($99)); })(function ($100) { return Data_Semigroup.append(dictMonoid.Semigroup0())(g($100)); })(Data_Monoid.mempty(dictMonoid)); }; }; }; }; // | A default implementation of `bifoldMap` using `bifoldl`. // | // | Note: when defining a `Bifoldable` instance, this function is unsafe to // | use in combination with `bifoldlDefault`. var bifoldMapDefaultL = function (dictBifoldable) { return function (dictMonoid) { return function (f) { return function (g) { return bifoldl(dictBifoldable)(function (m) { return function (a) { return Data_Semigroup.append(dictMonoid.Semigroup0())(m)(f(a)); }; })(function (m) { return function (b) { return Data_Semigroup.append(dictMonoid.Semigroup0())(m)(g(b)); }; })(Data_Monoid.mempty(dictMonoid)); }; }; }; }; var bifoldMap = function (dict) { return dict.bifoldMap; }; var bifoldableFlip = function (dictBifoldable) { return new Bifoldable(function (dictMonoid) { return function (r) { return function (l) { return function (v) { return bifoldMap(dictBifoldable)(dictMonoid)(l)(r)(v); }; }; }; }, function (r) { return function (l) { return function (u) { return function (v) { return bifoldl(dictBifoldable)(l)(r)(u)(v); }; }; }; }, function (r) { return function (l) { return function (u) { return function (v) { return bifoldr(dictBifoldable)(l)(r)(u)(v); }; }; }; }); }; var bifoldableWrap = function (dictBifoldable) { return new Bifoldable(function (dictMonoid) { return function (l) { return function (r) { return function (v) { return bifoldMap(dictBifoldable)(dictMonoid)(l)(r)(v); }; }; }; }, function (l) { return function (r) { return function (u) { return function (v) { return bifoldl(dictBifoldable)(l)(r)(u)(v); }; }; }; }, function (l) { return function (r) { return function (u) { return function (v) { return bifoldr(dictBifoldable)(l)(r)(u)(v); }; }; }; }); }; // | A default implementation of `bifoldl` using `bifoldMap`. // | // | Note: when defining a `Bifoldable` instance, this function is unsafe to // | use in combination with `bifoldMapDefaultL`. var bifoldlDefault = function (dictBifoldable) { return function (f) { return function (g) { return function (z) { return function (p) { return Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo)(Data_Newtype.unwrap(Data_Monoid_Dual.newtypeDual)(bifoldMap(dictBifoldable)(Data_Monoid_Dual.monoidDual(Data_Monoid_Endo.monoidEndo))(function ($101) { return Data_Monoid_Dual.Dual(Data_Monoid_Endo.Endo(Data_Function.flip(f)($101))); })(function ($102) { return Data_Monoid_Dual.Dual(Data_Monoid_Endo.Endo(Data_Function.flip(g)($102))); })(p)))(z); }; }; }; }; }; // | A default implementation of `bifoldr` using `bifoldMap`. // | // | Note: when defining a `Bifoldable` instance, this function is unsafe to // | use in combination with `bifoldMapDefaultR`. var bifoldrDefault = function (dictBifoldable) { return function (f) { return function (g) { return function (z) { return function (p) { return Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo)(bifoldMap(dictBifoldable)(Data_Monoid_Endo.monoidEndo)(function ($103) { return Data_Monoid_Endo.Endo(f($103)); })(function ($104) { return Data_Monoid_Endo.Endo(g($104)); })(p))(z); }; }; }; }; }; var bifoldableProduct = function (dictBifoldable) { return function (dictBifoldable1) { return new Bifoldable(function (dictMonoid) { return function (l) { return function (r) { return function (v) { return Data_Semigroup.append(dictMonoid.Semigroup0())(bifoldMap(dictBifoldable)(dictMonoid)(l)(r)(v.value0))(bifoldMap(dictBifoldable1)(dictMonoid)(l)(r)(v.value1)); }; }; }; }, function (l) { return function (r) { return function (u) { return function (m) { return bifoldlDefault(bifoldableProduct(dictBifoldable)(dictBifoldable1))(l)(r)(u)(m); }; }; }; }, function (l) { return function (r) { return function (u) { return function (m) { return bifoldrDefault(bifoldableProduct(dictBifoldable)(dictBifoldable1))(l)(r)(u)(m); }; }; }; }); }; }; // | Fold a data structure, accumulating values in a monoidal type. var bifold = function (dictBifoldable) { return function (dictMonoid) { return bifoldMap(dictBifoldable)(dictMonoid)(Control_Category.id(Control_Category.categoryFn))(Control_Category.id(Control_Category.categoryFn)); }; }; // | Test whether a predicate holds at any position in a data structure. var biany = function (dictBifoldable) { return function (dictBooleanAlgebra) { return function (p) { return function (q) { return function ($105) { return Data_Newtype.unwrap(Data_Monoid_Disj.newtypeDisj)(bifoldMap(dictBifoldable)(Data_Monoid_Disj.monoidDisj(dictBooleanAlgebra.HeytingAlgebra0()))(function ($106) { return Data_Monoid_Disj.Disj(p($106)); })(function ($107) { return Data_Monoid_Disj.Disj(q($107)); })($105)); }; }; }; }; }; // | Test whether a predicate holds at all positions in a data structure. var biall = function (dictBifoldable) { return function (dictBooleanAlgebra) { return function (p) { return function (q) { return function ($108) { return Data_Newtype.unwrap(Data_Monoid_Conj.newtypeConj)(bifoldMap(dictBifoldable)(Data_Monoid_Conj.monoidConj(dictBooleanAlgebra.HeytingAlgebra0()))(function ($109) { return Data_Monoid_Conj.Conj(p($109)); })(function ($110) { return Data_Monoid_Conj.Conj(q($110)); })($108)); }; }; }; }; }; exports["Bifoldable"] = Bifoldable; exports["biall"] = biall; exports["biany"] = biany; exports["bifold"] = bifold; exports["bifoldMap"] = bifoldMap; exports["bifoldMapDefaultL"] = bifoldMapDefaultL; exports["bifoldMapDefaultR"] = bifoldMapDefaultR; exports["bifoldl"] = bifoldl; exports["bifoldlDefault"] = bifoldlDefault; exports["bifoldr"] = bifoldr; exports["bifoldrDefault"] = bifoldrDefault; exports["bifor_"] = bifor_; exports["bisequence_"] = bisequence_; exports["bitraverse_"] = bitraverse_; exports["bifoldableClown"] = bifoldableClown; exports["bifoldableJoker"] = bifoldableJoker; exports["bifoldableFlip"] = bifoldableFlip; exports["bifoldableProduct"] = bifoldableProduct; exports["bifoldableWrap"] = bifoldableWrap; })(PS["Data.Bifoldable"] = PS["Data.Bifoldable"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Data_Bifoldable = PS["Data.Bifoldable"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Bifunctor_Clown = PS["Data.Bifunctor.Clown"]; var Data_Bifunctor_Flip = PS["Data.Bifunctor.Flip"]; var Data_Bifunctor_Joker = PS["Data.Bifunctor.Joker"]; var Data_Bifunctor_Product = PS["Data.Bifunctor.Product"]; var Data_Bifunctor_Wrap = PS["Data.Bifunctor.Wrap"]; var Data_Functor = PS["Data.Functor"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; // | `Bitraversable` represents data structures with two type arguments which can be // | traversed. // | // | A traversal for such a structure requires two functions, one for each type // | argument. Type class instances should choose the appropriate function based // | on the type of the element encountered at each point of the traversal. // | // | Default implementations are provided by the following functions: // | // | - `bitraverseDefault` // | - `bisequenceDefault` var Bitraversable = function (Bifoldable1, Bifunctor0, bisequence, bitraverse) { this.Bifoldable1 = Bifoldable1; this.Bifunctor0 = Bifunctor0; this.bisequence = bisequence; this.bitraverse = bitraverse; }; var bitraverse = function (dict) { return dict.bitraverse; }; var lfor = function (dictBitraversable) { return function (dictApplicative) { return function (t) { return function (f) { return bitraverse(dictBitraversable)(dictApplicative)(f)(Control_Applicative.pure(dictApplicative))(t); }; }; }; }; var ltraverse = function (dictBitraversable) { return function (dictApplicative) { return function (f) { return bitraverse(dictBitraversable)(dictApplicative)(f)(Control_Applicative.pure(dictApplicative)); }; }; }; var rfor = function (dictBitraversable) { return function (dictApplicative) { return function (t) { return function (f) { return bitraverse(dictBitraversable)(dictApplicative)(Control_Applicative.pure(dictApplicative))(f)(t); }; }; }; }; var rtraverse = function (dictBitraversable) { return function (dictApplicative) { return bitraverse(dictBitraversable)(dictApplicative)(Control_Applicative.pure(dictApplicative)); }; }; var bitraversableJoker = function (dictTraversable) { return new Bitraversable(function () { return Data_Bifoldable.bifoldableJoker(dictTraversable.Foldable1()); }, function () { return Data_Bifunctor_Joker.bifunctorJoker(dictTraversable.Functor0()); }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Joker.Joker)(Data_Traversable.sequence(dictTraversable)(dictApplicative)(v)); }; }, function (dictApplicative) { return function (v) { return function (r) { return function (v1) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Joker.Joker)(Data_Traversable.traverse(dictTraversable)(dictApplicative)(r)(v1)); }; }; }; }); }; var bitraversableClown = function (dictTraversable) { return new Bitraversable(function () { return Data_Bifoldable.bifoldableClown(dictTraversable.Foldable1()); }, function () { return Data_Bifunctor_Clown.bifunctorClown(dictTraversable.Functor0()); }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Clown.Clown)(Data_Traversable.sequence(dictTraversable)(dictApplicative)(v)); }; }, function (dictApplicative) { return function (l) { return function (v) { return function (v1) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Clown.Clown)(Data_Traversable.traverse(dictTraversable)(dictApplicative)(l)(v1)); }; }; }; }); }; // | A default implementation of `bisequence` using `bitraverse`. var bisequenceDefault = function (dictBitraversable) { return function (dictApplicative) { return bitraverse(dictBitraversable)(dictApplicative)(Control_Category.id(Control_Category.categoryFn))(Control_Category.id(Control_Category.categoryFn)); }; }; var bisequence = function (dict) { return dict.bisequence; }; var bitraversableFlip = function (dictBitraversable) { return new Bitraversable(function () { return Data_Bifoldable.bifoldableFlip(dictBitraversable.Bifoldable1()); }, function () { return Data_Bifunctor_Flip.bifunctorFlip(dictBitraversable.Bifunctor0()); }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Flip.Flip)(bisequence(dictBitraversable)(dictApplicative)(v)); }; }, function (dictApplicative) { return function (r) { return function (l) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Flip.Flip)(bitraverse(dictBitraversable)(dictApplicative)(l)(r)(v)); }; }; }; }); }; var bitraversableProduct = function (dictBitraversable) { return function (dictBitraversable1) { return new Bitraversable(function () { return Data_Bifoldable.bifoldableProduct(dictBitraversable.Bifoldable1())(dictBitraversable1.Bifoldable1()); }, function () { return Data_Bifunctor_Product.bifunctorProduct(dictBitraversable.Bifunctor0())(dictBitraversable1.Bifunctor0()); }, function (dictApplicative) { return function (v) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Product.Product.create)(bisequence(dictBitraversable)(dictApplicative)(v.value0)))(bisequence(dictBitraversable1)(dictApplicative)(v.value1)); }; }, function (dictApplicative) { return function (l) { return function (r) { return function (v) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Product.Product.create)(bitraverse(dictBitraversable)(dictApplicative)(l)(r)(v.value0)))(bitraverse(dictBitraversable1)(dictApplicative)(l)(r)(v.value1)); }; }; }; }); }; }; var bitraversableWrap = function (dictBitraversable) { return new Bitraversable(function () { return Data_Bifoldable.bifoldableWrap(dictBitraversable.Bifoldable1()); }, function () { return Data_Bifunctor_Wrap.bifunctorWrap(dictBitraversable.Bifunctor0()); }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Wrap.Wrap)(bisequence(dictBitraversable)(dictApplicative)(v)); }; }, function (dictApplicative) { return function (l) { return function (r) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Bifunctor_Wrap.Wrap)(bitraverse(dictBitraversable)(dictApplicative)(l)(r)(v)); }; }; }; }); }; // | A default implementation of `bitraverse` using `bisequence` and `bimap`. var bitraverseDefault = function (dictBitraversable) { return function (dictApplicative) { return function (f) { return function (g) { return function (t) { return bisequence(dictBitraversable)(dictApplicative)(Data_Bifunctor.bimap(dictBitraversable.Bifunctor0())(f)(g)(t)); }; }; }; }; }; // | Traverse a data structure, accumulating effects and results using an `Applicative` functor. var bifor = function (dictBitraversable) { return function (dictApplicative) { return function (t) { return function (f) { return function (g) { return bitraverse(dictBitraversable)(dictApplicative)(f)(g)(t); }; }; }; }; }; exports["Bitraversable"] = Bitraversable; exports["bifor"] = bifor; exports["bisequence"] = bisequence; exports["bisequenceDefault"] = bisequenceDefault; exports["bitraverse"] = bitraverse; exports["bitraverseDefault"] = bitraverseDefault; exports["lfor"] = lfor; exports["ltraverse"] = ltraverse; exports["rfor"] = rfor; exports["rtraverse"] = rtraverse; exports["bitraversableClown"] = bitraversableClown; exports["bitraversableJoker"] = bitraversableJoker; exports["bitraversableFlip"] = bitraversableFlip; exports["bitraversableProduct"] = bitraversableProduct; exports["bitraversableWrap"] = bitraversableWrap; })(PS["Data.Bitraversable"] = PS["Data.Bitraversable"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Data_Bifoldable = PS["Data.Bifoldable"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Bitraversable = PS["Data.Bitraversable"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; // | The `Either` type is used to represent a choice between two types of value. // | // | A common use case for `Either` is error handling, where `Left` is used to // | carry an error value and `Right` is used to carry a success value. var Left = (function () { function Left(value0) { this.value0 = value0; }; Left.create = function (value0) { return new Left(value0); }; return Left; })(); // | The `Either` type is used to represent a choice between two types of value. // | // | A common use case for `Either` is error handling, where `Left` is used to // | carry an error value and `Right` is used to carry a success value. var Right = (function () { function Right(value0) { this.value0 = value0; }; Right.create = function (value0) { return new Right(value0); }; return Right; })(); // | The `Show` instance allows `Either` values to be rendered as a string with // | `show` whenever there is an `Show` instance for both type the `Either` can // | contain. var showEither = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (v) { if (v instanceof Left) { return "(Left " + (Data_Show.show(dictShow)(v.value0) + ")"); }; if (v instanceof Right) { return "(Right " + (Data_Show.show(dictShow1)(v.value0) + ")"); }; throw new Error("Failed pattern match at Data.Either line 160, column 1 - line 160, column 61: " + [ v.constructor.name ]); }); }; }; // | Takes a default and a `Maybe` value, if the value is a `Just`, turn it into // | a `Right`, if the value is a `Nothing` use the provided default as a `Left` // | // | ```purescript // | note "default" Nothing = Left "default" // | note "default" (Just 1) = Right 1 // | ``` var note = function (a) { return Data_Maybe.maybe(new Left(a))(Right.create); }; // | The `Functor` instance allows functions to transform the contents of a // | `Right` with the `<$>` operator: // | // | ``` purescript // | f <$> Right x == Right (f x) // | ``` // | // | `Left` values are untouched: // | // | ``` purescript // | f <$> Left y == Left y // | ``` var functorEither = new Data_Functor.Functor(function (v) { return function (v1) { if (v1 instanceof Left) { return new Left(v1.value0); }; if (v1 instanceof Right) { return new Right(v(v1.value0)); }; throw new Error("Failed pattern match at Data.Either line 36, column 1 - line 36, column 45: " + [ v.constructor.name, v1.constructor.name ]); }; }); var invariantEither = new Data_Functor_Invariant.Invariant(Data_Functor_Invariant.imapF(functorEither)); // | A partial function that extracts the value from the `Right` data constructor. // | Passing a `Left` to `fromRight` will throw an error at runtime. var fromRight = function (dictPartial) { return function (v) { var __unused = function (dictPartial1) { return function ($dollar62) { return $dollar62; }; }; return __unused(dictPartial)((function () { if (v instanceof Right) { return v.value0; }; throw new Error("Failed pattern match at Data.Either line 252, column 1 - line 252, column 52: " + [ v.constructor.name ]); })()); }; }; // | A partial function that extracts the value from the `Left` data constructor. // | Passing a `Right` to `fromLeft` will throw an error at runtime. var fromLeft = function (dictPartial) { return function (v) { var __unused = function (dictPartial1) { return function ($dollar66) { return $dollar66; }; }; return __unused(dictPartial)((function () { if (v instanceof Left) { return v.value0; }; throw new Error("Failed pattern match at Data.Either line 247, column 1 - line 247, column 51: " + [ v.constructor.name ]); })()); }; }; var foldableEither = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (v) { if (v instanceof Left) { return Data_Monoid.mempty(dictMonoid); }; if (v instanceof Right) { return f(v.value0); }; throw new Error("Failed pattern match at Data.Either line 184, column 1 - line 184, column 47: " + [ f.constructor.name, v.constructor.name ]); }; }; }, function (v) { return function (z) { return function (v1) { if (v1 instanceof Left) { return z; }; if (v1 instanceof Right) { return v(z)(v1.value0); }; throw new Error("Failed pattern match at Data.Either line 184, column 1 - line 184, column 47: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]); }; }; }, function (v) { return function (z) { return function (v1) { if (v1 instanceof Left) { return z; }; if (v1 instanceof Right) { return v(v1.value0)(z); }; throw new Error("Failed pattern match at Data.Either line 184, column 1 - line 184, column 47: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]); }; }; }); var traversableEither = new Data_Traversable.Traversable(function () { return foldableEither; }, function () { return functorEither; }, function (dictApplicative) { return function (v) { if (v instanceof Left) { return Control_Applicative.pure(dictApplicative)(new Left(v.value0)); }; if (v instanceof Right) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Right.create)(v.value0); }; throw new Error("Failed pattern match at Data.Either line 200, column 1 - line 200, column 53: " + [ v.constructor.name ]); }; }, function (dictApplicative) { return function (v) { return function (v1) { if (v1 instanceof Left) { return Control_Applicative.pure(dictApplicative)(new Left(v1.value0)); }; if (v1 instanceof Right) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Right.create)(v(v1.value0)); }; throw new Error("Failed pattern match at Data.Either line 200, column 1 - line 200, column 53: " + [ v.constructor.name, v1.constructor.name ]); }; }; }); // | The `Extend` instance allows sequencing of `Either` values and functions // | that accept an `Either` and return a non-`Either` result using the // | `<<=` operator. // | // | ``` purescript // | f <<= Left x = Left x // | f <<= Right x = Right (f (Right x)) // | ``` var extendEither = new Control_Extend.Extend(function () { return functorEither; }, function (v) { return function (v1) { if (v1 instanceof Left) { return new Left(v1.value0); }; return new Right(v(v1)); }; }); var eqEither = function (dictEq) { return function (dictEq1) { return new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof Left && y instanceof Left) { return Data_Eq.eq(dictEq)(x.value0)(y.value0); }; if (x instanceof Right && y instanceof Right) { return Data_Eq.eq(dictEq1)(x.value0)(y.value0); }; return false; }; }); }; }; var ordEither = function (dictOrd) { return function (dictOrd1) { return new Data_Ord.Ord(function () { return eqEither(dictOrd.Eq0())(dictOrd1.Eq0()); }, function (x) { return function (y) { if (x instanceof Left && y instanceof Left) { return Data_Ord.compare(dictOrd)(x.value0)(y.value0); }; if (x instanceof Left) { return Data_Ordering.LT.value; }; if (y instanceof Left) { return Data_Ordering.GT.value; }; if (x instanceof Right && y instanceof Right) { return Data_Ord.compare(dictOrd1)(x.value0)(y.value0); }; throw new Error("Failed pattern match at Data.Either line 176, column 8 - line 176, column 64: " + [ x.constructor.name, y.constructor.name ]); }; }); }; }; var eq1Either = function (dictEq) { return new Data_Eq.Eq1(function (dictEq1) { return Data_Eq.eq(eqEither(dictEq)(dictEq1)); }); }; var ord1Either = function (dictOrd) { return new Data_Ord.Ord1(function () { return eq1Either(dictOrd.Eq0()); }, function (dictOrd1) { return Data_Ord.compare(ordEither(dictOrd)(dictOrd1)); }); }; // | Takes two functions and an `Either` value, if the value is a `Left` the // | inner value is applied to the first function, if the value is a `Right` // | the inner value is applied to the second function. // | // | ``` purescript // | either f g (Left x) == f x // | either f g (Right y) == g y // | ``` var either = function (v) { return function (v1) { return function (v2) { if (v2 instanceof Left) { return v(v2.value0); }; if (v2 instanceof Right) { return v1(v2.value0); }; throw new Error("Failed pattern match at Data.Either line 229, column 1 - line 229, column 64: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; // | Turns an `Either` into a `Maybe`, by throwing eventual `Left` values away and converting // | them into `Nothing`. `Right` values get turned into `Just`s. // | // | ```purescript // | hush (Left "ParseError") = Nothing // | hush (Right 42) = Just 42 // | ``` var hush = either(Data_Function["const"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create); // | Returns `true` when the `Either` value was constructed with `Left`. var isLeft = either(Data_Function["const"](true))(Data_Function["const"](false)); // | Returns `true` when the `Either` value was constructed with `Right`. var isRight = either(Data_Function["const"](false))(Data_Function["const"](true)); // | Combine two alternatives. var choose = function (dictAlt) { return function (a) { return function (b) { return Control_Alt.alt(dictAlt)(Data_Functor.map(dictAlt.Functor0())(Left.create)(a))(Data_Functor.map(dictAlt.Functor0())(Right.create)(b)); }; }; }; var boundedEither = function (dictBounded) { return function (dictBounded1) { return new Data_Bounded.Bounded(function () { return ordEither(dictBounded.Ord0())(dictBounded1.Ord0()); }, new Left(Data_Bounded.bottom(dictBounded)), new Right(Data_Bounded.top(dictBounded1))); }; }; var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) { return function (v1) { return function (v2) { if (v2 instanceof Left) { return new Left(v(v2.value0)); }; if (v2 instanceof Right) { return new Right(v1(v2.value0)); }; throw new Error("Failed pattern match at Data.Either line 43, column 1 - line 43, column 45: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }); var bifoldableEither = new Data_Bifoldable.Bifoldable(function (dictMonoid) { return function (v) { return function (v1) { return function (v2) { if (v2 instanceof Left) { return v(v2.value0); }; if (v2 instanceof Right) { return v1(v2.value0); }; throw new Error("Failed pattern match at Data.Either line 192, column 1 - line 192, column 47: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; }, function (v) { return function (v1) { return function (z) { return function (v2) { if (v2 instanceof Left) { return v(z)(v2.value0); }; if (v2 instanceof Right) { return v1(z)(v2.value0); }; throw new Error("Failed pattern match at Data.Either line 192, column 1 - line 192, column 47: " + [ v.constructor.name, v1.constructor.name, z.constructor.name, v2.constructor.name ]); }; }; }; }, function (v) { return function (v1) { return function (z) { return function (v2) { if (v2 instanceof Left) { return v(v2.value0)(z); }; if (v2 instanceof Right) { return v1(v2.value0)(z); }; throw new Error("Failed pattern match at Data.Either line 192, column 1 - line 192, column 47: " + [ v.constructor.name, v1.constructor.name, z.constructor.name, v2.constructor.name ]); }; }; }; }); var bitraversableEither = new Data_Bitraversable.Bitraversable(function () { return bifoldableEither; }, function () { return bifunctorEither; }, function (dictApplicative) { return function (v) { if (v instanceof Left) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Left.create)(v.value0); }; if (v instanceof Right) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Right.create)(v.value0); }; throw new Error("Failed pattern match at Data.Either line 206, column 1 - line 206, column 53: " + [ v.constructor.name ]); }; }, function (dictApplicative) { return function (v) { return function (v1) { return function (v2) { if (v2 instanceof Left) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Left.create)(v(v2.value0)); }; if (v2 instanceof Right) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Right.create)(v1(v2.value0)); }; throw new Error("Failed pattern match at Data.Either line 206, column 1 - line 206, column 53: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; }); // | The `Apply` instance allows functions contained within a `Right` to // | transform a value contained within a `Right` using the `(<*>)` operator: // | // | ``` purescript // | Right f <*> Right x == Right (f x) // | ``` // | // | `Left` values are left untouched: // | // | ``` purescript // | Left f <*> Right x == Left x // | Right f <*> Left y == Left y // | ``` // | // | Combining `Functor`'s `<$>` with `Apply`'s `<*>` can be used to transform a // | pure function to take `Either`-typed arguments so `f :: a -> b -> c` // | becomes `f :: Either l a -> Either l b -> Either l c`: // | // | ``` purescript // | f <$> Right x <*> Right y == Right (f x y) // | ``` // | // | The `Left`-preserving behaviour of both operators means the result of // | an expression like the above but where any one of the values is `Left` // | means the whole result becomes `Left` also, taking the first `Left` value // | found: // | // | ``` purescript // | f <$> Left x <*> Right y == Left x // | f <$> Right x <*> Left y == Left y // | f <$> Left x <*> Left y == Left x // | ``` var applyEither = new Control_Apply.Apply(function () { return functorEither; }, function (v) { return function (v1) { if (v instanceof Left) { return new Left(v.value0); }; if (v instanceof Right) { return Data_Functor.map(functorEither)(v.value0)(v1); }; throw new Error("Failed pattern match at Data.Either line 79, column 1 - line 79, column 41: " + [ v.constructor.name, v1.constructor.name ]); }; }); // | The `Bind` instance allows sequencing of `Either` values and functions that // | return an `Either` by using the `>>=` operator: // | // | ``` purescript // | Left x >>= f = Left x // | Right x >>= f = f x // | ``` var bindEither = new Control_Bind.Bind(function () { return applyEither; }, either(function (e) { return function (v) { return new Left(e); }; })(function (a) { return function (f) { return f(a); }; })); var semigroupEither = function (dictSemigroup) { return new Data_Semigroup.Semigroup(function (x) { return function (y) { return Control_Apply.apply(applyEither)(Data_Functor.map(functorEither)(Data_Semigroup.append(dictSemigroup))(x))(y); }; }); }; var semiringEither = function (dictSemiring) { return new Data_Semiring.Semiring(function (x) { return function (y) { return Control_Apply.apply(applyEither)(Data_Functor.map(functorEither)(Data_Semiring.add(dictSemiring))(x))(y); }; }, function (x) { return function (y) { return Control_Apply.apply(applyEither)(Data_Functor.map(functorEither)(Data_Semiring.mul(dictSemiring))(x))(y); }; }, new Right(Data_Semiring.one(dictSemiring)), new Right(Data_Semiring.zero(dictSemiring))); }; // | The `Applicative` instance enables lifting of values into `Either` with the // | `pure` function: // | // | ``` purescript // | pure x :: Either _ _ == Right x // | ``` // | // | Combining `Functor`'s `<$>` with `Apply`'s `<*>` and `Applicative`'s // | `pure` can be used to pass a mixture of `Either` and non-`Either` typed // | values to a function that does not usually expect them, by using `pure` // | for any value that is not already `Either` typed: // | // | ``` purescript // | f <$> Right x <*> pure y == Right (f x y) // | ``` // | // | Even though `pure = Right` it is recommended to use `pure` in situations // | like this as it allows the choice of `Applicative` to be changed later // | without having to go through and replace `Right` with a new constructor. var applicativeEither = new Control_Applicative.Applicative(function () { return applyEither; }, Right.create); // | The `Monad` instance guarantees that there are both `Applicative` and // | `Bind` instances for `Either`. This also enables the `do` syntactic sugar: // | // | ``` purescript // | do // | x' <- x // | y' <- y // | pure (f x' y') // | ``` // | // | Which is equivalent to: // | // | ``` purescript // | x >>= (\x' -> y >>= (\y' -> pure (f x' y'))) // | ``` var monadEither = new Control_Monad.Monad(function () { return applicativeEither; }, function () { return bindEither; }); // | The `Alt` instance allows for a choice to be made between two `Either` // | values with the `<|>` operator, where the first `Right` encountered // | is taken. // | // | ``` purescript // | Right x <|> Right y == Right x // | Left x <|> Right y == Right y // | Left x <|> Left y == Left y // | ``` var altEither = new Control_Alt.Alt(function () { return functorEither; }, function (v) { return function (v1) { if (v instanceof Left) { return v1; }; return v; }; }); exports["Left"] = Left; exports["Right"] = Right; exports["choose"] = choose; exports["either"] = either; exports["fromLeft"] = fromLeft; exports["fromRight"] = fromRight; exports["hush"] = hush; exports["isLeft"] = isLeft; exports["isRight"] = isRight; exports["note"] = note; exports["functorEither"] = functorEither; exports["invariantEither"] = invariantEither; exports["bifunctorEither"] = bifunctorEither; exports["applyEither"] = applyEither; exports["applicativeEither"] = applicativeEither; exports["altEither"] = altEither; exports["bindEither"] = bindEither; exports["monadEither"] = monadEither; exports["extendEither"] = extendEither; exports["showEither"] = showEither; exports["eqEither"] = eqEither; exports["eq1Either"] = eq1Either; exports["ordEither"] = ordEither; exports["ord1Either"] = ord1Either; exports["boundedEither"] = boundedEither; exports["foldableEither"] = foldableEither; exports["bifoldableEither"] = bifoldableEither; exports["traversableEither"] = traversableEither; exports["bitraversableEither"] = bitraversableEither; exports["semiringEither"] = semiringEither; exports["semigroupEither"] = semigroupEither; })(PS["Data.Either"] = PS["Data.Either"] || {}); (function(exports) { "use strict"; var Data_Unit = PS["Data.Unit"]; // | The `Lazy` class represents types which allow evaluation of values // | to be _deferred_. // | // | Usually, this means that a type contains a function arrow which can // | be used to delay evaluation. var Lazy = function (defer) { this.defer = defer; }; var lazyUnit = new Lazy(function (v) { return Data_Unit.unit; }); var lazyFn = new Lazy(function (f) { return function (x) { return f(Data_Unit.unit)(x); }; }); var defer = function (dict) { return dict.defer; }; // | `fix` defines a value as the fixed point of a function. // | // | The `Lazy` instance allows us to generate the result lazily. var fix = function (dictLazy) { return function (f) { return defer(dictLazy)(function (v) { return f(fix(dictLazy)(f)); }); }; }; exports["Lazy"] = Lazy; exports["defer"] = defer; exports["fix"] = fix; exports["lazyFn"] = lazyFn; exports["lazyUnit"] = lazyUnit; })(PS["Control.Lazy"] = PS["Control.Lazy"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Monad = PS["Control.Monad"]; var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; var Data_Bounded = PS["Data.Bounded"]; var Data_CommutativeRing = PS["Data.CommutativeRing"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Field = PS["Data.Field"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; var Identity = function (x) { return x; }; var showIdentity = function (dictShow) { return new Data_Show.Show(function (v) { return "(Identity " + (Data_Show.show(dictShow)(v) + ")"); }); }; var semiringIdentity = function (dictSemiring) { return dictSemiring; }; var semigroupIdenity = function (dictSemigroup) { return dictSemigroup; }; var ringIdentity = function (dictRing) { return dictRing; }; var ordIdentity = function (dictOrd) { return dictOrd; }; var newtypeIdentity = new Data_Newtype.Newtype(function (n) { return n; }, Identity); var monoidIdentity = function (dictMonoid) { return dictMonoid; }; var lazyIdentity = function (dictLazy) { return dictLazy; }; var heytingAlgebraIdentity = function (dictHeytingAlgebra) { return dictHeytingAlgebra; }; var functorIdentity = new Data_Functor.Functor(function (f) { return function (v) { return f(v); }; }); var invariantIdentity = new Data_Functor_Invariant.Invariant(Data_Functor_Invariant.imapF(functorIdentity)); var foldableIdentity = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (v) { return f(v); }; }; }, function (f) { return function (z) { return function (v) { return f(z)(v); }; }; }, function (f) { return function (z) { return function (v) { return f(v)(z); }; }; }); var traversableIdentity = new Data_Traversable.Traversable(function () { return foldableIdentity; }, function () { return functorIdentity; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Identity)(v); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Identity)(f(v)); }; }; }); var fieldIdentity = function (dictField) { return dictField; }; var extendIdentity = new Control_Extend.Extend(function () { return functorIdentity; }, function (f) { return function (m) { return f(m); }; }); var euclideanRingIdentity = function (dictEuclideanRing) { return dictEuclideanRing; }; var eqIdentity = function (dictEq) { return dictEq; }; var eq1Identity = new Data_Eq.Eq1(function (dictEq) { return Data_Eq.eq(eqIdentity(dictEq)); }); var ord1Identity = new Data_Ord.Ord1(function () { return eq1Identity; }, function (dictOrd) { return Data_Ord.compare(ordIdentity(dictOrd)); }); var comonadIdentity = new Control_Comonad.Comonad(function () { return extendIdentity; }, function (v) { return v; }); var commutativeRingIdentity = function (dictCommutativeRing) { return dictCommutativeRing; }; var boundedIdentity = function (dictBounded) { return dictBounded; }; var booleanAlgebraIdentity = function (dictBooleanAlgebra) { return dictBooleanAlgebra; }; var applyIdentity = new Control_Apply.Apply(function () { return functorIdentity; }, function (v) { return function (v1) { return v(v1); }; }); var bindIdentity = new Control_Bind.Bind(function () { return applyIdentity; }, function (v) { return function (f) { return f(v); }; }); var applicativeIdentity = new Control_Applicative.Applicative(function () { return applyIdentity; }, Identity); var monadIdentity = new Control_Monad.Monad(function () { return applicativeIdentity; }, function () { return bindIdentity; }); var altIdentity = new Control_Alt.Alt(function () { return functorIdentity; }, function (x) { return function (v) { return x; }; }); exports["Identity"] = Identity; exports["newtypeIdentity"] = newtypeIdentity; exports["eqIdentity"] = eqIdentity; exports["ordIdentity"] = ordIdentity; exports["boundedIdentity"] = boundedIdentity; exports["heytingAlgebraIdentity"] = heytingAlgebraIdentity; exports["booleanAlgebraIdentity"] = booleanAlgebraIdentity; exports["semigroupIdenity"] = semigroupIdenity; exports["monoidIdentity"] = monoidIdentity; exports["semiringIdentity"] = semiringIdentity; exports["euclideanRingIdentity"] = euclideanRingIdentity; exports["ringIdentity"] = ringIdentity; exports["commutativeRingIdentity"] = commutativeRingIdentity; exports["fieldIdentity"] = fieldIdentity; exports["lazyIdentity"] = lazyIdentity; exports["showIdentity"] = showIdentity; exports["eq1Identity"] = eq1Identity; exports["ord1Identity"] = ord1Identity; exports["functorIdentity"] = functorIdentity; exports["invariantIdentity"] = invariantIdentity; exports["altIdentity"] = altIdentity; exports["applyIdentity"] = applyIdentity; exports["applicativeIdentity"] = applicativeIdentity; exports["bindIdentity"] = bindIdentity; exports["monadIdentity"] = monadIdentity; exports["extendIdentity"] = extendIdentity; exports["comonadIdentity"] = comonadIdentity; exports["foldableIdentity"] = foldableIdentity; exports["traversableIdentity"] = traversableIdentity; })(PS["Data.Identity"] = PS["Data.Identity"] || {}); (function(exports) { "use strict"; // module Partial.Unsafe exports.unsafePartial = function (f) { return f(); }; })(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {}); (function(exports) { "use strict"; // module Partial exports.crashWith = function () { return function (msg) { throw new Error(msg); }; }; })(PS["Partial"] = PS["Partial"] || {}); (function(exports) { // | Some partial helper functions. "use strict"; var $foreign = PS["Partial"]; // | A partial function which crashes on any input with a default message. var crash = function (dictPartial) { return $foreign.crashWith(dictPartial)("Partial.crash: partial function"); }; exports["crash"] = crash; exports["crashWith"] = $foreign.crashWith; })(PS["Partial"] = PS["Partial"] || {}); (function(exports) { // | Utilities for working with partial functions. "use strict"; var $foreign = PS["Partial.Unsafe"]; var Partial = PS["Partial"]; // | *deprecated:* use `unsafePartial` instead. var unsafePartialBecause = function (v) { return function (x) { return $foreign.unsafePartial(function (dictPartial) { return x(dictPartial); }); }; }; // | A function which crashes with the specified error message. var unsafeCrashWith = function (msg) { return $foreign.unsafePartial(function (dictPartial) { return Partial.crashWith(dictPartial)(msg); }); }; exports["unsafeCrashWith"] = unsafeCrashWith; exports["unsafePartialBecause"] = unsafePartialBecause; exports["unsafePartial"] = $foreign.unsafePartial; })(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Unsafe = PS["Control.Monad.Eff.Unsafe"]; var Control_Monad_ST = PS["Control.Monad.ST"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Either = PS["Data.Either"]; var Data_Functor = PS["Data.Functor"]; var Data_Identity = PS["Data.Identity"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Unit = PS["Data.Unit"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; // | The result of a computation: either `Loop` containing the updated // | accumulator, or `Done` containing the final result of the computation. var Loop = (function () { function Loop(value0) { this.value0 = value0; }; Loop.create = function (value0) { return new Loop(value0); }; return Loop; })(); // | The result of a computation: either `Loop` containing the updated // | accumulator, or `Done` containing the final result of the computation. var Done = (function () { function Done(value0) { this.value0 = value0; }; Done.create = function (value0) { return new Done(value0); }; return Done; })(); // | This type class captures those monads which support tail recursion in // | constant stack space. // | // | The `tailRecM` function takes a step function, and applies that step // | function recursively until a pure value of type `b` is found. // | // | Instances are provided for standard monad transformers. // | // | For example: // | // | ```purescript // | loopWriter :: Number -> WriterT Sum (Eff (trace :: Trace)) Unit // | loopWriter n = tailRecM go n // | where // | go 0 = do // | lift $ trace "Done!" // | pure (Done unit) // | go n = do // | tell $ Sum n // | pure (Loop (n - 1)) // | ``` var MonadRec = function (Monad0, tailRecM) { this.Monad0 = Monad0; this.tailRecM = tailRecM; }; var tailRecM = function (dict) { return dict.tailRecM; }; // | Create a tail-recursive function of two arguments which uses constant stack space. var tailRecM2 = function (dictMonadRec) { return function (f) { return function (a) { return function (b) { return tailRecM(dictMonadRec)(function (o) { return f(o.a)(o.b); })({ a: a, b: b }); }; }; }; }; // | Create a tail-recursive function of three arguments which uses constant stack space. var tailRecM3 = function (dictMonadRec) { return function (f) { return function (a) { return function (b) { return function (c) { return tailRecM(dictMonadRec)(function (o) { return f(o.a)(o.b)(o.c); })({ a: a, b: b, c: c }); }; }; }; }; }; var tailRecEff = function (f) { return function (a) { var fromDone = function (v) { var __unused = function (dictPartial1) { return function ($dollar16) { return $dollar16; }; }; return __unused()((function () { if (v instanceof Done) { return v.value0; }; throw new Error("Failed pattern match at Control.Monad.Rec.Class line 141, column 28 - line 141, column 42: " + [ v.constructor.name ]); })()); }; var f$prime = function ($52) { return Control_Monad_Eff_Unsafe.unsafeCoerceEff(f($52)); }; return function __do() { var v = Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(Control_Monad_ST.newSTRef)(f$prime(a))(); (function () { while (!(function __do() { var v1 = v.value; if (v1 instanceof Loop) { var v2 = f$prime(v1.value0)(); var v3 = v.value = v2; return false; }; if (v1 instanceof Done) { return true; }; throw new Error("Failed pattern match at Control.Monad.Rec.Class line 130, column 5 - line 135, column 26: " + [ v1.constructor.name ]); })()) { }; return {}; })(); return Data_Functor.map(Control_Monad_Eff.functorEff)(fromDone)(Control_Monad_ST.readSTRef(v))(); }; }; }; // | Create a pure tail-recursive function of one argument // | // | For example: // | // | ```purescript // | pow :: Number -> Number -> Number // | pow n p = tailRec go { accum: 1, power: p } // | where // | go :: _ -> Step _ Number // | go { accum: acc, power: 0 } = Done acc // | go { accum: acc, power: p } = Loop { accum: acc * n, power: p - 1 } // | ``` var tailRec = function (f) { var go = 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 96, column 3 - line 96, column 25: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return function ($53) { return go(f($53)); }; }; var monadRecMaybe = new MonadRec(function () { return Data_Maybe.monadMaybe; }, function (f) { return function (a0) { var g = function (v) { if (v instanceof Data_Maybe.Nothing) { return new Done(Data_Maybe.Nothing.value); }; if (v instanceof Data_Maybe.Just && v.value0 instanceof Loop) { return new Loop(f(v.value0.value0)); }; if (v instanceof Data_Maybe.Just && v.value0 instanceof Done) { return new Done(new Data_Maybe.Just(v.value0.value0)); }; throw new Error("Failed pattern match at Control.Monad.Rec.Class line 120, column 7 - line 120, column 31: " + [ v.constructor.name ]); }; return tailRec(g)(f(a0)); }; }); var monadRecIdentity = new MonadRec(function () { return Data_Identity.monadIdentity; }, function (f) { var runIdentity = function (v) { return v; }; return function ($54) { return Data_Identity.Identity(tailRec(function ($55) { return runIdentity(f($55)); })($54)); }; }); var monadRecFunction = new MonadRec(function () { return Control_Monad.monadFn; }, function (f) { return function (a0) { return function (e) { return tailRec(function (a) { return f(a)(e); })(a0); }; }; }); var monadRecEither = new MonadRec(function () { return Data_Either.monadEither; }, function (f) { return function (a0) { var g = function (v) { if (v instanceof Data_Either.Left) { return new Done(new Data_Either.Left(v.value0)); }; if (v instanceof Data_Either.Right && v.value0 instanceof Loop) { return new Loop(f(v.value0.value0)); }; if (v instanceof Data_Either.Right && v.value0 instanceof Done) { return new Done(new Data_Either.Right(v.value0.value0)); }; throw new Error("Failed pattern match at Control.Monad.Rec.Class line 112, column 7 - line 112, column 33: " + [ v.constructor.name ]); }; return tailRec(g)(f(a0)); }; }); var monadRecEff = new MonadRec(function () { return Control_Monad_Eff.monadEff; }, tailRecEff); var functorStep = new Data_Functor.Functor(function (f) { return function (v) { if (v instanceof Loop) { return new Loop(v.value0); }; if (v instanceof Done) { return new Done(f(v.value0)); }; throw new Error("Failed pattern match at Control.Monad.Rec.Class line 28, column 1 - line 28, column 41: " + [ f.constructor.name, v.constructor.name ]); }; }); // | `forever` runs an action indefinitely, using the `MonadRec` instance to // | ensure constant stack usage. // | // | For example: // | // | ```purescript // | main = forever $ trace "Hello, World!" // | ``` var forever = function (dictMonadRec) { return function (ma) { return tailRecM(dictMonadRec)(function (u) { return Data_Functor.voidRight((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(new Loop(u))(ma); })(Data_Unit.unit); }; }; var bifunctorStep = new Data_Bifunctor.Bifunctor(function (v) { return function (v1) { return function (v2) { if (v2 instanceof Loop) { return new Loop(v(v2.value0)); }; if (v2 instanceof Done) { return new Done(v1(v2.value0)); }; throw new Error("Failed pattern match at Control.Monad.Rec.Class line 32, column 1 - line 32, column 41: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }); exports["Loop"] = Loop; exports["Done"] = Done; exports["MonadRec"] = MonadRec; exports["forever"] = forever; exports["tailRec"] = tailRec; exports["tailRecM"] = tailRecM; exports["tailRecM2"] = tailRecM2; exports["tailRecM3"] = tailRecM3; exports["functorStep"] = functorStep; exports["bifunctorStep"] = bifunctorStep; exports["monadRecIdentity"] = monadRecIdentity; exports["monadRecEff"] = monadRecEff; exports["monadRecFunction"] = monadRecFunction; exports["monadRecEither"] = monadRecEither; exports["monadRecMaybe"] = monadRecMaybe; })(PS["Control.Monad.Rec.Class"] = PS["Control.Monad.Rec.Class"] || {}); (function(exports) { // | This module defines the `MonadTrans` type class of _monad transformers_. "use strict"; var Prelude = PS["Prelude"]; // | The `MonadTrans` type class represents _monad transformers_. // | // | A monad transformer is a type constructor of kind `(* -> *) -> * -> *`, which // | takes a `Monad` as its first argument, and returns another `Monad`. // | // | This allows us to add additional effects to an existing monad. By iterating this // | process, we create monad transformer _stacks_, which contain all of the effects // | required for a particular computation. // | // | The laws state that `lift` is a `Monad` morphism. // | // | Laws: // | // | - `lift (pure a) = pure a` // | - `lift (do { x <- m ; y }) = do { x <- lift m ; lift y }` var MonadTrans = function (lift) { this.lift = lift; }; var lift = function (dict) { return dict.lift; }; exports["MonadTrans"] = MonadTrans; exports["lift"] = lift; })(PS["Control.Monad.Trans.Class"] = PS["Control.Monad.Trans.Class"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Data_Functor = PS["Data.Functor"]; // | The `MonadPlus` type class has no members of its own but extends // | `MonadZero` with an additional law: // | // | - Distributivity: `(x <|> y) >>= f == (x >>= f) <|> (y >>= f)` var MonadPlus = function (MonadZero0) { this.MonadZero0 = MonadZero0; }; var monadPlusArray = new MonadPlus(function () { return Control_MonadZero.monadZeroArray; }); exports["MonadPlus"] = MonadPlus; exports["monadPlusArray"] = monadPlusArray; })(PS["Control.MonadPlus"] = PS["Control.MonadPlus"] || {}); (function(exports) { // | This module defines a generic non-empty data structure, which adds an // | additional element to any container type. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Plus = PS["Control.Plus"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; // | A non-empty container of elements of type a. // | // | For example: // | // | ```purescript // | nonEmptyList :: NonEmpty List Int // | nonEmptyList = 0 :| empty // | ``` var NonEmpty = (function () { function NonEmpty(value0, value1) { this.value0 = value0; this.value1 = value1; }; NonEmpty.create = function (value0) { return function (value1) { return new NonEmpty(value0, value1); }; }; return NonEmpty; })(); // | Get everything but the 'first' element of a non-empty container. var tail = function (v) { return v.value1; }; // | Create a non-empty structure with a single value. var singleton = function (dictPlus) { return function (a) { return new NonEmpty(a, Control_Plus.empty(dictPlus)); }; }; var showNonEmpty = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (v) { return "(NonEmpty " + (Data_Show.show(dictShow)(v.value0) + (" " + (Data_Show.show(dictShow1)(v.value1) + ")"))); }); }; }; var oneOf = function (dictAlternative) { return function (v) { return Control_Alt.alt((dictAlternative.Plus1()).Alt0())(Control_Applicative.pure(dictAlternative.Applicative0())(v.value0))(v.value1); }; }; // | Get the 'first' element of a non-empty container. var head = function (v) { return v.value0; }; var functorNonEmpty = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return new NonEmpty(f(v.value0), Data_Functor.map(dictFunctor)(f)(v.value1)); }; }); }; var fromNonEmpty = function (f) { return function (v) { return f(v.value0)(v.value1); }; }; // | Fold a non-empty structure, collecting results using a binary operation. var foldl1 = function (dictFoldable) { return function (f) { return function (v) { return Data_Foldable.foldl(dictFoldable)(f)(v.value0)(v.value1); }; }; }; var foldableNonEmpty = function (dictFoldable) { return new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (v) { return Data_Semigroup.append(dictMonoid.Semigroup0())(f(v.value0))(Data_Foldable.foldMap(dictFoldable)(dictMonoid)(f)(v.value1)); }; }; }, function (f) { return function (b) { return function (v) { return Data_Foldable.foldl(dictFoldable)(f)(f(b)(v.value0))(v.value1); }; }; }, function (f) { return function (b) { return function (v) { return f(v.value0)(Data_Foldable.foldr(dictFoldable)(f)(b)(v.value1)); }; }; }); }; var traversableNonEmpty = function (dictTraversable) { return new Data_Traversable.Traversable(function () { return foldableNonEmpty(dictTraversable.Foldable1()); }, function () { return functorNonEmpty(dictTraversable.Functor0()); }, function (dictApplicative) { return function (v) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(NonEmpty.create)(v.value0))(Data_Traversable.sequence(dictTraversable)(dictApplicative)(v.value1)); }; }, function (dictApplicative) { return function (f) { return function (v) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(NonEmpty.create)(f(v.value0)))(Data_Traversable.traverse(dictTraversable)(dictApplicative)(f)(v.value1)); }; }; }); }; // | Fold a non-empty structure, collecting results in a `Semigroup`. var foldMap1 = function (dictSemigroup) { return function (dictFoldable) { return function (f) { return function (v) { return Data_Foldable.foldl(dictFoldable)(function (s) { return function (a1) { return Data_Semigroup.append(dictSemigroup)(s)(f(a1)); }; })(f(v.value0))(v.value1); }; }; }; }; // | Fold a non-empty structure. var fold1 = function (dictSemigroup) { return function (dictFoldable) { return foldMap1(dictSemigroup)(dictFoldable)(Control_Category.id(Control_Category.categoryFn)); }; }; var eq1NonEmpty = function (dictEq1) { return new Data_Eq.Eq1(function (dictEq) { return function (v) { return function (v1) { return Data_Eq.eq(dictEq)(v.value0)(v1.value0) && Data_Eq.eq1(dictEq1)(dictEq)(v.value1)(v1.value1); }; }; }); }; var eqNonEmpty = function (dictEq1) { return function (dictEq) { return new Data_Eq.Eq(Data_Eq.eq1(eq1NonEmpty(dictEq1))(dictEq)); }; }; var ord1NonEmpty = function (dictOrd1) { return new Data_Ord.Ord1(function () { return eq1NonEmpty(dictOrd1.Eq10()); }, function (dictOrd) { return function (v) { return function (v1) { var v2 = Data_Ord.compare(dictOrd)(v.value0)(v1.value0); if (v2 instanceof Data_Ordering.EQ) { return Data_Ord.compare1(dictOrd1)(dictOrd)(v.value1)(v1.value1); }; return v2; }; }; }); }; var ordNonEmpty = function (dictOrd1) { return function (dictOrd) { return new Data_Ord.Ord(function () { return eqNonEmpty(dictOrd1.Eq10())(dictOrd.Eq0()); }, Data_Ord.compare1(ord1NonEmpty(dictOrd1))(dictOrd)); }; }; exports["NonEmpty"] = NonEmpty; exports["fold1"] = fold1; exports["foldMap1"] = foldMap1; exports["foldl1"] = foldl1; exports["fromNonEmpty"] = fromNonEmpty; exports["head"] = head; exports["oneOf"] = oneOf; exports["singleton"] = singleton; exports["tail"] = tail; exports["showNonEmpty"] = showNonEmpty; exports["eqNonEmpty"] = eqNonEmpty; exports["eq1NonEmpty"] = eq1NonEmpty; exports["ordNonEmpty"] = ordNonEmpty; exports["ord1NonEmpty"] = ord1NonEmpty; exports["functorNonEmpty"] = functorNonEmpty; exports["foldableNonEmpty"] = foldableNonEmpty; exports["traversableNonEmpty"] = traversableNonEmpty; })(PS["Data.NonEmpty"] = PS["Data.NonEmpty"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid_Dual = PS["Data.Monoid.Dual"]; var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var Act = function (x) { return x; }; // | `Foldable1` represents data structures with a minimum of one element that can be _folded_. // | // | - `fold1` folds a structure using a `Semigroup` instance // | - `foldMap1` folds a structure by accumulating values in a `Semigroup` // | // | Default implementations are provided by the following functions: // | // | - `fold1Default` // | - `foldMap1Default` // | // | Note: some combinations of the default implementations are unsafe to // | use together - causing a non-terminating mutually recursive cycle. // | These combinations are documented per function. var Foldable1 = function (Foldable0, fold1, foldMap1) { this.Foldable0 = Foldable0; this.fold1 = fold1; this.foldMap1 = foldMap1; }; var semigroupAct = function (dictApply) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Control_Apply.applySecond(dictApply)(v)(v1); }; }); }; var getAct = function (v) { return v; }; var foldMap1 = function (dict) { return dict.foldMap1; }; // | Traverse a data structure, performing some effects encoded by an // | `Apply` instance at each value, ignoring the final result. var traverse1_ = function (dictFoldable1) { return function (dictApply) { return function (f) { return function (t) { return Data_Functor.voidRight(dictApply.Functor0())(Data_Unit.unit)(getAct(foldMap1(dictFoldable1)(semigroupAct(dictApply))(function ($28) { return Act(f($28)); })(t))); }; }; }; }; // | A version of `traverse1_` with its arguments flipped. // | // | This can be useful when running an action written using do notation // | for every element in a data structure: var for1_ = function (dictFoldable1) { return function (dictApply) { return Data_Function.flip(traverse1_(dictFoldable1)(dictApply)); }; }; // | Perform all of the effects in some data structure in the order // | given by the `Foldable1` instance, ignoring the final result. var sequence1_ = function (dictFoldable1) { return function (dictApply) { return traverse1_(dictFoldable1)(dictApply)(Control_Category.id(Control_Category.categoryFn)); }; }; // | A default implementation of `fold1` using `foldMap1`. var fold1Default = function (dictFoldable1) { return function (dictSemigroup) { return foldMap1(dictFoldable1)(dictSemigroup)(Control_Category.id(Control_Category.categoryFn)); }; }; var foldableDual = new Foldable1(function () { return Data_Foldable.foldableDual; }, function (dictSemigroup) { return fold1Default(foldableDual)(dictSemigroup); }, function (dictSemigroup) { return function (f) { return function (v) { return f(v); }; }; }); var foldableMultiplicative = new Foldable1(function () { return Data_Foldable.foldableMultiplicative; }, function (dictSemigroup) { return fold1Default(foldableMultiplicative)(dictSemigroup); }, function (dictSemigroup) { return function (f) { return function (v) { return f(v); }; }; }); var fold1 = function (dict) { return dict.fold1; }; // | A default implementation of `foldMap1` using `fold1`. var foldMap1Default = function (dictFoldable1) { return function (dictFunctor) { return function (dictSemigroup) { return function (f) { return function ($29) { return fold1(dictFoldable1)(dictSemigroup)(Data_Functor.map(dictFunctor)(f)($29)); }; }; }; }; }; exports["Foldable1"] = Foldable1; exports["fold1"] = fold1; exports["fold1Default"] = fold1Default; exports["foldMap1"] = foldMap1; exports["foldMap1Default"] = foldMap1Default; exports["for1_"] = for1_; exports["sequence1_"] = sequence1_; exports["traverse1_"] = traverse1_; exports["foldableDual"] = foldableDual; exports["foldableMultiplicative"] = foldableMultiplicative; })(PS["Data.Semigroup.Foldable"] = PS["Data.Semigroup.Foldable"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Data_Functor = PS["Data.Functor"]; var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; // | `Traversable1` represents data structures with a minimum of one element that can be _traversed_, // | accumulating results and effects in some `Applicative` functor. // | // | - `traverse1` runs an action for every element in a data structure, // | and accumulates the results. // | - `sequence1` runs the actions _contained_ in a data structure, // | and accumulates the results. // | // | The `traverse1` and `sequence1` functions should be compatible in the // | following sense: // | // | - `traverse1 f xs = sequence1 (f <$> xs)` // | - `sequence1 = traverse1 id` // | // | `Traversable1` instances should also be compatible with the corresponding // | `Foldable1` instances, in the following sense: // | // | - `foldMap1 f = runConst <<< traverse1 (Const <<< f)` // | // | Default implementations are provided by the following functions: // | // | - `traverse1Default` // | - `sequence1Default` var Traversable1 = function (Foldable10, Traversable1, sequence1, traverse1) { this.Foldable10 = Foldable10; this.Traversable1 = Traversable1; this.sequence1 = sequence1; this.traverse1 = traverse1; }; var traverse1 = function (dict) { return dict.traverse1; }; // | A default implementation of `sequence1` using `traverse1`. var sequence1Default = function (dictTraversable1) { return function (dictApply) { return traverse1(dictTraversable1)(dictApply)(Control_Category.id(Control_Category.categoryFn)); }; }; var sequence1 = function (dict) { return dict.sequence1; }; // | A default implementation of `traverse1` using `sequence1`. var traverse1Default = function (dictTraversable1) { return function (dictApply) { return function (f) { return function (ta) { return sequence1(dictTraversable1)(dictApply)(Data_Functor.map((dictTraversable1.Traversable1()).Functor0())(f)(ta)); }; }; }; }; exports["Traversable1"] = Traversable1; exports["sequence1"] = sequence1; exports["sequence1Default"] = sequence1Default; exports["traverse1"] = traverse1; exports["traverse1Default"] = traverse1Default; })(PS["Data.Semigroup.Traversable"] = PS["Data.Semigroup.Traversable"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Prelude = PS["Prelude"]; // | Categorical dual of `Traversable`: // | // | - `distribute` is the dual of `sequence` - it zips an arbitrary collection // | of containers. // | - `collect` is the dual of `traverse` - it traverses an arbitrary // | collection of values. var Distributive = function (Functor0, collect, distribute) { this.Functor0 = Functor0; this.collect = collect; this.distribute = distribute; }; var distributiveIdentity = new Distributive(function () { return Data_Identity.functorIdentity; }, function (dictFunctor) { return function (f) { return function ($11) { return Data_Identity.Identity(Data_Functor.map(dictFunctor)(function ($12) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(f($12)); })($11)); }; }; }, function (dictFunctor) { return function ($13) { return Data_Identity.Identity(Data_Functor.map(dictFunctor)(Data_Newtype.unwrap(Data_Identity.newtypeIdentity))($13)); }; }); var distribute = function (dict) { return dict.distribute; }; var distributiveFunction = new Distributive(function () { return Data_Functor.functorFn; }, function (dictFunctor) { return function (f) { return function ($14) { return distribute(distributiveFunction)(dictFunctor)(Data_Functor.map(dictFunctor)(f)($14)); }; }; }, function (dictFunctor) { return function (a) { return function (e) { return Data_Functor.map(dictFunctor)(function (v) { return v(e); })(a); }; }; }); // | Zip an arbitrary collection of containers and summarize the results var cotraverse = function (dictDistributive) { return function (dictFunctor) { return function (f) { return function ($15) { return Data_Functor.map(dictDistributive.Functor0())(f)(distribute(dictDistributive)(dictFunctor)($15)); }; }; }; }; // | A default implementation of `collect`, based on `distribute`. var collectDefault = function (dictDistributive) { return function (dictFunctor) { return function (f) { return function ($16) { return distribute(dictDistributive)(dictFunctor)(Data_Functor.map(dictFunctor)(f)($16)); }; }; }; }; var collect = function (dict) { return dict.collect; }; // | A default implementation of `distribute`, based on `collect`. var distributeDefault = function (dictDistributive) { return function (dictFunctor) { return collect(dictDistributive)(dictFunctor)(Control_Category.id(Control_Category.categoryFn)); }; }; exports["Distributive"] = Distributive; exports["collect"] = collect; exports["collectDefault"] = collectDefault; exports["cotraverse"] = cotraverse; exports["distribute"] = distribute; exports["distributeDefault"] = distributeDefault; exports["distributiveIdentity"] = distributiveIdentity; exports["distributiveFunction"] = distributiveFunction; })(PS["Data.Distributive"] = PS["Data.Distributive"] || {}); (function(exports) { "use strict"; // | This type class asserts that types `a` and `b` // | are equal. // | // | The functional dependencies and the single // | instance below will force the two type arguments // | to unify when either one is known. // | // | Note: any instance will necessarily overlap with // | `refl` below, so instances of this class should // | not be defined in libraries. var TypeEquals = function (from, to) { this.from = from; this.to = to; }; var to = function (dict) { return dict.to; }; var refl = new TypeEquals(function (a) { return a; }, function (a) { return a; }); var from = function (dict) { return dict.from; }; exports["TypeEquals"] = TypeEquals; exports["from"] = from; exports["to"] = to; exports["refl"] = refl; })(PS["Type.Equality"] = PS["Type.Equality"] || {}); (function(exports) { // | A data type and functions for working with ordered pairs. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Biapplicative = PS["Control.Biapplicative"]; var Control_Biapply = PS["Control.Biapply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Monad = PS["Control.Monad"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifoldable = PS["Data.Bifoldable"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Bitraversable = PS["Data.Bitraversable"]; var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; var Data_Bounded = PS["Data.Bounded"]; var Data_CommutativeRing = PS["Data.CommutativeRing"]; var Data_Distributive = PS["Data.Distributive"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Maybe_First = PS["Data.Maybe.First"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var Type_Equality = PS["Type.Equality"]; // | A simple product type for wrapping a pair of component values. var Tuple = (function () { function Tuple(value0, value1) { this.value0 = value0; this.value1 = value1; }; Tuple.create = function (value0) { return function (value1) { return new Tuple(value0, value1); }; }; return Tuple; })(); // | Turn a function of two arguments into a function that expects a tuple. var uncurry = function (f) { return function (v) { return f(v.value0)(v.value1); }; }; // | Exchange the first and second components of a tuple. var swap = function (v) { return new Tuple(v.value1, v.value0); }; // | Returns the second component of a tuple. var snd = function (v) { return v.value1; }; // | Allows `Tuple`s to be rendered as a string with `show` whenever there are // | `Show` instances for both component types. var showTuple = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (v) { return "(Tuple " + (Data_Show.show(dictShow)(v.value0) + (" " + (Data_Show.show(dictShow1)(v.value1) + ")"))); }); }; }; var semiringTuple = function (dictSemiring) { return function (dictSemiring1) { return new Data_Semiring.Semiring(function (v) { return function (v1) { return new Tuple(Data_Semiring.add(dictSemiring)(v.value0)(v1.value0), Data_Semiring.add(dictSemiring1)(v.value1)(v1.value1)); }; }, function (v) { return function (v1) { return new Tuple(Data_Semiring.mul(dictSemiring)(v.value0)(v1.value0), Data_Semiring.mul(dictSemiring1)(v.value1)(v1.value1)); }; }, new Tuple(Data_Semiring.one(dictSemiring), Data_Semiring.one(dictSemiring1)), new Tuple(Data_Semiring.zero(dictSemiring), Data_Semiring.zero(dictSemiring1))); }; }; var semigroupoidTuple = new Control_Semigroupoid.Semigroupoid(function (v) { return function (v1) { return new Tuple(v1.value0, v.value1); }; }); // | The `Semigroup` instance enables use of the associative operator `<>` on // | `Tuple`s whenever there are `Semigroup` instances for the component // | types. The `<>` operator is applied pairwise, so: // | ```purescript // | (Tuple a1 b1) <> (Tuple a2 b2) = Tuple (a1 <> a2) (b1 <> b2) // | ``` var semigroupTuple = function (dictSemigroup) { return function (dictSemigroup1) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return new Tuple(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0), Data_Semigroup.append(dictSemigroup1)(v.value1)(v1.value1)); }; }); }; }; var ringTuple = function (dictRing) { return function (dictRing1) { return new Data_Ring.Ring(function () { return semiringTuple(dictRing.Semiring0())(dictRing1.Semiring0()); }, function (v) { return function (v1) { return new Tuple(Data_Ring.sub(dictRing)(v.value0)(v1.value0), Data_Ring.sub(dictRing1)(v.value1)(v1.value1)); }; }); }; }; var monoidTuple = function (dictMonoid) { return function (dictMonoid1) { return new Data_Monoid.Monoid(function () { return semigroupTuple(dictMonoid.Semigroup0())(dictMonoid1.Semigroup0()); }, new Tuple(Data_Monoid.mempty(dictMonoid), Data_Monoid.mempty(dictMonoid1))); }; }; // | Lookup a value in a data structure of `Tuple`s, generalizing association lists. var lookup = function (dictFoldable) { return function (dictEq) { return function (a) { return function ($264) { return Data_Newtype.unwrap(Data_Maybe_First.newtypeFirst)(Data_Foldable.foldMap(dictFoldable)(Data_Maybe_First.monoidFirst)(function (v) { var $146 = Data_Eq.eq(dictEq)(a)(v.value0); if ($146) { return new Data_Maybe.Just(v.value1); }; return Data_Maybe.Nothing.value; })($264)); }; }; }; }; var heytingAlgebraTuple = function (dictHeytingAlgebra) { return function (dictHeytingAlgebra1) { return new Data_HeytingAlgebra.HeytingAlgebra(function (v) { return function (v1) { return new Tuple(Data_HeytingAlgebra.conj(dictHeytingAlgebra)(v.value0)(v1.value0), Data_HeytingAlgebra.conj(dictHeytingAlgebra1)(v.value1)(v1.value1)); }; }, function (v) { return function (v1) { return new Tuple(Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v.value0)(v1.value0), Data_HeytingAlgebra.disj(dictHeytingAlgebra1)(v.value1)(v1.value1)); }; }, new Tuple(Data_HeytingAlgebra.ff(dictHeytingAlgebra), Data_HeytingAlgebra.ff(dictHeytingAlgebra1)), function (v) { return function (v1) { return new Tuple(Data_HeytingAlgebra.implies(dictHeytingAlgebra)(v.value0)(v1.value0), Data_HeytingAlgebra.implies(dictHeytingAlgebra1)(v.value1)(v1.value1)); }; }, function (v) { return new Tuple(Data_HeytingAlgebra.not(dictHeytingAlgebra)(v.value0), Data_HeytingAlgebra.not(dictHeytingAlgebra1)(v.value1)); }, new Tuple(Data_HeytingAlgebra.tt(dictHeytingAlgebra), Data_HeytingAlgebra.tt(dictHeytingAlgebra1))); }; }; // | The `Functor` instance allows functions to transform the contents of a // | `Tuple` with the `<$>` operator, applying the function to the second // | component, so: // | ```purescript // | f <$> (Tuple x y) = Tuple x (f y) // | ```` var functorTuple = new Data_Functor.Functor(function (f) { return function (v) { return new Tuple(v.value0, f(v.value1)); }; }); var invariantTuple = new Data_Functor_Invariant.Invariant(Data_Functor_Invariant.imapF(functorTuple)); // | Returns the first component of a tuple. var fst = function (v) { return v.value0; }; var lazyTuple = function (dictLazy) { return function (dictLazy1) { return new Control_Lazy.Lazy(function (f) { return new Tuple(Control_Lazy.defer(dictLazy)(function (v) { return fst(f(Data_Unit.unit)); }), Control_Lazy.defer(dictLazy1)(function (v) { return snd(f(Data_Unit.unit)); })); }); }; }; var foldableTuple = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (v) { return f(v.value1); }; }; }, function (f) { return function (z) { return function (v) { return f(z)(v.value1); }; }; }, function (f) { return function (z) { return function (v) { return f(v.value1)(z); }; }; }); var traversableTuple = new Data_Traversable.Traversable(function () { return foldableTuple; }, function () { return functorTuple; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Tuple.create(v.value0))(v.value1); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Tuple.create(v.value0))(f(v.value1)); }; }; }); var extendTuple = new Control_Extend.Extend(function () { return functorTuple; }, function (f) { return function (v) { return new Tuple(v.value0, f(v)); }; }); var eqTuple = function (dictEq) { return function (dictEq1) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1); }; }); }; }; var ordTuple = function (dictOrd) { return function (dictOrd1) { return new Data_Ord.Ord(function () { return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0()); }, function (x) { return function (y) { var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(dictOrd1)(x.value1)(y.value1); }; }); }; }; var eq1Tuple = function (dictEq) { return new Data_Eq.Eq1(function (dictEq1) { return Data_Eq.eq(eqTuple(dictEq)(dictEq1)); }); }; var ord1Tuple = function (dictOrd) { return new Data_Ord.Ord1(function () { return eq1Tuple(dictOrd.Eq0()); }, function (dictOrd1) { return Data_Ord.compare(ordTuple(dictOrd)(dictOrd1)); }); }; var distributiveTuple = function (dictTypeEquals) { return new Data_Distributive.Distributive(function () { return functorTuple; }, function (dictFunctor) { return Data_Distributive.collectDefault(distributiveTuple(dictTypeEquals))(dictFunctor); }, function (dictFunctor) { return function ($265) { return Tuple.create(Type_Equality.from(dictTypeEquals)(Data_Unit.unit))(Data_Functor.map(dictFunctor)(snd)($265)); }; }); }; // | Turn a function that expects a tuple into a function of two arguments. var curry = function (f) { return function (a) { return function (b) { return f(new Tuple(a, b)); }; }; }; var comonadTuple = new Control_Comonad.Comonad(function () { return extendTuple; }, snd); var commutativeRingTuple = function (dictCommutativeRing) { return function (dictCommutativeRing1) { return new Data_CommutativeRing.CommutativeRing(function () { return ringTuple(dictCommutativeRing.Ring0())(dictCommutativeRing1.Ring0()); }); }; }; var boundedTuple = function (dictBounded) { return function (dictBounded1) { return new Data_Bounded.Bounded(function () { return ordTuple(dictBounded.Ord0())(dictBounded1.Ord0()); }, new Tuple(Data_Bounded.bottom(dictBounded), Data_Bounded.bottom(dictBounded1)), new Tuple(Data_Bounded.top(dictBounded), Data_Bounded.top(dictBounded1))); }; }; var booleanAlgebraTuple = function (dictBooleanAlgebra) { return function (dictBooleanAlgebra1) { return new Data_BooleanAlgebra.BooleanAlgebra(function () { return heytingAlgebraTuple(dictBooleanAlgebra.HeytingAlgebra0())(dictBooleanAlgebra1.HeytingAlgebra0()); }); }; }; var bifunctorTuple = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { return new Tuple(f(v.value0), g(v.value1)); }; }; }); var bifoldableTuple = new Data_Bifoldable.Bifoldable(function (dictMonoid) { return function (f) { return function (g) { return function (v) { return Data_Semigroup.append(dictMonoid.Semigroup0())(f(v.value0))(g(v.value1)); }; }; }; }, function (f) { return function (g) { return function (z) { return function (v) { return g(f(z)(v.value0))(v.value1); }; }; }; }, function (f) { return function (g) { return function (z) { return function (v) { return f(v.value0)(g(v.value1)(z)); }; }; }; }); var bitraversableTuple = new Data_Bitraversable.Bitraversable(function () { return bifoldableTuple; }, function () { return bifunctorTuple; }, function (dictApplicative) { return function (v) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Tuple.create)(v.value0))(v.value1); }; }, function (dictApplicative) { return function (f) { return function (g) { return function (v) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Tuple.create)(f(v.value0)))(g(v.value1)); }; }; }; }); var biapplyTuple = new Control_Biapply.Biapply(function () { return bifunctorTuple; }, function (v) { return function (v1) { return new Tuple(v.value0(v1.value0), v.value1(v1.value1)); }; }); var biapplicativeTuple = new Control_Biapplicative.Biapplicative(function () { return biapplyTuple; }, Tuple.create); // | The `Functor` instance allows functions to transform the contents of a // | `Tuple` with the `<*>` operator whenever there is a `Semigroup` instance // | for the `fst` component, so: // | ```purescript // | (Tuple a1 f) <*> (Tuple a2 x) == Tuple (a1 <> a2) (f x) // | ``` var applyTuple = function (dictSemigroup) { return new Control_Apply.Apply(function () { return functorTuple; }, function (v) { return function (v1) { return new Tuple(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0), v.value1(v1.value1)); }; }); }; var bindTuple = function (dictSemigroup) { return new Control_Bind.Bind(function () { return applyTuple(dictSemigroup); }, function (v) { return function (f) { var v1 = f(v.value1); return new Tuple(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0), v1.value1); }; }); }; var applicativeTuple = function (dictMonoid) { return new Control_Applicative.Applicative(function () { return applyTuple(dictMonoid.Semigroup0()); }, Tuple.create(Data_Monoid.mempty(dictMonoid))); }; var monadTuple = function (dictMonoid) { return new Control_Monad.Monad(function () { return applicativeTuple(dictMonoid); }, function () { return bindTuple(dictMonoid.Semigroup0()); }); }; exports["Tuple"] = Tuple; exports["curry"] = curry; exports["fst"] = fst; exports["lookup"] = lookup; exports["snd"] = snd; exports["swap"] = swap; exports["uncurry"] = uncurry; exports["showTuple"] = showTuple; exports["eqTuple"] = eqTuple; exports["eq1Tuple"] = eq1Tuple; exports["ordTuple"] = ordTuple; exports["ord1Tuple"] = ord1Tuple; exports["boundedTuple"] = boundedTuple; exports["semigroupoidTuple"] = semigroupoidTuple; exports["semigroupTuple"] = semigroupTuple; exports["monoidTuple"] = monoidTuple; exports["semiringTuple"] = semiringTuple; exports["ringTuple"] = ringTuple; exports["commutativeRingTuple"] = commutativeRingTuple; exports["heytingAlgebraTuple"] = heytingAlgebraTuple; exports["booleanAlgebraTuple"] = booleanAlgebraTuple; exports["functorTuple"] = functorTuple; exports["invariantTuple"] = invariantTuple; exports["bifunctorTuple"] = bifunctorTuple; exports["applyTuple"] = applyTuple; exports["biapplyTuple"] = biapplyTuple; exports["applicativeTuple"] = applicativeTuple; exports["biapplicativeTuple"] = biapplicativeTuple; exports["bindTuple"] = bindTuple; exports["monadTuple"] = monadTuple; exports["extendTuple"] = extendTuple; exports["comonadTuple"] = comonadTuple; exports["lazyTuple"] = lazyTuple; exports["foldableTuple"] = foldableTuple; exports["bifoldableTuple"] = bifoldableTuple; exports["traversableTuple"] = traversableTuple; exports["bitraversableTuple"] = bitraversableTuple; exports["distributiveTuple"] = distributiveTuple; })(PS["Data.Tuple"] = PS["Data.Tuple"] || {}); (function(exports) { "use strict"; exports.unfoldrArrayImpl = function (isNothing) { return function (fromJust) { return function (fst) { return function (snd) { return function (f) { return function (b) { var result = []; var value = b; while (true) { // eslint-disable-line no-constant-condition var maybe = f(value); if (isNothing(maybe)) return result; var tuple = fromJust(maybe); result.push(fst(tuple)); value = snd(tuple); } }; }; }; }; }; }; })(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {}); (function(exports) { // | This module provides a type class for _unfoldable functors_, i.e. // | functors which support an `unfoldr` operation. // | // | This allows us to unify various operations on arrays, lists, // | sequences, etc. "use strict"; var $foreign = PS["Data.Unfoldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; // | This class identifies data structures which can be _unfolded_, // | generalizing `unfoldr` on arrays. // | // | The generating function `f` in `unfoldr f` in understood as follows: // | // | - If `f b` is `Nothing`, then `unfoldr f b` should be empty. // | - If `f b` is `Just (Tuple a b1)`, then `unfoldr f b` should consist of `a` // | appended to the result of `unfoldr f b1`. var Unfoldable = function (unfoldr) { this.unfoldr = unfoldr; }; var unfoldr = function (dict) { return dict.unfoldr; }; var unfoldableArray = new Unfoldable($foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd)); // | Replicate a value some natural number of times. // | For example: // | // | ~~~ purescript // | replicate 2 "foo" == ["foo", "foo"] :: Array String // | ~~~ var replicate = function (dictUnfoldable) { return function (n) { return function (v) { var step = function (i) { var $8 = i <= 0; if ($8) { return Data_Maybe.Nothing.value; }; return new Data_Maybe.Just(new Data_Tuple.Tuple(v, i - 1 | 0)); }; return unfoldr(dictUnfoldable)(step)(n); }; }; }; // | Perform an Applicative action `n` times, and accumulate all the results. var replicateA = function (dictApplicative) { return function (dictUnfoldable) { return function (dictTraversable) { return function (n) { return function (m) { return Data_Traversable.sequence(dictTraversable)(dictApplicative)(replicate(dictUnfoldable)(n)(m)); }; }; }; }; }; // | Contain a single value. // | For example: // | // | ~~~ purescript // | singleton "foo" == ["foo"] :: Array String // | ~~~ var singleton = function (dictUnfoldable) { return replicate(dictUnfoldable)(1); }; // | The container with no elements - unfolded with zero iterations. // | For example: // | // | ~~~ purescript // | none == [] :: forall a. Array a // | ~~~ var none = function (dictUnfoldable) { return unfoldr(dictUnfoldable)(Data_Function["const"](Data_Maybe.Nothing.value))(Data_Unit.unit); }; // | Convert a Maybe to any Unfoldable like lists and arrays. var fromMaybe = function (dictUnfoldable) { return unfoldr(dictUnfoldable)(function (b) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Function.flip(Data_Tuple.Tuple.create)(Data_Maybe.Nothing.value))(b); }); }; exports["Unfoldable"] = Unfoldable; exports["fromMaybe"] = fromMaybe; exports["none"] = none; exports["replicate"] = replicate; exports["replicateA"] = replicateA; exports["singleton"] = singleton; exports["unfoldr"] = unfoldr; exports["unfoldableArray"] = unfoldableArray; })(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"]; var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Prelude = PS["Prelude"]; var Nil = (function () { function Nil() { }; Nil.value = new Nil(); return Nil; })(); var Cons = (function () { function Cons(value0, value1) { this.value0 = value0; this.value1 = value1; }; Cons.create = function (value0) { return function (value1) { return new Cons(value0, value1); }; }; return Cons; })(); var NonEmptyList = function (x) { return x; }; var toList = function (v) { return new Cons(v.value0, v.value1); }; var newtypeNonEmptyList = new Data_Newtype.Newtype(function (n) { return n; }, NonEmptyList); var nelCons = function (a) { return function (v) { return new Data_NonEmpty.NonEmpty(a, new Cons(v.value0, v.value1)); }; }; var foldableList = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return Data_Foldable.foldl(foldableList)(function (acc) { return function ($143) { return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($143)); }; })(Data_Monoid.mempty(dictMonoid)); }; }, function (f) { var go = function ($copy_b) { return function ($copy_v) { var $tco_var_b = $copy_b; var $tco_done = false; var $tco_result; function $tco_loop(b, v) { if (v instanceof Nil) { $tco_done = true; return b; }; if (v instanceof Cons) { $tco_var_b = f(b)(v.value0); $copy_v = v.value1; return; }; throw new Error("Failed pattern match at Data.List.Types line 78, column 12 - line 80, column 30: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_b, $copy_v); }; return $tco_result; }; }; return go; }, function (f) { return function (b) { var rev = function ($copy_acc) { return function ($copy_v) { var $tco_var_acc = $copy_acc; var $tco_done = false; var $tco_result; function $tco_loop(acc, v) { if (v instanceof Nil) { $tco_done = true; return acc; }; if (v instanceof Cons) { $tco_var_acc = new Cons(v.value0, acc); $copy_v = v.value1; return; }; throw new Error("Failed pattern match at Data.List.Types line 73, column 15 - line 75, column 33: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_acc, $copy_v); }; return $tco_result; }; }; return function ($144) { return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev(Nil.value)($144)); }; }; }); var foldableNonEmptyList = Data_NonEmpty.foldableNonEmpty(foldableList); var functorList = new Data_Functor.Functor(function (f) { return Data_Foldable.foldr(foldableList)(function (x) { return function (acc) { return new Cons(f(x), acc); }; })(Nil.value); }); var functorNonEmptyList = Data_NonEmpty.functorNonEmpty(functorList); var semigroupList = new Data_Semigroup.Semigroup(function (xs) { return function (ys) { return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs); }; }); var monoidList = new Data_Monoid.Monoid(function () { return semigroupList; }, Nil.value); var semigroupNonEmptyList = new Data_Semigroup.Semigroup(function (v) { return function (as$prime) { return new Data_NonEmpty.NonEmpty(v.value0, Data_Semigroup.append(semigroupList)(v.value1)(toList(as$prime))); }; }); var showList = function (dictShow) { return new Data_Show.Show(function (v) { if (v instanceof Nil) { return "Nil"; }; return "(" + (Data_Foldable.intercalate(foldableList)(Data_Monoid.monoidString)(" : ")(Data_Functor.map(functorList)(Data_Show.show(dictShow))(v)) + " : Nil)"); }); }; var showNonEmptyList = function (dictShow) { return new Data_Show.Show(function (v) { return "(NonEmptyList " + (Data_Show.show(Data_NonEmpty.showNonEmpty(dictShow)(showList(dictShow)))(v) + ")"); }); }; var traversableList = new Data_Traversable.Traversable(function () { return foldableList; }, function () { return functorList; }, function (dictApplicative) { return Data_Traversable.traverse(traversableList)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); }, function (dictApplicative) { return function (f) { return function ($145) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value))(Data_Foldable.foldl(foldableList)(function (acc) { return function ($146) { return Control_Apply.lift2(dictApplicative.Apply0())(Data_Function.flip(Cons.create))(acc)(f($146)); }; })(Control_Applicative.pure(dictApplicative)(Nil.value))($145)); }; }; }); var traversableNonEmptyList = Data_NonEmpty.traversableNonEmpty(traversableList); var unfoldableList = new Data_Unfoldable.Unfoldable(function (f) { return function (b) { var go = function ($copy_source) { return function ($copy_memo) { var $tco_var_source = $copy_source; var $tco_done = false; var $tco_result; function $tco_loop(source, memo) { var v = f(source); if (v instanceof Data_Maybe.Nothing) { $tco_done = true; return Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value)(memo); }; if (v instanceof Data_Maybe.Just) { $tco_var_source = v.value0.value1; $copy_memo = new Cons(v.value0.value0, memo); return; }; throw new Error("Failed pattern match at Data.List.Types line 86, column 22 - line 88, column 52: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_source, $copy_memo); }; return $tco_result; }; }; return go(b)(Nil.value); }; }); var foldable1NonEmptyList = new Data_Semigroup_Foldable.Foldable1(function () { return foldableNonEmptyList; }, function (dictSemigroup) { return function (v) { return Data_Foldable.foldl(foldableList)(Data_Semigroup.append(dictSemigroup))(v.value0)(v.value1); }; }, function (dictSemigroup) { return function (f) { return function (v) { return Data_Foldable.foldl(foldableList)(function (acc) { return function ($147) { return Data_Semigroup.append(dictSemigroup)(acc)(f($147)); }; })(f(v.value0))(v.value1); }; }; }); var extendNonEmptyList = new Control_Extend.Extend(function () { return functorNonEmptyList; }, function (f) { return function (v) { var go = function (a) { return function (v1) { return { val: new Cons(f(new Data_NonEmpty.NonEmpty(a, v1.acc)), v1.val), acc: new Cons(a, v1.acc) }; }; }; return new Data_NonEmpty.NonEmpty(f(v), (Data_Foldable.foldr(foldableList)(go)({ val: Nil.value, acc: Nil.value })(v.value1)).val); }; }); var extendList = new Control_Extend.Extend(function () { return functorList; }, function (f) { return function (v) { if (v instanceof Nil) { return Nil.value; }; if (v instanceof Cons) { var go = function (a$prime) { return function (v1) { var acc$prime = new Cons(a$prime, v1.acc); return { val: new Cons(f(acc$prime), v1.val), acc: acc$prime }; }; }; return new Cons(f(v), (Data_Foldable.foldr(foldableList)(go)({ val: Nil.value, acc: Nil.value })(v.value1)).val); }; throw new Error("Failed pattern match at Data.List.Types line 119, column 1 - line 119, column 35: " + [ f.constructor.name, v.constructor.name ]); }; }); var eq1List = new Data_Eq.Eq1(function (dictEq) { return function (xs) { return function (ys) { var go = function ($copy_v) { return function ($copy_v1) { return function ($copy_v2) { var $tco_var_v = $copy_v; var $tco_var_v1 = $copy_v1; var $tco_done = false; var $tco_result; function $tco_loop(v, v1, v2) { if (!v2) { $tco_done = true; return false; }; if (v instanceof Nil && v1 instanceof Nil) { $tco_done = true; return v2; }; if (v instanceof Cons && v1 instanceof Cons) { $tco_var_v = v.value1; $tco_var_v1 = v1.value1; $copy_v2 = v2 && Data_Eq.eq(dictEq)(v1.value0)(v.value0); return; }; $tco_done = true; return false; }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $tco_var_v1, $copy_v2); }; return $tco_result; }; }; }; return go(xs)(ys)(true); }; }; }); var eqList = function (dictEq) { return new Data_Eq.Eq(Data_Eq.eq1(eq1List)(dictEq)); }; var eqNonEmptyList = function (dictEq) { return Data_NonEmpty.eqNonEmpty(eq1List)(dictEq); }; var ord1List = new Data_Ord.Ord1(function () { return eq1List; }, function (dictOrd) { return function (xs) { return function (ys) { var go = function ($copy_v) { return function ($copy_v1) { var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(v, v1) { if (v instanceof Nil && v1 instanceof Nil) { $tco_done = true; return Data_Ordering.EQ.value; }; if (v instanceof Nil) { $tco_done = true; return Data_Ordering.LT.value; }; if (v1 instanceof Nil) { $tco_done = true; return Data_Ordering.GT.value; }; if (v instanceof Cons && v1 instanceof Cons) { var v2 = Data_Ord.compare(dictOrd)(v.value0)(v1.value0); if (v2 instanceof Data_Ordering.EQ) { $tco_var_v = v.value1; $copy_v1 = v1.value1; return; }; $tco_done = true; return v2; }; throw new Error("Failed pattern match at Data.List.Types line 53, column 5 - line 53, column 20: " + [ v.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $copy_v1); }; return $tco_result; }; }; return go(xs)(ys); }; }; }); var ordList = function (dictOrd) { return new Data_Ord.Ord(function () { return eqList(dictOrd.Eq0()); }, Data_Ord.compare1(ord1List)(dictOrd)); }; var ordNonEmptyList = function (dictOrd) { return Data_NonEmpty.ordNonEmpty(ord1List)(dictOrd); }; var comonadNonEmptyList = new Control_Comonad.Comonad(function () { return extendNonEmptyList; }, function (v) { return v.value0; }); var applyList = new Control_Apply.Apply(function () { return functorList; }, function (v) { return function (v1) { if (v instanceof Nil) { return Nil.value; }; if (v instanceof Cons) { return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1)); }; throw new Error("Failed pattern match at Data.List.Types line 94, column 1 - line 94, column 33: " + [ v.constructor.name, v1.constructor.name ]); }; }); var applyNonEmptyList = new Control_Apply.Apply(function () { return functorNonEmptyList; }, function (v) { return function (v1) { return new Data_NonEmpty.NonEmpty(v.value0(v1.value0), Data_Semigroup.append(semigroupList)(Control_Apply.apply(applyList)(v.value1)(new Cons(v1.value0, Nil.value)))(Control_Apply.apply(applyList)(new Cons(v.value0, v.value1))(v1.value1))); }; }); var bindList = new Control_Bind.Bind(function () { return applyList; }, function (v) { return function (v1) { if (v instanceof Nil) { return Nil.value; }; if (v instanceof Cons) { return Data_Semigroup.append(semigroupList)(v1(v.value0))(Control_Bind.bind(bindList)(v.value1)(v1)); }; throw new Error("Failed pattern match at Data.List.Types line 101, column 1 - line 101, column 31: " + [ v.constructor.name, v1.constructor.name ]); }; }); var bindNonEmptyList = new Control_Bind.Bind(function () { return applyNonEmptyList; }, function (v) { return function (f) { var v1 = f(v.value0); return new Data_NonEmpty.NonEmpty(v1.value0, Data_Semigroup.append(semigroupList)(v1.value1)(Control_Bind.bind(bindList)(v.value1)(function ($148) { return toList(f($148)); }))); }; }); var applicativeList = new Control_Applicative.Applicative(function () { return applyList; }, function (a) { return new Cons(a, Nil.value); }); var monadList = new Control_Monad.Monad(function () { return applicativeList; }, function () { return bindList; }); var altNonEmptyList = new Control_Alt.Alt(function () { return functorNonEmptyList; }, Data_Semigroup.append(semigroupNonEmptyList)); var altList = new Control_Alt.Alt(function () { return functorList; }, Data_Semigroup.append(semigroupList)); var plusList = new Control_Plus.Plus(function () { return altList; }, Nil.value); var alternativeList = new Control_Alternative.Alternative(function () { return applicativeList; }, function () { return plusList; }); var monadZeroList = new Control_MonadZero.MonadZero(function () { return alternativeList; }, function () { return monadList; }); var monadPlusList = new Control_MonadPlus.MonadPlus(function () { return monadZeroList; }); var applicativeNonEmptyList = new Control_Applicative.Applicative(function () { return applyNonEmptyList; }, function ($149) { return NonEmptyList(Data_NonEmpty.singleton(plusList)($149)); }); var monadNonEmptyList = new Control_Monad.Monad(function () { return applicativeNonEmptyList; }, function () { return bindNonEmptyList; }); var traversable1NonEmptyList = new Data_Semigroup_Traversable.Traversable1(function () { return foldable1NonEmptyList; }, function () { return traversableNonEmptyList; }, function (dictApply) { return Data_Semigroup_Traversable.traverse1(traversable1NonEmptyList)(dictApply)(Control_Category.id(Control_Category.categoryFn)); }, function (dictApply) { return function (f) { return function (v) { return Data_Functor.mapFlipped(dictApply.Functor0())(Data_Foldable.foldl(foldableList)(function (acc) { return function ($150) { return Control_Apply.lift2(dictApply)(Data_Function.flip(nelCons))(acc)(f($150)); }; })(Data_Functor.map(dictApply.Functor0())(Control_Applicative.pure(applicativeNonEmptyList))(f(v.value0)))(v.value1))(function (v1) { return Data_Foldable.foldl(foldableList)(Data_Function.flip(nelCons))(Control_Applicative.pure(applicativeNonEmptyList)(v1.value0))(v1.value1); }); }; }; }); exports["Nil"] = Nil; exports["Cons"] = Cons; exports["NonEmptyList"] = NonEmptyList; exports["nelCons"] = nelCons; exports["toList"] = toList; exports["showList"] = showList; exports["eqList"] = eqList; exports["eq1List"] = eq1List; exports["ordList"] = ordList; exports["ord1List"] = ord1List; exports["semigroupList"] = semigroupList; exports["monoidList"] = monoidList; exports["functorList"] = functorList; exports["foldableList"] = foldableList; exports["unfoldableList"] = unfoldableList; exports["traversableList"] = traversableList; exports["applyList"] = applyList; exports["applicativeList"] = applicativeList; exports["bindList"] = bindList; exports["monadList"] = monadList; exports["altList"] = altList; exports["plusList"] = plusList; exports["alternativeList"] = alternativeList; exports["monadZeroList"] = monadZeroList; exports["monadPlusList"] = monadPlusList; exports["extendList"] = extendList; exports["newtypeNonEmptyList"] = newtypeNonEmptyList; exports["eqNonEmptyList"] = eqNonEmptyList; exports["ordNonEmptyList"] = ordNonEmptyList; exports["showNonEmptyList"] = showNonEmptyList; exports["functorNonEmptyList"] = functorNonEmptyList; exports["applyNonEmptyList"] = applyNonEmptyList; exports["applicativeNonEmptyList"] = applicativeNonEmptyList; exports["bindNonEmptyList"] = bindNonEmptyList; exports["monadNonEmptyList"] = monadNonEmptyList; exports["altNonEmptyList"] = altNonEmptyList; exports["extendNonEmptyList"] = extendNonEmptyList; exports["comonadNonEmptyList"] = comonadNonEmptyList; exports["semigroupNonEmptyList"] = semigroupNonEmptyList; exports["foldableNonEmptyList"] = foldableNonEmptyList; exports["traversableNonEmptyList"] = traversableNonEmptyList; exports["foldable1NonEmptyList"] = foldable1NonEmptyList; exports["traversable1NonEmptyList"] = traversable1NonEmptyList; })(PS["Data.List.Types"] = PS["Data.List.Types"] || {}); (function(exports) { // | This module defines a type of _strict_ linked lists, and associated helper // | functions and type class instances. // | // | _Note_: Depending on your use-case, you may prefer to use // | `Data.Sequence` instead, which might give better performance for certain // | use cases. This module is an improvement over `Data.Array` when working with // | immutable lists of data in a purely-functional setting, but does not have // | good random-access performance. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; //------------------------------------------------------------------------------ // Sublists -------------------------------------------------------------------- //------------------------------------------------------------------------------ // | A newtype used in cases where there is a list to be matched. var Pattern = function (x) { return x; }; // | Update the element at the specified index, returning a new // | list or `Nothing` if the index is out-of-bounds. // | // | Running time: `O(n)` var updateAt = function (v) { return function (v1) { return function (v2) { if (v === 0 && v2 instanceof Data_List_Types.Cons) { return new Data_Maybe.Just(new Data_List_Types.Cons(v1, v2.value1)); }; if (v2 instanceof Data_List_Types.Cons) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v3) { return new Data_List_Types.Cons(v2.value0, v3); })(updateAt(v - 1 | 0)(v1)(v2.value1)); }; return Data_Maybe.Nothing.value; }; }; }; // | Transforms a list of pairs into a list of first components and a list of // | second components. var unzip = Data_Foldable.foldr(Data_List_Types.foldableList)(function (v) { return function (v1) { return new Data_Tuple.Tuple(new Data_List_Types.Cons(v.value0, v1.value0), new Data_List_Types.Cons(v.value1, v1.value1)); }; })(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_Types.Nil.value)); // | Break a list into its first element, and the remaining elements, // | or `Nothing` if the list is empty. // | // | Running time: `O(1)` var uncons = function (v) { if (v instanceof Data_List_Types.Nil) { return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Types.Cons) { return new Data_Maybe.Just({ head: v.value0, tail: v.value1 }); }; throw new Error("Failed pattern match at Data.List line 256, column 1 - line 256, column 66: " + [ v.constructor.name ]); }; // | Convert a list into any unfoldable structure. // | // | Running time: `O(n)` var toUnfoldable = function (dictUnfoldable) { return Data_Unfoldable.unfoldr(dictUnfoldable)(function (xs) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (rec) { return new Data_Tuple.Tuple(rec.head, rec.tail); })(uncons(xs)); }); }; // | Get all but the first element of a list, or `Nothing` if the list is empty. // | // | Running time: `O(1)` var tail = function (v) { if (v instanceof Data_List_Types.Nil) { return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Types.Cons) { return new Data_Maybe.Just(v.value1); }; throw new Error("Failed pattern match at Data.List line 242, column 1 - line 242, column 43: " + [ v.constructor.name ]); }; // | If the list starts with the given prefix, return the portion of the // | list left after removing it, as a Just value. Otherwise, return Nothing. // | * `stripPrefix (Pattern (1:Nil)) (1:2:Nil) == Just (2:Nil)` // | * `stripPrefix (Pattern Nil) (1:Nil) == Just (1:Nil)` // | * `stripPrefix (Pattern (2:Nil)) (1:Nil) == Nothing` // | // | Running time: `O(n)` where `n` is the number of elements to strip. var stripPrefix = function (dictEq) { return function (v) { return function (s) { var go = function (prefix) { return function (input) { if (prefix instanceof Data_List_Types.Cons && (input instanceof Data_List_Types.Cons && Data_Eq.eq(dictEq)(prefix.value0)(input.value0))) { return Data_Maybe.Just.create(new Control_Monad_Rec_Class.Loop({ a: prefix.value1, b: input.value1 })); }; if (prefix instanceof Data_List_Types.Nil) { return Data_Maybe.Just.create(new Control_Monad_Rec_Class.Done(input)); }; return Data_Maybe.Nothing.value; }; }; return Control_Monad_Rec_Class.tailRecM2(Control_Monad_Rec_Class.monadRecMaybe)(go)(v)(s); }; }; }; // | Split a list into two parts: // | // | 1. the longest initial segment for which all elements satisfy the specified predicate // | 2. the remaining elements // | // | For example, // | // | ```purescript // | span (\n -> n % 2 == 1) (1 : 3 : 2 : 4 : 5 : Nil) == { init: (1 : 3 : Nil), rest: (2 : 4 : 5 : Nil) } // | ``` // | // | Running time: `O(n)` var span = function (v) { return function (v1) { if (v1 instanceof Data_List_Types.Cons && v(v1.value0)) { var v2 = span(v)(v1.value1); return { init: new Data_List_Types.Cons(v1.value0, v2.init), rest: v2.rest }; }; return { init: Data_List_Types.Nil.value, rest: v1 }; }; }; //------------------------------------------------------------------------------ // Extending lists ------------------------------------------------------------- //------------------------------------------------------------------------------ // | Append an element to the end of a list, creating a new list. // | // | Running time: `O(n)` var snoc = function (xs) { return function (x) { return Data_Foldable.foldr(Data_List_Types.foldableList)(Data_List_Types.Cons.create)(new Data_List_Types.Cons(x, Data_List_Types.Nil.value))(xs); }; }; //------------------------------------------------------------------------------ // List creation --------------------------------------------------------------- //------------------------------------------------------------------------------ // | Create a list with a single element. // | // | Running time: `O(1)` var singleton = function (a) { return new Data_List_Types.Cons(a, Data_List_Types.Nil.value); }; // | Sort the elements of a list in increasing order, where elements are // | compared using the specified ordering. var sortBy = function (cmp) { var merge = function (v) { return function (v1) { if (v instanceof Data_List_Types.Cons && v1 instanceof Data_List_Types.Cons) { if (Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1.value0))(Data_Ordering.GT.value)) { return new Data_List_Types.Cons(v1.value0, merge(v)(v1.value1)); }; if (Data_Boolean.otherwise) { return new Data_List_Types.Cons(v.value0, merge(v.value1)(v1)); }; }; if (v instanceof Data_List_Types.Nil) { return v1; }; if (v1 instanceof Data_List_Types.Nil) { return v; }; throw new Error("Failed pattern match at Data.List line 471, column 3 - line 471, column 38: " + [ v.constructor.name, v1.constructor.name ]); }; }; var mergePairs = function (v) { if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Cons) { return new Data_List_Types.Cons(merge(v.value0)(v.value1.value0), mergePairs(v.value1.value1)); }; return v; }; var mergeAll = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Nil) { $tco_done = true; return v.value0; }; $copy_v = mergePairs(v); return; }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; var sequences = function (v) { if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Cons) { if (Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v.value1.value0))(Data_Ordering.GT.value)) { return descending(v.value1.value0)(singleton(v.value0))(v.value1.value1); }; if (Data_Boolean.otherwise) { return ascending(v.value1.value0)(function (v1) { return new Data_List_Types.Cons(v.value0, v1); })(v.value1.value1); }; }; return singleton(v); }; var descending = function ($copy_a) { return function ($copy_as) { return function ($copy_v) { var $tco_var_a = $copy_a; var $tco_var_as = $copy_as; var $tco_done = false; var $tco_result; function $tco_loop(a, as, v) { if (v instanceof Data_List_Types.Cons && Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(a)(v.value0))(Data_Ordering.GT.value)) { $tco_var_a = v.value0; $tco_var_as = new Data_List_Types.Cons(a, as); $copy_v = v.value1; return; }; $tco_done = true; return new Data_List_Types.Cons(new Data_List_Types.Cons(a, as), sequences(v)); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_a, $tco_var_as, $copy_v); }; return $tco_result; }; }; }; var ascending = function ($copy_a) { return function ($copy_as) { return function ($copy_v) { var $tco_var_a = $copy_a; var $tco_var_as = $copy_as; var $tco_done = false; var $tco_result; function $tco_loop(a, as, v) { if (v instanceof Data_List_Types.Cons && Data_Eq.notEq(Data_Ordering.eqOrdering)(cmp(a)(v.value0))(Data_Ordering.GT.value)) { $tco_var_a = v.value0; $tco_var_as = function (ys) { return as(new Data_List_Types.Cons(a, ys)); }; $copy_v = v.value1; return; }; $tco_done = true; return new Data_List_Types.Cons(as(singleton(a)), sequences(v)); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_a, $tco_var_as, $copy_v); }; return $tco_result; }; }; }; return function ($340) { return mergeAll(sequences($340)); }; }; //------------------------------------------------------------------------------ // Sorting --------------------------------------------------------------------- //------------------------------------------------------------------------------ // | Sort the elements of an list in increasing order. var sort = function (dictOrd) { return function (xs) { return sortBy(Data_Ord.compare(dictOrd))(xs); }; }; var showPattern = function (dictShow) { return new Data_Show.Show(function (v) { return "(Pattern " + (Data_Show.show(Data_List_Types.showList(dictShow))(v) + ")"); }); }; //------------------------------------------------------------------------------ // Transformations ------------------------------------------------------------- //------------------------------------------------------------------------------ // | Reverse a list. // | // | Running time: `O(n)` var reverse = (function () { var go = function ($copy_acc) { return function ($copy_v) { var $tco_var_acc = $copy_acc; var $tco_done = false; var $tco_result; function $tco_loop(acc, v) { if (v instanceof Data_List_Types.Nil) { $tco_done = true; return acc; }; if (v instanceof Data_List_Types.Cons) { $tco_var_acc = new Data_List_Types.Cons(v.value0, acc); $copy_v = v.value1; return; }; throw new Error("Failed pattern match at Data.List line 365, column 3 - line 365, column 19: " + [ acc.constructor.name, v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_acc, $copy_v); }; return $tco_result; }; }; return go(Data_List_Types.Nil.value); })(); // | Take the specified number of elements from the front of a list. // | // | Running time: `O(n)` where `n` is the number of elements to take. var take = (function () { var go = function ($copy_acc) { return function ($copy_v) { return function ($copy_v1) { var $tco_var_acc = $copy_acc; var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(acc, v, v1) { if (v === 0) { $tco_done = true; return reverse(acc); }; if (v1 instanceof Data_List_Types.Nil) { $tco_done = true; return reverse(acc); }; if (v1 instanceof Data_List_Types.Cons) { $tco_var_acc = new Data_List_Types.Cons(v1.value0, acc); $tco_var_v = v - 1 | 0; $copy_v1 = v1.value1; return; }; throw new Error("Failed pattern match at Data.List line 518, column 3 - line 518, column 27: " + [ acc.constructor.name, v.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_acc, $tco_var_v, $copy_v1); }; return $tco_result; }; }; }; return go(Data_List_Types.Nil.value); })(); // | Take those elements from the front of a list which match a predicate. // | // | Running time (worst case): `O(n)` var takeWhile = function (p) { var go = function ($copy_acc) { return function ($copy_v) { var $tco_var_acc = $copy_acc; var $tco_done = false; var $tco_result; function $tco_loop(acc, v) { if (v instanceof Data_List_Types.Cons && p(v.value0)) { $tco_var_acc = new Data_List_Types.Cons(v.value0, acc); $copy_v = v.value1; return; }; $tco_done = true; return reverse(acc); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_acc, $copy_v); }; return $tco_result; }; }; return go(Data_List_Types.Nil.value); }; // | Break a list into its last element, and the preceding elements, // | or `Nothing` if the list is empty. // | // | Running time: `O(n)` var unsnoc = function (lst) { var go = function ($copy_v) { return function ($copy_acc) { var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(v, acc) { if (v instanceof Data_List_Types.Nil) { $tco_done = true; return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Nil) { $tco_done = true; return new Data_Maybe.Just({ revInit: acc, last: v.value0 }); }; if (v instanceof Data_List_Types.Cons) { $tco_var_v = v.value1; $copy_acc = new Data_List_Types.Cons(v.value0, acc); return; }; throw new Error("Failed pattern match at Data.List line 267, column 3 - line 267, column 23: " + [ v.constructor.name, acc.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $copy_acc); }; return $tco_result; }; }; return Data_Functor.map(Data_Maybe.functorMaybe)(function (h) { return { init: reverse(h.revInit), last: h.last }; })(go(lst)(Data_List_Types.Nil.value)); }; //------------------------------------------------------------------------------ // Zipping --------------------------------------------------------------------- //------------------------------------------------------------------------------ // | Apply a function to pairs of elements at the same positions in two lists, // | collecting the results in a new list. // | // | If one list is longer, elements will be discarded from the longer list. // | // | For example // | // | ```purescript // | zipWith (*) (1 : 2 : 3 : Nil) (4 : 5 : 6 : 7 Nil) == 4 : 10 : 18 : Nil // | ``` // | // | Running time: `O(min(m, n))` var zipWith = function (f) { return function (xs) { return function (ys) { var go = function ($copy_v) { return function ($copy_v1) { return function ($copy_acc) { var $tco_var_v = $copy_v; var $tco_var_v1 = $copy_v1; var $tco_done = false; var $tco_result; function $tco_loop(v, v1, acc) { if (v instanceof Data_List_Types.Nil) { $tco_done = true; return acc; }; if (v1 instanceof Data_List_Types.Nil) { $tco_done = true; return acc; }; if (v instanceof Data_List_Types.Cons && v1 instanceof Data_List_Types.Cons) { $tco_var_v = v.value1; $tco_var_v1 = v1.value1; $copy_acc = new Data_List_Types.Cons(f(v.value0)(v1.value0), acc); return; }; throw new Error("Failed pattern match at Data.List line 692, column 3 - line 692, column 21: " + [ v.constructor.name, v1.constructor.name, acc.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $tco_var_v1, $copy_acc); }; return $tco_result; }; }; }; return reverse(go(xs)(ys)(Data_List_Types.Nil.value)); }; }; }; // | Collect pairs of elements at the same positions in two lists. // | // | Running time: `O(min(m, n))` var zip = zipWith(Data_Tuple.Tuple.create); // | A generalization of `zipWith` which accumulates results in some `Applicative` // | functor. var zipWithA = function (dictApplicative) { return function (f) { return function (xs) { return function (ys) { return Data_Traversable.sequence(Data_List_Types.traversableList)(dictApplicative)(zipWith(f)(xs)(ys)); }; }; }; }; // | Create a list containing a range of integers, including both endpoints. var range = function (start) { return function (end) { if (start === end) { return singleton(start); }; if (Data_Boolean.otherwise) { var go = function ($copy_s) { return function ($copy_e) { return function ($copy_step) { return function ($copy_rest) { var $tco_var_s = $copy_s; var $tco_var_e = $copy_e; var $tco_var_step = $copy_step; var $tco_done = false; var $tco_result; function $tco_loop(s, e, step, rest) { if (s === e) { $tco_done = true; return new Data_List_Types.Cons(s, rest); }; if (Data_Boolean.otherwise) { $tco_var_s = s + step | 0; $tco_var_e = e; $tco_var_step = step; $copy_rest = new Data_List_Types.Cons(s, rest); return; }; throw new Error("Failed pattern match at Data.List line 145, column 3 - line 146, column 65: " + [ s.constructor.name, e.constructor.name, step.constructor.name, rest.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_s, $tco_var_e, $tco_var_step, $copy_rest); }; return $tco_result; }; }; }; }; return go(end)(start)((function () { var $221 = start > end; if ($221) { return 1; }; return -1 | 0; })())(Data_List_Types.Nil.value); }; throw new Error("Failed pattern match at Data.List line 141, column 1 - line 141, column 32: " + [ start.constructor.name, end.constructor.name ]); }; }; // | Returns a lists of elements which do and do not satisfy a predicate. // | // | Running time: `O(n)` var partition = function (p) { return function (xs) { var select = function (x) { return function (v) { var $224 = p(x); if ($224) { return { no: v.no, yes: new Data_List_Types.Cons(x, v.yes) }; }; return { no: new Data_List_Types.Cons(x, v.no), yes: v.yes }; }; }; return Data_Foldable.foldr(Data_List_Types.foldableList)(select)({ no: Data_List_Types.Nil.value, yes: Data_List_Types.Nil.value })(xs); }; }; //------------------------------------------------------------------------------ // List size ------------------------------------------------------------------- //------------------------------------------------------------------------------ // | Test whether a list is empty. // | // | Running time: `O(1)` var $$null = function (v) { if (v instanceof Data_List_Types.Nil) { return true; }; return false; }; var newtypePattern = new Data_Newtype.Newtype(function (n) { return n; }, Pattern); // | Apply a function to each element and its index in a list starting at 0. var mapWithIndex = function (f) { return function (lst) { var go = function ($copy_v) { return function ($copy_v1) { return function ($copy_acc) { var $tco_var_v = $copy_v; var $tco_var_v1 = $copy_v1; var $tco_done = false; var $tco_result; function $tco_loop(v, v1, acc) { if (v1 instanceof Data_List_Types.Nil) { $tco_done = true; return acc; }; if (v1 instanceof Data_List_Types.Cons) { $tco_var_v = v + 1 | 0; $tco_var_v1 = v1.value1; $copy_acc = new Data_List_Types.Cons(f(v)(v1.value0), acc); return; }; throw new Error("Failed pattern match at Data.List line 430, column 3 - line 430, column 21: " + [ v.constructor.name, v1.constructor.name, acc.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $tco_var_v1, $copy_acc); }; return $tco_result; }; }; }; return reverse(go(0)(lst)(Data_List_Types.Nil.value)); }; }; // | Apply a function to each element in a list, keeping only the results which // | contain a value. // | // | Running time: `O(n)` var mapMaybe = function (f) { var go = function ($copy_acc) { return function ($copy_v) { var $tco_var_acc = $copy_acc; var $tco_done = false; var $tco_result; function $tco_loop(acc, v) { if (v instanceof Data_List_Types.Nil) { $tco_done = true; return reverse(acc); }; if (v instanceof Data_List_Types.Cons) { var v1 = f(v.value0); if (v1 instanceof Data_Maybe.Nothing) { $tco_var_acc = acc; $copy_v = v.value1; return; }; if (v1 instanceof Data_Maybe.Just) { $tco_var_acc = new Data_List_Types.Cons(v1.value0, acc); $copy_v = v.value1; return; }; throw new Error("Failed pattern match at Data.List line 416, column 5 - line 418, column 32: " + [ v1.constructor.name ]); }; throw new Error("Failed pattern match at Data.List line 414, column 3 - line 414, column 27: " + [ acc.constructor.name, v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_acc, $copy_v); }; return $tco_result; }; }; return go(Data_List_Types.Nil.value); }; // | A stack-safe version of `many`, at the cost of a `MonadRec` constraint. var manyRec = function (dictMonadRec) { return function (dictAlternative) { return function (p) { var go = function (acc) { return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Alt.alt((dictAlternative.Plus1()).Alt0())(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(p))(Control_Applicative.pure(dictAlternative.Applicative0())(new Control_Monad_Rec_Class.Done(Data_Unit.unit))))(function (v) { return Control_Applicative.pure(dictAlternative.Applicative0())(Data_Bifunctor.bimap(Control_Monad_Rec_Class.bifunctorStep)(function (v1) { return new Data_List_Types.Cons(v1, acc); })(function (v1) { return reverse(acc); })(v)); }); }; return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go)(Data_List_Types.Nil.value); }; }; }; // | A stack-safe version of `some`, at the cost of a `MonadRec` constraint. var someRec = function (dictMonadRec) { return function (dictAlternative) { return function (v) { return Control_Apply.apply((dictAlternative.Applicative0()).Apply0())(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())(Data_List_Types.Cons.create)(v))(manyRec(dictMonadRec)(dictAlternative)(v)); }; }; }; // | Attempt a computation multiple times, requiring at least one success. // | // | The `Lazy` constraint is used to generate the result lazily, to ensure // | termination. var some = function (dictAlternative) { return function (dictLazy) { return function (v) { return Control_Apply.apply((dictAlternative.Applicative0()).Apply0())(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())(Data_List_Types.Cons.create)(v))(Control_Lazy.defer(dictLazy)(function (v1) { return many(dictAlternative)(dictLazy)(v); })); }; }; }; // | Attempt a computation multiple times, returning as many successful results // | as possible (possibly zero). // | // | The `Lazy` constraint is used to generate the result lazily, to ensure // | termination. var many = function (dictAlternative) { return function (dictLazy) { return function (v) { return Control_Alt.alt((dictAlternative.Plus1()).Alt0())(some(dictAlternative)(dictLazy)(v))(Control_Applicative.pure(dictAlternative.Applicative0())(Data_List_Types.Nil.value)); }; }; }; // | Get the length of a list // | // | Running time: `O(n)` var length = Data_Foldable.foldl(Data_List_Types.foldableList)(function (acc) { return function (v) { return acc + 1 | 0; }; })(0); // | Get the last element in a list, or `Nothing` if the list is empty. // | // | Running time: `O(n)`. var last = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Nil) { $tco_done = true; return new Data_Maybe.Just(v.value0); }; if (v instanceof Data_List_Types.Cons) { $copy_v = v.value1; return; }; $tco_done = true; return Data_Maybe.Nothing.value; }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; // | Insert an element into a sorted list, using the specified function to // | determine the ordering of elements. // | // | Running time: `O(n)` var insertBy = function (v) { return function (x) { return function (v1) { if (v1 instanceof Data_List_Types.Nil) { return singleton(x); }; if (v1 instanceof Data_List_Types.Cons) { var v2 = v(x)(v1.value0); if (v2 instanceof Data_Ordering.GT) { return new Data_List_Types.Cons(v1.value0, insertBy(v)(x)(v1.value1)); }; return new Data_List_Types.Cons(x, v1); }; throw new Error("Failed pattern match at Data.List line 213, column 1 - line 213, column 68: " + [ v.constructor.name, x.constructor.name, v1.constructor.name ]); }; }; }; // | Insert an element into a list at the specified index, returning a new // | list or `Nothing` if the index is out-of-bounds. // | // | Running time: `O(n)` var insertAt = function (v) { return function (v1) { return function (v2) { if (v === 0) { return new Data_Maybe.Just(new Data_List_Types.Cons(v1, v2)); }; if (v2 instanceof Data_List_Types.Cons) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v3) { return new Data_List_Types.Cons(v2.value0, v3); })(insertAt(v - 1 | 0)(v1)(v2.value1)); }; return Data_Maybe.Nothing.value; }; }; }; // | Insert an element into a sorted list. // | // | Running time: `O(n)` var insert = function (dictOrd) { return insertBy(Data_Ord.compare(dictOrd)); }; // | Get all but the last element of a list, or `Nothing` if the list is empty. // | // | Running time: `O(n)` var init = function (lst) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) { return v.init; })(unsnoc(lst)); }; //------------------------------------------------------------------------------ // Indexed operations ---------------------------------------------------------- //------------------------------------------------------------------------------ // | Get the element at the specified index, or `Nothing` if the index is out-of-bounds. // | // | Running time: `O(n)` where `n` is the required index. var index = function ($copy_v) { return function ($copy_v1) { var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(v, v1) { if (v instanceof Data_List_Types.Nil) { $tco_done = true; return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Types.Cons && v1 === 0) { $tco_done = true; return new Data_Maybe.Just(v.value0); }; if (v instanceof Data_List_Types.Cons) { $tco_var_v = v.value1; $copy_v1 = v1 - 1 | 0; return; }; throw new Error("Failed pattern match at Data.List line 278, column 1 - line 278, column 44: " + [ v.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $copy_v1); }; return $tco_result; }; }; //------------------------------------------------------------------------------ // Non-indexed reads ----------------------------------------------------------- //------------------------------------------------------------------------------ // | Get the first element in a list, or `Nothing` if the list is empty. // | // | Running time: `O(1)`. var head = function (v) { if (v instanceof Data_List_Types.Nil) { return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Types.Cons) { return new Data_Maybe.Just(v.value0); }; throw new Error("Failed pattern match at Data.List line 227, column 1 - line 227, column 22: " + [ v.constructor.name ]); }; //------------------------------------------------------------------------------ // Transpose ------------------------------------------------------------------- //------------------------------------------------------------------------------ // | The 'transpose' function transposes the rows and columns of its argument. // | For example, // | // | transpose ((1:2:3:Nil) : (4:5:6:Nil) : Nil) == // | ((1:4:Nil) : (2:5:Nil) : (3:6:Nil) : Nil) // | // | If some of the rows are shorter than the following rows, their elements are skipped: // | // | transpose ((10:11:Nil) : (20:Nil) : Nil : (30:31:32:Nil) : Nil) == // | ((10:20:30:Nil) : (11:31:Nil) : (32:Nil) : Nil) var transpose = function (v) { if (v instanceof Data_List_Types.Nil) { return Data_List_Types.Nil.value; }; if (v instanceof Data_List_Types.Cons && v.value0 instanceof Data_List_Types.Nil) { return transpose(v.value1); }; if (v instanceof Data_List_Types.Cons && v.value0 instanceof Data_List_Types.Cons) { return new Data_List_Types.Cons(new Data_List_Types.Cons(v.value0.value0, mapMaybe(head)(v.value1)), transpose(new Data_List_Types.Cons(v.value0.value1, mapMaybe(tail)(v.value1)))); }; throw new Error("Failed pattern match at Data.List line 726, column 1 - line 726, column 54: " + [ v.constructor.name ]); }; // | Group equal, consecutive elements of a list into lists, using the specified // | equivalence relation to determine equality. // | // | Running time: `O(n)` var groupBy = function (v) { return function (v1) { if (v1 instanceof Data_List_Types.Nil) { return Data_List_Types.Nil.value; }; if (v1 instanceof Data_List_Types.Cons) { var v2 = span(v(v1.value0))(v1.value1); return new Data_List_Types.Cons(new Data_NonEmpty.NonEmpty(v1.value0, v2.init), groupBy(v)(v2.rest)); }; throw new Error("Failed pattern match at Data.List line 589, column 1 - line 589, column 80: " + [ v.constructor.name, v1.constructor.name ]); }; }; // | Group equal, consecutive elements of a list into lists. // | // | For example, // | // | ```purescript // | group (1 : 1 : 2 : 2 : 1 : Nil) == (1 : 1 : Nil) : (2 : 2 : Nil) : (1 : Nil) : Nil // | ``` // | // | Running time: `O(n)` var group = function (dictEq) { return groupBy(Data_Eq.eq(dictEq)); }; // | Sort and then group the elements of a list into lists. // | // | ```purescript // | group' [1,1,2,2,1] == [[1,1,1],[2,2]] // | ``` var group$prime = function (dictOrd) { return function ($341) { return group(dictOrd.Eq0())(sort(dictOrd)($341)); }; }; // | Construct a list from a foldable structure. // | // | Running time: `O(n)` var fromFoldable = function (dictFoldable) { return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value); }; //------------------------------------------------------------------------------ // Folding --------------------------------------------------------------------- //------------------------------------------------------------------------------ // | Perform a fold using a monadic step function. var foldM = function (dictMonad) { return function (v) { return function (a) { return function (v1) { if (v1 instanceof Data_List_Types.Nil) { return Control_Applicative.pure(dictMonad.Applicative0())(a); }; if (v1 instanceof Data_List_Types.Cons) { return Control_Bind.bind(dictMonad.Bind1())(v(a)(v1.value0))(function (a$prime) { return foldM(dictMonad)(v)(a$prime)(v1.value1); }); }; throw new Error("Failed pattern match at Data.List line 737, column 1 - line 737, column 72: " + [ v.constructor.name, a.constructor.name, v1.constructor.name ]); }; }; }; }; // | Find the first index for which a predicate holds. var findIndex = function (fn) { var go = function ($copy_v) { return function ($copy_v1) { var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(v, v1) { if (v1 instanceof Data_List_Types.Cons) { if (fn(v1.value0)) { $tco_done = true; return new Data_Maybe.Just(v); }; if (Data_Boolean.otherwise) { $tco_var_v = v + 1 | 0; $copy_v1 = v1.value1; return; }; }; if (v1 instanceof Data_List_Types.Nil) { $tco_done = true; return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.List line 298, column 3 - line 298, column 35: " + [ v.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $copy_v1); }; return $tco_result; }; }; return go(0); }; // | Find the last index for which a predicate holds. var findLastIndex = function (fn) { return function (xs) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) { return (length(xs) - 1 | 0) - v | 0; })(findIndex(fn)(reverse(xs))); }; }; // | Filter where the predicate returns a monadic `Boolean`. // | // | For example: // | // | ```purescript // | powerSet :: forall a. [a] -> [[a]] // | powerSet = filterM (const [true, false]) // | ``` var filterM = function (dictMonad) { return function (v) { return function (v1) { if (v1 instanceof Data_List_Types.Nil) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_List_Types.Nil.value); }; if (v1 instanceof Data_List_Types.Cons) { return Control_Bind.bind(dictMonad.Bind1())(v(v1.value0))(function (v2) { return Control_Bind.bind(dictMonad.Bind1())(filterM(dictMonad)(v)(v1.value1))(function (v3) { return Control_Applicative.pure(dictMonad.Applicative0())((function () { if (v2) { return new Data_List_Types.Cons(v1.value0, v3); }; return v3; })()); }); }); }; throw new Error("Failed pattern match at Data.List line 400, column 1 - line 400, column 75: " + [ v.constructor.name, v1.constructor.name ]); }; }; }; // | Filter a list, keeping the elements which satisfy a predicate function. // | // | Running time: `O(n)` var filter = function (p) { var go = function ($copy_acc) { return function ($copy_v) { var $tco_var_acc = $copy_acc; var $tco_done = false; var $tco_result; function $tco_loop(acc, v) { if (v instanceof Data_List_Types.Nil) { $tco_done = true; return reverse(acc); }; if (v instanceof Data_List_Types.Cons) { if (p(v.value0)) { $tco_var_acc = new Data_List_Types.Cons(v.value0, acc); $copy_v = v.value1; return; }; if (Data_Boolean.otherwise) { $tco_var_acc = acc; $copy_v = v.value1; return; }; }; throw new Error("Failed pattern match at Data.List line 387, column 3 - line 387, column 27: " + [ acc.constructor.name, v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_acc, $copy_v); }; return $tco_result; }; }; return go(Data_List_Types.Nil.value); }; // | Calculate the intersection of two lists, using the specified // | function to determine equality of elements. // | // | Running time: `O(n^2)` var intersectBy = function (v) { return function (v1) { return function (v2) { if (v1 instanceof Data_List_Types.Nil) { return Data_List_Types.Nil.value; }; if (v2 instanceof Data_List_Types.Nil) { return Data_List_Types.Nil.value; }; return filter(function (x) { return Data_Foldable.any(Data_List_Types.foldableList)(Data_HeytingAlgebra.heytingAlgebraBoolean)(v(x))(v2); })(v1); }; }; }; // | Calculate the intersection of two lists. // | // | Running time: `O(n^2)` var intersect = function (dictEq) { return intersectBy(Data_Eq.eq(dictEq)); }; // | Remove duplicate elements from a list, using the specified // | function to determine equality of elements. // | // | Running time: `O(n^2)` var nubBy = function (v) { return function (v1) { if (v1 instanceof Data_List_Types.Nil) { return Data_List_Types.Nil.value; }; if (v1 instanceof Data_List_Types.Cons) { return new Data_List_Types.Cons(v1.value0, nubBy(v)(filter(function (y) { return !v(v1.value0)(y); })(v1.value1))); }; throw new Error("Failed pattern match at Data.List line 618, column 1 - line 618, column 59: " + [ v.constructor.name, v1.constructor.name ]); }; }; //------------------------------------------------------------------------------ // Set-like operations --------------------------------------------------------- //------------------------------------------------------------------------------ // | Remove duplicate elements from a list. // | // | Running time: `O(n^2)` var nub = function (dictEq) { return nubBy(Data_Eq.eq(dictEq)); }; var eqPattern = function (dictEq) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(Data_List_Types.eqList(dictEq))(x)(y); }; }); }; var ordPattern = function (dictOrd) { return new Data_Ord.Ord(function () { return eqPattern(dictOrd.Eq0()); }, function (x) { return function (y) { return Data_Ord.compare(Data_List_Types.ordList(dictOrd))(x)(y); }; }); }; // | Find the index of the last element equal to the specified element. var elemLastIndex = function (dictEq) { return function (x) { return findLastIndex(function (v) { return Data_Eq.eq(dictEq)(v)(x); }); }; }; // | Find the index of the first element equal to the specified element. var elemIndex = function (dictEq) { return function (x) { return findIndex(function (v) { return Data_Eq.eq(dictEq)(v)(x); }); }; }; // | Drop those elements from the front of a list which match a predicate. // | // | Running time (worst case): `O(n)` var dropWhile = function (p) { var go = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Data_List_Types.Cons && p(v.value0)) { $copy_v = v.value1; return; }; $tco_done = true; return v; }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return go; }; // | Drop the specified number of elements from the front of a list. // | // | Running time: `O(n)` where `n` is the number of elements to drop. var drop = function ($copy_v) { return function ($copy_v1) { var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(v, v1) { if (v === 0) { $tco_done = true; return v1; }; if (v1 instanceof Data_List_Types.Nil) { $tco_done = true; return Data_List_Types.Nil.value; }; if (v1 instanceof Data_List_Types.Cons) { $tco_var_v = v - 1 | 0; $copy_v1 = v1.value1; return; }; throw new Error("Failed pattern match at Data.List line 534, column 1 - line 534, column 42: " + [ v.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $copy_v1); }; return $tco_result; }; }; // | Extract a sublist by a start and end index. var slice = function (start) { return function (end) { return function (xs) { return take(end - start | 0)(drop(start)(xs)); }; }; }; // | Delete the first occurrence of an element from a list, using the specified // | function to determine equality of elements. // | // | Running time: `O(n)` var deleteBy = function (v) { return function (v1) { return function (v2) { if (v2 instanceof Data_List_Types.Nil) { return Data_List_Types.Nil.value; }; if (v2 instanceof Data_List_Types.Cons && v(v1)(v2.value0)) { return v2.value1; }; if (v2 instanceof Data_List_Types.Cons) { return new Data_List_Types.Cons(v2.value0, deleteBy(v)(v1)(v2.value1)); }; throw new Error("Failed pattern match at Data.List line 645, column 1 - line 645, column 67: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; // | Calculate the union of two lists, using the specified // | function to determine equality of elements. // | // | Running time: `O(n^2)` var unionBy = function (eq) { return function (xs) { return function (ys) { return Data_Semigroup.append(Data_List_Types.semigroupList)(xs)(Data_Foldable.foldl(Data_List_Types.foldableList)(Data_Function.flip(deleteBy(eq)))(nubBy(eq)(ys))(xs)); }; }; }; // | Calculate the union of two lists. // | // | Running time: `O(n^2)` var union = function (dictEq) { return unionBy(Data_Eq.eq(dictEq)); }; // | Delete an element from a list at the specified index, returning a new // | list or `Nothing` if the index is out-of-bounds. // | // | Running time: `O(n)` var deleteAt = function (v) { return function (v1) { if (v === 0 && v1 instanceof Data_List_Types.Cons) { return new Data_Maybe.Just(v1.value1); }; if (v1 instanceof Data_List_Types.Cons) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v2) { return new Data_List_Types.Cons(v1.value0, v2); })(deleteAt(v - 1 | 0)(v1.value1)); }; return Data_Maybe.Nothing.value; }; }; // | Delete the first occurrence of an element from a list. // | // | Running time: `O(n)` var $$delete = function (dictEq) { return deleteBy(Data_Eq.eq(dictEq)); }; // | Delete the first occurrence of each element in the second list from the first list. // | // | Running time: `O(n^2)` var difference = function (dictEq) { return Data_Foldable.foldl(Data_List_Types.foldableList)(Data_Function.flip($$delete(dictEq))); }; // | Apply a function to each element in a list, and flatten the results // | into a single, new list. // | // | Running time: `O(n)`, where `n` is the total number of elements. var concatMap = Data_Function.flip(Control_Bind.bind(Data_List_Types.bindList)); // | Flatten a list of lists. // | // | Running time: `O(n)`, where `n` is the total number of elements. var concat = function (v) { return Control_Bind.bind(Data_List_Types.bindList)(v)(Control_Category.id(Control_Category.categoryFn)); }; // | Filter a list of optional values, keeping only the elements which contain // | a value. var catMaybes = mapMaybe(Control_Category.id(Control_Category.categoryFn)); // | Update or delete the element at the specified index by applying a // | function to the current value, returning a new list or `Nothing` if the // | index is out-of-bounds. // | // | Running time: `O(n)` var alterAt = function (v) { return function (v1) { return function (v2) { if (v === 0 && v2 instanceof Data_List_Types.Cons) { return Data_Maybe.Just.create((function () { var v3 = v1(v2.value0); if (v3 instanceof Data_Maybe.Nothing) { return v2.value1; }; if (v3 instanceof Data_Maybe.Just) { return new Data_List_Types.Cons(v3.value0, v2.value1); }; throw new Error("Failed pattern match at Data.List line 349, column 3 - line 351, column 23: " + [ v3.constructor.name ]); })()); }; if (v2 instanceof Data_List_Types.Cons) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v3) { return new Data_List_Types.Cons(v2.value0, v3); })(alterAt(v - 1 | 0)(v1)(v2.value1)); }; return Data_Maybe.Nothing.value; }; }; }; // | Update the element at the specified index by applying a function to // | the current value, returning a new list or `Nothing` if the index is // | out-of-bounds. // | // | Running time: `O(n)` var modifyAt = function (n) { return function (f) { return alterAt(n)(function ($342) { return Data_Maybe.Just.create(f($342)); }); }; }; exports["Pattern"] = Pattern; exports["alterAt"] = alterAt; exports["catMaybes"] = catMaybes; exports["concat"] = concat; exports["concatMap"] = concatMap; exports["delete"] = $$delete; exports["deleteAt"] = deleteAt; exports["deleteBy"] = deleteBy; exports["difference"] = difference; exports["drop"] = drop; exports["dropWhile"] = dropWhile; exports["elemIndex"] = elemIndex; exports["elemLastIndex"] = elemLastIndex; exports["filter"] = filter; exports["filterM"] = filterM; exports["findIndex"] = findIndex; exports["findLastIndex"] = findLastIndex; exports["foldM"] = foldM; exports["fromFoldable"] = fromFoldable; exports["group"] = group; exports["group'"] = group$prime; exports["groupBy"] = groupBy; exports["head"] = head; exports["index"] = index; exports["init"] = init; exports["insert"] = insert; exports["insertAt"] = insertAt; exports["insertBy"] = insertBy; exports["intersect"] = intersect; exports["intersectBy"] = intersectBy; exports["last"] = last; exports["length"] = length; exports["many"] = many; exports["manyRec"] = manyRec; exports["mapMaybe"] = mapMaybe; exports["mapWithIndex"] = mapWithIndex; exports["modifyAt"] = modifyAt; exports["nub"] = nub; exports["nubBy"] = nubBy; exports["null"] = $$null; exports["partition"] = partition; exports["range"] = range; exports["reverse"] = reverse; exports["singleton"] = singleton; exports["slice"] = slice; exports["snoc"] = snoc; exports["some"] = some; exports["someRec"] = someRec; exports["sort"] = sort; exports["sortBy"] = sortBy; exports["span"] = span; exports["stripPrefix"] = stripPrefix; exports["tail"] = tail; exports["take"] = take; exports["takeWhile"] = takeWhile; exports["toUnfoldable"] = toUnfoldable; exports["transpose"] = transpose; exports["uncons"] = uncons; exports["union"] = union; exports["unionBy"] = unionBy; exports["unsnoc"] = unsnoc; exports["unzip"] = unzip; exports["updateAt"] = updateAt; exports["zip"] = zip; exports["zipWith"] = zipWith; exports["zipWithA"] = zipWithA; exports["eqPattern"] = eqPattern; exports["ordPattern"] = ordPattern; exports["newtypePattern"] = newtypePattern; exports["showPattern"] = showPattern; })(PS["Data.List"] = PS["Data.List"] || {}); (function(exports) { // | This module defines a strict queue. // | // | The queue implementation is based on a pair of lists where all // | operations require `O(1)` amortized time. // | // | However, any single `uncons` operation may run in `O(n)` time. // | // | See [Simple and Efficient Purely Functional Queues and Dequeues](http://www.westpoint.edu/eecs/SiteAssets/SitePages/Faculty%20Publication%20Documents/Okasaki/jfp95queue.pdf) (Okasaki 1995) "use strict"; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Tuple = PS["Data.Tuple"]; // | A strict queue representated using a pair of lists. var CatQueue = (function () { function CatQueue(value0, value1) { this.value0 = value0; this.value1 = value1; }; CatQueue.create = function (value0) { return function (value1) { return new CatQueue(value0, value1); }; }; return CatQueue; })(); // | Decompose a queue into a `Tuple` of the first element and the rest of the queue. // | // | Running time: `O(1)` // | // | Note that any single operation may run in `O(n)`. var uncons = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) { $tco_done = true; return Data_Maybe.Nothing.value; }; if (v.value0 instanceof Data_List_Types.Nil) { $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value); return; }; if (v.value0 instanceof Data_List_Types.Cons) { $tco_done = true; return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1))); }; throw new Error("Failed pattern match at Data.CatQueue line 50, column 1 - line 50, column 63: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; // | Append an element to the end of the queue, creating a new queue. // | // | Running time: `O(1)` var snoc = function (v) { return function (a) { return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1)); }; }; var showCatQueue = function (dictShow) { return new Data_Show.Show(function (v) { return "(CatQueue " + (Data_Show.show(Data_List_Types.showList(dictShow))(v.value0) + (" " + (Data_Show.show(Data_List_Types.showList(dictShow))(v.value1) + ")"))); }); }; // | Test whether a queue is empty. // | // | Running time: `O(1)` var $$null = function (v) { if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) { return true; }; return false; }; // | Create an empty queue. // | // | Running time: `O(1)` var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value); exports["CatQueue"] = CatQueue; exports["empty"] = empty; exports["null"] = $$null; exports["snoc"] = snoc; exports["uncons"] = uncons; exports["showCatQueue"] = showCatQueue; })(PS["Data.CatQueue"] = PS["Data.CatQueue"] || {}); (function(exports) { // | This module defines a strict catenable list. // | // | The implementation is based on a queue where all operations require // | `O(1)` amortized time. // | // | However, any single `uncons` operation may run in `O(n)` time. // | // | See [Purely Functional Data Structures](http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf) (Okasaki 1996) "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Data_CatQueue = PS["Data.CatQueue"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_NaturalTransformation = PS["Data.NaturalTransformation"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; // | A strict catenable list. // | // | `CatList` may be empty, represented by `CatNil`. // | // | `CatList` may be non-empty, represented by `CatCons`. The `CatCons` // | data constructor takes the first element of the list and a queue of // | `CatList`. var CatNil = (function () { function CatNil() { }; CatNil.value = new CatNil(); return CatNil; })(); // | A strict catenable list. // | // | `CatList` may be empty, represented by `CatNil`. // | // | `CatList` may be non-empty, represented by `CatCons`. The `CatCons` // | data constructor takes the first element of the list and a queue of // | `CatList`. var CatCons = (function () { function CatCons(value0, value1) { this.value0 = value0; this.value1 = value1; }; CatCons.create = function (value0) { return function (value1) { return new CatCons(value0, value1); }; }; return CatCons; })(); var showCatList = function (dictShow) { return new Data_Show.Show(function (v) { if (v instanceof CatNil) { return "CatNil"; }; if (v instanceof CatCons) { return "(CatList " + (Data_Show.show(dictShow)(v.value0) + (" " + (Data_Show.show(Data_CatQueue.showCatQueue(showCatList(dictShow)))(v.value1) + ")"))); }; throw new Error("Failed pattern match at Data.CatList line 153, column 1 - line 153, column 51: " + [ v.constructor.name ]); }); }; // | Test whether a catenable list is empty. // | // | Running time: `O(1)` var $$null = function (v) { if (v instanceof CatNil) { return true; }; return false; }; // | Links two catenable lists by making appending the queue in the // | first catenable list to the second catenable list. This operation // | creates a new catenable list. // | // | Running time: `O(1)` var link = function (v) { return function (cat) { if (v instanceof CatNil) { return cat; }; if (v instanceof CatCons) { return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(cat)); }; throw new Error("Failed pattern match at Data.CatList line 110, column 1 - line 110, column 54: " + [ v.constructor.name, cat.constructor.name ]); }; }; // | Tail recursive version of foldr on `CatList`. // | // | Ensures foldl on `List` is tail-recursive. var foldr = function (k) { return function (b) { return function (q) { var foldl = function ($copy_v) { return function ($copy_c) { return function ($copy_v1) { var $tco_var_v = $copy_v; var $tco_var_c = $copy_c; var $tco_done = false; var $tco_result; function $tco_loop(v, c, v1) { if (v1 instanceof Data_List_Types.Nil) { $tco_done = true; return c; }; if (v1 instanceof Data_List_Types.Cons) { $tco_var_v = v; $tco_var_c = v(c)(v1.value0); $copy_v1 = v1.value1; return; }; throw new Error("Failed pattern match at Data.CatList line 125, column 3 - line 125, column 59: " + [ v.constructor.name, c.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1); }; return $tco_result; }; }; }; var go = function ($copy_xs) { return function ($copy_ys) { var $tco_var_xs = $copy_xs; var $tco_done = false; var $tco_result; function $tco_loop(xs, ys) { var v = Data_CatQueue.uncons(xs); if (v instanceof Data_Maybe.Nothing) { $tco_done = true; return foldl(function (x) { return function (i) { return i(x); }; })(b)(ys); }; if (v instanceof Data_Maybe.Just) { $tco_var_xs = v.value0.value1; $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys); return; }; throw new Error("Failed pattern match at Data.CatList line 121, column 14 - line 123, column 67: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_xs, $copy_ys); }; return $tco_result; }; }; return go(q)(Data_List_Types.Nil.value); }; }; }; // | Decompose a catenable list into a `Tuple` of the first element and // | the rest of the catenable list. // | // | Running time: `O(1)` // | // | Note that any single operation may run in `O(n)`. var uncons = function (v) { if (v instanceof CatNil) { return Data_Maybe.Nothing.value; }; if (v instanceof CatCons) { return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () { var $41 = Data_CatQueue["null"](v.value1); if ($41) { return CatNil.value; }; return foldr(link)(CatNil.value)(v.value1); })())); }; throw new Error("Failed pattern match at Data.CatList line 101, column 1 - line 101, column 61: " + [ v.constructor.name ]); }; var foldMap = function (dictMonoid) { return function (f) { return function (v) { if (v instanceof CatNil) { return Data_Monoid.mempty(dictMonoid); }; if (v instanceof CatCons) { var d = (function () { var $46 = Data_CatQueue["null"](v.value1); if ($46) { return CatNil.value; }; return foldr(link)(CatNil.value)(v.value1); })(); return Data_Semigroup.append(dictMonoid.Semigroup0())(f(v.value0))(foldMap(dictMonoid)(f)(d)); }; throw new Error("Failed pattern match at Data.CatList line 141, column 1 - line 141, column 62: " + [ f.constructor.name, v.constructor.name ]); }; }; }; var foldableCatList = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (l) { return foldMap(dictMonoid)(f)(l); }; }; }, function (f) { return function (s) { return function (l) { return Data_Foldable.foldlDefault(foldableCatList)(f)(s)(l); }; }; }, function (f) { return function (s) { return function (l) { return Data_Foldable.foldrDefault(foldableCatList)(f)(s)(l); }; }; }); // | Create an empty catenable list. // | // | Running time: `O(1)` var empty = CatNil.value; // | Append all elements of a catenable list to the end of another // | catenable list, create a new catenable list. // | // | Running time: `O(1)` var append = function (v) { return function (v1) { if (v1 instanceof CatNil) { return v; }; if (v instanceof CatNil) { return v1; }; return link(v)(v1); }; }; // | Append an element to the beginning of the catenable list, creating a new // | catenable list. // | // | Running time: `O(1)` var cons = function (a) { return function (cat) { return append(new CatCons(a, Data_CatQueue.empty))(cat); }; }; var map = function (v) { return function (v1) { if (v1 instanceof CatNil) { return CatNil.value; }; if (v1 instanceof CatCons) { var d = (function () { var $53 = Data_CatQueue["null"](v1.value1); if ($53) { return CatNil.value; }; return foldr(link)(CatNil.value)(v1.value1); })(); return cons(v(v1.value0))(map(v)(d)); }; throw new Error("Failed pattern match at Data.CatList line 135, column 1 - line 135, column 54: " + [ v.constructor.name, v1.constructor.name ]); }; }; var functorCatList = new Data_Functor.Functor(map); // | Create a catenable list with a single item. // | // | Running time: `O(1)` var singleton = function (a) { return cons(a)(CatNil.value); }; var traversableCatList = new Data_Traversable.Traversable(function () { return foldableCatList; }, function () { return functorCatList; }, function (dictApplicative) { return function (v) { if (v instanceof CatNil) { return Control_Applicative.pure(dictApplicative)(CatNil.value); }; if (v instanceof CatCons) { var d = (function () { var $57 = Data_CatQueue["null"](v.value1); if ($57) { return CatNil.value; }; return foldr(link)(CatNil.value)(v.value1); })(); return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(cons)(v.value0))(Data_Traversable.sequence(traversableCatList)(dictApplicative)(d)); }; throw new Error("Failed pattern match at Data.CatList line 169, column 1 - line 169, column 51: " + [ v.constructor.name ]); }; }, function (dictApplicative) { return function (v) { return function (v1) { if (v1 instanceof CatNil) { return Control_Applicative.pure(dictApplicative)(CatNil.value); }; if (v1 instanceof CatCons) { var d = (function () { var $62 = Data_CatQueue["null"](v1.value1); if ($62) { return CatNil.value; }; return foldr(link)(CatNil.value)(v1.value1); })(); return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(cons)(v(v1.value0)))(Data_Traversable.traverse(traversableCatList)(dictApplicative)(v)(d)); }; throw new Error("Failed pattern match at Data.CatList line 169, column 1 - line 169, column 51: " + [ v.constructor.name, v1.constructor.name ]); }; }; }); var semigroupCatList = new Data_Semigroup.Semigroup(append); var monoidCatList = new Data_Monoid.Monoid(function () { return semigroupCatList; }, CatNil.value); var monadCatList = new Control_Monad.Monad(function () { return applicativeCatList; }, function () { return bindCatList; }); var bindCatList = new Control_Bind.Bind(function () { return applyCatList; }, Data_Function.flip(foldMap(monoidCatList))); var applyCatList = new Control_Apply.Apply(function () { return functorCatList; }, Control_Monad.ap(monadCatList)); var applicativeCatList = new Control_Applicative.Applicative(function () { return applyCatList; }, singleton); // | Convert any `Foldable` into a `CatList`. // | // | Running time: `O(n)` var fromFoldable = function (dictFoldable) { return function (f) { return Data_Foldable.foldMap(dictFoldable)(monoidCatList)(singleton)(f); }; }; // | Append an element to the end of the catenable list, creating a new // | catenable list. // | // | Running time: `O(1)` var snoc = function (cat) { return function (a) { return append(cat)(new CatCons(a, Data_CatQueue.empty)); }; }; var unfoldableCatList = new Data_Unfoldable.Unfoldable(function (f) { return function (b) { var go = function ($copy_source) { return function ($copy_memo) { var $tco_var_source = $copy_source; var $tco_done = false; var $tco_result; function $tco_loop(source, memo) { var v = f(source); if (v instanceof Data_Maybe.Nothing) { $tco_done = true; return memo; }; if (v instanceof Data_Maybe.Just) { $tco_var_source = v.value0.value1; $copy_memo = snoc(memo)(v.value0.value0); return; }; throw new Error("Failed pattern match at Data.CatList line 165, column 24 - line 167, column 57: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_source, $copy_memo); }; return $tco_result; }; }; return go(b)(CatNil.value); }; }); var altCatList = new Control_Alt.Alt(function () { return functorCatList; }, append); var plusCatList = new Control_Plus.Plus(function () { return altCatList; }, empty); var alternativeCatList = new Control_Alternative.Alternative(function () { return applicativeCatList; }, function () { return plusCatList; }); var monadZeroCatList = new Control_MonadZero.MonadZero(function () { return alternativeCatList; }, function () { return monadCatList; }); var monadPlusCatList = new Control_MonadPlus.MonadPlus(function () { return monadZeroCatList; }); exports["CatNil"] = CatNil; exports["CatCons"] = CatCons; exports["append"] = append; exports["cons"] = cons; exports["empty"] = empty; exports["fromFoldable"] = fromFoldable; exports["null"] = $$null; exports["snoc"] = snoc; exports["uncons"] = uncons; exports["semigroupCatList"] = semigroupCatList; exports["monoidCatList"] = monoidCatList; exports["showCatList"] = showCatList; exports["foldableCatList"] = foldableCatList; exports["unfoldableCatList"] = unfoldableCatList; exports["traversableCatList"] = traversableCatList; exports["functorCatList"] = functorCatList; exports["applyCatList"] = applyCatList; exports["applicativeCatList"] = applicativeCatList; exports["bindCatList"] = bindCatList; exports["monadCatList"] = monadCatList; exports["altCatList"] = altCatList; exports["plusCatList"] = plusCatList; exports["alternativeCatList"] = alternativeCatList; exports["monadZeroCatList"] = monadZeroCatList; exports["monadPlusCatList"] = monadPlusCatList; })(PS["Data.CatList"] = PS["Data.CatList"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_CatList = PS["Data.CatList"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var ExpF = function (x) { return x; }; // | The free monad for a type constructor `f`. // | // | Implemented in the spirit of [Reflection without Remorse](http://okmij.org/ftp/Haskell/zseq.pdf), // | the free monad is represented using a sequential data structure in // | order to overcome the quadratic complexity of left-associated binds // | and traversal through the free monad structure. var Free = (function () { function Free(value0, value1) { this.value0 = value0; this.value1 = value1; }; Free.create = function (value0) { return function (value1) { return new Free(value0, value1); }; }; return Free; })(); var Return = (function () { function Return(value0) { this.value0 = value0; }; Return.create = function (value0) { return new Return(value0); }; return Return; })(); var Bind = (function () { function Bind(value0, value1) { this.value0 = value0; this.value1 = value1; }; Bind.create = function (value0) { return function (value1) { return new Bind(value0, value1); }; }; return Bind; })(); var toView = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { var runExpF = function (v2) { return v2; }; var concatF = function (v2) { return function (r) { return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r)); }; }; if (v.value0 instanceof Return) { var v2 = Data_CatList.uncons(v.value1); if (v2 instanceof Data_Maybe.Nothing) { $tco_done = true; return new Return(Unsafe_Coerce.unsafeCoerce(v.value0.value0)); }; if (v2 instanceof Data_Maybe.Just) { $copy_v = Unsafe_Coerce.unsafeCoerce(concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1)); return; }; throw new Error("Failed pattern match at Control.Monad.Free line 215, column 7 - line 219, column 64: " + [ v2.constructor.name ]); }; if (v.value0 instanceof Bind) { $tco_done = true; return new Bind(v.value0.value0, function (a) { return Unsafe_Coerce.unsafeCoerce(concatF(v.value0.value1(a))(v.value1)); }); }; throw new Error("Failed pattern match at Control.Monad.Free line 213, column 3 - line 221, column 56: " + [ v.value0.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; // | Run a free monad with a function mapping a functor `f` to a tail-recursive // | monad `m`. See the `MonadRec` type class for more details. var runFreeM = function (dictFunctor) { return function (dictMonadRec) { return function (k) { var go = function (f) { var v = toView(f); if (v instanceof Return) { return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0)); }; if (v instanceof Bind) { return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(k(Data_Functor.map(dictFunctor)(v.value1)(v.value0))); }; throw new Error("Failed pattern match at Control.Monad.Free line 182, column 10 - line 184, column 37: " + [ v.constructor.name ]); }; return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go); }; }; }; // | Run a free monad with a function that unwraps a single layer of the functor // | `f` at a time. var runFree = function (dictFunctor) { return function (k) { var go = function ($copy_f) { var $tco_done = false; var $tco_result; function $tco_loop(f) { var v = toView(f); if (v instanceof Return) { $tco_done = true; return v.value0; }; if (v instanceof Bind) { $copy_f = k(Data_Functor.map(dictFunctor)(v.value1)(v.value0)); return; }; throw new Error("Failed pattern match at Control.Monad.Free line 166, column 10 - line 168, column 33: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_f); }; return $tco_result; }; return go; }; }; // | Unwraps a single layer of `f`, providing the continuation. var resume$prime = function (k) { return function (j) { return function (f) { var v = toView(f); if (v instanceof Return) { return j(v.value0); }; if (v instanceof Bind) { return k(v.value0)(v.value1); }; throw new Error("Failed pattern match at Control.Monad.Free line 201, column 17 - line 203, column 20: " + [ v.constructor.name ]); }; }; }; // | Unwraps a single layer of the functor `f`. var resume = function (dictFunctor) { return resume$prime(function (g) { return function (i) { return new Data_Either.Left(Data_Functor.map(dictFunctor)(i)(g)); }; })(Data_Either.Right.create); }; var fromView = function (f) { return new Free(Unsafe_Coerce.unsafeCoerce(f), Data_CatList.empty); }; // | Suspend a value given the applicative functor `f` into the free monad. var suspendF = function (dictApplicative) { return function (f) { return fromView(new Bind(Unsafe_Coerce.unsafeCoerce(Control_Applicative.pure(dictApplicative)(f)), Unsafe_Coerce.unsafeCoerce)); }; }; var freeMonad = new Control_Monad.Monad(function () { return freeApplicative; }, function () { return freeBind; }); var freeFunctor = new Data_Functor.Functor(function (k) { return function (f) { return Control_Bind.bindFlipped(freeBind)(function ($118) { return Control_Applicative.pure(freeApplicative)(k($118)); })(f); }; }); var freeBind = new Control_Bind.Bind(function () { return freeApply; }, function (v) { return function (k) { return new Free(v.value0, Data_CatList.snoc(v.value1)(Unsafe_Coerce.unsafeCoerce(k))); }; }); var freeApply = new Control_Apply.Apply(function () { return freeFunctor; }, Control_Monad.ap(freeMonad)); var freeApplicative = new Control_Applicative.Applicative(function () { return freeApply; }, function ($119) { return fromView(Return.create($119)); }); var freeMonadRec = new Control_Monad_Rec_Class.MonadRec(function () { return freeMonad; }, function (k) { return function (a) { return Control_Bind.bind(freeBind)(k(a))(function (v) { if (v instanceof Control_Monad_Rec_Class.Loop) { return Control_Monad_Rec_Class.tailRecM(freeMonadRec)(k)(v.value0); }; if (v instanceof Control_Monad_Rec_Class.Done) { return Control_Applicative.pure(freeApplicative)(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Free line 84, column 26 - line 86, column 21: " + [ v.constructor.name ]); }); }; }); // | Lift an impure value described by the generating type constructor `f` into // | the free monad. var liftF = function (f) { return fromView(new Bind(Unsafe_Coerce.unsafeCoerce(f), function ($120) { return Control_Applicative.pure(freeApplicative)(Unsafe_Coerce.unsafeCoerce($120)); })); }; var freeMonadTrans = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return liftF; }); // | Like `foldFree`, but for folding into some other Free monad without the // | overhead that `MonadRec` incurs. var substFree = function (k) { var go = function (f) { var v = toView(f); if (v instanceof Return) { return Control_Applicative.pure(freeApplicative)(v.value0); }; if (v instanceof Bind) { return Control_Bind.bind(freeBind)(k(v.value0))(Data_Functor.map(Data_Functor.functorFn)(go)(v.value1)); }; throw new Error("Failed pattern match at Control.Monad.Free line 156, column 10 - line 158, column 33: " + [ v.constructor.name ]); }; return go; }; // | Use a natural transformation to change the generating type constructor of a // | free monad. var hoistFree = function (k) { return substFree(function ($121) { return liftF(k($121)); }); }; var foldableFree = function (dictFunctor) { return function (dictFoldable) { return new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { var go = function ($122) { return (function (v) { if (v instanceof Data_Either.Left) { return Data_Foldable.foldMap(dictFoldable)(dictMonoid)(go)(v.value0); }; if (v instanceof Data_Either.Right) { return f(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Free line 91, column 21 - line 93, column 21: " + [ v.constructor.name ]); })(resume(dictFunctor)($122)); }; return go; }; }, function (f) { var go = function (r) { return function ($123) { return (function (v) { if (v instanceof Data_Either.Left) { return Data_Foldable.foldl(dictFoldable)(go)(r)(v.value0); }; if (v instanceof Data_Either.Right) { return f(r)(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Free line 96, column 23 - line 98, column 23: " + [ v.constructor.name ]); })(resume(dictFunctor)($123)); }; }; return go; }, function (f) { var go = function (r) { return function ($124) { return (function (v) { if (v instanceof Data_Either.Left) { return Data_Foldable.foldr(dictFoldable)(Data_Function.flip(go))(r)(v.value0); }; if (v instanceof Data_Either.Right) { return f(v.value0)(r); }; throw new Error("Failed pattern match at Control.Monad.Free line 101, column 23 - line 103, column 23: " + [ v.constructor.name ]); })(resume(dictFunctor)($124)); }; }; return go; }); }; }; var traversableFree = function (dictTraversable) { return new Data_Traversable.Traversable(function () { return foldableFree(dictTraversable.Functor0())(dictTraversable.Foldable1()); }, function () { return freeFunctor; }, function (dictApplicative) { return function (tma) { return Data_Traversable.traverse(traversableFree(dictTraversable))(dictApplicative)(Control_Category.id(Control_Category.categoryFn))(tma); }; }, function (dictApplicative) { return function (f) { var go = function ($125) { return (function (v) { if (v instanceof Data_Either.Left) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($126) { return Control_Bind.join(freeBind)(liftF($126)); })(Data_Traversable.traverse(dictTraversable)(dictApplicative)(go)(v.value0)); }; if (v instanceof Data_Either.Right) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Control_Applicative.pure(freeApplicative))(f(v.value0)); }; throw new Error("Failed pattern match at Control.Monad.Free line 108, column 21 - line 110, column 30: " + [ v.constructor.name ]); })(resume(dictTraversable.Functor0())($125)); }; return go; }; }); }; // | Run a free monad with a natural transformation from the type constructor `f` // | to the tail-recursive monad `m`. See the `MonadRec` type class for more // | details. var foldFree = function (dictMonadRec) { return function (k) { var go = function (f) { var v = toView(f); if (v instanceof Return) { return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0)); }; if (v instanceof Bind) { return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) { return Control_Monad_Rec_Class.Loop.create(v.value1($127)); })(k(v.value0)); }; throw new Error("Failed pattern match at Control.Monad.Free line 146, column 10 - line 148, column 37: " + [ v.constructor.name ]); }; return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go); }; }; var eqFree = function (dictFunctor) { return function (dictEq1) { return function (dictEq) { return new Data_Eq.Eq(function (x) { return function (y) { var v = resume(dictFunctor)(y); var v1 = resume(dictFunctor)(x); if (v1 instanceof Data_Either.Left && v instanceof Data_Either.Left) { return Data_Eq.eq1(dictEq1)(eqFree(dictFunctor)(dictEq1)(dictEq))(v1.value0)(v.value0); }; if (v1 instanceof Data_Either.Right && v instanceof Data_Either.Right) { return Data_Eq.eq(dictEq)(v1.value0)(v.value0); }; return false; }; }); }; }; }; var ordFree = function (dictFunctor) { return function (dictOrd1) { return function (dictOrd) { return new Data_Ord.Ord(function () { return eqFree(dictFunctor)(dictOrd1.Eq10())(dictOrd.Eq0()); }, function (x) { return function (y) { var v = resume(dictFunctor)(y); var v1 = resume(dictFunctor)(x); if (v1 instanceof Data_Either.Left && v instanceof Data_Either.Left) { return Data_Ord.compare1(dictOrd1)(ordFree(dictFunctor)(dictOrd1)(dictOrd))(v1.value0)(v.value0); }; if (v1 instanceof Data_Either.Left) { return Data_Ordering.LT.value; }; if (v instanceof Data_Either.Left) { return Data_Ordering.GT.value; }; if (v1 instanceof Data_Either.Right && v instanceof Data_Either.Right) { return Data_Ord.compare(dictOrd)(v1.value0)(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Free line 54, column 17 - line 58, column 36: " + [ v1.constructor.name, v.constructor.name ]); }; }); }; }; }; var eq1Free = function (dictFunctor) { return function (dictEq1) { return new Data_Eq.Eq1(function (dictEq) { return Data_Eq.eq(eqFree(dictFunctor)(dictEq1)(dictEq)); }); }; }; var ord1Free = function (dictFunctor) { return function (dictOrd1) { return function (dictOrd) { return new Data_Ord.Ord1(function () { return eq1Free(dictFunctor)(dictOrd1.Eq10()); }, function (dictOrd2) { return Data_Ord.compare(ordFree(dictFunctor)(dictOrd1)(dictOrd2)); }); }; }; }; exports["foldFree"] = foldFree; exports["hoistFree"] = hoistFree; exports["liftF"] = liftF; exports["resume"] = resume; exports["resume'"] = resume$prime; exports["runFree"] = runFree; exports["runFreeM"] = runFreeM; exports["substFree"] = substFree; exports["suspendF"] = suspendF; exports["eqFree"] = eqFree; exports["eq1Free"] = eq1Free; exports["ordFree"] = ordFree; exports["ord1Free"] = ord1Free; exports["freeFunctor"] = freeFunctor; exports["freeBind"] = freeBind; exports["freeApplicative"] = freeApplicative; exports["freeApply"] = freeApply; exports["freeMonad"] = freeMonad; exports["freeMonadTrans"] = freeMonadTrans; exports["freeMonadRec"] = freeMonadRec; exports["foldableFree"] = foldableFree; exports["traversableFree"] = traversableFree; })(PS["Control.Monad.Free"] = PS["Control.Monad.Free"] || {}); (function(exports) { // | This module defines the `MonadState` type class and its instances. "use strict"; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | The `MonadState s` type class represents those monads which support a single piece of mutable // | state of type `s`. // | // | - `state f` updates the state using the function `f`. // | // | An implementation is provided for `StateT`, and for other monad transformers // | defined in this library. // | // | Laws: // | // | - `do { get ; get } = get` // | - `do { put x ; put y } = put y` // | - `do { put x ; get } = put x $> x` // | - `do { s <- get ; put s } = pure unit` // | var MonadState = function (Monad0, state) { this.Monad0 = Monad0; this.state = state; }; var state = function (dict) { return dict.state; }; // | Set the state. var put = function (dictMonadState) { return function (s) { return state(dictMonadState)(function (v) { return new Data_Tuple.Tuple(Data_Unit.unit, s); }); }; }; // | Modify the state by applying a function to the current state. var modify = function (dictMonadState) { return function (f) { return state(dictMonadState)(function (s) { return new Data_Tuple.Tuple(Data_Unit.unit, f(s)); }); }; }; // | Get a value which depends on the current state. var gets = function (dictMonadState) { return function (f) { return state(dictMonadState)(function (s) { return new Data_Tuple.Tuple(f(s), s); }); }; }; // | Get the current state. var get = function (dictMonadState) { return state(dictMonadState)(function (s) { return new Data_Tuple.Tuple(s, s); }); }; exports["MonadState"] = MonadState; exports["get"] = get; exports["gets"] = gets; exports["modify"] = modify; exports["put"] = put; exports["state"] = state; })(PS["Control.Monad.State.Class"] = PS["Control.Monad.State.Class"] || {}); (function(exports) { // | This module defines the `MonadCont` type class and its instances. "use strict"; var Prelude = PS["Prelude"]; // | The `MonadCont` type class represents those monads which support the // | `callCC`, or _call-with-current-continuation_ operation. // | // | This action makes the current continuation available to the caller. // | // | For example: // | // | ```purescript // | delay :: forall eff. Number -> ContT Unit (Eff (timeout :: Timeout | eff)) Unit // | delay n = callCC \cont -> // | lift $ setTimeout n (runContT (cont unit) (\_ -> return unit)) // | ``` // | An implementation is provided for `ContT`, and for other monad transformers // | defined in this library. var MonadCont = function (Monad0, callCC) { this.Monad0 = Monad0; this.callCC = callCC; }; var callCC = function (dict) { return dict.callCC; }; exports["MonadCont"] = MonadCont; exports["callCC"] = callCC; })(PS["Control.Monad.Cont.Class"] = PS["Control.Monad.Cont.Class"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; // | The `MonadEff` class captures those monads which support native effects. // | // | Instances are provided for `Eff` itself, and the standard monad // | transformers. // | // | `liftEff` can be used in any appropriate monad transformer stack to lift an // | action of type `Eff eff a` into the monad. // | // | Note that `MonadEff` is parameterized by the row of effects, so type // | inference can be tricky. It is generally recommended to either work with a // | polymorphic row of effects, or a concrete, closed row of effects such as // | `(trace :: Trace)`. var MonadEff = function (Monad0, liftEff) { this.Monad0 = Monad0; this.liftEff = liftEff; }; var monadEffEff = new MonadEff(function () { return Control_Monad_Eff.monadEff; }, Control_Category.id(Control_Category.categoryFn)); var liftEff = function (dict) { return dict.liftEff; }; exports["MonadEff"] = MonadEff; exports["liftEff"] = liftEff; exports["monadEffEff"] = monadEffEff; })(PS["Control.Monad.Eff.Class"] = PS["Control.Monad.Eff.Class"] || {}); (function(exports) { // | This module defines the `MonadError` type class and its instances. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | The `MonadThrow` type class represents those monads which support errors via // | `throwError`, where `throwError e` halts, yielding the error `e`. // | // | An implementation is provided for `ExceptT`, and for other monad transformers // | defined in this library. // | // | Laws: // | // | - Left zero: `throwError e >>= f = throwError e` // | var MonadThrow = function (Monad0, throwError) { this.Monad0 = Monad0; this.throwError = throwError; }; // | The `MonadError` type class represents those monads which support catching // | errors. // | // | - `catchError x f` calls the error handler `f` if an error is thrown during the // | evaluation of `x`. // | // | An implementation is provided for `ExceptT`, and for other monad transformers // | defined in this library. // | // | Laws: // | // | - Catch: `catchError (throwError e) f = f e` // | - Pure: `catchError (pure a) f = pure a` // | var MonadError = function (MonadThrow0, catchError) { this.MonadThrow0 = MonadThrow0; this.catchError = catchError; }; var throwError = function (dict) { return dict.throwError; }; var monadThrowMaybe = new MonadThrow(function () { return Data_Maybe.monadMaybe; }, Data_Function["const"](Data_Maybe.Nothing.value)); var monadThrowEither = new MonadThrow(function () { return Data_Either.monadEither; }, Data_Either.Left.create); var monadErrorMaybe = new MonadError(function () { return monadThrowMaybe; }, function (v) { return function (v1) { if (v instanceof Data_Maybe.Nothing) { return v1(Data_Unit.unit); }; if (v instanceof Data_Maybe.Just) { return new Data_Maybe.Just(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Error.Class line 76, column 1 - line 76, column 50: " + [ v.constructor.name, v1.constructor.name ]); }; }); var monadErrorEither = new MonadError(function () { return monadThrowEither; }, function (v) { return function (v1) { if (v instanceof Data_Either.Left) { return v1(v.value0); }; if (v instanceof Data_Either.Right) { return new Data_Either.Right(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Error.Class line 69, column 1 - line 69, column 53: " + [ v.constructor.name, v1.constructor.name ]); }; }); var catchError = function (dict) { return dict.catchError; }; // | This function allows you to provide a predicate for selecting the // | exceptions that you're interested in, and handle only those exceptons. // | If the inner computation throws an exception, and the predicate returns // | Nothing, then the whole computation will still fail with that exception. var catchJust = function (dictMonadError) { return function (p) { return function (act) { return function (handler) { var handle = function (e) { var v = p(e); if (v instanceof Data_Maybe.Nothing) { return throwError(dictMonadError.MonadThrow0())(e); }; if (v instanceof Data_Maybe.Just) { return handler(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Error.Class line 54, column 5 - line 56, column 26: " + [ v.constructor.name ]); }; return catchError(dictMonadError)(act)(handle); }; }; }; }; // | Return `Right` if the given action succeeds, `Left` if it throws. var $$try = function (dictMonadError) { return function (a) { return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) { return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21)); }); }; }; // | Make sure that a resource is cleaned up in the event of an exception. The // | release action is called regardless of whether the body action throws or // | returns. var withResource = function (dictMonadError) { return function (acquire) { return function (release) { return function (kleisli) { return Control_Bind.bind(((dictMonadError.MonadThrow0()).Monad0()).Bind1())(acquire)(function (v) { return Control_Bind.bind(((dictMonadError.MonadThrow0()).Monad0()).Bind1())($$try(dictMonadError)(kleisli(v)))(function (v1) { return Control_Bind.discard(Control_Bind.discardUnit)(((dictMonadError.MonadThrow0()).Monad0()).Bind1())(release(v))(function () { return Data_Either.either(throwError(dictMonadError.MonadThrow0()))(Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0()))(v1); }); }); }); }; }; }; }; exports["MonadError"] = MonadError; exports["MonadThrow"] = MonadThrow; exports["catchError"] = catchError; exports["catchJust"] = catchJust; exports["throwError"] = throwError; exports["try"] = $$try; exports["withResource"] = withResource; exports["monadThrowEither"] = monadThrowEither; exports["monadErrorEither"] = monadErrorEither; exports["monadThrowMaybe"] = monadThrowMaybe; exports["monadErrorMaybe"] = monadErrorMaybe; })(PS["Control.Monad.Error.Class"] = PS["Control.Monad.Error.Class"] || {}); (function(exports) { // | This module defines the `MonadReader` type class and its instances. "use strict"; var Control_Category = PS["Control.Category"]; var Control_Monad = PS["Control.Monad"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor = PS["Data.Functor"]; var Prelude = PS["Prelude"]; // | The `MonadAsk` type class represents those monads which support a global // | context that can be provided via the `ask` function. // | // | An implementation is provided for `ReaderT`, and for other monad // | transformers defined in this library. // | // | Law: // | // | - `do { ask ; ask } = ask` var MonadAsk = function (Monad0, ask) { this.Monad0 = Monad0; this.ask = ask; }; // | An extension of the `MonadAsk` class that introduces a function `local f x` // | that allows the value of the local context to be modified for the duration // | of the execution of action `x`. // | // | An implementation is provided for `ReaderT`, and for other monad // | transformers defined in this library. // | // | Laws in addition to the `MonadAsk` law: // | // | - `local f ask = f <$> ask` // | - `local _ (pure a) = pure a` // | - `local f (do { a <- x ; y }) = do { a <- local f x ; local f y }` var MonadReader = function (MonadAsk0, local) { this.MonadAsk0 = MonadAsk0; this.local = local; }; var monadAskFun = new MonadAsk(function () { return Control_Monad.monadFn; }, Control_Category.id(Control_Category.categoryFn)); var monadReaderFun = new MonadReader(function () { return monadAskFun; }, Control_Semigroupoid.composeFlipped(Control_Semigroupoid.semigroupoidFn)); var local = function (dict) { return dict.local; }; var ask = function (dict) { return dict.ask; }; // | Projects a value from the global context in a `MonadAsk`. var asks = function (dictMonadAsk) { return function (f) { return Data_Functor.map((((dictMonadAsk.Monad0()).Bind1()).Apply0()).Functor0())(f)(ask(dictMonadAsk)); }; }; exports["MonadAsk"] = MonadAsk; exports["MonadReader"] = MonadReader; exports["ask"] = ask; exports["asks"] = asks; exports["local"] = local; exports["monadAskFun"] = monadAskFun; exports["monadReaderFun"] = monadReaderFun; })(PS["Control.Monad.Reader.Class"] = PS["Control.Monad.Reader.Class"] || {}); (function(exports) { // | This module defines the `MonadWriter` type class and its instances. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Data_Function = PS["Data.Function"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The `MonadTell w` type class represents those monads which support a // | monoidal accumulator of type `w`, were `tell` appends a value to the // | accumulator. // | // | An implementation is provided for `WriterT`, and for other monad // | transformers defined in this library. // | // | Law: // | // | - `do { tell x ; tell y } = tell (x <> y)` var MonadTell = function (Monad0, tell) { this.Monad0 = Monad0; this.tell = tell; }; // | An extension of the `MonadTell` class that introduces some operations on // | the accumulator: // | // | - `listen` modifies the result to include the changes to the accumulator. // | - `pass` applies the returned function to the accumulator. // | // | An implementation is provided for `WriterT`, and for other monad // | transformers defined in this library. // | // | Laws in addition to the `MonadTell` law: // | // | - `do { tell x ; tell y } = tell (x <> y)` // | - `listen (pure a) = pure (Tuple a mempty)` // | - `listen (writer a x) = tell x $> Tuple a x` var MonadWriter = function (MonadTell0, listen, pass) { this.MonadTell0 = MonadTell0; this.listen = listen; this.pass = pass; }; var tell = function (dict) { return dict.tell; }; var pass = function (dict) { return dict.pass; }; var listen = function (dict) { return dict.listen; }; // | Projects a value from modifications made to the accumulator during an // | action. var listens = function (dictMonadWriter) { return function (f) { return function (m) { return Control_Bind.bind(((dictMonadWriter.MonadTell0()).Monad0()).Bind1())(listen(dictMonadWriter)(m))(function (v) { return Control_Applicative.pure(((dictMonadWriter.MonadTell0()).Monad0()).Applicative0())(new Data_Tuple.Tuple(v.value0, f(v.value1))); }); }; }; }; // | Modify the final accumulator value by applying a function. var censor = function (dictMonadWriter) { return function (f) { return function (m) { return pass(dictMonadWriter)(Control_Bind.bind(((dictMonadWriter.MonadTell0()).Monad0()).Bind1())(m)(function (v) { return Control_Applicative.pure(((dictMonadWriter.MonadTell0()).Monad0()).Applicative0())(new Data_Tuple.Tuple(v, f)); })); }; }; }; exports["MonadTell"] = MonadTell; exports["MonadWriter"] = MonadWriter; exports["censor"] = censor; exports["listen"] = listen; exports["listens"] = listens; exports["pass"] = pass; exports["tell"] = tell; })(PS["Control.Monad.Writer.Class"] = PS["Control.Monad.Writer.Class"] || {}); (function(exports) { // | This module defines the state monad transformer, `StateT`. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | The state monad transformer. // | // | This monad transformer extends the base monad with the operations `get` // | and `put` which can be used to model a single piece of mutable state. // | // | The `MonadState` type class describes the operations supported by this monad. var StateT = function (x) { return x; }; // | Modify the final state in a `StateT` monad action. var withStateT = function (f) { return function (v) { return function ($107) { return v(f($107)); }; }; }; // | Run a computation in the `StateT` monad. var runStateT = function (v) { return v; }; var newtypeStateT = new Data_Newtype.Newtype(function (n) { return n; }, StateT); var monadTransStateT = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return function (m) { return function (s) { return Control_Bind.bind(dictMonad.Bind1())(m)(function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Tuple.Tuple(v, s)); }); }; }; }); // | Change the result type in a `StateT` monad action. var mapStateT = function (f) { return function (v) { return function ($108) { return f(v($108)); }; }; }; var lazyStateT = new Control_Lazy.Lazy(function (f) { return function (s) { var v = f(Data_Unit.unit); return v(s); }; }); var functorStateT = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return function (s) { return Data_Functor.map(dictFunctor)(function (v1) { return new Data_Tuple.Tuple(f(v1.value0), v1.value1); })(v(s)); }; }; }); }; // | Run a computation in the `StateT` monad discarding the result. var execStateT = function (dictFunctor) { return function (v) { return function (s) { return Data_Functor.map(dictFunctor)(Data_Tuple.snd)(v(s)); }; }; }; // | Run a computation in the `StateT` monad, discarding the final state. var evalStateT = function (dictFunctor) { return function (v) { return function (s) { return Data_Functor.map(dictFunctor)(Data_Tuple.fst)(v(s)); }; }; }; var monadStateT = function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeStateT(dictMonad); }, function () { return bindStateT(dictMonad); }); }; var bindStateT = function (dictMonad) { return new Control_Bind.Bind(function () { return applyStateT(dictMonad); }, function (v) { return function (f) { return function (s) { return Control_Bind.bind(dictMonad.Bind1())(v(s))(function (v1) { var v3 = f(v1.value0); return v3(v1.value1); }); }; }; }); }; var applyStateT = function (dictMonad) { return new Control_Apply.Apply(function () { return functorStateT(((dictMonad.Bind1()).Apply0()).Functor0()); }, Control_Monad.ap(monadStateT(dictMonad))); }; var applicativeStateT = function (dictMonad) { return new Control_Applicative.Applicative(function () { return applyStateT(dictMonad); }, function (a) { return function (s) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Tuple.Tuple(a, s)); }; }); }; var monadAskStateT = function (dictMonadAsk) { return new Control_Monad_Reader_Class.MonadAsk(function () { return monadStateT(dictMonadAsk.Monad0()); }, Control_Monad_Trans_Class.lift(monadTransStateT)(dictMonadAsk.Monad0())(Control_Monad_Reader_Class.ask(dictMonadAsk))); }; var monadReaderStateT = function (dictMonadReader) { return new Control_Monad_Reader_Class.MonadReader(function () { return monadAskStateT(dictMonadReader.MonadAsk0()); }, function ($109) { return mapStateT(Control_Monad_Reader_Class.local(dictMonadReader)($109)); }); }; var monadContStateT = function (dictMonadCont) { return new Control_Monad_Cont_Class.MonadCont(function () { return monadStateT(dictMonadCont.Monad0()); }, function (f) { return function (s) { return Control_Monad_Cont_Class.callCC(dictMonadCont)(function (c) { var v = f(function (a) { return function (s$prime) { return c(new Data_Tuple.Tuple(a, s$prime)); }; }); return v(s); }); }; }); }; var monadEffState = function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadStateT(dictMonadEff.Monad0()); }, function ($110) { return Control_Monad_Trans_Class.lift(monadTransStateT)(dictMonadEff.Monad0())(Control_Monad_Eff_Class.liftEff(dictMonadEff)($110)); }); }; var monadRecStateT = function (dictMonadRec) { return new Control_Monad_Rec_Class.MonadRec(function () { return monadStateT(dictMonadRec.Monad0()); }, function (f) { return function (a) { var f$prime = function (v) { return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())((function () { var v1 = f(v.value0); return v1; })()(v.value1))(function (v1) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())((function () { if (v1.value0 instanceof Control_Monad_Rec_Class.Loop) { return new Control_Monad_Rec_Class.Loop(new Data_Tuple.Tuple(v1.value0.value0, v1.value1)); }; if (v1.value0 instanceof Control_Monad_Rec_Class.Done) { return new Control_Monad_Rec_Class.Done(new Data_Tuple.Tuple(v1.value0.value0, v1.value1)); }; throw new Error("Failed pattern match at Control.Monad.State.Trans line 88, column 16 - line 90, column 40: " + [ v1.value0.constructor.name ]); })()); }); }; return function (s) { return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(f$prime)(new Data_Tuple.Tuple(a, s)); }; }; }); }; var monadStateStateT = function (dictMonad) { return new Control_Monad_State_Class.MonadState(function () { return monadStateT(dictMonad); }, function (f) { return StateT(function ($111) { return Control_Applicative.pure(dictMonad.Applicative0())(f($111)); }); }); }; var monadTellStateT = function (dictMonadTell) { return new Control_Monad_Writer_Class.MonadTell(function () { return monadStateT(dictMonadTell.Monad0()); }, function ($112) { return Control_Monad_Trans_Class.lift(monadTransStateT)(dictMonadTell.Monad0())(Control_Monad_Writer_Class.tell(dictMonadTell)($112)); }); }; var monadWriterStateT = function (dictMonadWriter) { return new Control_Monad_Writer_Class.MonadWriter(function () { return monadTellStateT(dictMonadWriter.MonadTell0()); }, function (m) { return function (s) { return Control_Bind.bind(((dictMonadWriter.MonadTell0()).Monad0()).Bind1())(Control_Monad_Writer_Class.listen(dictMonadWriter)(m(s)))(function (v) { return Control_Applicative.pure(((dictMonadWriter.MonadTell0()).Monad0()).Applicative0())(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value0, v.value1), v.value0.value1)); }); }; }, function (m) { return function (s) { return Control_Monad_Writer_Class.pass(dictMonadWriter)(Control_Bind.bind(((dictMonadWriter.MonadTell0()).Monad0()).Bind1())(m(s))(function (v) { return Control_Applicative.pure(((dictMonadWriter.MonadTell0()).Monad0()).Applicative0())(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value0, v.value1), v.value0.value1)); })); }; }); }; var monadThrowStateT = function (dictMonadThrow) { return new Control_Monad_Error_Class.MonadThrow(function () { return monadStateT(dictMonadThrow.Monad0()); }, function (e) { return Control_Monad_Trans_Class.lift(monadTransStateT)(dictMonadThrow.Monad0())(Control_Monad_Error_Class.throwError(dictMonadThrow)(e)); }); }; var monadErrorStateT = function (dictMonadError) { return new Control_Monad_Error_Class.MonadError(function () { return monadThrowStateT(dictMonadError.MonadThrow0()); }, function (v) { return function (h) { return function (s) { return Control_Monad_Error_Class.catchError(dictMonadError)(v(s))(function (e) { var v1 = h(e); return v1(s); }); }; }; }); }; var altStateT = function (dictMonad) { return function (dictAlt) { return new Control_Alt.Alt(function () { return functorStateT(dictAlt.Functor0()); }, function (v) { return function (v1) { return function (s) { return Control_Alt.alt(dictAlt)(v(s))(v1(s)); }; }; }); }; }; var plusStateT = function (dictMonad) { return function (dictPlus) { return new Control_Plus.Plus(function () { return altStateT(dictMonad)(dictPlus.Alt0()); }, function (v) { return Control_Plus.empty(dictPlus); }); }; }; var alternativeStateT = function (dictMonad) { return function (dictAlternative) { return new Control_Alternative.Alternative(function () { return applicativeStateT(dictMonad); }, function () { return plusStateT(dictMonad)(dictAlternative.Plus1()); }); }; }; var monadZeroStateT = function (dictMonadZero) { return new Control_MonadZero.MonadZero(function () { return alternativeStateT(dictMonadZero.Monad0())(dictMonadZero.Alternative1()); }, function () { return monadStateT(dictMonadZero.Monad0()); }); }; var monadPlusStateT = function (dictMonadPlus) { return new Control_MonadPlus.MonadPlus(function () { return monadZeroStateT(dictMonadPlus.MonadZero0()); }); }; exports["StateT"] = StateT; exports["evalStateT"] = evalStateT; exports["execStateT"] = execStateT; exports["mapStateT"] = mapStateT; exports["runStateT"] = runStateT; exports["withStateT"] = withStateT; exports["newtypeStateT"] = newtypeStateT; exports["functorStateT"] = functorStateT; exports["applyStateT"] = applyStateT; exports["applicativeStateT"] = applicativeStateT; exports["altStateT"] = altStateT; exports["plusStateT"] = plusStateT; exports["alternativeStateT"] = alternativeStateT; exports["bindStateT"] = bindStateT; exports["monadStateT"] = monadStateT; exports["monadRecStateT"] = monadRecStateT; exports["monadZeroStateT"] = monadZeroStateT; exports["monadPlusStateT"] = monadPlusStateT; exports["monadTransStateT"] = monadTransStateT; exports["lazyStateT"] = lazyStateT; exports["monadEffState"] = monadEffState; exports["monadContStateT"] = monadContStateT; exports["monadThrowStateT"] = monadThrowStateT; exports["monadErrorStateT"] = monadErrorStateT; exports["monadAskStateT"] = monadAskStateT; exports["monadReaderStateT"] = monadReaderStateT; exports["monadStateStateT"] = monadStateStateT; exports["monadTellStateT"] = monadTellStateT; exports["monadWriterStateT"] = monadWriterStateT; })(PS["Control.Monad.State.Trans"] = PS["Control.Monad.State.Trans"] || {}); (function(exports) { // | This module defines the `State` monad. "use strict"; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_State_Trans = PS["Control.Monad.State.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Modify the state in a `State` action var withState = Control_Monad_State_Trans.withStateT; // | Run a computation in the `State` monad var runState = function (v) { return function ($16) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(v($16)); }; }; // | Change the type of the result in a `State` action var mapState = function (f) { return Control_Monad_State_Trans.mapStateT(function ($17) { return Data_Identity.Identity(f(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($17))); }); }; // | Run a computation in the `State` monad, discarding the result var execState = function (v) { return function (s) { var v1 = v(s); return v1.value1; }; }; // | Run a computation in the `State` monad, discarding the final state var evalState = function (v) { return function (s) { var v1 = v(s); return v1.value0; }; }; exports["evalState"] = evalState; exports["execState"] = execState; exports["mapState"] = mapState; exports["runState"] = runState; exports["withState"] = withState; })(PS["Control.Monad.State"] = PS["Control.Monad.State"] || {}); (function(exports) { "use strict"; exports.defer = function () { function Defer(thunk) { if (this instanceof Defer) { this.thunk = thunk; return this; } else { return new Defer(thunk); } } Defer.prototype.force = function () { var value = this.thunk(); this.thunk = null; this.force = function () { return value; }; return value; }; return Defer; }(); exports.force = function (l) { return l.force(); }; })(PS["Data.Lazy"] = PS["Data.Lazy"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Lazy"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Monad = PS["Control.Monad"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; var Data_Bounded = PS["Data.Bounded"]; var Data_CommutativeRing = PS["Data.CommutativeRing"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Field = PS["Data.Field"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var showLazy = function (dictShow) { return new Data_Show.Show(function (x) { return "(defer \\_ -> " + (Data_Show.show(dictShow)($foreign.force(x)) + ")"); }); }; var semiringLazy = function (dictSemiring) { return new Data_Semiring.Semiring(function (a) { return function (b) { return $foreign.defer(function (v) { return Data_Semiring.add(dictSemiring)($foreign.force(a))($foreign.force(b)); }); }; }, function (a) { return function (b) { return $foreign.defer(function (v) { return Data_Semiring.mul(dictSemiring)($foreign.force(a))($foreign.force(b)); }); }; }, $foreign.defer(function (v) { return Data_Semiring.one(dictSemiring); }), $foreign.defer(function (v) { return Data_Semiring.zero(dictSemiring); })); }; var semigroupLazy = function (dictSemigroup) { return new Data_Semigroup.Semigroup(function (a) { return function (b) { return $foreign.defer(function (v) { return Data_Semigroup.append(dictSemigroup)($foreign.force(a))($foreign.force(b)); }); }; }); }; var ringLazy = function (dictRing) { return new Data_Ring.Ring(function () { return semiringLazy(dictRing.Semiring0()); }, function (a) { return function (b) { return $foreign.defer(function (v) { return Data_Ring.sub(dictRing)($foreign.force(a))($foreign.force(b)); }); }; }); }; var monoidLazy = function (dictMonoid) { return new Data_Monoid.Monoid(function () { return semigroupLazy(dictMonoid.Semigroup0()); }, $foreign.defer(function (v) { return Data_Monoid.mempty(dictMonoid); })); }; var lazyLazy = new Control_Lazy.Lazy(function (f) { return $foreign.defer(function (v) { return $foreign.force(f(Data_Unit.unit)); }); }); var functorLazy = new Data_Functor.Functor(function (f) { return function (l) { return $foreign.defer(function (v) { return f($foreign.force(l)); }); }; }); var invariantLazy = new Data_Functor_Invariant.Invariant(Data_Functor_Invariant.imapF(functorLazy)); var extendLazy = new Control_Extend.Extend(function () { return functorLazy; }, function (f) { return function (x) { return $foreign.defer(function (v) { return f(x); }); }; }); var eqLazy = function (dictEq) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(dictEq)($foreign.force(x))($foreign.force(y)); }; }); }; var ordLazy = function (dictOrd) { return new Data_Ord.Ord(function () { return eqLazy(dictOrd.Eq0()); }, function (x) { return function (y) { return Data_Ord.compare(dictOrd)($foreign.force(x))($foreign.force(y)); }; }); }; var comonadLazy = new Control_Comonad.Comonad(function () { return extendLazy; }, $foreign.force); var commutativeRingLazy = function (dictCommutativeRing) { return new Data_CommutativeRing.CommutativeRing(function () { return ringLazy(dictCommutativeRing.Ring0()); }); }; var euclideanRingLazy = function (dictEuclideanRing) { return new Data_EuclideanRing.EuclideanRing(function () { return commutativeRingLazy(dictEuclideanRing.CommutativeRing0()); }, function ($32) { return Data_EuclideanRing.degree(dictEuclideanRing)($foreign.force($32)); }, function (a) { return function (b) { return $foreign.defer(function (v) { return Data_EuclideanRing.div(dictEuclideanRing)($foreign.force(a))($foreign.force(b)); }); }; }, function (a) { return function (b) { return $foreign.defer(function (v) { return Data_EuclideanRing.mod(dictEuclideanRing)($foreign.force(a))($foreign.force(b)); }); }; }); }; var fieldLazy = function (dictField) { return new Data_Field.Field(function () { return euclideanRingLazy(dictField.EuclideanRing0()); }); }; var boundedLazy = function (dictBounded) { return new Data_Bounded.Bounded(function () { return ordLazy(dictBounded.Ord0()); }, $foreign.defer(function (v) { return Data_Bounded.bottom(dictBounded); }), $foreign.defer(function (v) { return Data_Bounded.top(dictBounded); })); }; var applyLazy = new Control_Apply.Apply(function () { return functorLazy; }, function (f) { return function (x) { return $foreign.defer(function (v) { return $foreign.force(f)($foreign.force(x)); }); }; }); var bindLazy = new Control_Bind.Bind(function () { return applyLazy; }, function (l) { return function (f) { return $foreign.defer(function (v) { return $foreign.force(f($foreign.force(l))); }); }; }); var heytingAlgebraLazy = function (dictHeytingAlgebra) { return new Data_HeytingAlgebra.HeytingAlgebra(function (a) { return function (b) { return Control_Apply.apply(applyLazy)(Data_Functor.map(functorLazy)(Data_HeytingAlgebra.conj(dictHeytingAlgebra))(a))(b); }; }, function (a) { return function (b) { return Control_Apply.apply(applyLazy)(Data_Functor.map(functorLazy)(Data_HeytingAlgebra.disj(dictHeytingAlgebra))(a))(b); }; }, $foreign.defer(function (v) { return Data_HeytingAlgebra.ff(dictHeytingAlgebra); }), function (a) { return function (b) { return Control_Apply.apply(applyLazy)(Data_Functor.map(functorLazy)(Data_HeytingAlgebra.implies(dictHeytingAlgebra))(a))(b); }; }, function (a) { return Data_Functor.map(functorLazy)(Data_HeytingAlgebra.not(dictHeytingAlgebra))(a); }, $foreign.defer(function (v) { return Data_HeytingAlgebra.tt(dictHeytingAlgebra); })); }; var booleanAlgebraLazy = function (dictBooleanAlgebra) { return new Data_BooleanAlgebra.BooleanAlgebra(function () { return heytingAlgebraLazy(dictBooleanAlgebra.HeytingAlgebra0()); }); }; var applicativeLazy = new Control_Applicative.Applicative(function () { return applyLazy; }, function (a) { return $foreign.defer(function (v) { return a; }); }); var monadLazy = new Control_Monad.Monad(function () { return applicativeLazy; }, function () { return bindLazy; }); exports["semiringLazy"] = semiringLazy; exports["ringLazy"] = ringLazy; exports["commutativeRingLazy"] = commutativeRingLazy; exports["euclideanRingLazy"] = euclideanRingLazy; exports["fieldLazy"] = fieldLazy; exports["eqLazy"] = eqLazy; exports["ordLazy"] = ordLazy; exports["boundedLazy"] = boundedLazy; exports["semigroupLazy"] = semigroupLazy; exports["monoidLazy"] = monoidLazy; exports["heytingAlgebraLazy"] = heytingAlgebraLazy; exports["booleanAlgebraLazy"] = booleanAlgebraLazy; exports["functorLazy"] = functorLazy; exports["invariantLazy"] = invariantLazy; exports["applyLazy"] = applyLazy; exports["applicativeLazy"] = applicativeLazy; exports["bindLazy"] = bindLazy; exports["monadLazy"] = monadLazy; exports["extendLazy"] = extendLazy; exports["comonadLazy"] = comonadLazy; exports["showLazy"] = showLazy; exports["lazyLazy"] = lazyLazy; exports["defer"] = $foreign.defer; exports["force"] = $foreign.force; })(PS["Data.Lazy"] = PS["Data.Lazy"] || {}); (function(exports) { // | The _cofree comonad_ for a `Functor`. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Free = PS["Control.Monad.Free"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_State = PS["Control.Monad.State"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_State_Trans = PS["Control.Monad.State.Trans"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Identity = PS["Data.Identity"]; var Data_Lazy = PS["Data.Lazy"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The `Cofree` `Comonad` for a functor. // | // | A value of type `Cofree f a` consists of an `f`-branching // | tree, annotated with labels of type `a`. // | // | The `Comonad` instance supports _redecoration_, recomputing // | labels from the local context. var Cofree = (function () { function Cofree(value0, value1) { this.value0 = value0; this.value1 = value1; }; Cofree.create = function (value0) { return function (value1) { return new Cofree(value0, value1); }; }; return Cofree; })(); var unfoldCofree = function (dictFunctor) { return function (e) { return function (n) { return function (s) { return new Cofree(e(s), Data_Lazy.defer(function (v) { return Data_Functor.map(dictFunctor)(unfoldCofree(dictFunctor)(e)(n))(n(s)); })); }; }; }; }; // | Returns the "subtrees" of a tree. var tail = function (v) { return Data_Lazy.force(v.value1); }; // | Create a value of type `Cofree f a` from a label and a // | functor-full of "subtrees". var mkCofree = function (a) { return function (t) { return new Cofree(a, Data_Lazy.defer(function (v) { return t; })); }; }; // | Returns the label for a tree. var head = function (v) { return v.value0; }; var hoistCofree = function (dictFunctor) { return function (nat) { return function (cf) { return mkCofree(head(cf))(nat(Data_Functor.map(dictFunctor)(hoistCofree(dictFunctor)(nat))(tail(cf)))); }; }; }; var foldableCofree = function (dictFoldable) { return new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { var go = function (fa) { return Data_Semigroup.append(dictMonoid.Semigroup0())(f(head(fa)))(Data_Foldable.foldMap(dictFoldable)(dictMonoid)(go)(tail(fa))); }; return go; }; }, function (f) { var go = function (b) { return function (fa) { return Data_Foldable.foldl(dictFoldable)(go)(f(b)(head(fa)))(tail(fa)); }; }; return go; }, function (f) { var go = function (fa) { return function (b) { return f(head(fa))(Data_Foldable.foldr(dictFoldable)(go)(b)(tail(fa))); }; }; return Data_Function.flip(go); }); }; var eqCofree = function (dictEq1) { return function (dictEq) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(dictEq)(head(x))(head(y)) && Data_Eq.eq1(dictEq1)(eqCofree(dictEq1)(dictEq))(tail(x))(tail(y)); }; }); }; }; var ordCofree = function (dictOrd1) { return function (dictOrd) { return new Data_Ord.Ord(function () { return eqCofree(dictOrd1.Eq10())(dictOrd.Eq0()); }, function (x) { return function (y) { var v = Data_Ord.compare(dictOrd)(head(x))(head(y)); if (v instanceof Data_Ordering.EQ) { return Data_Ord.compare1(dictOrd1)(ordCofree(dictOrd1)(dictOrd))(tail(x))(tail(y)); }; return v; }; }); }; }; var eq1Cofree = function (dictEq1) { return new Data_Eq.Eq1(function (dictEq) { return Data_Eq.eq(eqCofree(dictEq1)(dictEq)); }); }; var ord1Cofree = function (dictOrd1) { return new Data_Ord.Ord1(function () { return eq1Cofree(dictOrd1.Eq10()); }, function (dictOrd) { return Data_Ord.compare(ordCofree(dictOrd1)(dictOrd)); }); }; var _tail = function (v) { return v.value1; }; var _lift = function (dictFunctor) { return function ($53) { return Data_Functor.map(Data_Lazy.functorLazy)(Data_Functor.map(dictFunctor)($53)); }; }; var functorCofree = function (dictFunctor) { return new Data_Functor.Functor(function (f) { var loop = function (fa) { return new Cofree(f(head(fa)), _lift(dictFunctor)(loop)(_tail(fa))); }; return loop; }); }; var monadCofree = function (dictAlternative) { return new Control_Monad.Monad(function () { return applicativeCofree(dictAlternative); }, function () { return bindCofree(dictAlternative); }); }; var bindCofree = function (dictAlternative) { return new Control_Bind.Bind(function () { return applyCofree(dictAlternative); }, function (fa) { return function (f) { var loop = function (fa$prime) { var fh = f(head(fa$prime)); return mkCofree(head(fh))(Control_Alt.alt((dictAlternative.Plus1()).Alt0())(tail(fh))(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())(loop)(tail(fa$prime)))); }; return loop(fa); }; }); }; var applyCofree = function (dictAlternative) { return new Control_Apply.Apply(function () { return functorCofree(((dictAlternative.Plus1()).Alt0()).Functor0()); }, Control_Monad.ap(monadCofree(dictAlternative))); }; var applicativeCofree = function (dictAlternative) { return new Control_Applicative.Applicative(function () { return applyCofree(dictAlternative); }, function (a) { return mkCofree(a)(Control_Plus.empty(dictAlternative.Plus1())); }); }; var extendCofree = function (dictFunctor) { return new Control_Extend.Extend(function () { return functorCofree(dictFunctor); }, function (f) { var loop = function (fa) { return new Cofree(f(fa), _lift(dictFunctor)(loop)(_tail(fa))); }; return loop; }); }; var comonadCofree = function (dictFunctor) { return new Control_Comonad.Comonad(function () { return extendCofree(dictFunctor); }, head); }; // | Explore a value in the cofree comonad by using an expression in a // | corresponding free monad. // | // | The free monad should be built from a functor which pairs with the // | functor underlying the cofree comonad. var explore = function (dictFunctor) { return function (dictFunctor1) { return function (pair) { return function (m) { return function (w) { var step = function (ff) { return Control_Monad_State_Class.state(Control_Monad_State_Trans.monadStateStateT(Data_Identity.monadIdentity))(function (cof) { return pair(Data_Functor.map(dictFunctor)(Data_Tuple.Tuple.create)(ff))(tail(cof)); }); }; var v = Control_Monad_State.runState(Control_Monad_Free.runFreeM(dictFunctor)(Control_Monad_State_Trans.monadRecStateT(Control_Monad_Rec_Class.monadRecIdentity))(step)(m))(w); return v.value0(Control_Comonad.extract(comonadCofree(dictFunctor1))(v.value1)); }; }; }; }; }; var exploreM = function (dictFunctor) { return function (dictFunctor1) { return function (dictMonadRec) { return function (pair) { return function (m) { return function (w) { var step = function (ff) { return function (cof) { return pair(Data_Functor.map(dictFunctor)(Data_Tuple.Tuple.create)(ff))(tail(cof)); }; }; var $$eval = function (v) { return v.value0(Control_Comonad.extract(comonadCofree(dictFunctor1))(v.value1)); }; return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())($$eval)(Control_Monad_State_Trans.runStateT(Control_Monad_Free.runFreeM(dictFunctor)(Control_Monad_State_Trans.monadRecStateT(dictMonadRec))(step)(m))(w)); }; }; }; }; }; }; var traversableCofree = function (dictTraversable) { return new Data_Traversable.Traversable(function () { return foldableCofree(dictTraversable.Foldable1()); }, function () { return functorCofree(dictTraversable.Functor0()); }, function (dictApplicative) { return Data_Traversable.traverse(traversableCofree(dictTraversable))(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); }, function (dictApplicative) { return function (f) { var loop = function (ta) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(mkCofree)(f(head(ta))))(Data_Traversable.traverse(dictTraversable)(dictApplicative)(loop)(tail(ta))); }; return loop; }; }); }; exports["explore"] = explore; exports["exploreM"] = exploreM; exports["head"] = head; exports["hoistCofree"] = hoistCofree; exports["mkCofree"] = mkCofree; exports["tail"] = tail; exports["unfoldCofree"] = unfoldCofree; exports["eqCofree"] = eqCofree; exports["eq1Cofree"] = eq1Cofree; exports["ordCofree"] = ordCofree; exports["ord1Cofree"] = ord1Cofree; exports["functorCofree"] = functorCofree; exports["foldableCofree"] = foldableCofree; exports["traversableCofree"] = traversableCofree; exports["extendCofree"] = extendCofree; exports["comonadCofree"] = comonadCofree; exports["applyCofree"] = applyCofree; exports["applicativeCofree"] = applicativeCofree; exports["bindCofree"] = bindCofree; exports["monadCofree"] = monadCofree; })(PS["Control.Comonad.Cofree"] = PS["Control.Comonad.Cofree"] || {}); (function(exports) { // | This module defines the `ComonadTrans` type class of _comonad transformers_. "use strict"; var Control_Comonad = PS["Control.Comonad"]; // | The `ComonadTrans` type class represents _comonad transformers_. // | // | A comonad transformer is a type constructor of kind `(* -> *) -> * -> *`, which // | takes a `Comonad` as its first argument, and returns another `Comonad`. // | // | This allows us to extend a comonad to provide additional context. By iterating this // | process, we create comonad transformer _stacks_, which contain all of the contextual information // | required for a particular computation. // | // | The laws state that `lower` is a `Comonad` morphism. // | // | Laws: // | // | - `extract (lower a) = extract a` // | - `lower (extend w (f <<< lower)) = extend (lower w) f` var ComonadTrans = function (lower) { this.lower = lower; }; var lower = function (dict) { return dict.lower; }; exports["ComonadTrans"] = ComonadTrans; exports["lower"] = lower; })(PS["Control.Comonad.Trans.Class"] = PS["Control.Comonad.Trans.Class"] || {}); (function(exports) { // | This module defines the environment comonad transformer, `EnvT`. "use strict"; var Control_Comonad = PS["Control.Comonad"]; var Control_Comonad_Trans_Class = PS["Control.Comonad.Trans.Class"]; var Control_Extend = PS["Control.Extend"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The environment comonad transformer. // | // | This comonad transformer extends the context of a value in the base comonad with a _global environment_ of // | type `e`. // | // | The `ComonadEnv` type class describes the operations supported by this comonad. var EnvT = function (x) { return x; }; // | Change the environment type in an `EnvT` context. var withEnvT = function (f) { return function (v) { return EnvT(new Data_Tuple.Tuple(f(v.value0), v.value1)); }; }; // | Unwrap a value in the `EnvT` comonad. var runEnvT = function (v) { return v; }; var newtypeEnvT = new Data_Newtype.Newtype(function (n) { return n; }, EnvT); // | Change the underlying comonad and data type in an `EnvT` context. var mapEnvT = function (f) { return function (v) { return EnvT(new Data_Tuple.Tuple(v.value0, f(v.value1))); }; }; var functorEnvT = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return EnvT(new Data_Tuple.Tuple(v.value0, Data_Functor.map(dictFunctor)(f)(v.value1))); }; }); }; var extendEnvT = function (dictExtend) { return new Control_Extend.Extend(function () { return functorEnvT(dictExtend.Functor0()); }, function (f) { return function (v) { return EnvT(new Data_Tuple.Tuple(v.value0, Data_Functor.map(dictExtend.Functor0())(f)(Control_Extend.extend(dictExtend)(function ($37) { return EnvT(Data_Tuple.Tuple.create(v.value0)($37)); })(v.value1)))); }; }); }; var comonadTransEnvT = new Control_Comonad_Trans_Class.ComonadTrans(function (dictComonad) { return function (v) { return v.value1; }; }); var comonadEnvT = function (dictComonad) { return new Control_Comonad.Comonad(function () { return extendEnvT(dictComonad.Extend0()); }, function (v) { return Control_Comonad.extract(dictComonad)(v.value1); }); }; exports["EnvT"] = EnvT; exports["mapEnvT"] = mapEnvT; exports["runEnvT"] = runEnvT; exports["withEnvT"] = withEnvT; exports["newtypeEnvT"] = newtypeEnvT; exports["functorEnvT"] = functorEnvT; exports["extendEnvT"] = extendEnvT; exports["comonadEnvT"] = comonadEnvT; exports["comonadTransEnvT"] = comonadTransEnvT; })(PS["Control.Comonad.Env.Trans"] = PS["Control.Comonad.Env.Trans"] || {}); (function(exports) { // | This module defines the `ComonadEnv` type class and its instances. "use strict"; var Control_Comonad = PS["Control.Comonad"]; var Control_Comonad_Env_Trans = PS["Control.Comonad.Env.Trans"]; var Data_Tuple = PS["Data.Tuple"]; // | The `ComonadEnv` type class represents those comonads which support a // | global environment that can be provided via the `ask` function. // | // | An implementation is provided for `EnvT`. var ComonadAsk = function (Comonad0, ask) { this.Comonad0 = Comonad0; this.ask = ask; }; // | The `ComonadEnv` type class extends `ComonadAsk` with a function // | `local f x` that allows the value of the local context to be modified for // | the duration of the execution of action `x`. // | // | An implementation is provided for `EnvT`. // | // | Laws: // | // | - `ask (local f x) = f (ask x)` // | - `extract (local _ x) = extract a` // | - `extend g (local f x) = extend (g <<< local f) x` var ComonadEnv = function (ComonadAsk0, local) { this.ComonadAsk0 = ComonadAsk0; this.local = local; }; var local = function (dict) { return dict.local; }; var comonadAskTuple = new ComonadAsk(function () { return Data_Tuple.comonadTuple; }, Data_Tuple.fst); var comonadEnvTuple = new ComonadEnv(function () { return comonadAskTuple; }, function (f) { return function (v) { return new Data_Tuple.Tuple(f(v.value0), v.value1); }; }); var comonadAskEnvT = function (dictComonad) { return new ComonadAsk(function () { return Control_Comonad_Env_Trans.comonadEnvT(dictComonad); }, function (v) { return Data_Tuple.fst(v); }); }; var comonadEnvEnvT = function (dictComonad) { return new ComonadEnv(function () { return comonadAskEnvT(dictComonad); }, function (f) { return function (v) { return new Data_Tuple.Tuple(f(v.value0), v.value1); }; }); }; var ask = function (dict) { return dict.ask; }; // | Get a value which depends on the environment. var asks = function (dictComonadEnv) { return function (f) { return function (x) { return f(ask(dictComonadEnv.ComonadAsk0())(x)); }; }; }; exports["ComonadAsk"] = ComonadAsk; exports["ComonadEnv"] = ComonadEnv; exports["ask"] = ask; exports["asks"] = asks; exports["local"] = local; exports["comonadAskTuple"] = comonadAskTuple; exports["comonadEnvTuple"] = comonadEnvTuple; exports["comonadAskEnvT"] = comonadAskEnvT; exports["comonadEnvEnvT"] = comonadEnvEnvT; })(PS["Control.Comonad.Env.Class"] = PS["Control.Comonad.Env.Class"] || {}); (function(exports) { // | This module defines the `Env` comonad. "use strict"; var Control_Comonad_Env_Class = PS["Control.Comonad.Env.Class"]; var Control_Comonad_Env_Trans = PS["Control.Comonad.Env.Trans"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Change the environment type in an `Env` computation. var withEnv = Control_Comonad_Env_Trans.withEnvT; // | Unwrap a value in the `Env` comonad. var runEnv = function (v) { return Data_Functor.map(Data_Tuple.functorTuple)(Data_Newtype.unwrap(Data_Identity.newtypeIdentity))(v); }; // | Change the data type in an `Env` computation. var mapEnv = Data_Functor.map(Control_Comonad_Env_Trans.functorEnvT(Data_Identity.functorIdentity)); // | Create a value in context in the `Env` comonad. var env = function (e) { return function (a) { return Control_Comonad_Env_Trans.EnvT(Data_Tuple.Tuple.create(e)(a)); }; }; exports["env"] = env; exports["mapEnv"] = mapEnv; exports["runEnv"] = runEnv; exports["withEnv"] = withEnv; })(PS["Control.Comonad.Env"] = PS["Control.Comonad.Env"] || {}); (function(exports) { // | This module defines the store comonad transformer, `StoreT`. "use strict"; var Control_Comonad = PS["Control.Comonad"]; var Control_Comonad_Trans_Class = PS["Control.Comonad.Trans.Class"]; var Control_Extend = PS["Control.Extend"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The store comonad transformer. // | // | This comonad transformer extends the context of a value in the base comonad so that the value // | depends on a position of type `s`. // | // | The `ComonadStore` type class describes the operations supported by this comonad. var StoreT = function (x) { return x; }; // | Unwrap a value in the `StoreT` comonad. var runStoreT = function (v) { return v; }; var newtypeStoreT = new Data_Newtype.Newtype(function (n) { return n; }, StoreT); var functorStoreT = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return StoreT(new Data_Tuple.Tuple(Data_Functor.map(dictFunctor)(function (h) { return function ($28) { return f(h($28)); }; })(v.value0), v.value1)); }; }); }; var extendStoreT = function (dictExtend) { return new Control_Extend.Extend(function () { return functorStoreT(dictExtend.Functor0()); }, function (f) { return function (v) { return StoreT(new Data_Tuple.Tuple(Control_Extend.extend(dictExtend)(function (w$prime) { return function (s$prime) { return f(StoreT(new Data_Tuple.Tuple(w$prime, s$prime))); }; })(v.value0), v.value1)); }; }); }; var comonadTransStoreT = new Control_Comonad_Trans_Class.ComonadTrans(function (dictComonad) { return function (v) { return Data_Functor.map((dictComonad.Extend0()).Functor0())(function (v1) { return v1(v.value1); })(v.value0); }; }); var comonadStoreT = function (dictComonad) { return new Control_Comonad.Comonad(function () { return extendStoreT(dictComonad.Extend0()); }, function (v) { return Control_Comonad.extract(dictComonad)(v.value0)(v.value1); }); }; exports["StoreT"] = StoreT; exports["runStoreT"] = runStoreT; exports["newtypeStoreT"] = newtypeStoreT; exports["functorStoreT"] = functorStoreT; exports["extendStoreT"] = extendStoreT; exports["comonadStoreT"] = comonadStoreT; exports["comonadTransStoreT"] = comonadTransStoreT; })(PS["Control.Comonad.Store.Trans"] = PS["Control.Comonad.Store.Trans"] || {}); (function(exports) { // | This module defines the `ComonadStore` type class and its instances. "use strict"; var Control_Comonad = PS["Control.Comonad"]; var Control_Comonad_Store_Trans = PS["Control.Comonad.Store.Trans"]; var Control_Extend = PS["Control.Extend"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The `ComonadStore` type class represents those monads which support local position information via // | `pos` and `peek`. // | // | - `pos` reads the current position. // | - `peek` reads the value at the specified position in the specified context. // | // | An implementation is provided for `StoreT`. // | // | Laws: // | // | - `pos (extend _ x) = pos x` // | - `peek (pos x) x = extract x` // | // | For example: // | // | ```purescript // | blur :: forall w. (ComonadStore Number w) -> w Number -> w Number // | blur = extend \r -> (peeks (\n -> n - 1) r + peeks (\n -> n + 1) r) / 2) // | ``` var ComonadStore = function (Comonad0, peek, pos) { this.Comonad0 = Comonad0; this.peek = peek; this.pos = pos; }; var pos = function (dict) { return dict.pos; }; var peek = function (dict) { return dict.peek; }; // | Extract a value from a position which depends on the current position. var peeks = function (dictComonadStore) { return function (f) { return function (x) { return peek(dictComonadStore)(f(pos(dictComonadStore)(x)))(x); }; }; }; // | Reposition the focus at the specified position, which depends on the current position. var seeks = function (dictComonadStore) { return function (f) { return function ($15) { return peeks(dictComonadStore)(f)(Control_Extend.duplicate((dictComonadStore.Comonad0()).Extend0())($15)); }; }; }; // | Reposition the focus at the specified position. var seek = function (dictComonadStore) { return function (s) { return function ($16) { return peek(dictComonadStore)(s)(Control_Extend.duplicate((dictComonadStore.Comonad0()).Extend0())($16)); }; }; }; // | Extract a collection of values from positions which depend on the current position. var experiment = function (dictComonadStore) { return function (dictFunctor) { return function (f) { return function (x) { return Data_Functor.map(dictFunctor)(Data_Function.flip(peek(dictComonadStore))(x))(f(pos(dictComonadStore)(x))); }; }; }; }; var comonadStoreStoreT = function (dictComonad) { return new ComonadStore(function () { return Control_Comonad_Store_Trans.comonadStoreT(dictComonad); }, function (s) { return function (v) { return Control_Comonad.extract(dictComonad)(v.value0)(s); }; }, function (v) { return v.value1; }); }; exports["ComonadStore"] = ComonadStore; exports["experiment"] = experiment; exports["peek"] = peek; exports["peeks"] = peeks; exports["pos"] = pos; exports["seek"] = seek; exports["seeks"] = seeks; exports["comonadStoreStoreT"] = comonadStoreStoreT; })(PS["Control.Comonad.Store.Class"] = PS["Control.Comonad.Store.Class"] || {}); (function(exports) { // | This module defines the `Store` comonad. "use strict"; var Control_Comonad_Store_Class = PS["Control.Comonad.Store.Class"]; var Control_Comonad_Store_Trans = PS["Control.Comonad.Store.Trans"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Create a value in context in the `Store` comonad. var store = function (f) { return function (x) { return Control_Comonad_Store_Trans.StoreT(new Data_Tuple.Tuple(f, x)); }; }; // | Unwrap a value in the `Store` comonad. var runStore = function (v) { return Data_Tuple.swap(Data_Functor.map(Data_Tuple.functorTuple)(Data_Newtype.unwrap(Data_Identity.newtypeIdentity))(Data_Tuple.swap(v))); }; exports["runStore"] = runStore; exports["store"] = store; })(PS["Control.Comonad.Store"] = PS["Control.Comonad.Store"] || {}); (function(exports) { // | This module defines the cowriter comonad transformer, `TracedT`. "use strict"; var Control_Comonad = PS["Control.Comonad"]; var Control_Comonad_Trans_Class = PS["Control.Comonad.Trans.Class"]; var Control_Extend = PS["Control.Extend"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Semigroup = PS["Data.Semigroup"]; var Prelude = PS["Prelude"]; // | The cowriter comonad transformer. // | // | This comonad transformer extends the context of a value in the base comonad so that the value // | depends on a monoidal position of type `t`. // | // | The `ComonadTraced` type class describes the operations supported by this comonad. var TracedT = function (x) { return x; }; // | Unwrap a value in the `TracedT` comonad. var runTracedT = function (v) { return v; }; var newtypeTracedT = new Data_Newtype.Newtype(function (n) { return n; }, TracedT); var functorTracedT = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Functor.map(dictFunctor)(function (g) { return function (t) { return f(g(t)); }; })(v); }; }); }; var extendTracedT = function (dictExtend) { return function (dictSemigroup) { return new Control_Extend.Extend(function () { return functorTracedT(dictExtend.Functor0()); }, function (f) { return function (v) { return Control_Extend.extend(dictExtend)(function (w$prime) { return function (t) { return f(Data_Functor.map(dictExtend.Functor0())(function (h) { return function (t$prime) { return h(Data_Semigroup.append(dictSemigroup)(t)(t$prime)); }; })(w$prime)); }; })(v); }; }); }; }; var comonadTransTracedT = function (dictMonoid) { return new Control_Comonad_Trans_Class.ComonadTrans(function (dictComonad) { return function (v) { return Data_Functor.map((dictComonad.Extend0()).Functor0())(function (f) { return f(Data_Monoid.mempty(dictMonoid)); })(v); }; }); }; var comonadTracedT = function (dictComonad) { return function (dictMonoid) { return new Control_Comonad.Comonad(function () { return extendTracedT(dictComonad.Extend0())(dictMonoid.Semigroup0()); }, function (v) { return Control_Comonad.extract(dictComonad)(v)(Data_Monoid.mempty(dictMonoid)); }); }; }; exports["TracedT"] = TracedT; exports["runTracedT"] = runTracedT; exports["newtypeTracedT"] = newtypeTracedT; exports["functorTracedT"] = functorTracedT; exports["extendTracedT"] = extendTracedT; exports["comonadTracedT"] = comonadTracedT; exports["comonadTransTracedT"] = comonadTransTracedT; })(PS["Control.Comonad.Traced.Trans"] = PS["Control.Comonad.Traced.Trans"] || {}); (function(exports) { // | This module defines the `ComonadTraced` type class and its instances. "use strict"; var Control_Comonad = PS["Control.Comonad"]; var Control_Comonad_Traced_Trans = PS["Control.Comonad.Traced.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The `ComonadTraced` type class represents those monads which support relative (monoidal) // | position information via `track`. // | // | - `track` extracts a value at the specified relative position. // | // | An implementation is provided for `TracedT`. // | // | Laws: // | // | - `track mempty = extract` // | - `track s <<= track t x = track (s <> t) x` // | // | For example: // | // | ```purescript // | blur :: forall w. (ComonadTraced (Additive Number) w) -> w Number -> w Number // | blur = extend \r -> (track (Additive (-1)) r + track (Additive 1) r) / 2 // | ``` var ComonadTraced = function (Comonad0, track) { this.Comonad0 = Comonad0; this.track = track; }; var track = function (dict) { return dict.track; }; // | Extracts a value at a relative position which depends on the current value. var tracks = function (dictComonadTraced) { return function (f) { return function (w) { return track(dictComonadTraced)(f(Control_Comonad.extract(dictComonadTraced.Comonad0())(w)))(w); }; }; }; // | Get a value which depends on the current position. var listens = function (dictFunctor) { return function (f) { return function (v) { return Data_Functor.map(dictFunctor)(function (g) { return function (t) { return new Data_Tuple.Tuple(g(t), f(t)); }; })(v); }; }; }; // | Get the current position. var listen = function (dictFunctor) { return function (v) { return Data_Functor.map(dictFunctor)(function (f) { return function (t) { return new Data_Tuple.Tuple(f(t), t); }; })(v); }; }; var comonadTracedTracedT = function (dictComonad) { return function (dictMonoid) { return new ComonadTraced(function () { return Control_Comonad_Traced_Trans.comonadTracedT(dictComonad)(dictMonoid); }, function (t) { return function (v) { return Control_Comonad.extract(dictComonad)(v)(t); }; }); }; }; // | Apply a function to the current position. var censor = function (dictFunctor) { return function (f) { return function (v) { return Data_Functor.map(dictFunctor)(function (v1) { return function ($18) { return v1(f($18)); }; })(v); }; }; }; exports["ComonadTraced"] = ComonadTraced; exports["censor"] = censor; exports["listen"] = listen; exports["listens"] = listens; exports["track"] = track; exports["tracks"] = tracks; exports["comonadTracedTracedT"] = comonadTracedTracedT; })(PS["Control.Comonad.Traced.Class"] = PS["Control.Comonad.Traced.Class"] || {}); (function(exports) { // | This module defines the `Traced` comonad. "use strict"; var Control_Comonad_Traced_Class = PS["Control.Comonad.Traced.Class"]; var Control_Comonad_Traced_Trans = PS["Control.Comonad.Traced.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Prelude = PS["Prelude"]; // | Create a value in context in the `Traced` comonad. var traced = function ($2) { return Control_Comonad_Traced_Trans.TracedT(Data_Identity.Identity($2)); }; // | Unwrap a value in the `Traced` comonad. var runTraced = function (v) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(v); }; exports["runTraced"] = runTraced; exports["traced"] = traced; })(PS["Control.Comonad.Traced"] = PS["Control.Comonad.Traced"] || {}); (function(exports) { // | This module defines the _exception monad transformer_ `ExceptT`. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | A monad transformer which adds exceptions to other monads, in the same way // | as `Except`. As before, `e` is the type of exceptions, and `a` is the type // | of successful results. The new type parameter `m` is the inner monad that // | computations run in. var ExceptT = function (x) { return x; }; // | Transform any exceptions thrown by an `ExceptT` computation using the given function. var withExceptT = function (dictFunctor) { return function (f) { return function (v) { var mapLeft = function (v1) { return function (v2) { if (v2 instanceof Data_Either.Right) { return new Data_Either.Right(v2.value0); }; if (v2 instanceof Data_Either.Left) { return new Data_Either.Left(v1(v2.value0)); }; throw new Error("Failed pattern match at Control.Monad.Except.Trans line 44, column 3 - line 44, column 32: " + [ v1.constructor.name, v2.constructor.name ]); }; }; return ExceptT(Data_Functor.map(dictFunctor)(mapLeft(f))(v)); }; }; }; // | The inverse of `ExceptT`. Run a computation in the `ExceptT` monad. var runExceptT = function (v) { return v; }; var newtypeExceptT = new Data_Newtype.Newtype(function (n) { return n; }, ExceptT); var monadTransExceptT = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return function (m) { return Control_Bind.bind(dictMonad.Bind1())(m)(function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(v)); }); }; }); // | Transform the unwrapped computation using the given function. var mapExceptT = function (f) { return function (v) { return f(v); }; }; var functorExceptT = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f))); }); }; // | Construct a computation in the `ExceptT` transformer from an `Either` value. var except = function (dictApplicative) { return function ($96) { return ExceptT(Control_Applicative.pure(dictApplicative)($96)); }; }; var monadExceptT = function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeExceptT(dictMonad); }, function () { return bindExceptT(dictMonad); }); }; var bindExceptT = function (dictMonad) { return new Control_Bind.Bind(function () { return applyExceptT(dictMonad); }, function (v) { return function (k) { return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97)); })(function (a) { var v1 = k(a); return v1; })); }; }); }; var applyExceptT = function (dictMonad) { return new Control_Apply.Apply(function () { return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0()); }, Control_Monad.ap(monadExceptT(dictMonad))); }; var applicativeExceptT = function (dictMonad) { return new Control_Applicative.Applicative(function () { return applyExceptT(dictMonad); }, function ($98) { return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98))); }); }; var monadAskExceptT = function (dictMonadAsk) { return new Control_Monad_Reader_Class.MonadAsk(function () { return monadExceptT(dictMonadAsk.Monad0()); }, Control_Monad_Trans_Class.lift(monadTransExceptT)(dictMonadAsk.Monad0())(Control_Monad_Reader_Class.ask(dictMonadAsk))); }; var monadReaderExceptT = function (dictMonadReader) { return new Control_Monad_Reader_Class.MonadReader(function () { return monadAskExceptT(dictMonadReader.MonadAsk0()); }, function (f) { return mapExceptT(Control_Monad_Reader_Class.local(dictMonadReader)(f)); }); }; var monadContExceptT = function (dictMonadCont) { return new Control_Monad_Cont_Class.MonadCont(function () { return monadExceptT(dictMonadCont.Monad0()); }, function (f) { return ExceptT(Control_Monad_Cont_Class.callCC(dictMonadCont)(function (c) { var v = f(function (a) { return ExceptT(c(new Data_Either.Right(a))); }); return v; })); }); }; var monadEffExceptT = function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadExceptT(dictMonadEff.Monad0()); }, function ($99) { return Control_Monad_Trans_Class.lift(monadTransExceptT)(dictMonadEff.Monad0())(Control_Monad_Eff_Class.liftEff(dictMonadEff)($99)); }); }; var monadRecExceptT = function (dictMonadRec) { return new Control_Monad_Rec_Class.MonadRec(function () { return monadExceptT(dictMonadRec.Monad0()); }, function (f) { return function ($100) { return ExceptT(Control_Monad_Rec_Class.tailRecM(dictMonadRec)(function (a) { return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())((function () { var v = f(a); return v; })())(function (m$prime) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())((function () { if (m$prime instanceof Data_Either.Left) { return new Control_Monad_Rec_Class.Done(new Data_Either.Left(m$prime.value0)); }; if (m$prime instanceof Data_Either.Right && m$prime.value0 instanceof Control_Monad_Rec_Class.Loop) { return new Control_Monad_Rec_Class.Loop(m$prime.value0.value0); }; if (m$prime instanceof Data_Either.Right && m$prime.value0 instanceof Control_Monad_Rec_Class.Done) { return new Control_Monad_Rec_Class.Done(new Data_Either.Right(m$prime.value0.value0)); }; throw new Error("Failed pattern match at Control.Monad.Except.Trans line 76, column 14 - line 79, column 43: " + [ m$prime.constructor.name ]); })()); }); })($100)); }; }); }; var monadStateExceptT = function (dictMonadState) { return new Control_Monad_State_Class.MonadState(function () { return monadExceptT(dictMonadState.Monad0()); }, function (f) { return Control_Monad_Trans_Class.lift(monadTransExceptT)(dictMonadState.Monad0())(Control_Monad_State_Class.state(dictMonadState)(f)); }); }; var monadTellExceptT = function (dictMonadTell) { return new Control_Monad_Writer_Class.MonadTell(function () { return monadExceptT(dictMonadTell.Monad0()); }, function ($101) { return Control_Monad_Trans_Class.lift(monadTransExceptT)(dictMonadTell.Monad0())(Control_Monad_Writer_Class.tell(dictMonadTell)($101)); }); }; var monadWriterExceptT = function (dictMonadWriter) { return new Control_Monad_Writer_Class.MonadWriter(function () { return monadTellExceptT(dictMonadWriter.MonadTell0()); }, mapExceptT(function (m) { return Control_Bind.bind(((dictMonadWriter.MonadTell0()).Monad0()).Bind1())(Control_Monad_Writer_Class.listen(dictMonadWriter)(m))(function (v) { return Control_Applicative.pure(((dictMonadWriter.MonadTell0()).Monad0()).Applicative0())(Data_Functor.map(Data_Either.functorEither)(function (r) { return new Data_Tuple.Tuple(r, v.value1); })(v.value0)); }); }), mapExceptT(function (m) { return Control_Monad_Writer_Class.pass(dictMonadWriter)(Control_Bind.bind(((dictMonadWriter.MonadTell0()).Monad0()).Bind1())(m)(function (v) { return Control_Applicative.pure(((dictMonadWriter.MonadTell0()).Monad0()).Applicative0())((function () { if (v instanceof Data_Either.Left) { return new Data_Tuple.Tuple(new Data_Either.Left(v.value0), Control_Category.id(Control_Category.categoryFn)); }; if (v instanceof Data_Either.Right) { return new Data_Tuple.Tuple(new Data_Either.Right(v.value0.value0), v.value0.value1); }; throw new Error("Failed pattern match at Control.Monad.Except.Trans line 138, column 10 - line 140, column 44: " + [ v.constructor.name ]); })()); })); })); }; var monadThrowExceptT = function (dictMonad) { return new Control_Monad_Error_Class.MonadThrow(function () { return monadExceptT(dictMonad); }, function ($102) { return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102))); }); }; var monadErrorExceptT = function (dictMonad) { return new Control_Monad_Error_Class.MonadError(function () { return monadThrowExceptT(dictMonad); }, function (v) { return function (k) { return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function (a) { var v1 = k(a); return v1; })(function ($103) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($103)); })); }; }); }; var altExceptT = function (dictSemigroup) { return function (dictMonad) { return new Control_Alt.Alt(function () { return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0()); }, function (v) { return function (v1) { return Control_Bind.bind(dictMonad.Bind1())(v)(function (v2) { if (v2 instanceof Data_Either.Right) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(v2.value0)); }; if (v2 instanceof Data_Either.Left) { return Control_Bind.bind(dictMonad.Bind1())(v1)(function (v3) { if (v3 instanceof Data_Either.Right) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(v3.value0)); }; if (v3 instanceof Data_Either.Left) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(Data_Semigroup.append(dictSemigroup)(v2.value0)(v3.value0))); }; throw new Error("Failed pattern match at Control.Monad.Except.Trans line 88, column 9 - line 90, column 49: " + [ v3.constructor.name ]); }); }; throw new Error("Failed pattern match at Control.Monad.Except.Trans line 84, column 5 - line 90, column 49: " + [ v2.constructor.name ]); }); }; }); }; }; var plusExceptT = function (dictMonoid) { return function (dictMonad) { return new Control_Plus.Plus(function () { return altExceptT(dictMonoid.Semigroup0())(dictMonad); }, Control_Monad_Error_Class.throwError(monadThrowExceptT(dictMonad))(Data_Monoid.mempty(dictMonoid))); }; }; var alternativeExceptT = function (dictMonoid) { return function (dictMonad) { return new Control_Alternative.Alternative(function () { return applicativeExceptT(dictMonad); }, function () { return plusExceptT(dictMonoid)(dictMonad); }); }; }; var monadZeroExceptT = function (dictMonoid) { return function (dictMonad) { return new Control_MonadZero.MonadZero(function () { return alternativeExceptT(dictMonoid)(dictMonad); }, function () { return monadExceptT(dictMonad); }); }; }; var monadPlusExceptT = function (dictMonoid) { return function (dictMonad) { return new Control_MonadPlus.MonadPlus(function () { return monadZeroExceptT(dictMonoid)(dictMonad); }); }; }; exports["ExceptT"] = ExceptT; exports["except"] = except; exports["mapExceptT"] = mapExceptT; exports["runExceptT"] = runExceptT; exports["withExceptT"] = withExceptT; exports["newtypeExceptT"] = newtypeExceptT; exports["functorExceptT"] = functorExceptT; exports["applyExceptT"] = applyExceptT; exports["applicativeExceptT"] = applicativeExceptT; exports["bindExceptT"] = bindExceptT; exports["monadExceptT"] = monadExceptT; exports["monadRecExceptT"] = monadRecExceptT; exports["altExceptT"] = altExceptT; exports["plusExceptT"] = plusExceptT; exports["alternativeExceptT"] = alternativeExceptT; exports["monadPlusExceptT"] = monadPlusExceptT; exports["monadZeroExceptT"] = monadZeroExceptT; exports["monadTransExceptT"] = monadTransExceptT; exports["monadEffExceptT"] = monadEffExceptT; exports["monadContExceptT"] = monadContExceptT; exports["monadThrowExceptT"] = monadThrowExceptT; exports["monadErrorExceptT"] = monadErrorExceptT; exports["monadAskExceptT"] = monadAskExceptT; exports["monadReaderExceptT"] = monadReaderExceptT; exports["monadStateExceptT"] = monadStateExceptT; exports["monadTellExceptT"] = monadTellExceptT; exports["monadWriterExceptT"] = monadWriterExceptT; })(PS["Control.Monad.Except.Trans"] = PS["Control.Monad.Except.Trans"] || {}); (function(exports) { "use strict"; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Prelude = PS["Prelude"]; // | Transform any exceptions thrown by an `Except` computation using the given function. var withExcept = Control_Monad_Except_Trans.withExceptT(Data_Identity.functorIdentity); // | Run a computation in the `Except` monad. The inverse of `except`. var runExcept = function ($0) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0)); }; // | Transform the unwrapped computation using the given function. var mapExcept = function (f) { return Control_Monad_Except_Trans.mapExceptT(function ($1) { return Data_Identity.Identity(f(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($1))); }); }; exports["mapExcept"] = mapExcept; exports["runExcept"] = runExcept; exports["withExcept"] = withExcept; })(PS["Control.Monad.Except"] = PS["Control.Monad.Except"] || {}); (function(exports) { // | This module defines a stack-safe implementation of the _free monad transformer_. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Either = PS["Data.Either"]; var Data_Exists = PS["Data.Exists"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | Instead of implementing `bind` directly, we capture the bind using this data structure, to // | evaluate later. var Bound = (function () { function Bound(value0, value1) { this.value0 = value0; this.value1 = value1; }; Bound.create = function (value0) { return function (value1) { return new Bound(value0, value1); }; }; return Bound; })(); // | The free monad transformer for the functor `f`. var FreeT = (function () { function FreeT(value0) { this.value0 = value0; }; FreeT.create = function (value0) { return new FreeT(value0); }; return FreeT; })(); // | The free monad transformer for the functor `f`. var Bind = (function () { function Bind(value0) { this.value0 = value0; }; Bind.create = function (value0) { return new Bind(value0); }; return Bind; })(); var monadTransFreeT = function (dictFunctor) { return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return function (ma) { return new FreeT(function (v) { return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma); }); }; }); }; // | Construct a computation of type `FreeT`. var freeT = FreeT.create; // | Capture a `bind` operation for the `FreeT` monad. var bound = function (m) { return function (f) { return new Bind(Data_Exists.mkExists(new Bound(m, f))); }; }; var functorFreeT = function (dictFunctor) { return function (dictFunctor1) { return new Data_Functor.Functor(function (f) { return function (v) { if (v instanceof FreeT) { return new FreeT(function (v1) { return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit)); }); }; if (v instanceof Bind) { return Data_Exists.runExists(function (v1) { return bound(v1.value0)(function ($104) { return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104)); }); })(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Free.Trans line 58, column 1 - line 58, column 71: " + [ f.constructor.name, v.constructor.name ]); }; }); }; }; // | Change the base functor `f` and the underlying `Monad` for a `FreeT` action. var bimapFreeT = function (dictFunctor) { return function (dictFunctor1) { return function (nf) { return function (nm) { return function (v) { if (v instanceof Bind) { return Data_Exists.runExists(function (v1) { return bound(function ($105) { return bimapFreeT(dictFunctor)(dictFunctor1)(nf)(nm)(v1.value0($105)); })(function ($106) { return bimapFreeT(dictFunctor)(dictFunctor1)(nf)(nm)(v1.value1($106)); }); })(v.value0); }; if (v instanceof FreeT) { return new FreeT(function (v1) { return Data_Functor.map(dictFunctor1)(Data_Functor.map(Data_Either.functorEither)(function ($107) { return nf(Data_Functor.map(dictFunctor)(bimapFreeT(dictFunctor)(dictFunctor1)(nf)(nm))($107)); }))(nm(v.value0(Data_Unit.unit))); }); }; throw new Error("Failed pattern match at Control.Monad.Free.Trans line 119, column 1 - line 119, column 109: " + [ nf.constructor.name, nm.constructor.name, v.constructor.name ]); }; }; }; }; }; // | Change the underlying `Monad` for a `FreeT` action. var hoistFreeT = function (dictFunctor) { return function (dictFunctor1) { return bimapFreeT(dictFunctor)(dictFunctor1)(Control_Category.id(Control_Category.categoryFn)); }; }; // | Change the base functor `f` for a `FreeT` action. var interpret = function (dictFunctor) { return function (dictFunctor1) { return function (nf) { return bimapFreeT(dictFunctor)(dictFunctor1)(nf)(Control_Category.id(Control_Category.categoryFn)); }; }; }; var monadFreeT = function (dictFunctor) { return function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeFreeT(dictFunctor)(dictMonad); }, function () { return bindFreeT(dictFunctor)(dictMonad); }); }; }; var bindFreeT = function (dictFunctor) { return function (dictMonad) { return new Control_Bind.Bind(function () { return applyFreeT(dictFunctor)(dictMonad); }, function (v) { return function (f) { if (v instanceof Bind) { return Data_Exists.runExists(function (v1) { return bound(v1.value0)(function (x) { return bound(function (v2) { return v1.value1(x); })(f); }); })(v.value0); }; return bound(function (v1) { return v; })(f); }; }); }; }; var applyFreeT = function (dictFunctor) { return function (dictMonad) { return new Control_Apply.Apply(function () { return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()); }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad))); }; }; var applicativeFreeT = function (dictFunctor) { return function (dictMonad) { return new Control_Applicative.Applicative(function () { return applyFreeT(dictFunctor)(dictMonad); }, function (a) { return new FreeT(function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a)); }); }); }; }; // | Lift an action from the functor `f` to a `FreeT` action. var liftFreeT = function (dictFunctor) { return function (dictMonad) { return function (fa) { return new FreeT(function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa))); }); }; }; }; // | Unpack `FreeT`, exposing the first step of the computation. var resume = function (dictFunctor) { return function (dictMonadRec) { var go = function (v) { if (v instanceof FreeT) { return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit)); }; if (v instanceof Bind) { return Data_Exists.runExists(function (v1) { var v2 = v1.value0(Data_Unit.unit); if (v2 instanceof FreeT) { return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) { if (v3 instanceof Data_Either.Left) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0))); }; if (v3 instanceof Data_Either.Right) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) { return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1); })(v3.value0)))); }; throw new Error("Failed pattern match at Control.Monad.Free.Trans line 53, column 20 - line 55, column 67: " + [ v3.constructor.name ]); }); }; if (v2 instanceof Bind) { return Data_Exists.runExists(function (v3) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) { return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1); }))); })(v2.value0); }; throw new Error("Failed pattern match at Control.Monad.Free.Trans line 51, column 5 - line 56, column 98: " + [ v2.constructor.name ]); })(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Free.Trans line 48, column 3 - line 48, column 75: " + [ v.constructor.name ]); }; return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go); }; }; // | Run a `FreeT` computation to completion. var runFreeT = function (dictFunctor) { return function (dictMonadRec) { return function (interp) { var go = function (v) { if (v instanceof Data_Either.Left) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0)); }; if (v instanceof Data_Either.Right) { return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0)); }; throw new Error("Failed pattern match at Control.Monad.Free.Trans line 127, column 3 - line 127, column 63: " + [ v.constructor.name ]); }; return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec))); }; }; }; var semigroupFreeT = function (dictFunctor) { return function (dictMonad) { return function (dictSemigroup) { return new Data_Semigroup.Semigroup(Control_Apply.lift2(applyFreeT(dictFunctor)(dictMonad))(Data_Semigroup.append(dictSemigroup))); }; }; }; var monadAskFreeT = function (dictFunctor) { return function (dictMonadAsk) { return new Control_Monad_Reader_Class.MonadAsk(function () { return monadFreeT(dictFunctor)(dictMonadAsk.Monad0()); }, Control_Monad_Trans_Class.lift(monadTransFreeT(dictFunctor))(dictMonadAsk.Monad0())(Control_Monad_Reader_Class.ask(dictMonadAsk))); }; }; var monadEffFreeT = function (dictFunctor) { return function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadFreeT(dictFunctor)(dictMonadEff.Monad0()); }, function ($108) { return Control_Monad_Trans_Class.lift(monadTransFreeT(dictFunctor))(dictMonadEff.Monad0())(Control_Monad_Eff_Class.liftEff(dictMonadEff)($108)); }); }; }; var monadStateFreeT = function (dictFunctor) { return function (dictMonadState) { return new Control_Monad_State_Class.MonadState(function () { return monadFreeT(dictFunctor)(dictMonadState.Monad0()); }, function ($109) { return Control_Monad_Trans_Class.lift(monadTransFreeT(dictFunctor))(dictMonadState.Monad0())(Control_Monad_State_Class.state(dictMonadState)($109)); }); }; }; var monadTellFreeT = function (dictFunctor) { return function (dictMonadTell) { return new Control_Monad_Writer_Class.MonadTell(function () { return monadFreeT(dictFunctor)(dictMonadTell.Monad0()); }, function ($110) { return Control_Monad_Trans_Class.lift(monadTransFreeT(dictFunctor))(dictMonadTell.Monad0())(Control_Monad_Writer_Class.tell(dictMonadTell)($110)); }); }; }; var monadThrowFreeT = function (dictFunctor) { return function (dictMonadThrow) { return new Control_Monad_Error_Class.MonadThrow(function () { return monadFreeT(dictFunctor)(dictMonadThrow.Monad0()); }, function ($111) { return Control_Monad_Trans_Class.lift(monadTransFreeT(dictFunctor))(dictMonadThrow.Monad0())(Control_Monad_Error_Class.throwError(dictMonadThrow)($111)); }); }; }; var monadRecFreeT = function (dictFunctor) { return function (dictMonad) { return new Control_Monad_Rec_Class.MonadRec(function () { return monadFreeT(dictFunctor)(dictMonad); }, function (f) { var go = function (s) { return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) { if (v instanceof Control_Monad_Rec_Class.Loop) { return go(v.value0); }; if (v instanceof Control_Monad_Rec_Class.Done) { return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0); }; throw new Error("Failed pattern match at Control.Monad.Free.Trans line 81, column 15 - line 83, column 25: " + [ v.constructor.name ]); }); }; return go; }); }; }; var monoidFreeT = function (dictFunctor) { return function (dictMonad) { return function (dictMonoid) { return new Data_Monoid.Monoid(function () { return semigroupFreeT(dictFunctor)(dictMonad)(dictMonoid.Semigroup0()); }, Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(Data_Monoid.mempty(dictMonoid))); }; }; }; exports["bimapFreeT"] = bimapFreeT; exports["freeT"] = freeT; exports["hoistFreeT"] = hoistFreeT; exports["interpret"] = interpret; exports["liftFreeT"] = liftFreeT; exports["resume"] = resume; exports["runFreeT"] = runFreeT; exports["functorFreeT"] = functorFreeT; exports["applyFreeT"] = applyFreeT; exports["applicativeFreeT"] = applicativeFreeT; exports["bindFreeT"] = bindFreeT; exports["monadFreeT"] = monadFreeT; exports["monadTransFreeT"] = monadTransFreeT; exports["monadRecFreeT"] = monadRecFreeT; exports["semigroupFreeT"] = semigroupFreeT; exports["monoidFreeT"] = monoidFreeT; exports["monadEffFreeT"] = monadEffFreeT; exports["monadAskFreeT"] = monadAskFreeT; exports["monadTellFreeT"] = monadTellFreeT; exports["monadStateFreeT"] = monadStateFreeT; exports["monadThrowFreeT"] = monadThrowFreeT; })(PS["Control.Monad.Free.Trans"] = PS["Control.Monad.Free.Trans"] || {}); (function(exports) { // | This module defines the CPS monad transformer. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Prelude = PS["Prelude"]; // | The CPS monad transformer. // | // | This monad transformer extends the base monad with the operation `callCC`. var ContT = function (x) { return x; }; // | Modify the continuation in a `ContT` monad action var withContT = function (f) { return function (v) { return function (k) { return v(f(k)); }; }; }; // | Run a computation in the `ContT` monad, by providing a continuation. var runContT = function (v) { return function (k) { return v(k); }; }; var newtypeContT = new Data_Newtype.Newtype(function (n) { return n; }, ContT); var monadTransContT = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return function (m) { return function (k) { return Control_Bind.bind(dictMonad.Bind1())(m)(k); }; }; }); // | Modify the underlying action in a `ContT` monad action. var mapContT = function (f) { return function (v) { return function (k) { return f(v(k)); }; }; }; var functorContT = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return function (k) { return v(function (a) { return k(f(a)); }); }; }; }); }; var applyContT = function (dictApply) { return new Control_Apply.Apply(function () { return functorContT(dictApply.Functor0()); }, function (v) { return function (v1) { return function (k) { return v(function (g) { return v1(function (a) { return k(g(a)); }); }); }; }; }); }; var bindContT = function (dictBind) { return new Control_Bind.Bind(function () { return applyContT(dictBind.Apply0()); }, function (v) { return function (k) { return function (k$prime) { return v(function (a) { var v1 = k(a); return v1(k$prime); }); }; }; }); }; var applicativeContT = function (dictApplicative) { return new Control_Applicative.Applicative(function () { return applyContT(dictApplicative.Apply0()); }, function (a) { return function (k) { return k(a); }; }); }; var monadContT = function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeContT(dictMonad.Applicative0()); }, function () { return bindContT(dictMonad.Bind1()); }); }; var monadAskContT = function (dictMonadAsk) { return new Control_Monad_Reader_Class.MonadAsk(function () { return monadContT(dictMonadAsk.Monad0()); }, Control_Monad_Trans_Class.lift(monadTransContT)(dictMonadAsk.Monad0())(Control_Monad_Reader_Class.ask(dictMonadAsk))); }; var monadReaderContT = function (dictMonadReader) { return new Control_Monad_Reader_Class.MonadReader(function () { return monadAskContT(dictMonadReader.MonadAsk0()); }, function (f) { return function (v) { return function (k) { return Control_Bind.bind(((dictMonadReader.MonadAsk0()).Monad0()).Bind1())(Control_Monad_Reader_Class.ask(dictMonadReader.MonadAsk0()))(function (v1) { return Control_Monad_Reader_Class.local(dictMonadReader)(f)(v(function ($45) { return Control_Monad_Reader_Class.local(dictMonadReader)(Data_Function["const"](v1))(k($45)); })); }); }; }; }); }; var monadContContT = function (dictMonad) { return new Control_Monad_Cont_Class.MonadCont(function () { return monadContT(dictMonad); }, function (f) { return function (k) { var v = f(function (a) { return function (v1) { return k(a); }; }); return v(k); }; }); }; var monadEffContT = function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadContT(dictMonadEff.Monad0()); }, function ($46) { return Control_Monad_Trans_Class.lift(monadTransContT)(dictMonadEff.Monad0())(Control_Monad_Eff_Class.liftEff(dictMonadEff)($46)); }); }; var monadStateContT = function (dictMonadState) { return new Control_Monad_State_Class.MonadState(function () { return monadContT(dictMonadState.Monad0()); }, function ($47) { return Control_Monad_Trans_Class.lift(monadTransContT)(dictMonadState.Monad0())(Control_Monad_State_Class.state(dictMonadState)($47)); }); }; exports["ContT"] = ContT; exports["mapContT"] = mapContT; exports["runContT"] = runContT; exports["withContT"] = withContT; exports["newtypeContT"] = newtypeContT; exports["monadContContT"] = monadContContT; exports["functorContT"] = functorContT; exports["applyContT"] = applyContT; exports["applicativeContT"] = applicativeContT; exports["bindContT"] = bindContT; exports["monadContT"] = monadContT; exports["monadTransContT"] = monadTransContT; exports["monadEffContT"] = monadEffContT; exports["monadAskContT"] = monadAskContT; exports["monadReaderContT"] = monadReaderContT; exports["monadStateContT"] = monadStateContT; })(PS["Control.Monad.Cont.Trans"] = PS["Control.Monad.Cont.Trans"] || {}); (function(exports) { "use strict"; exports.newRef = function (val) { return function () { return { value: val }; }; }; exports.readRef = function (ref) { return function () { return ref.value; }; }; exports["modifyRef'"] = function (ref) { return function (f) { return function () { var t = f(ref.value); ref.value = t.state; return t.value; }; }; }; exports.writeRef = function (ref) { return function (val) { return function () { ref.value = val; return {}; }; }; }; })(PS["Control.Monad.Eff.Ref"] = PS["Control.Monad.Eff.Ref"] || {}); (function(exports) { // | This module defines an effect and actions for working with // | global mutable variables. // | // | _Note_: The `Control.Monad.ST` provides a _safe_ alternative // | to global mutable variables when mutation is restricted to a // | local scope. "use strict"; var $foreign = PS["Control.Monad.Eff.Ref"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | Update the value of a mutable reference by applying a function // | to the current value. var modifyRef = function (ref) { return function (f) { return $foreign["modifyRef'"](ref)(function (s) { return { state: f(s), value: Data_Unit.unit }; }); }; }; exports["modifyRef"] = modifyRef; exports["modifyRef'"] = $foreign["modifyRef'"]; exports["newRef"] = $foreign.newRef; exports["readRef"] = $foreign.readRef; exports["writeRef"] = $foreign.writeRef; })(PS["Control.Monad.Eff.Ref"] = PS["Control.Monad.Eff.Ref"] || {}); (function(exports) { // | This module defines the `MaybeT` monad transformer. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The `MaybeT` monad transformer. // | // | This monad transformer extends the base monad, supporting failure and alternation via // | the `MonadPlus` type class. var MaybeT = function (x) { return x; }; // | Run a computation in the `MaybeT` monad. var runMaybeT = function (v) { return v; }; var newtypeMaybeT = new Data_Newtype.Newtype(function (n) { return n; }, MaybeT); var monadTransMaybeT = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return function ($75) { return MaybeT(Control_Monad.liftM1(dictMonad)(Data_Maybe.Just.create)($75)); }; }); // | Change the result type of a `MaybeT` monad action. var mapMaybeT = function (f) { return function (v) { return f(v); }; }; var functorMaybeT = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v); }; }); }; var monadMaybeT = function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeMaybeT(dictMonad); }, function () { return bindMaybeT(dictMonad); }); }; var bindMaybeT = function (dictMonad) { return new Control_Bind.Bind(function () { return applyMaybeT(dictMonad); }, function (v) { return function (f) { return Control_Bind.bind(dictMonad.Bind1())(v)(function (v1) { if (v1 instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_Maybe.Nothing.value); }; if (v1 instanceof Data_Maybe.Just) { var v2 = f(v1.value0); return v2; }; throw new Error("Failed pattern match at Control.Monad.Maybe.Trans line 55, column 11 - line 57, column 42: " + [ v1.constructor.name ]); }); }; }); }; var applyMaybeT = function (dictMonad) { return new Control_Apply.Apply(function () { return functorMaybeT(((dictMonad.Bind1()).Apply0()).Functor0()); }, Control_Monad.ap(monadMaybeT(dictMonad))); }; var applicativeMaybeT = function (dictMonad) { return new Control_Applicative.Applicative(function () { return applyMaybeT(dictMonad); }, function ($76) { return MaybeT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Maybe.Just.create($76))); }); }; var monadAskMaybeT = function (dictMonadAsk) { return new Control_Monad_Reader_Class.MonadAsk(function () { return monadMaybeT(dictMonadAsk.Monad0()); }, Control_Monad_Trans_Class.lift(monadTransMaybeT)(dictMonadAsk.Monad0())(Control_Monad_Reader_Class.ask(dictMonadAsk))); }; var monadReaderMaybeT = function (dictMonadReader) { return new Control_Monad_Reader_Class.MonadReader(function () { return monadAskMaybeT(dictMonadReader.MonadAsk0()); }, function (f) { return mapMaybeT(Control_Monad_Reader_Class.local(dictMonadReader)(f)); }); }; var monadContMaybeT = function (dictMonadCont) { return new Control_Monad_Cont_Class.MonadCont(function () { return monadMaybeT(dictMonadCont.Monad0()); }, function (f) { return MaybeT(Control_Monad_Cont_Class.callCC(dictMonadCont)(function (c) { var v = f(function (a) { return MaybeT(c(new Data_Maybe.Just(a))); }); return v; })); }); }; var monadEffMaybe = function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadMaybeT(dictMonadEff.Monad0()); }, function ($77) { return Control_Monad_Trans_Class.lift(monadTransMaybeT)(dictMonadEff.Monad0())(Control_Monad_Eff_Class.liftEff(dictMonadEff)($77)); }); }; var monadRecMaybeT = function (dictMonadRec) { return new Control_Monad_Rec_Class.MonadRec(function () { return monadMaybeT(dictMonadRec.Monad0()); }, function (f) { return function ($78) { return MaybeT(Control_Monad_Rec_Class.tailRecM(dictMonadRec)(function (a) { return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())((function () { var v = f(a); return v; })())(function (m$prime) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())((function () { if (m$prime instanceof Data_Maybe.Nothing) { return new Control_Monad_Rec_Class.Done(Data_Maybe.Nothing.value); }; if (m$prime instanceof Data_Maybe.Just && m$prime.value0 instanceof Control_Monad_Rec_Class.Loop) { return new Control_Monad_Rec_Class.Loop(m$prime.value0.value0); }; if (m$prime instanceof Data_Maybe.Just && m$prime.value0 instanceof Control_Monad_Rec_Class.Done) { return new Control_Monad_Rec_Class.Done(new Data_Maybe.Just(m$prime.value0.value0)); }; throw new Error("Failed pattern match at Control.Monad.Maybe.Trans line 85, column 16 - line 88, column 43: " + [ m$prime.constructor.name ]); })()); }); })($78)); }; }); }; var monadStateMaybeT = function (dictMonadState) { return new Control_Monad_State_Class.MonadState(function () { return monadMaybeT(dictMonadState.Monad0()); }, function (f) { return Control_Monad_Trans_Class.lift(monadTransMaybeT)(dictMonadState.Monad0())(Control_Monad_State_Class.state(dictMonadState)(f)); }); }; var monadTellMaybeT = function (dictMonadTell) { return new Control_Monad_Writer_Class.MonadTell(function () { return monadMaybeT(dictMonadTell.Monad0()); }, function ($79) { return Control_Monad_Trans_Class.lift(monadTransMaybeT)(dictMonadTell.Monad0())(Control_Monad_Writer_Class.tell(dictMonadTell)($79)); }); }; var monadWriterMaybeT = function (dictMonadWriter) { return new Control_Monad_Writer_Class.MonadWriter(function () { return monadTellMaybeT(dictMonadWriter.MonadTell0()); }, mapMaybeT(function (m) { return Control_Bind.bind(((dictMonadWriter.MonadTell0()).Monad0()).Bind1())(Control_Monad_Writer_Class.listen(dictMonadWriter)(m))(function (v) { return Control_Applicative.pure(((dictMonadWriter.MonadTell0()).Monad0()).Applicative0())(Data_Functor.map(Data_Maybe.functorMaybe)(function (r) { return new Data_Tuple.Tuple(r, v.value1); })(v.value0)); }); }), mapMaybeT(function (m) { return Control_Monad_Writer_Class.pass(dictMonadWriter)(Control_Bind.bind(((dictMonadWriter.MonadTell0()).Monad0()).Bind1())(m)(function (v) { return Control_Applicative.pure(((dictMonadWriter.MonadTell0()).Monad0()).Applicative0())((function () { if (v instanceof Data_Maybe.Nothing) { return new Data_Tuple.Tuple(Data_Maybe.Nothing.value, Control_Category.id(Control_Category.categoryFn)); }; if (v instanceof Data_Maybe.Just) { return new Data_Tuple.Tuple(new Data_Maybe.Just(v.value0.value0), v.value0.value1); }; throw new Error("Failed pattern match at Control.Monad.Maybe.Trans line 122, column 10 - line 124, column 42: " + [ v.constructor.name ]); })()); })); })); }; var monadThrowMaybeT = function (dictMonadThrow) { return new Control_Monad_Error_Class.MonadThrow(function () { return monadMaybeT(dictMonadThrow.Monad0()); }, function (e) { return Control_Monad_Trans_Class.lift(monadTransMaybeT)(dictMonadThrow.Monad0())(Control_Monad_Error_Class.throwError(dictMonadThrow)(e)); }); }; var monadErrorMaybeT = function (dictMonadError) { return new Control_Monad_Error_Class.MonadError(function () { return monadThrowMaybeT(dictMonadError.MonadThrow0()); }, function (v) { return function (h) { return MaybeT(Control_Monad_Error_Class.catchError(dictMonadError)(v)(function (a) { var v1 = h(a); return v1; })); }; }); }; var altMaybeT = function (dictMonad) { return new Control_Alt.Alt(function () { return functorMaybeT(((dictMonad.Bind1()).Apply0()).Functor0()); }, function (v) { return function (v1) { return Control_Bind.bind(dictMonad.Bind1())(v)(function (v2) { if (v2 instanceof Data_Maybe.Nothing) { return v1; }; return Control_Applicative.pure(dictMonad.Applicative0())(v2); }); }; }); }; var plusMaybeT = function (dictMonad) { return new Control_Plus.Plus(function () { return altMaybeT(dictMonad); }, Control_Applicative.pure(dictMonad.Applicative0())(Data_Maybe.Nothing.value)); }; var alternativeMaybeT = function (dictMonad) { return new Control_Alternative.Alternative(function () { return applicativeMaybeT(dictMonad); }, function () { return plusMaybeT(dictMonad); }); }; var monadZeroMaybeT = function (dictMonad) { return new Control_MonadZero.MonadZero(function () { return alternativeMaybeT(dictMonad); }, function () { return monadMaybeT(dictMonad); }); }; var monadPlusMaybeT = function (dictMonad) { return new Control_MonadPlus.MonadPlus(function () { return monadZeroMaybeT(dictMonad); }); }; exports["MaybeT"] = MaybeT; exports["mapMaybeT"] = mapMaybeT; exports["runMaybeT"] = runMaybeT; exports["newtypeMaybeT"] = newtypeMaybeT; exports["functorMaybeT"] = functorMaybeT; exports["applyMaybeT"] = applyMaybeT; exports["applicativeMaybeT"] = applicativeMaybeT; exports["bindMaybeT"] = bindMaybeT; exports["monadMaybeT"] = monadMaybeT; exports["monadTransMaybeT"] = monadTransMaybeT; exports["altMaybeT"] = altMaybeT; exports["plusMaybeT"] = plusMaybeT; exports["alternativeMaybeT"] = alternativeMaybeT; exports["monadPlusMaybeT"] = monadPlusMaybeT; exports["monadZeroMaybeT"] = monadZeroMaybeT; exports["monadRecMaybeT"] = monadRecMaybeT; exports["monadEffMaybe"] = monadEffMaybe; exports["monadContMaybeT"] = monadContMaybeT; exports["monadThrowMaybeT"] = monadThrowMaybeT; exports["monadErrorMaybeT"] = monadErrorMaybeT; exports["monadAskMaybeT"] = monadAskMaybeT; exports["monadReaderMaybeT"] = monadReaderMaybeT; exports["monadStateMaybeT"] = monadStateMaybeT; exports["monadTellMaybeT"] = monadTellMaybeT; exports["monadWriterMaybeT"] = monadWriterMaybeT; })(PS["Control.Monad.Maybe.Trans"] = PS["Control.Monad.Maybe.Trans"] || {}); (function(exports) { // | This module defines the reader monad transformer, `ReaderT`. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Distributive = PS["Data.Distributive"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Semigroup = PS["Data.Semigroup"]; var Prelude = PS["Prelude"]; // | The reader monad transformer. // | // | This monad transformer extends the base monad transformer with a _global context_ of // | type `r`. // | // | The `MonadReader` type class describes the operations supported by this monad. var ReaderT = function (x) { return x; }; // | Change the type of the context in a `ReaderT` monad action. var withReaderT = function (f) { return function (v) { return function ($66) { return v(f($66)); }; }; }; // | Run a computation in the `ReaderT` monad. var runReaderT = function (v) { return v; }; var newtypeReaderT = new Data_Newtype.Newtype(function (n) { return n; }, ReaderT); var monadTransReaderT = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return function ($67) { return ReaderT(Data_Function["const"]($67)); }; }); // | Change the type of the result in a `ReaderT` monad action. var mapReaderT = function (f) { return function (v) { return function ($68) { return f(v($68)); }; }; }; var functorReaderT = function (dictFunctor) { return new Data_Functor.Functor(function ($69) { return mapReaderT(Data_Functor.map(dictFunctor)($69)); }); }; var distributiveReaderT = function (dictDistributive) { return new Data_Distributive.Distributive(function () { return functorReaderT(dictDistributive.Functor0()); }, function (dictFunctor) { return function (f) { return function ($70) { return Data_Distributive.distribute(distributiveReaderT(dictDistributive))(dictFunctor)(Data_Functor.map(dictFunctor)(f)($70)); }; }; }, function (dictFunctor) { return function (a) { return function (e) { return Data_Distributive.collect(dictDistributive)(dictFunctor)(function (r) { return r(e); })(a); }; }; }); }; var applyReaderT = function (dictApply) { return new Control_Apply.Apply(function () { return functorReaderT(dictApply.Functor0()); }, function (v) { return function (v1) { return function (r) { return Control_Apply.apply(dictApply)(v(r))(v1(r)); }; }; }); }; var bindReaderT = function (dictBind) { return new Control_Bind.Bind(function () { return applyReaderT(dictBind.Apply0()); }, function (v) { return function (k) { return function (r) { return Control_Bind.bind(dictBind)(v(r))(function (a) { var v1 = k(a); return v1(r); }); }; }; }); }; var semigroupReaderT = function (dictApply) { return function (dictSemigroup) { return new Data_Semigroup.Semigroup(Control_Apply.lift2(applyReaderT(dictApply))(Data_Semigroup.append(dictSemigroup))); }; }; var applicativeReaderT = function (dictApplicative) { return new Control_Applicative.Applicative(function () { return applyReaderT(dictApplicative.Apply0()); }, function ($71) { return ReaderT(Data_Function["const"](Control_Applicative.pure(dictApplicative)($71))); }); }; var monadReaderT = function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeReaderT(dictMonad.Applicative0()); }, function () { return bindReaderT(dictMonad.Bind1()); }); }; var monadAskReaderT = function (dictMonad) { return new Control_Monad_Reader_Class.MonadAsk(function () { return monadReaderT(dictMonad); }, Control_Applicative.pure(dictMonad.Applicative0())); }; var monadReaderReaderT = function (dictMonad) { return new Control_Monad_Reader_Class.MonadReader(function () { return monadAskReaderT(dictMonad); }, withReaderT); }; var monadContReaderT = function (dictMonadCont) { return new Control_Monad_Cont_Class.MonadCont(function () { return monadReaderT(dictMonadCont.Monad0()); }, function (f) { return function (r) { return Control_Monad_Cont_Class.callCC(dictMonadCont)(function (c) { var v = f(function ($72) { return ReaderT(Data_Function["const"](c($72))); }); return v(r); }); }; }); }; var monadEffReader = function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadReaderT(dictMonadEff.Monad0()); }, function ($73) { return Control_Monad_Trans_Class.lift(monadTransReaderT)(dictMonadEff.Monad0())(Control_Monad_Eff_Class.liftEff(dictMonadEff)($73)); }); }; var monadRecReaderT = function (dictMonadRec) { return new Control_Monad_Rec_Class.MonadRec(function () { return monadReaderT(dictMonadRec.Monad0()); }, function (k) { return function (a) { var k$prime = function (r) { return function (a$prime) { var v = k(a$prime); return Control_Bind.bindFlipped((dictMonadRec.Monad0()).Bind1())(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0()))(v(r)); }; }; return function (r) { return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(k$prime(r))(a); }; }; }); }; var monadStateReaderT = function (dictMonadState) { return new Control_Monad_State_Class.MonadState(function () { return monadReaderT(dictMonadState.Monad0()); }, function ($74) { return Control_Monad_Trans_Class.lift(monadTransReaderT)(dictMonadState.Monad0())(Control_Monad_State_Class.state(dictMonadState)($74)); }); }; var monadTellReaderT = function (dictMonadTell) { return new Control_Monad_Writer_Class.MonadTell(function () { return monadReaderT(dictMonadTell.Monad0()); }, function ($75) { return Control_Monad_Trans_Class.lift(monadTransReaderT)(dictMonadTell.Monad0())(Control_Monad_Writer_Class.tell(dictMonadTell)($75)); }); }; var monadWriterReaderT = function (dictMonadWriter) { return new Control_Monad_Writer_Class.MonadWriter(function () { return monadTellReaderT(dictMonadWriter.MonadTell0()); }, mapReaderT(Control_Monad_Writer_Class.listen(dictMonadWriter)), mapReaderT(Control_Monad_Writer_Class.pass(dictMonadWriter))); }; var monadThrowReaderT = function (dictMonadThrow) { return new Control_Monad_Error_Class.MonadThrow(function () { return monadReaderT(dictMonadThrow.Monad0()); }, function ($76) { return Control_Monad_Trans_Class.lift(monadTransReaderT)(dictMonadThrow.Monad0())(Control_Monad_Error_Class.throwError(dictMonadThrow)($76)); }); }; var monadErrorReaderT = function (dictMonadError) { return new Control_Monad_Error_Class.MonadError(function () { return monadThrowReaderT(dictMonadError.MonadThrow0()); }, function (v) { return function (h) { return function (r) { return Control_Monad_Error_Class.catchError(dictMonadError)(v(r))(function (e) { var v1 = h(e); return v1(r); }); }; }; }); }; var monoidReaderT = function (dictApplicative) { return function (dictMonoid) { return new Data_Monoid.Monoid(function () { return semigroupReaderT(dictApplicative.Apply0())(dictMonoid.Semigroup0()); }, Control_Applicative.pure(applicativeReaderT(dictApplicative))(Data_Monoid.mempty(dictMonoid))); }; }; var altReaderT = function (dictAlt) { return new Control_Alt.Alt(function () { return functorReaderT(dictAlt.Functor0()); }, function (v) { return function (v1) { return function (r) { return Control_Alt.alt(dictAlt)(v(r))(v1(r)); }; }; }); }; var plusReaderT = function (dictPlus) { return new Control_Plus.Plus(function () { return altReaderT(dictPlus.Alt0()); }, Data_Function["const"](Control_Plus.empty(dictPlus))); }; var alternativeReaderT = function (dictAlternative) { return new Control_Alternative.Alternative(function () { return applicativeReaderT(dictAlternative.Applicative0()); }, function () { return plusReaderT(dictAlternative.Plus1()); }); }; var monadZeroReaderT = function (dictMonadZero) { return new Control_MonadZero.MonadZero(function () { return alternativeReaderT(dictMonadZero.Alternative1()); }, function () { return monadReaderT(dictMonadZero.Monad0()); }); }; var monadPlusReaderT = function (dictMonadPlus) { return new Control_MonadPlus.MonadPlus(function () { return monadZeroReaderT(dictMonadPlus.MonadZero0()); }); }; exports["ReaderT"] = ReaderT; exports["mapReaderT"] = mapReaderT; exports["runReaderT"] = runReaderT; exports["withReaderT"] = withReaderT; exports["newtypeReaderT"] = newtypeReaderT; exports["functorReaderT"] = functorReaderT; exports["applyReaderT"] = applyReaderT; exports["applicativeReaderT"] = applicativeReaderT; exports["altReaderT"] = altReaderT; exports["plusReaderT"] = plusReaderT; exports["alternativeReaderT"] = alternativeReaderT; exports["bindReaderT"] = bindReaderT; exports["monadReaderT"] = monadReaderT; exports["monadZeroReaderT"] = monadZeroReaderT; exports["semigroupReaderT"] = semigroupReaderT; exports["monoidReaderT"] = monoidReaderT; exports["monadPlusReaderT"] = monadPlusReaderT; exports["monadTransReaderT"] = monadTransReaderT; exports["monadEffReader"] = monadEffReader; exports["monadContReaderT"] = monadContReaderT; exports["monadThrowReaderT"] = monadThrowReaderT; exports["monadErrorReaderT"] = monadErrorReaderT; exports["monadAskReaderT"] = monadAskReaderT; exports["monadReaderReaderT"] = monadReaderReaderT; exports["monadStateReaderT"] = monadStateReaderT; exports["monadTellReaderT"] = monadTellReaderT; exports["monadWriterReaderT"] = monadWriterReaderT; exports["distributiveReaderT"] = distributiveReaderT; exports["monadRecReaderT"] = monadRecReaderT; })(PS["Control.Monad.Reader.Trans"] = PS["Control.Monad.Reader.Trans"] || {}); (function(exports) { // | This module defines the writer monad transformer, `WriterT`. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | The writer monad transformer. // | // | This monad transformer extends the base monad with a monoidal accumulator of // | type `w`. // | // | The `MonadWriter` type class describes the operations supported by this monad. var WriterT = function (x) { return x; }; // | Run a computation in the `WriterT` monad. var runWriterT = function (v) { return v; }; var newtypeWriterT = new Data_Newtype.Newtype(function (n) { return n; }, WriterT); var monadTransWriterT = function (dictMonoid) { return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return function (m) { return Control_Bind.bind(dictMonad.Bind1())(m)(function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Tuple.Tuple(v, Data_Monoid.mempty(dictMonoid))); }); }; }); }; // | Change the accumulator and base monad types in a `WriterT` monad action. var mapWriterT = function (f) { return function (v) { return f(v); }; }; var functorWriterT = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return mapWriterT(Data_Functor.map(dictFunctor)(function (v) { return new Data_Tuple.Tuple(f(v.value0), v.value1); })); }); }; // | Run a computation in the `WriterT` monad, discarding the result. var execWriterT = function (dictFunctor) { return function (v) { return Data_Functor.map(dictFunctor)(Data_Tuple.snd)(v); }; }; var applyWriterT = function (dictSemigroup) { return function (dictApply) { return new Control_Apply.Apply(function () { return functorWriterT(dictApply.Functor0()); }, function (v) { return function (v1) { var k = function (v3) { return function (v4) { return new Data_Tuple.Tuple(v3.value0(v4.value0), Data_Semigroup.append(dictSemigroup)(v3.value1)(v4.value1)); }; }; return Control_Apply.apply(dictApply)(Data_Functor.map(dictApply.Functor0())(k)(v))(v1); }; }); }; }; var bindWriterT = function (dictSemigroup) { return function (dictBind) { return new Control_Bind.Bind(function () { return applyWriterT(dictSemigroup)(dictBind.Apply0()); }, function (v) { return function (k) { return WriterT(Control_Bind.bind(dictBind)(v)(function (v1) { var v2 = k(v1.value0); return Data_Functor.map((dictBind.Apply0()).Functor0())(function (v3) { return new Data_Tuple.Tuple(v3.value0, Data_Semigroup.append(dictSemigroup)(v1.value1)(v3.value1)); })(v2); })); }; }); }; }; var applicativeWriterT = function (dictMonoid) { return function (dictApplicative) { return new Control_Applicative.Applicative(function () { return applyWriterT(dictMonoid.Semigroup0())(dictApplicative.Apply0()); }, function (a) { return WriterT(Control_Applicative.pure(dictApplicative)(new Data_Tuple.Tuple(a, Data_Monoid.mempty(dictMonoid)))); }); }; }; var monadWriterT = function (dictMonoid) { return function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeWriterT(dictMonoid)(dictMonad.Applicative0()); }, function () { return bindWriterT(dictMonoid.Semigroup0())(dictMonad.Bind1()); }); }; }; var monadAskWriterT = function (dictMonoid) { return function (dictMonadAsk) { return new Control_Monad_Reader_Class.MonadAsk(function () { return monadWriterT(dictMonoid)(dictMonadAsk.Monad0()); }, Control_Monad_Trans_Class.lift(monadTransWriterT(dictMonoid))(dictMonadAsk.Monad0())(Control_Monad_Reader_Class.ask(dictMonadAsk))); }; }; var monadReaderWriterT = function (dictMonoid) { return function (dictMonadReader) { return new Control_Monad_Reader_Class.MonadReader(function () { return monadAskWriterT(dictMonoid)(dictMonadReader.MonadAsk0()); }, function (f) { return mapWriterT(Control_Monad_Reader_Class.local(dictMonadReader)(f)); }); }; }; var monadContWriterT = function (dictMonoid) { return function (dictMonadCont) { return new Control_Monad_Cont_Class.MonadCont(function () { return monadWriterT(dictMonoid)(dictMonadCont.Monad0()); }, function (f) { return WriterT(Control_Monad_Cont_Class.callCC(dictMonadCont)(function (c) { var v = f(function (a) { return WriterT(c(new Data_Tuple.Tuple(a, Data_Monoid.mempty(dictMonoid)))); }); return v; })); }); }; }; var monadEffWriter = function (dictMonoid) { return function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadWriterT(dictMonoid)(dictMonadEff.Monad0()); }, function ($123) { return Control_Monad_Trans_Class.lift(monadTransWriterT(dictMonoid))(dictMonadEff.Monad0())(Control_Monad_Eff_Class.liftEff(dictMonadEff)($123)); }); }; }; var monadRecWriterT = function (dictMonoid) { return function (dictMonadRec) { return new Control_Monad_Rec_Class.MonadRec(function () { return monadWriterT(dictMonoid)(dictMonadRec.Monad0()); }, function (f) { return function (a) { var f$prime = function (v) { return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())((function () { var v1 = f(v.value0); return v1; })())(function (v1) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())((function () { if (v1.value0 instanceof Control_Monad_Rec_Class.Loop) { return new Control_Monad_Rec_Class.Loop(new Data_Tuple.Tuple(v1.value0.value0, Data_Semigroup.append(dictMonoid.Semigroup0())(v.value1)(v1.value1))); }; if (v1.value0 instanceof Control_Monad_Rec_Class.Done) { return new Control_Monad_Rec_Class.Done(new Data_Tuple.Tuple(v1.value0.value0, Data_Semigroup.append(dictMonoid.Semigroup0())(v.value1)(v1.value1))); }; throw new Error("Failed pattern match at Control.Monad.Writer.Trans line 85, column 16 - line 87, column 47: " + [ v1.value0.constructor.name ]); })()); }); }; return WriterT(Control_Monad_Rec_Class.tailRecM(dictMonadRec)(f$prime)(new Data_Tuple.Tuple(a, Data_Monoid.mempty(dictMonoid)))); }; }); }; }; var monadStateWriterT = function (dictMonoid) { return function (dictMonadState) { return new Control_Monad_State_Class.MonadState(function () { return monadWriterT(dictMonoid)(dictMonadState.Monad0()); }, function (f) { return Control_Monad_Trans_Class.lift(monadTransWriterT(dictMonoid))(dictMonadState.Monad0())(Control_Monad_State_Class.state(dictMonadState)(f)); }); }; }; var monadTellWriterT = function (dictMonoid) { return function (dictMonad) { return new Control_Monad_Writer_Class.MonadTell(function () { return monadWriterT(dictMonoid)(dictMonad); }, function ($124) { return WriterT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Tuple.Tuple.create(Data_Unit.unit)($124))); }); }; }; var monadWriterWriterT = function (dictMonoid) { return function (dictMonad) { return new Control_Monad_Writer_Class.MonadWriter(function () { return monadTellWriterT(dictMonoid)(dictMonad); }, function (v) { return Control_Bind.bind(dictMonad.Bind1())(v)(function (v1) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v1.value0, v1.value1), v1.value1)); }); }, function (v) { return Control_Bind.bind(dictMonad.Bind1())(v)(function (v1) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Tuple.Tuple(v1.value0.value0, v1.value0.value1(v1.value1))); }); }); }; }; var monadThrowWriterT = function (dictMonoid) { return function (dictMonadThrow) { return new Control_Monad_Error_Class.MonadThrow(function () { return monadWriterT(dictMonoid)(dictMonadThrow.Monad0()); }, function (e) { return Control_Monad_Trans_Class.lift(monadTransWriterT(dictMonoid))(dictMonadThrow.Monad0())(Control_Monad_Error_Class.throwError(dictMonadThrow)(e)); }); }; }; var monadErrorWriterT = function (dictMonoid) { return function (dictMonadError) { return new Control_Monad_Error_Class.MonadError(function () { return monadThrowWriterT(dictMonoid)(dictMonadError.MonadThrow0()); }, function (v) { return function (h) { return WriterT(Control_Monad_Error_Class.catchError(dictMonadError)(v)(function (e) { var v1 = h(e); return v1; })); }; }); }; }; var altWriterT = function (dictAlt) { return new Control_Alt.Alt(function () { return functorWriterT(dictAlt.Functor0()); }, function (v) { return function (v1) { return Control_Alt.alt(dictAlt)(v)(v1); }; }); }; var plusWriterT = function (dictPlus) { return new Control_Plus.Plus(function () { return altWriterT(dictPlus.Alt0()); }, Control_Plus.empty(dictPlus)); }; var alternativeWriterT = function (dictMonoid) { return function (dictAlternative) { return new Control_Alternative.Alternative(function () { return applicativeWriterT(dictMonoid)(dictAlternative.Applicative0()); }, function () { return plusWriterT(dictAlternative.Plus1()); }); }; }; var monadZeroWriterT = function (dictMonoid) { return function (dictMonadZero) { return new Control_MonadZero.MonadZero(function () { return alternativeWriterT(dictMonoid)(dictMonadZero.Alternative1()); }, function () { return monadWriterT(dictMonoid)(dictMonadZero.Monad0()); }); }; }; var monadPlusWriterT = function (dictMonoid) { return function (dictMonadPlus) { return new Control_MonadPlus.MonadPlus(function () { return monadZeroWriterT(dictMonoid)(dictMonadPlus.MonadZero0()); }); }; }; exports["WriterT"] = WriterT; exports["execWriterT"] = execWriterT; exports["mapWriterT"] = mapWriterT; exports["runWriterT"] = runWriterT; exports["newtypeWriterT"] = newtypeWriterT; exports["functorWriterT"] = functorWriterT; exports["applyWriterT"] = applyWriterT; exports["applicativeWriterT"] = applicativeWriterT; exports["altWriterT"] = altWriterT; exports["plusWriterT"] = plusWriterT; exports["alternativeWriterT"] = alternativeWriterT; exports["bindWriterT"] = bindWriterT; exports["monadWriterT"] = monadWriterT; exports["monadRecWriterT"] = monadRecWriterT; exports["monadZeroWriterT"] = monadZeroWriterT; exports["monadPlusWriterT"] = monadPlusWriterT; exports["monadTransWriterT"] = monadTransWriterT; exports["monadEffWriter"] = monadEffWriter; exports["monadContWriterT"] = monadContWriterT; exports["monadThrowWriterT"] = monadThrowWriterT; exports["monadErrorWriterT"] = monadErrorWriterT; exports["monadAskWriterT"] = monadAskWriterT; exports["monadReaderWriterT"] = monadReaderWriterT; exports["monadStateWriterT"] = monadStateWriterT; exports["monadTellWriterT"] = monadTellWriterT; exports["monadWriterWriterT"] = monadWriterWriterT; })(PS["Control.Monad.Writer.Trans"] = PS["Control.Monad.Writer.Trans"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Monad = PS["Control.Monad"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var App = function (x) { return x; }; var traversableApp = function (dictTraversable) { return dictTraversable; }; var showApp = function (dictShow) { return new Data_Show.Show(function (v) { return "(App " + (Data_Show.show(dictShow)(v) + ")"); }); }; var plusApp = function (dictPlus) { return dictPlus; }; var newtypeApp = new Data_Newtype.Newtype(function (n) { return n; }, App); var monadZeroApp = function (dictMonadZero) { return dictMonadZero; }; var monadPlusApp = function (dictMonadPlus) { return dictMonadPlus; }; var monadApp = function (dictMonad) { return dictMonad; }; var lazyApp = function (dictLazy) { return dictLazy; }; // safe as newtypes have no runtime representation var hoistLowerApp = Unsafe_Coerce.unsafeCoerce; var hoistLiftApp = Unsafe_Coerce.unsafeCoerce; var hoistApp = function (f) { return function (v) { return f(v); }; }; var functorApp = function (dictFunctor) { return dictFunctor; }; var foldableApp = function (dictFoldable) { return dictFoldable; }; var extendApp = function (dictExtend) { return dictExtend; }; var eq1App = function (dictEq1) { return new Data_Eq.Eq1(function (dictEq) { return function (v) { return function (v1) { return Data_Eq.eq1(dictEq1)(dictEq)(v)(v1); }; }; }); }; var eqApp = function (dictEq1) { return function (dictEq) { return new Data_Eq.Eq(Data_Eq.eq1(eq1App(dictEq1))(dictEq)); }; }; var ord1App = function (dictOrd1) { return new Data_Ord.Ord1(function () { return eq1App(dictOrd1.Eq10()); }, function (dictOrd) { return function (v) { return function (v1) { return Data_Ord.compare1(dictOrd1)(dictOrd)(v)(v1); }; }; }); }; var ordApp = function (dictOrd1) { return function (dictOrd) { return new Data_Ord.Ord(function () { return eqApp(dictOrd1.Eq10())(dictOrd.Eq0()); }, Data_Ord.compare1(ord1App(dictOrd1))(dictOrd)); }; }; var comonadApp = function (dictComonad) { return dictComonad; }; var bindApp = function (dictBind) { return dictBind; }; var applyApp = function (dictApply) { return dictApply; }; var applicativeApp = function (dictApplicative) { return dictApplicative; }; var alternativeApp = function (dictAlternative) { return dictAlternative; }; var altApp = function (dictAlt) { return dictAlt; }; exports["App"] = App; exports["hoistApp"] = hoistApp; exports["hoistLiftApp"] = hoistLiftApp; exports["hoistLowerApp"] = hoistLowerApp; exports["newtypeApp"] = newtypeApp; exports["eqApp"] = eqApp; exports["eq1App"] = eq1App; exports["ordApp"] = ordApp; exports["ord1App"] = ord1App; exports["showApp"] = showApp; exports["functorApp"] = functorApp; exports["applyApp"] = applyApp; exports["applicativeApp"] = applicativeApp; exports["bindApp"] = bindApp; exports["monadApp"] = monadApp; exports["altApp"] = altApp; exports["plusApp"] = plusApp; exports["alternativeApp"] = alternativeApp; exports["monadZeroApp"] = monadZeroApp; exports["monadPlusApp"] = monadPlusApp; exports["lazyApp"] = lazyApp; exports["foldableApp"] = foldableApp; exports["traversableApp"] = traversableApp; exports["extendApp"] = extendApp; exports["comonadApp"] = comonadApp; })(PS["Data.Functor.App"] = PS["Data.Functor.App"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_App = PS["Data.Functor.App"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; // | `Compose f g` is the composition of the two functors `f` and `g`. var Compose = function (x) { return x; }; var showCompose = function (dictShow) { return new Data_Show.Show(function (v) { return "(Compose " + (Data_Show.show(dictShow)(v) + ")"); }); }; var newtypeCompose = new Data_Newtype.Newtype(function (n) { return n; }, Compose); var functorCompose = function (dictFunctor) { return function (dictFunctor1) { return new Data_Functor.Functor(function (f) { return function (v) { return Compose(Data_Functor.map(dictFunctor)(Data_Functor.map(dictFunctor1)(f))(v)); }; }); }; }; var foldableCompose = function (dictFoldable) { return function (dictFoldable1) { return new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (v) { return Data_Foldable.foldMap(dictFoldable)(dictMonoid)(Data_Foldable.foldMap(dictFoldable1)(dictMonoid)(f))(v); }; }; }, function (f) { return function (i) { return function (v) { return Data_Foldable.foldl(dictFoldable)(Data_Foldable.foldl(dictFoldable1)(f))(i)(v); }; }; }, function (f) { return function (i) { return function (v) { return Data_Foldable.foldr(dictFoldable)(Data_Function.flip(Data_Foldable.foldr(dictFoldable1)(f)))(i)(v); }; }; }); }; }; var traversableCompose = function (dictTraversable) { return function (dictTraversable1) { return new Data_Traversable.Traversable(function () { return foldableCompose(dictTraversable.Foldable1())(dictTraversable1.Foldable1()); }, function () { return functorCompose(dictTraversable.Functor0())(dictTraversable1.Functor0()); }, function (dictApplicative) { return Data_Traversable.traverse(traversableCompose(dictTraversable)(dictTraversable1))(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Compose)(Data_Traversable.traverse(dictTraversable)(dictApplicative)(Data_Traversable.traverse(dictTraversable1)(dictApplicative)(f))(v)); }; }; }); }; }; var eq1Compose = function (dictEq1) { return function (dictEq11) { return new Data_Eq.Eq1(function (dictEq) { return function (v) { return function (v1) { return Data_Eq.eq1(dictEq1)(Data_Functor_App.eqApp(dictEq11)(dictEq))(Data_Functor_App.hoistLiftApp(v))(Data_Functor_App.hoistLiftApp(v1)); }; }; }); }; }; var eqCompose = function (dictEq1) { return function (dictEq11) { return function (dictEq) { return new Data_Eq.Eq(Data_Eq.eq1(eq1Compose(dictEq1)(dictEq11))(dictEq)); }; }; }; var ord1Compose = function (dictOrd1) { return function (dictOrd11) { return new Data_Ord.Ord1(function () { return eq1Compose(dictOrd1.Eq10())(dictOrd11.Eq10()); }, function (dictOrd) { return function (v) { return function (v1) { return Data_Ord.compare1(dictOrd1)(Data_Functor_App.ordApp(dictOrd11)(dictOrd))(Data_Functor_App.hoistLiftApp(v))(Data_Functor_App.hoistLiftApp(v1)); }; }; }); }; }; var ordCompose = function (dictOrd1) { return function (dictOrd11) { return function (dictOrd) { return new Data_Ord.Ord(function () { return eqCompose(dictOrd1.Eq10())(dictOrd11.Eq10())(dictOrd.Eq0()); }, Data_Ord.compare1(ord1Compose(dictOrd1)(dictOrd11))(dictOrd)); }; }; }; var bihoistCompose = function (dictFunctor) { return function (natF) { return function (natG) { return function (v) { return natF(Data_Functor.map(dictFunctor)(natG)(v)); }; }; }; }; var applyCompose = function (dictApply) { return function (dictApply1) { return new Control_Apply.Apply(function () { return functorCompose(dictApply.Functor0())(dictApply1.Functor0()); }, function (v) { return function (v1) { return Compose(Control_Apply.apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Control_Apply.apply(dictApply1))(v))(v1)); }; }); }; }; var applicativeCompose = function (dictApplicative) { return function (dictApplicative1) { return new Control_Applicative.Applicative(function () { return applyCompose(dictApplicative.Apply0())(dictApplicative1.Apply0()); }, function ($75) { return Compose(Control_Applicative.pure(dictApplicative)(Control_Applicative.pure(dictApplicative1)($75))); }); }; }; var altCompose = function (dictAlt) { return function (dictFunctor) { return new Control_Alt.Alt(function () { return functorCompose(dictAlt.Functor0())(dictFunctor); }, function (v) { return function (v1) { return Compose(Control_Alt.alt(dictAlt)(v)(v1)); }; }); }; }; var plusCompose = function (dictPlus) { return function (dictFunctor) { return new Control_Plus.Plus(function () { return altCompose(dictPlus.Alt0())(dictFunctor); }, Control_Plus.empty(dictPlus)); }; }; var alternativeCompose = function (dictAlternative) { return function (dictApplicative) { return new Control_Alternative.Alternative(function () { return applicativeCompose(dictAlternative.Applicative0())(dictApplicative); }, function () { return plusCompose(dictAlternative.Plus1())((dictApplicative.Apply0()).Functor0()); }); }; }; exports["Compose"] = Compose; exports["bihoistCompose"] = bihoistCompose; exports["newtypeCompose"] = newtypeCompose; exports["eq1Compose"] = eq1Compose; exports["eqCompose"] = eqCompose; exports["ord1Compose"] = ord1Compose; exports["ordCompose"] = ordCompose; exports["showCompose"] = showCompose; exports["functorCompose"] = functorCompose; exports["applyCompose"] = applyCompose; exports["applicativeCompose"] = applicativeCompose; exports["foldableCompose"] = foldableCompose; exports["traversableCompose"] = traversableCompose; exports["altCompose"] = altCompose; exports["plusCompose"] = plusCompose; exports["alternativeCompose"] = alternativeCompose; })(PS["Data.Functor.Compose"] = PS["Data.Functor.Compose"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var Control_Monad_Eff_Unsafe = PS["Control.Monad.Eff.Unsafe"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"]; var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"]; var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Compose = PS["Data.Functor.Compose"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | The `ParCont` type constructor provides an `Applicative` instance // | based on `ContT Unit m`, which waits for multiple continuations to be // | resumed simultaneously. // | // | ParCont sections of code can be embedded in sequential code by using // | the `parallel` and `sequential` functions: // | // | ```purescript // | loadModel :: ContT Unit (Eff (ajax :: AJAX)) Model // | loadModel = do // | token <- authenticate // | sequential $ // | Model <$> parallel (get "/products/popular/" token) // | <*> parallel (get "/categories/all" token) // | ``` var ParCont = function (x) { return x; }; // | The `Parallel` class abstracts over monads which support // | parallel composition via some related `Applicative`. var Parallel = function (Applicative1, Monad0, parallel, sequential) { this.Applicative1 = Applicative1; this.Monad0 = Monad0; this.parallel = parallel; this.sequential = sequential; }; var unsafeWithRef = Control_Monad_Eff_Unsafe.unsafeCoerceEff; var sequential = function (dict) { return dict.sequential; }; var parallel = function (dict) { return dict.parallel; }; var newtypeParCont = new Data_Newtype.Newtype(function (n) { return n; }, ParCont); var monadParWriterT = function (dictMonoid) { return function (dictParallel) { return new Parallel(function () { return Control_Monad_Writer_Trans.applicativeWriterT(dictMonoid)(dictParallel.Applicative1()); }, function () { return Control_Monad_Writer_Trans.monadWriterT(dictMonoid)(dictParallel.Monad0()); }, Control_Monad_Writer_Trans.mapWriterT(parallel(dictParallel)), Control_Monad_Writer_Trans.mapWriterT(sequential(dictParallel))); }; }; var monadParReaderT = function (dictParallel) { return new Parallel(function () { return Control_Monad_Reader_Trans.applicativeReaderT(dictParallel.Applicative1()); }, function () { return Control_Monad_Reader_Trans.monadReaderT(dictParallel.Monad0()); }, Control_Monad_Reader_Trans.mapReaderT(parallel(dictParallel)), Control_Monad_Reader_Trans.mapReaderT(sequential(dictParallel))); }; var monadParMaybeT = function (dictParallel) { return new Parallel(function () { return Data_Functor_Compose.applicativeCompose(dictParallel.Applicative1())(Data_Maybe.applicativeMaybe); }, function () { return Control_Monad_Maybe_Trans.monadMaybeT(dictParallel.Monad0()); }, function (v) { return parallel(dictParallel)(v); }, function (v) { return sequential(dictParallel)(v); }); }; var monadParExceptT = function (dictParallel) { return new Parallel(function () { return Data_Functor_Compose.applicativeCompose(dictParallel.Applicative1())(Data_Either.applicativeEither); }, function () { return Control_Monad_Except_Trans.monadExceptT(dictParallel.Monad0()); }, function (v) { return parallel(dictParallel)(v); }, function (v) { return sequential(dictParallel)(v); }); }; var monadParParCont = function (dictMonadEff) { return new Parallel(function () { return applicativeParCont(dictMonadEff); }, function () { return Control_Monad_Cont_Trans.monadContT(dictMonadEff.Monad0()); }, ParCont, function (v) { return v; }); }; var functorParCont = function (dictMonadEff) { return new Data_Functor.Functor(function (f) { return function ($54) { return parallel(monadParParCont(dictMonadEff))(Data_Functor.map(Control_Monad_Cont_Trans.functorContT((((dictMonadEff.Monad0()).Bind1()).Apply0()).Functor0()))(f)(sequential(monadParParCont(dictMonadEff))($54))); }; }); }; var applyParCont = function (dictMonadEff) { return new Control_Apply.Apply(function () { return functorParCont(dictMonadEff); }, function (v) { return function (v1) { return ParCont(function (k) { return Control_Bind.bind((dictMonadEff.Monad0()).Bind1())(Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value))))(function (v2) { return Control_Bind.bind((dictMonadEff.Monad0()).Bind1())(Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value))))(function (v3) { return Control_Bind.discard(Control_Bind.discardUnit)((dictMonadEff.Monad0()).Bind1())(Control_Monad_Cont_Trans.runContT(v)(function (a) { return Control_Bind.bind((dictMonadEff.Monad0()).Bind1())(Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.readRef(v3))))(function (v4) { if (v4 instanceof Data_Maybe.Nothing) { return Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.writeRef(v2)(new Data_Maybe.Just(a)))); }; if (v4 instanceof Data_Maybe.Just) { return k(a(v4.value0)); }; throw new Error("Failed pattern match at Control.Parallel.Class line 81, column 7 - line 83, column 26: " + [ v4.constructor.name ]); }); }))(function () { return Control_Monad_Cont_Trans.runContT(v1)(function (b) { return Control_Bind.bind((dictMonadEff.Monad0()).Bind1())(Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.readRef(v2))))(function (v4) { if (v4 instanceof Data_Maybe.Nothing) { return Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.writeRef(v3)(new Data_Maybe.Just(b)))); }; if (v4 instanceof Data_Maybe.Just) { return k(v4.value0(b)); }; throw new Error("Failed pattern match at Control.Parallel.Class line 87, column 7 - line 89, column 26: " + [ v4.constructor.name ]); }); }); }); }); }); }); }; }); }; var applicativeParCont = function (dictMonadEff) { return new Control_Applicative.Applicative(function () { return applyParCont(dictMonadEff); }, function ($55) { return parallel(monadParParCont(dictMonadEff))(Control_Applicative.pure(Control_Monad_Cont_Trans.applicativeContT((dictMonadEff.Monad0()).Applicative0()))($55)); }); }; var altParCont = function (dictMonadEff) { return new Control_Alt.Alt(function () { return functorParCont(dictMonadEff); }, function (v) { return function (v1) { return ParCont(function (k) { return Control_Bind.bind((dictMonadEff.Monad0()).Bind1())(Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.newRef(false))))(function (v2) { return Control_Bind.discard(Control_Bind.discardUnit)((dictMonadEff.Monad0()).Bind1())(Control_Monad_Cont_Trans.runContT(v)(function (a) { return Control_Bind.bind((dictMonadEff.Monad0()).Bind1())(Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.readRef(v2))))(function (v3) { if (v3) { return Control_Applicative.pure((dictMonadEff.Monad0()).Applicative0())(Data_Unit.unit); }; return Control_Bind.discard(Control_Bind.discardUnit)((dictMonadEff.Monad0()).Bind1())(Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.writeRef(v2)(true))))(function () { return k(a); }); }); }))(function () { return Control_Monad_Cont_Trans.runContT(v1)(function (a) { return Control_Bind.bind((dictMonadEff.Monad0()).Bind1())(Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.readRef(v2))))(function (v3) { if (v3) { return Control_Applicative.pure((dictMonadEff.Monad0()).Applicative0())(Data_Unit.unit); }; return Control_Bind.discard(Control_Bind.discardUnit)((dictMonadEff.Monad0()).Bind1())(Control_Monad_Eff_Class.liftEff(dictMonadEff)(unsafeWithRef(Control_Monad_Eff_Ref.writeRef(v2)(true))))(function () { return k(a); }); }); }); }); }); }); }; }); }; var plusParCont = function (dictMonadEff) { return new Control_Plus.Plus(function () { return altParCont(dictMonadEff); }, ParCont(function (v) { return Control_Applicative.pure((dictMonadEff.Monad0()).Applicative0())(Data_Unit.unit); })); }; var alternativeParCont = function (dictMonadEff) { return new Control_Alternative.Alternative(function () { return applicativeParCont(dictMonadEff); }, function () { return plusParCont(dictMonadEff); }); }; exports["ParCont"] = ParCont; exports["Parallel"] = Parallel; exports["parallel"] = parallel; exports["sequential"] = sequential; exports["monadParExceptT"] = monadParExceptT; exports["monadParReaderT"] = monadParReaderT; exports["monadParWriterT"] = monadParWriterT; exports["monadParMaybeT"] = monadParMaybeT; exports["newtypeParCont"] = newtypeParCont; exports["functorParCont"] = functorParCont; exports["applyParCont"] = applyParCont; exports["applicativeParCont"] = applicativeParCont; exports["altParCont"] = altParCont; exports["plusParCont"] = plusParCont; exports["alternativeParCont"] = alternativeParCont; exports["monadParParCont"] = monadParParCont; })(PS["Control.Parallel.Class"] = PS["Control.Parallel.Class"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Parallel_Class = PS["Control.Parallel.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; // | Traverse a collection in parallel, discarding any results. var parTraverse_ = function (dictParallel) { return function (dictFoldable) { return function (f) { return function ($8) { return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($9) { return Control_Parallel_Class.parallel(dictParallel)(f($9)); })($8)); }; }; }; }; // | Traverse a collection in parallel. var parTraverse = function (dictParallel) { return function (dictTraversable) { return function (f) { return function ($10) { return Control_Parallel_Class.sequential(dictParallel)(Data_Traversable.traverse(dictTraversable)(dictParallel.Applicative1())(function ($11) { return Control_Parallel_Class.parallel(dictParallel)(f($11)); })($10)); }; }; }; }; var parSequence_ = function (dictParallel) { return function (dictFoldable) { return parTraverse_(dictParallel)(dictFoldable)(Control_Category.id(Control_Category.categoryFn)); }; }; var parSequence = function (dictParallel) { return function (dictTraversable) { return parTraverse(dictParallel)(dictTraversable)(Control_Category.id(Control_Category.categoryFn)); }; }; exports["parSequence"] = parSequence; exports["parSequence_"] = parSequence_; exports["parTraverse"] = parTraverse; exports["parTraverse_"] = parTraverse_; })(PS["Control.Parallel"] = PS["Control.Parallel"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Newtype = PS["Data.Newtype"]; var Prelude = PS["Prelude"]; // | A `Profunctor` is a `Functor` from the pair category `(Type^op, Type)` // | to `Type`. // | // | In other words, a `Profunctor` is a type constructor of two type // | arguments, which is contravariant in its first argument and covariant // | in its second argument. // | // | The `dimap` function can be used to map functions over both arguments // | simultaneously. // | // | A straightforward example of a profunctor is the function arrow `(->)`. // | // | Laws: // | // | - Identity: `dimap id id = id` // | - Composition: `dimap f1 g1 <<< dimap f2 g2 = dimap (f1 >>> f2) (g1 <<< g2)` var Profunctor = function (dimap) { this.dimap = dimap; }; var profunctorFn = new Profunctor(function (a2b) { return function (c2d) { return function (b2c) { return function ($9) { return c2d(b2c(a2b($9))); }; }; }; }); var dimap = function (dict) { return dict.dimap; }; // | Map a function over the (contravariant) first type argument only. var lmap = function (dictProfunctor) { return function (a2b) { return dimap(dictProfunctor)(a2b)(Control_Category.id(Control_Category.categoryFn)); }; }; // | Map a function over the (covariant) second type argument only. var rmap = function (dictProfunctor) { return function (b2c) { return dimap(dictProfunctor)(Control_Category.id(Control_Category.categoryFn))(b2c); }; }; var unwrapIso = function (dictProfunctor) { return function (dictNewtype) { return dimap(dictProfunctor)(Data_Newtype.wrap(dictNewtype))(Data_Newtype.unwrap(dictNewtype)); }; }; var wrapIso = function (dictProfunctor) { return function (dictNewtype) { return function (v) { return dimap(dictProfunctor)(Data_Newtype.unwrap(dictNewtype))(Data_Newtype.wrap(dictNewtype)); }; }; }; // | Lift a pure function into any `Profunctor` which is also a `Category`. var arr = function (dictCategory) { return function (dictProfunctor) { return function (f) { return rmap(dictProfunctor)(f)(Control_Category.id(dictCategory)); }; }; }; exports["Profunctor"] = Profunctor; exports["arr"] = arr; exports["dimap"] = dimap; exports["lmap"] = lmap; exports["rmap"] = rmap; exports["unwrapIso"] = unwrapIso; exports["wrapIso"] = wrapIso; exports["profunctorFn"] = profunctorFn; })(PS["Data.Profunctor"] = PS["Data.Profunctor"] || {}); (function(exports) { // | This module defines types and functions for working with coroutines. // | Coroutines are defined based on some underlying functor, which means that // | the same machinery can be used for coroutines which emit values, await values, // | fork, join, or any combination. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad_Except = PS["Control.Monad.Except"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Parallel = PS["Control.Parallel"]; var Control_Parallel_Class = PS["Control.Parallel.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Identity = PS["Data.Identity"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | A generating functor for transforming input values into output values. var Transform = function (x) { return x; }; // | A generating functor for emitting output values. var Emit = (function () { function Emit(value0, value1) { this.value0 = value0; this.value1 = value1; }; Emit.create = function (value0) { return function (value1) { return new Emit(value0, value1); }; }; return Emit; })(); // | A generating functor which yields a value before waiting for an input. var CoTransform = (function () { function CoTransform(value0, value1) { this.value0 = value0; this.value1 = value1; }; CoTransform.create = function (value0) { return function (value1) { return new CoTransform(value0, value1); }; }; return CoTransform; })(); // | A generating functor for awaiting input values. var Await = function (x) { return x; }; // | Run a `Process` to completion. var runProcess = function (dictMonadRec) { return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186)); }); }; var profunctorAwait = new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v); }; }; }); // | Loop until the computation returns a `Just`. var loop = function (dictFunctor) { return function (dictMonad) { return function (me) { return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) { return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me); })(Data_Unit.unit); }; }; }; // | Fuse two `Co`routines with a bias to the left. var fuseWithL = function (dictFunctor) { return function (dictFunctor1) { return function (dictFunctor2) { return function (dictMonadRec) { return function (zap) { return function (fs) { return function (gs) { var go = function (v) { return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) { return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) { return Control_Monad_Free_Trans.freeT(function (v3) { return go(t); }); })(zap(Data_Tuple.Tuple.create)(v1)(v2))); }); })); }; return Control_Monad_Free_Trans.freeT(function (v) { return go(new Data_Tuple.Tuple(fs, gs)); }); }; }; }; }; }; }; }; // | Fuse two `Co`routines. var fuseWith = function (dictFunctor) { return function (dictFunctor1) { return function (dictFunctor2) { return function (dictMonadRec) { return function (dictParallel) { return function (zap) { return function (fs) { return function (gs) { var go = function (v) { return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) { if (v1 instanceof Data_Either.Left) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0)); }; if (v1 instanceof Data_Either.Right) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) { return Control_Monad_Free_Trans.freeT(function (v2) { return go(t); }); })(v1.value0))); }; throw new Error("Failed pattern match at Control.Coroutine line 80, column 5 - line 82, column 63: " + [ v1.constructor.name ]); }); }; return Control_Monad_Free_Trans.freeT(function (v) { return go(new Data_Tuple.Tuple(fs, gs)); }); }; }; }; }; }; }; }; }; var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait)); // | Run two consumers together var joinConsumers = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorAwait)(functorAwait)(functorAwait)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { return function (v2) { return f(v(v2.value0))(v1(v2.value1)); }; }; }; }); }; }; var bifunctorTransform = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { return function ($187) { return Data_Bifunctor.bimap(Data_Tuple.bifunctorTuple)(f)(g)(v($187)); }; }; }; }); var functorTransform = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorTransform)); // | Compose transformers var composeTransformers = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorTransform)(functorTransform)(functorTransform)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { return function (i) { var v2 = v(i); var v3 = v1(v2.value0); return new Data_Tuple.Tuple(v3.value0, f(v2.value1)(v3.value1)); }; }; }; }); }; }; // | Transform input values. var transform = function (dictMonad) { return function (f) { return Control_Monad_Free_Trans.liftFreeT(functorTransform)(dictMonad)(function (i) { return new Data_Tuple.Tuple(f(i), Data_Unit.unit); }); }; }; // | Transform a consumer. var transformConsumer = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorTransform)(functorAwait)(functorAwait)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { return function (i) { var v2 = v(i); return f(v2.value1)(v1(v2.value0)); }; }; }; }); }; }; var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { return new Emit(f(v.value0), g(v.value1)); }; }; }); var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit)); // | Connect a producer and a consumer. var connect = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { return f(v.value1)(v1(v.value0)); }; }; }); }; }; // | Emit an output value. var emit = function (dictMonad) { return function (o) { return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit)); }; }; // | Run two producers together. var joinProducers = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorEmit)(functorEmit)(functorEmit)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { return new Emit(new Data_Tuple.Tuple(v.value0, v1.value0), f(v.value1)(v1.value1)); }; }; }); }; }; // | Create a `Producer` by providing a monadic function that produces values. // | // | The function should return a value of type `r` at most once, when the // | `Producer` is ready to close. var producer = function (dictMonad) { return function (recv) { return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) { if (v instanceof Data_Either.Left) { return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value); }; if (v instanceof Data_Either.Right) { return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0)); }; throw new Error("Failed pattern match at Control.Coroutine line 126, column 3 - line 128, column 29: " + [ v.constructor.name ]); })); }; }; // | Connect a producer and a consumer so that the consumer pulls from the // | producer. This means the process ends immediately when the consumer closes. var pullFrom = function (dictMonadRec) { return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) { return function (v) { return function (v1) { return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1)); }; }; }); }; // | Transform a producer. var transformProducer = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorEmit)(functorTransform)(functorEmit)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { var v2 = v1(v.value0); return new Emit(v2.value0, f(v.value1)(v2.value1)); }; }; }); }; }; var bifunctorCoTransform = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { return new CoTransform(f(v.value0), function ($188) { return g(v.value1($188)); }); }; }; }); var functorCoTransform = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorCoTransform)); // | Compose cotransformers var composeCoTransformers = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorCoTransform)(functorCoTransform)(functorCoTransform)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { return new CoTransform(v1.value0, function (i) { return f(v.value1(i))(v1.value1(v.value0)); }); }; }; }); }; }; // | Cotransform input values. var cotransform = function (dictMonad) { return function (o) { return Control_Monad_Free_Trans.freeT(function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(new CoTransform(o, Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorCoTransform)(dictMonad))))); }); }; }; // | Fuse a transformer and a cotransformer. var fuseCoTransform = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorTransform)(functorCoTransform)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { var v2 = v(v1.value0); return f(v2.value1)(v1.value1(v2.value0)); }; }; }); }; }; // | Transform a `CoTransformer` on the left. var transformCoTransformL = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorTransform)(functorCoTransform)(functorCoTransform)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { return new CoTransform(v1.value0, function (i1) { var v2 = v(i1); return f(v2.value1)(v1.value1(v2.value0)); }); }; }; }); }; }; // | Transform a `CoTransformer` on the right. var transformCoTransformR = function (dictMonadRec) { return function (dictParallel) { return fuseWith(functorCoTransform)(functorTransform)(functorCoTransform)(dictMonadRec)(dictParallel)(function (f) { return function (v) { return function (v1) { var v2 = v1(v.value0); return new CoTransform(v2.value0, function ($189) { return (function (v3) { return f(v3)(v2.value1); })(v.value1($189)); }); }; }; }); }; }; // | Await an input value. var $$await = function (dictMonad) { return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.id(Control_Category.categoryFn)); }; // | Create a `Consumer` by providing a handler function which consumes values. // | // | The handler function should return a value of type `r` at most once, when the // | `Consumer` is ready to close. var consumer = function (dictMonad) { return function (send) { return loop(functorAwait)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorAwait)(dictMonad))($$await(dictMonad))(function (v) { return Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorAwait))(dictMonad)(send(v)); })); }; }; exports["Await"] = Await; exports["CoTransform"] = CoTransform; exports["Emit"] = Emit; exports["Transform"] = Transform; exports["await"] = $$await; exports["composeCoTransformers"] = composeCoTransformers; exports["composeTransformers"] = composeTransformers; exports["connect"] = connect; exports["consumer"] = consumer; exports["cotransform"] = cotransform; exports["emit"] = emit; exports["fuseCoTransform"] = fuseCoTransform; exports["fuseWith"] = fuseWith; exports["fuseWithL"] = fuseWithL; exports["joinConsumers"] = joinConsumers; exports["joinProducers"] = joinProducers; exports["loop"] = loop; exports["producer"] = producer; exports["pullFrom"] = pullFrom; exports["runProcess"] = runProcess; exports["transform"] = transform; exports["transformCoTransformL"] = transformCoTransformL; exports["transformCoTransformR"] = transformCoTransformR; exports["transformConsumer"] = transformConsumer; exports["transformProducer"] = transformProducer; exports["bifunctorEmit"] = bifunctorEmit; exports["functorEmit"] = functorEmit; exports["profunctorAwait"] = profunctorAwait; exports["functorAwait"] = functorAwait; exports["bifunctorTransform"] = bifunctorTransform; exports["functorTransform"] = functorTransform; exports["bifunctorCoTransform"] = bifunctorCoTransform; exports["functorCoTransform"] = functorCoTransform; })(PS["Control.Coroutine"] = PS["Control.Coroutine"] || {}); (function(exports) { /* globals setTimeout, clearTimeout, setImmediate, clearImmediate */ "use strict"; exports._cancelWith = function (nonCanceler, aff, canceler1) { return function (success, error) { var canceler2 = aff(success, error); return function (e) { return function (success, error) { var cancellations = 0; var result = false; var errored = false; var s = function (bool) { cancellations = cancellations + 1; result = result || bool; if (cancellations === 2 && !errored) { success(result); } }; var f = function (err) { if (!errored) { errored = true; error(err); } }; canceler2(e)(s, f); canceler1(e)(s, f); return nonCanceler; }; }; }; }; exports._delay = function (nonCanceler, millis) { var set = setTimeout; var clear = clearTimeout; if (millis <= 0 && typeof setImmediate === "function") { set = setImmediate; clear = clearImmediate; } return function (success) { var timedOut = false; var timer = set(function () { timedOut = true; success(); }, millis); return function () { return function (s) { if (timedOut) { s(false); } else { clear(timer); s(true); } return nonCanceler; }; }; }; }; exports._unsafeInterleaveAff = function (aff) { return aff; }; exports._forkAff = function (nonCanceler, aff) { var voidF = function () {}; return function (success) { var canceler = aff(voidF, voidF); success(canceler); return nonCanceler; }; }; exports._forkAll = function (nonCanceler, foldl, affs) { var voidF = function () {}; return function (success) { var cancelers = foldl(function (acc) { return function (aff) { acc.push(aff(voidF, voidF)); return acc; }; })([])(affs); var canceler = function (e) { return function (success, error) { var cancellations = 0; var result = false; var errored = false; var s = function (bool) { cancellations = cancellations + 1; result = result || bool; if (cancellations === cancelers.length && !errored) { success(result); } }; var f = function (err) { if (!errored) { errored = true; error(err); } }; for (var i = 0; i < cancelers.length; i++) { cancelers[i](e)(s, f); } return nonCanceler; }; }; success(canceler); return nonCanceler; }; }; exports._makeAff = function (cb) { return function (success, error) { try { return cb(function (e) { return function () { error(e); }; })(function (v) { return function () { success(v); }; })(); } catch (err) { error(err); } }; }; exports._pure = function (nonCanceler, v) { return function (success) { success(v); return nonCanceler; }; }; exports._throwError = function (nonCanceler, e) { return function (success, error) { error(e); return nonCanceler; }; }; exports._fmap = function (f, aff) { return function (success, error) { return aff(function (v) { success(f(v)); }, error); }; }; exports._bind = function (alwaysCanceler, aff, f) { return function (success, error) { var canceler1, canceler2; var isCanceled = false; var requestCancel = false; var onCanceler = function () {}; canceler1 = aff(function (v) { if (requestCancel) { isCanceled = true; return alwaysCanceler; } else { canceler2 = f(v)(success, error); onCanceler(canceler2); return canceler2; } }, error); return function (e) { return function (s, f) { requestCancel = true; if (canceler2 !== undefined) { return canceler2(e)(s, f); } else { return canceler1(e)(function (bool) { if (bool || isCanceled) { s(true); } else { onCanceler = function (canceler) { canceler(e)(s, f); }; } }, f); } }; }; }; }; exports._attempt = function (Left, Right, aff) { return function (success) { return aff(function (v) { success(Right(v)); }, function (e) { success(Left(e)); }); }; }; exports._runAff = function (errorT, successT, aff) { // If errorT or successT throw, and an Aff is comprised only of synchronous // effects, then it's possible for makeAff/liftEff to accidentally catch // it, which may end up rerunning the Aff depending on error recovery // behavior. To mitigate this, we observe synchronicity using mutation. If // an Aff is observed to be synchronous, we let the stack reset and run the // handlers outside of the normal callback flow. return function () { var status = 0; var result, success; var canceler = aff(function (v) { if (status === 2) { successT(v)(); } else { status = 1; result = v; success = true; } }, function (e) { if (status === 2) { errorT(e)(); } else { status = 1; result = e; success = false; } }); if (status === 1) { if (success) { successT(result)(); } else { errorT(result)(); } } else { status = 2; } return canceler; }; }; exports._liftEff = function (nonCanceler, e) { return function (success, error) { var result; try { result = e(); } catch (err) { error(err); return nonCanceler; } success(result); return nonCanceler; }; }; exports._tailRecM = function (isLeft, f, a) { return function (success, error) { return function go (acc) { var result, status, canceler; // Observes synchronous effects using a flag. // status = 0 (unresolved status) // status = 1 (synchronous effect) // status = 2 (asynchronous effect) var csuccess = function (v) { // If the status is still unresolved, we have observed a // synchronous effect. Otherwise, the status will be `2`. if (status === 0) { // Store the result for further synchronous processing. result = v; status = 1; } else { // When we have observed an asynchronous effect, we use normal // recursion. This is safe because we will be on a new stack. if (isLeft(v)) { go(v.value0); } else { success(v.value0); } } }; while (true) { status = 0; canceler = f(acc)(csuccess, error); // If the status has already resolved to `1` by our Aff handler, then // we have observed a synchronous effect. Otherwise it will still be // `0`. if (status === 1) { // When we have observed a synchronous effect, we merely swap out the // accumulator and continue the loop, preserving stack. if (isLeft(result)) { acc = result.value0; continue; } else { success(result.value0); } } else { // If the status has not resolved yet, then we have observed an // asynchronous effect. status = 2; } return canceler; } }(a); }; }; })(PS["Control.Monad.Aff"] = PS["Control.Monad.Aff"] || {}); (function(exports) { "use strict"; exports._makeVar = function (nonCanceler) { return function (success) { success({ consumers: [], producers: [], error: undefined }); return nonCanceler; }; }; exports._takeVar = function (nonCanceler, avar) { return function (success, error) { if (avar.error !== undefined) { error(avar.error); } else if (avar.producers.length > 0) { avar.producers.shift()(success, error); } else { avar.consumers.push({ peek: false, success: success, error: error }); } return nonCanceler; }; }; exports._tryTakeVar = function (nothing, just, nonCanceler, avar) { return function (success, error) { if (avar.error !== undefined) { error(avar.error); } else if (avar.producers.length > 0) { avar.producers.shift()(function (x) { return success(just(x)); }, error); } else { success(nothing); } return nonCanceler; }; }; exports._peekVar = function (nonCanceler, avar) { return function (success, error) { if (avar.error !== undefined) { error(avar.error); } else if (avar.producers.length > 0) { avar.producers[0](success, error); } else { avar.consumers.push({ peek: true, success: success, error: error }); } return nonCanceler; }; }; exports._tryPeekVar = function (nothing, just, nonCanceler, avar) { return function (success, error) { if (avar.error !== undefined) { error(avar.error); } else if (avar.producers.length > 0) { avar.producers[0](function (x) { return success(just(x)); }, error); } else { success(nothing); } return nonCanceler; }; }; exports._putVar = function (nonCanceler, avar, a) { return function (success, error) { if (avar.error !== undefined) { error(avar.error); } else { var shouldQueue = true; var consumers = []; var consumer; while (true) { consumer = avar.consumers.shift(); if (consumer) { consumers.push(consumer); if (consumer.peek) { continue; } else { shouldQueue = false; } } break; } if (shouldQueue) { avar.producers.push(function (success) { success(a); return nonCanceler; }); } for (var i = 0; i < consumers.length; i++) { consumers[i].success(a); } success({}); } return nonCanceler; }; }; exports._killVar = function (nonCanceler, avar, e) { return function (success, error) { if (avar.error !== undefined) { error(avar.error); } else { avar.error = e; while (avar.consumers.length) { avar.consumers.shift().error(e); } success({}); } return nonCanceler; }; }; })(PS["Control.Monad.Aff.Internal"] = PS["Control.Monad.Aff.Internal"] || {}); (function(exports) { "use strict"; exports.showErrorImpl = function (err) { return err.stack || err.toString(); }; exports.error = function (msg) { return new Error(msg); }; exports.message = function (e) { return e.message; }; exports.stackImpl = function (just) { return function (nothing) { return function (e) { return e.stack ? just(e.stack) : nothing; }; }; }; exports.throwException = function (e) { return function () { throw e; }; }; exports.catchException = function (c) { return function (t) { return function () { try { return t(); } catch (e) { if (e instanceof Error || Object.prototype.toString.call(e) === "[object Error]") { return c(e)(); } else { return c(new Error(e.toString()))(); } } }; }; }; })(PS["Control.Monad.Eff.Exception"] = PS["Control.Monad.Eff.Exception"] || {}); (function(exports) { // | This module defines an effect, actions and handlers for working // | with JavaScript exceptions. "use strict"; var $foreign = PS["Control.Monad.Eff.Exception"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Runs an Eff and returns eventual Exceptions as a `Left` value. If the // | computation succeeds the result gets wrapped in a `Right`. // | // | For example: // | // | ```purescript // | -- Notice that there is no EXCEPTION effect // | main :: forall eff. Eff (console :: CONSOLE, fs :: FS | eff) Unit // | main = do // | result <- try (readTextFile UTF8 "README.md") // | case result of // | Right lines -> // | Console.log ("README: \n" <> lines ) // | Left error -> // | Console.error ("Couldn't open README.md. Error was: " <> show error) // | ``` var $$try = function (action) { return $foreign.catchException(function ($0) { return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Either.Left.create($0)); })(Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Either.Right.create)(action)); }; // | A shortcut allowing you to throw an error in one step. Defined as // | `throwException <<< error`. var $$throw = function ($1) { return $foreign.throwException($foreign.error($1)); }; // | Get the stack trace from a JavaScript error var stack = $foreign.stackImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); var showError = new Data_Show.Show($foreign.showErrorImpl); exports["stack"] = stack; exports["throw"] = $$throw; exports["try"] = $$try; exports["showError"] = showError; exports["catchException"] = $foreign.catchException; exports["error"] = $foreign.error; exports["message"] = $foreign.message; exports["throwException"] = $foreign.throwException; })(PS["Control.Monad.Eff.Exception"] = PS["Control.Monad.Eff.Exception"] || {}); (function(exports) { "use strict"; // module Data.Function.Uncurried exports.mkFn0 = function (fn) { return function () { return fn({}); }; }; exports.mkFn2 = function (fn) { /* jshint maxparams: 2 */ return function (a, b) { return fn(a)(b); }; }; exports.mkFn3 = function (fn) { /* jshint maxparams: 3 */ return function (a, b, c) { return fn(a)(b)(c); }; }; exports.mkFn4 = function (fn) { /* jshint maxparams: 4 */ return function (a, b, c, d) { return fn(a)(b)(c)(d); }; }; exports.mkFn5 = function (fn) { /* jshint maxparams: 5 */ return function (a, b, c, d, e) { return fn(a)(b)(c)(d)(e); }; }; exports.mkFn6 = function (fn) { /* jshint maxparams: 6 */ return function (a, b, c, d, e, f) { return fn(a)(b)(c)(d)(e)(f); }; }; exports.mkFn7 = function (fn) { /* jshint maxparams: 7 */ return function (a, b, c, d, e, f, g) { return fn(a)(b)(c)(d)(e)(f)(g); }; }; exports.mkFn8 = function (fn) { /* jshint maxparams: 8 */ return function (a, b, c, d, e, f, g, h) { return fn(a)(b)(c)(d)(e)(f)(g)(h); }; }; exports.mkFn9 = function (fn) { /* jshint maxparams: 9 */ return function (a, b, c, d, e, f, g, h, i) { return fn(a)(b)(c)(d)(e)(f)(g)(h)(i); }; }; exports.mkFn10 = function (fn) { /* jshint maxparams: 10 */ return function (a, b, c, d, e, f, g, h, i, j) { return fn(a)(b)(c)(d)(e)(f)(g)(h)(i)(j); }; }; exports.runFn0 = function (fn) { return fn(); }; exports.runFn2 = function (fn) { return function (a) { return function (b) { return fn(a, b); }; }; }; exports.runFn3 = function (fn) { return function (a) { return function (b) { return function (c) { return fn(a, b, c); }; }; }; }; exports.runFn4 = function (fn) { return function (a) { return function (b) { return function (c) { return function (d) { return fn(a, b, c, d); }; }; }; }; }; exports.runFn5 = function (fn) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return fn(a, b, c, d, e); }; }; }; }; }; }; exports.runFn6 = function (fn) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return fn(a, b, c, d, e, f); }; }; }; }; }; }; }; exports.runFn7 = function (fn) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return fn(a, b, c, d, e, f, g); }; }; }; }; }; }; }; }; exports.runFn8 = function (fn) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return fn(a, b, c, d, e, f, g, h); }; }; }; }; }; }; }; }; }; exports.runFn9 = function (fn) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return fn(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; }; }; }; exports.runFn10 = function (fn) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return function (j) { return fn(a, b, c, d, e, f, g, h, i, j); }; }; }; }; }; }; }; }; }; }; }; })(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Function.Uncurried"]; var Data_Unit = PS["Data.Unit"]; // | Apply a function of one argument var runFn1 = function (f) { return f; }; // | Create a function of one argument var mkFn1 = function (f) { return f; }; exports["mkFn1"] = mkFn1; exports["runFn1"] = runFn1; exports["mkFn0"] = $foreign.mkFn0; exports["mkFn10"] = $foreign.mkFn10; exports["mkFn2"] = $foreign.mkFn2; exports["mkFn3"] = $foreign.mkFn3; exports["mkFn4"] = $foreign.mkFn4; exports["mkFn5"] = $foreign.mkFn5; exports["mkFn6"] = $foreign.mkFn6; exports["mkFn7"] = $foreign.mkFn7; exports["mkFn8"] = $foreign.mkFn8; exports["mkFn9"] = $foreign.mkFn9; exports["runFn0"] = $foreign.runFn0; exports["runFn10"] = $foreign.runFn10; exports["runFn2"] = $foreign.runFn2; exports["runFn3"] = $foreign.runFn3; exports["runFn4"] = $foreign.runFn4; exports["runFn5"] = $foreign.runFn5; exports["runFn6"] = $foreign.runFn6; exports["runFn7"] = $foreign.runFn7; exports["runFn8"] = $foreign.runFn8; exports["runFn9"] = $foreign.runFn9; })(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {}); (function(exports) { "use strict"; var $foreign = PS["Control.Monad.Aff.Internal"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Maybe = PS["Data.Maybe"]; var Prelude = PS["Prelude"]; exports["_killVar"] = $foreign._killVar; exports["_makeVar"] = $foreign._makeVar; exports["_peekVar"] = $foreign._peekVar; exports["_putVar"] = $foreign._putVar; exports["_takeVar"] = $foreign._takeVar; exports["_tryPeekVar"] = $foreign._tryPeekVar; exports["_tryTakeVar"] = $foreign._tryTakeVar; })(PS["Control.Monad.Aff.Internal"] = PS["Control.Monad.Aff.Internal"] || {}); (function(exports) { "use strict"; // module Data.Generic exports.zipAll = function (f) { return function (xs) { return function (ys) { var l = xs.length < ys.length ? xs.length : ys.length; for (var i = 0; i < l; i++) { if (!f(xs[i])(ys[i])) { return false; } } return true; }; }; }; exports.zipCompare = function (f) { return function (xs) { return function (ys) { var i = 0; var xlen = xs.length; var ylen = ys.length; while (i < xlen && i < ylen) { var o = f(xs[i])(ys[i]); if (o !== 0) { return o; } i++; } if (xlen === ylen) { return 0; } else if (xlen > ylen) { return -1; } else { return 1; } }; }; }; })(PS["Data.Generic"] = PS["Data.Generic"] || {}); (function(exports) { "use strict"; //------------------------------------------------------------------------------ // Array creation -------------------------------------------------------------- //------------------------------------------------------------------------------ exports.range = function (start) { return function (end) { var step = start > end ? -1 : 1; var result = []; var i = start, n = 0; while (i !== end) { result[n++] = i; i += step; } result[n] = i; return result; }; }; var replicate = function (count) { return function (value) { if (count < 1) { return []; } var result = new Array(count); return result.fill(value); }; }; var replicatePolyfill = function (count) { return function (value) { var result = []; var n = 0; for (var i = 0; i < count; i++) { result[n++] = value; } return result; }; }; // In browsers that have Array.prototype.fill we use it, as it's faster. exports.replicate = typeof Array.prototype.fill === "function" ? replicate : replicatePolyfill; exports.fromFoldableImpl = (function () { // jshint maxparams: 2 function Cons(head, tail) { this.head = head; this.tail = tail; } var emptyList = {}; function curryCons(head) { return function (tail) { return new Cons(head, tail); }; } function listToArray(list) { var result = []; var count = 0; var xs = list; while (xs !== emptyList) { result[count++] = xs.head; xs = xs.tail; } return result; } return function (foldr) { return function (xs) { return listToArray(foldr(curryCons)(emptyList)(xs)); }; }; })(); //------------------------------------------------------------------------------ // Array size ------------------------------------------------------------------ //------------------------------------------------------------------------------ exports.length = function (xs) { return xs.length; }; //------------------------------------------------------------------------------ // Extending arrays ------------------------------------------------------------ //------------------------------------------------------------------------------ exports.cons = function (e) { return function (l) { return [e].concat(l); }; }; exports.snoc = function (l) { return function (e) { var l1 = l.slice(); l1.push(e); return l1; }; }; //------------------------------------------------------------------------------ // Non-indexed reads ----------------------------------------------------------- //------------------------------------------------------------------------------ exports["uncons'"] = function (empty) { return function (next) { return function (xs) { return xs.length === 0 ? empty({}) : next(xs[0])(xs.slice(1)); }; }; }; //------------------------------------------------------------------------------ // Indexed operations ---------------------------------------------------------- //------------------------------------------------------------------------------ exports.indexImpl = function (just) { return function (nothing) { return function (xs) { return function (i) { return i < 0 || i >= xs.length ? nothing : just(xs[i]); }; }; }; }; exports.findIndexImpl = function (just) { return function (nothing) { return function (f) { return function (xs) { for (var i = 0, l = xs.length; i < l; i++) { if (f(xs[i])) return just(i); } return nothing; }; }; }; }; exports.findLastIndexImpl = function (just) { return function (nothing) { return function (f) { return function (xs) { for (var i = xs.length - 1; i >= 0; i--) { if (f(xs[i])) return just(i); } return nothing; }; }; }; }; exports._insertAt = function (just) { return function (nothing) { return function (i) { return function (a) { return function (l) { if (i < 0 || i > l.length) return nothing; var l1 = l.slice(); l1.splice(i, 0, a); return just(l1); }; }; }; }; }; exports._deleteAt = function (just) { return function (nothing) { return function (i) { return function (l) { if (i < 0 || i >= l.length) return nothing; var l1 = l.slice(); l1.splice(i, 1); return just(l1); }; }; }; }; exports._updateAt = function (just) { return function (nothing) { return function (i) { return function (a) { return function (l) { if (i < 0 || i >= l.length) return nothing; var l1 = l.slice(); l1[i] = a; return just(l1); }; }; }; }; }; //------------------------------------------------------------------------------ // Transformations ------------------------------------------------------------- //------------------------------------------------------------------------------ exports.reverse = function (l) { return l.slice().reverse(); }; exports.concat = function (xss) { if (xss.length <= 10000) { // This method is faster, but it crashes on big arrays. // So we use it when can and fallback to simple variant otherwise. return Array.prototype.concat.apply([], xss); } var result = []; for (var i = 0, l = xss.length; i < l; i++) { var xs = xss[i]; for (var j = 0, m = xs.length; j < m; j++) { result.push(xs[j]); } } return result; }; exports.filter = function (f) { return function (xs) { return xs.filter(f); }; }; exports.partition = function (f) { return function (xs) { var yes = []; var no = []; for (var i = 0; i < xs.length; i++) { var x = xs[i]; if (f(x)) yes.push(x); else no.push(x); } return { yes: yes, no: no }; }; }; //------------------------------------------------------------------------------ // Sorting --------------------------------------------------------------------- //------------------------------------------------------------------------------ exports.sortImpl = function (f) { return function (l) { // jshint maxparams: 2 return l.slice().sort(function (x, y) { return f(x)(y); }); }; }; //------------------------------------------------------------------------------ // Subarrays ------------------------------------------------------------------- //------------------------------------------------------------------------------ exports.slice = function (s) { return function (e) { return function (l) { return l.slice(s, e); }; }; }; exports.take = function (n) { return function (l) { return n < 1 ? [] : l.slice(0, n); }; }; exports.drop = function (n) { return function (l) { return n < 1 ? l : l.slice(n); }; }; //------------------------------------------------------------------------------ // Zipping --------------------------------------------------------------------- //------------------------------------------------------------------------------ exports.zipWith = function (f) { return function (xs) { return function (ys) { var l = xs.length < ys.length ? xs.length : ys.length; var result = new Array(l); for (var i = 0; i < l; i++) { result[i] = f(xs[i])(ys[i]); } return result; }; }; }; //------------------------------------------------------------------------------ // Partial --------------------------------------------------------------------- //------------------------------------------------------------------------------ exports.unsafeIndexImpl = function (xs) { return function (n) { return xs[n]; }; }; })(PS["Data.Array"] = PS["Data.Array"] || {}); (function(exports) { "use strict"; exports.runSTArray = function (f) { return f; }; exports.emptySTArray = function () { return []; }; exports.peekSTArrayImpl = function (just) { return function (nothing) { return function (xs) { return function (i) { return function () { return i >= 0 && i < xs.length ? just(xs[i]) : nothing; }; }; }; }; }; exports.pokeSTArray = function (xs) { return function (i) { return function (a) { return function () { var ret = i >= 0 && i < xs.length; if (ret) xs[i] = a; return ret; }; }; }; }; exports.pushAllSTArray = function (xs) { return function (as) { return function () { return xs.push.apply(xs, as); }; }; }; exports.spliceSTArray = function (xs) { return function (i) { return function (howMany) { return function (bs) { return function () { return xs.splice.apply(xs, [i, howMany].concat(bs)); }; }; }; }; }; exports.copyImpl = function (xs) { return function () { return xs.slice(); }; }; exports.toAssocArray = function (xs) { return function () { var n = xs.length; var as = new Array(n); for (var i = 0; i < n; i++) as[i] = { value: xs[i], index: i }; return as; }; }; })(PS["Data.Array.ST"] = PS["Data.Array.ST"] || {}); (function(exports) { // | Helper functions for working with mutable arrays using the `ST` effect. // | // | This module can be used when performance is important and mutation is a local effect. "use strict"; var $foreign = PS["Data.Array.ST"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_ST = PS["Control.Monad.ST"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Maybe = PS["Data.Maybe"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; // | O(1). Convert a mutable array to an immutable array, without copying. The mutable // | array must not be mutated afterwards. var unsafeFreeze = function ($7) { return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Unsafe_Coerce.unsafeCoerce($7)); }; // | Create a mutable copy of an immutable array. var thaw = $foreign.copyImpl; // | Perform an effect requiring a mutable array on a copy of an immutable array, // | safely returning the result as an immutable array. var withArray = function (f) { return function (xs) { return function __do() { var v = thaw(xs)(); var v1 = f(v)(); return unsafeFreeze(v)(); }; }; }; // | Append an element to the end of a mutable array. Returns the new length of // | the array. var pushSTArray = function (arr) { return function (a) { return $foreign.pushAllSTArray(arr)([ a ]); }; }; // | Read the value at the specified index in a mutable array. var peekSTArray = $foreign.peekSTArrayImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Mutate the element at the specified index using the supplied function. var modifySTArray = function (xs) { return function (i) { return function (f) { return function __do() { var v = peekSTArray(xs)(i)(); if (v instanceof Data_Maybe.Just) { return $foreign.pokeSTArray(xs)(i)(f(v.value0))(); }; if (v instanceof Data_Maybe.Nothing) { return false; }; throw new Error("Failed pattern match at Data.Array.ST line 120, column 3 - line 122, column 26: " + [ v.constructor.name ]); }; }; }; }; // | Create an immutable copy of a mutable array. var freeze = $foreign.copyImpl; exports["freeze"] = freeze; exports["modifySTArray"] = modifySTArray; exports["peekSTArray"] = peekSTArray; exports["pushSTArray"] = pushSTArray; exports["thaw"] = thaw; exports["unsafeFreeze"] = unsafeFreeze; exports["withArray"] = withArray; exports["emptySTArray"] = $foreign.emptySTArray; exports["pokeSTArray"] = $foreign.pokeSTArray; exports["pushAllSTArray"] = $foreign.pushAllSTArray; exports["runSTArray"] = $foreign.runSTArray; exports["spliceSTArray"] = $foreign.spliceSTArray; exports["toAssocArray"] = $foreign.toAssocArray; })(PS["Data.Array.ST"] = PS["Data.Array.ST"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_ST = PS["Control.Monad.ST"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Array_ST = PS["Data.Array.ST"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Semiring = PS["Data.Semiring"]; var Prelude = PS["Prelude"]; // | This type provides a slightly easier way of iterating over an array's // | elements in an STArray computation, without having to keep track of // | indices. var Iterator = (function () { function Iterator(value0, value1) { this.value0 = value0; this.value1 = value1; }; Iterator.create = function (value0) { return function (value1) { return new Iterator(value0, value1); }; }; return Iterator; })(); // | Get the next item out of an iterator without advancing it. var peek = function (v) { return function __do() { var v1 = Control_Monad_ST.readSTRef(v.value1)(); return v.value0(v1); }; }; // | Get the next item out of an iterator, advancing it. Returns Nothing if the // | Iterator is exhausted. var next = function (v) { return function __do() { var v1 = Control_Monad_ST.readSTRef(v.value1)(); var v2 = Control_Monad_ST.modifySTRef(v.value1)(function (v2) { return v2 + 1 | 0; })(); return v.value0(v1); }; }; // | Extract elements from an iterator and push them on to an STArray for as // | long as those elements satisfy a given predicate. var pushWhile = function (p) { return function (iter) { return function (array) { return function __do() { var v = Control_Monad_ST.newSTRef(false)(); while (Data_Functor.map(Control_Monad_Eff.functorEff)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean))(Control_Monad_ST.readSTRef(v))()) { (function __do() { var v1 = peek(iter)(); if (v1 instanceof Data_Maybe.Just && p(v1.value0)) { var v2 = Data_Array_ST.pushSTArray(array)(v1.value0)(); return Data_Functor["void"](Control_Monad_Eff.functorEff)(next(iter))(); }; return Data_Functor["void"](Control_Monad_Eff.functorEff)(Control_Monad_ST.writeSTRef(v)(true))(); })(); }; return {}; }; }; }; }; // | Push the entire remaining contents of an iterator onto an STArray. var pushAll = pushWhile(Data_Function["const"](true)); // | Make an Iterator given an indexing function into an array (or anything // | else). If `xs :: Array a`, the standard way to create an iterator over // | `xs` is to use `iterator (xs !! _)`, where `(!!)` comes from `Data.Array`. var iterator = function (f) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Iterator.create(f))(Control_Monad_ST.newSTRef(0)); }; // | Perform an action once for each item left in an iterator. If the action // | itself also advances the same iterator, `iterate` will miss those items // | out. var iterate = function (iter) { return function (f) { return function __do() { var v = Control_Monad_ST.newSTRef(false)(); while (Data_Functor.map(Control_Monad_Eff.functorEff)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean))(Control_Monad_ST.readSTRef(v))()) { (function __do() { var v1 = next(iter)(); if (v1 instanceof Data_Maybe.Just) { return f(v1.value0)(); }; if (v1 instanceof Data_Maybe.Nothing) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(Control_Monad_ST.writeSTRef(v)(true))(); }; throw new Error("Failed pattern match at Data.Array.ST.Iterator line 39, column 5 - line 41, column 46: " + [ v1.constructor.name ]); })(); }; return {}; }; }; }; // | Check whether an iterator has been exhausted. var exhausted = function ($27) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Maybe.isNothing)(peek($27)); }; exports["exhausted"] = exhausted; exports["iterate"] = iterate; exports["iterator"] = iterator; exports["next"] = next; exports["peek"] = peek; exports["pushAll"] = pushAll; exports["pushWhile"] = pushWhile; })(PS["Data.Array.ST.Iterator"] = PS["Data.Array.ST.Iterator"] || {}); (function(exports) { // | Helper functions for working with immutable Javascript arrays. // | // | _Note_: Depending on your use-case, you may prefer to use `Data.List` or // | `Data.Sequence` instead, which might give better performance for certain // | use cases. This module is useful when integrating with JavaScript libraries // | which use arrays, but immutable arrays are not a practical data structure // | for many use cases due to their poor asymptotics. // | // | In addition to the functions in this module, Arrays have a number of // | useful instances: // | // | * `Functor`, which provides `map :: forall a b. (a -> b) -> Array a -> // | Array b` // | * `Apply`, which provides `(<*>) :: forall a b. Array (a -> b) -> Array a // | -> Array b`. This function works a bit like a Cartesian product; the // | result array is constructed by applying each function in the first // | array to each value in the second, so that the result array ends up with // | a length equal to the product of the two arguments' lengths. // | * `Bind`, which provides `(>>=) :: forall a b. (a -> Array b) -> Array a // | -> Array b` (this is the same as `concatMap`). // | * `Semigroup`, which provides `(<>) :: forall a. Array a -> Array a -> // | Array a`, for concatenating arrays. // | * `Foldable`, which provides a slew of functions for *folding* (also known // | as *reducing*) arrays down to one value. For example, // | `Data.Foldable.or` tests whether an array of `Boolean` values contains // | at least one `true` value. // | * `Traversable`, which provides the PureScript version of a for-loop, // | allowing you to iterate over an array and accumulate effects. // | "use strict"; var $foreign = PS["Data.Array"]; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_ST = PS["Control.Monad.ST"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Array_ST = PS["Data.Array.ST"]; var Data_Array_ST_Iterator = PS["Data.Array.ST.Iterator"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; // | A generalization of `zipWith` which accumulates results in some // | `Applicative` functor. var zipWithA = function (dictApplicative) { return function (f) { return function (xs) { return function (ys) { return Data_Traversable.sequence(Data_Traversable.traversableArray)(dictApplicative)($foreign.zipWith(f)(xs)(ys)); }; }; }; }; // | Takes two arrays and returns an array of corresponding pairs. // | If one input array is short, excess elements of the longer array are // | discarded. var zip = $foreign.zipWith(Data_Tuple.Tuple.create); // | Change the elements at the specified indices in index/value pairs. // | Out-of-bounds indices will have no effect. var updateAtIndices = function (dictFoldable) { return function (us) { return function (xs) { return Control_Monad_ST.pureST(Data_Array_ST.withArray(function (res) { return Data_Foldable.traverse_(Control_Monad_Eff.applicativeEff)(dictFoldable)(Data_Tuple.uncurry(Data_Array_ST.pokeSTArray(res)))(us); })(xs)); }; }; }; // | Change the element at the specified index, creating a new array, or // | returning `Nothing` if the index is out of bounds. var updateAt = $foreign._updateAt(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Find the element of an array at the specified index. var unsafeIndex = function (dictPartial) { return $foreign.unsafeIndexImpl; }; // | Break an array into its first element and remaining elements. // | // | Using `uncons` provides a way of writing code that would use cons patterns // | in Haskell or pre-PureScript 0.7: // | ``` purescript // | f (x : xs) = something // | f [] = somethingElse // | ``` // | Becomes: // | ``` purescript // | f arr = case uncons arr of // | Just { head: x, tail: xs } -> something // | Nothing -> somethingElse // | ``` var uncons = $foreign["uncons'"](Data_Function["const"](Data_Maybe.Nothing.value))(function (x) { return function (xs) { return new Data_Maybe.Just({ head: x, tail: xs }); }; }); // | Convert an `Array` into an `Unfoldable` structure. var toUnfoldable = function (dictUnfoldable) { return function (xs) { var len = $foreign.length(xs); var f = function (i) { if (i < len) { return new Data_Maybe.Just(new Data_Tuple.Tuple(unsafeIndex()(xs)(i), i + 1 | 0)); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Array line 137, column 3 - line 139, column 26: " + [ i.constructor.name ]); }; return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0); }; }; // | Get all but the first element of an array, creating a new array, or // | `Nothing` if the array is empty // | // | Running time: `O(n)` where `n` is the length of the array var tail = $foreign["uncons'"](Data_Function["const"](Data_Maybe.Nothing.value))(function (v) { return function (xs) { return new Data_Maybe.Just(xs); }; }); // | Sort the elements of an array in increasing order, where elements are // | compared using the specified partial ordering, creating a new array. var sortBy = function (comp) { return function (xs) { var comp$prime = function (x) { return function (y) { var v = comp(x)(y); if (v instanceof Data_Ordering.GT) { return 1; }; if (v instanceof Data_Ordering.EQ) { return 0; }; if (v instanceof Data_Ordering.LT) { return -1 | 0; }; throw new Error("Failed pattern match at Data.Array line 475, column 15 - line 480, column 1: " + [ v.constructor.name ]); }; }; return $foreign.sortImpl(comp$prime)(xs); }; }; // | Sort the elements of an array in increasing order, where elements are // | sorted based on a projection var sortWith = function (dictOrd) { return function (f) { return sortBy(Data_Ord.comparing(dictOrd)(f)); }; }; //------------------------------------------------------------------------------ // Sorting --------------------------------------------------------------------- //------------------------------------------------------------------------------ // | Sort the elements of an array in increasing order, creating a new array. var sort = function (dictOrd) { return function (xs) { return sortBy(Data_Ord.compare(dictOrd))(xs); }; }; // | Create an array of one element var singleton = function (a) { return [ a ]; }; //------------------------------------------------------------------------------ // Array size ------------------------------------------------------------------ //------------------------------------------------------------------------------ // | Test whether an array is empty. var $$null = function (xs) { return $foreign.length(xs) === 0; }; // | Remove the duplicates from an array, where element equality is determined // | by the specified equivalence relation, creating a new array. var nubBy = function (eq) { return function (xs) { var v = uncons(xs); if (v instanceof Data_Maybe.Just) { return $foreign.cons(v.value0.head)(nubBy(eq)($foreign.filter(function (y) { return !eq(v.value0.head)(y); })(v.value0.tail))); }; if (v instanceof Data_Maybe.Nothing) { return [ ]; }; throw new Error("Failed pattern match at Data.Array line 583, column 3 - line 585, column 18: " + [ v.constructor.name ]); }; }; // | Remove the duplicates from an array, creating a new array. var nub = function (dictEq) { return nubBy(Data_Eq.eq(dictEq)); }; // | Apply a function to the element at the specified indices, // | creating a new array. Out-of-bounds indices will have no effect. var modifyAtIndices = function (dictFoldable) { return function (is) { return function (f) { return function (xs) { return Control_Monad_ST.pureST(Data_Array_ST.withArray(function (res) { return Data_Foldable.traverse_(Control_Monad_Eff.applicativeEff)(dictFoldable)(function (i) { return Data_Array_ST.modifySTArray(res)(i)(f); })(is); })(xs)); }; }; }; }; // | Apply a function to each element in an array, supplying a generated // | zero-based index integer along with the element, creating an array // | with the new elements. var mapWithIndex = function (f) { return function (xs) { return $foreign.zipWith(f)($foreign.range(0)($foreign.length(xs) - 1 | 0))(xs); }; }; // | Attempt a computation multiple times, requiring at least one success. // | // | The `Lazy` constraint is used to generate the result lazily, to ensure // | termination. var some = function (dictAlternative) { return function (dictLazy) { return function (v) { return Control_Apply.apply((dictAlternative.Applicative0()).Apply0())(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())($foreign.cons)(v))(Control_Lazy.defer(dictLazy)(function (v1) { return many(dictAlternative)(dictLazy)(v); })); }; }; }; // | Attempt a computation multiple times, returning as many successful results // | as possible (possibly zero). // | // | The `Lazy` constraint is used to generate the result lazily, to ensure // | termination. var many = function (dictAlternative) { return function (dictLazy) { return function (v) { return Control_Alt.alt((dictAlternative.Plus1()).Alt0())(some(dictAlternative)(dictLazy)(v))(Control_Applicative.pure(dictAlternative.Applicative0())([ ])); }; }; }; // | Insert an element at the specified index, creating a new array, or // | returning `Nothing` if the index is out of bounds. var insertAt = $foreign._insertAt(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Get all but the last element of an array, creating a new array, or // | `Nothing` if the array is empty. // | // | Running time: `O(n)` where `n` is the length of the array var init = function (xs) { if ($$null(xs)) { return Data_Maybe.Nothing.value; }; if (Data_Boolean.otherwise) { return new Data_Maybe.Just($foreign.slice(0)($foreign.length(xs) - 1 | 0)(xs)); }; throw new Error("Failed pattern match at Data.Array line 249, column 1 - line 249, column 45: " + [ xs.constructor.name ]); }; //------------------------------------------------------------------------------ // Indexed operations ---------------------------------------------------------- //------------------------------------------------------------------------------ // | This function provides a safe way to read a value at a particular index // | from an array. var index = $foreign.indexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Get the last element in an array, or `Nothing` if the array is empty // | // | Running time: `O(1)`. var last = function (xs) { return index(xs)($foreign.length(xs) - 1 | 0); }; // | Break an array into its last element and all preceding elements. // | // | Running time: `O(n)` where `n` is the length of the array var unsnoc = function (xs) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (v) { return function (v1) { return { init: v, last: v1 }; }; })(init(xs)))(last(xs)); }; // | Apply a function to the element at the specified index, creating a new // | array, or returning `Nothing` if the index is out of bounds. var modifyAt = function (i) { return function (f) { return function (xs) { var go = function (x) { return updateAt(i)(f(x))(xs); }; return Data_Maybe.maybe(Data_Maybe.Nothing.value)(go)(index(xs)(i)); }; }; }; // | Split an array into two parts: // | // | 1. the longest initial subarray for which all elements satisfy the // | specified predicate // | 2. the remaining elements // | // | ```purescript // | span (\n -> n % 2 == 1) [1,3,2,4,5] == { init: [1,3], rest: [2,4,5] } // | ``` // | // | Running time: `O(n)`. var span = function (p) { return function (arr) { var go = function ($copy_i) { var $tco_done = false; var $tco_result; function $tco_loop(i) { var v = index(arr)(i); if (v instanceof Data_Maybe.Just) { var $64 = p(v.value0); if ($64) { $copy_i = i + 1 | 0; return; }; $tco_done = true; return new Data_Maybe.Just(i); }; if (v instanceof Data_Maybe.Nothing) { $tco_done = true; return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Array line 541, column 5 - line 543, column 25: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_i); }; return $tco_result; }; var breakIndex = go(0); if (breakIndex instanceof Data_Maybe.Just && breakIndex.value0 === 0) { return { init: [ ], rest: arr }; }; if (breakIndex instanceof Data_Maybe.Just) { return { init: $foreign.slice(0)(breakIndex.value0)(arr), rest: $foreign.slice(breakIndex.value0)($foreign.length(arr))(arr) }; }; if (breakIndex instanceof Data_Maybe.Nothing) { return { init: arr, rest: [ ] }; }; throw new Error("Failed pattern match at Data.Array line 528, column 3 - line 534, column 30: " + [ breakIndex.constructor.name ]); }; }; // | Calculate the longest initial subarray for which all element satisfy the // | specified predicate, creating a new array. var takeWhile = function (p) { return function (xs) { return (span(p)(xs)).init; }; }; // | Transforms an array of pairs into an array of first components and an // | array of second components. var unzip = function (xs) { return Control_Monad_ST.pureST(function __do() { var v = Data_Array_ST.emptySTArray(); var v1 = Data_Array_ST.emptySTArray(); var v2 = Data_Array_ST_Iterator.iterator(function (v2) { return index(xs)(v2); })(); Data_Array_ST_Iterator.iterate(v2)(function (v3) { return function __do() { Data_Functor["void"](Control_Monad_Eff.functorEff)(Data_Array_ST.pushSTArray(v)(v3.value0))(); return Data_Functor["void"](Control_Monad_Eff.functorEff)(Data_Array_ST.pushSTArray(v1)(v3.value1))(); }; })(); var v3 = Data_Array_ST.unsafeFreeze(v)(); var v4 = Data_Array_ST.unsafeFreeze(v1)(); return new Data_Tuple.Tuple(v3, v4); }); }; //------------------------------------------------------------------------------ // Non-indexed reads ----------------------------------------------------------- //------------------------------------------------------------------------------ // | Get the first element in an array, or `Nothing` if the array is empty // | // | Running time: `O(1)`. var head = function (xs) { return index(xs)(0); }; // | Group equal, consecutive elements of an array into arrays, using the // | specified equivalence relation to detemine equality. var groupBy = function (op) { return function (xs) { return Control_Monad_ST.pureST(function __do() { var v = Data_Array_ST.emptySTArray(); var v1 = Data_Array_ST_Iterator.iterator(function (v1) { return index(xs)(v1); })(); Data_Array_ST_Iterator.iterate(v1)(function (x) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(function __do() { var v2 = Data_Array_ST.emptySTArray(); Data_Array_ST_Iterator.pushWhile(op(x))(v1)(v2)(); var v3 = Data_Array_ST.unsafeFreeze(v2)(); return Data_Array_ST.pushSTArray(v)(new Data_NonEmpty.NonEmpty(x, v3))(); }); })(); return Data_Array_ST.unsafeFreeze(v)(); }); }; }; // | Group equal, consecutive elements of an array into arrays. // | // | ```purescript // | group [1,1,2,2,1] == [[1,1],[2,2],[1]] // | ``` var group = function (dictEq) { return function (xs) { return groupBy(Data_Eq.eq(dictEq))(xs); }; }; // | Sort and then group the elements of an array into arrays. // | // | ```purescript // | group' [1,1,2,2,1] == [[1,1,1],[2,2]] // | ``` var group$prime = function (dictOrd) { return function ($93) { return group(dictOrd.Eq0())(sort(dictOrd)($93)); }; }; // | Convert a `Foldable` structure into an `Array`. var fromFoldable = function (dictFoldable) { return $foreign.fromFoldableImpl(Data_Foldable.foldr(dictFoldable)); }; var foldRecM = function (dictMonadRec) { return function (f) { return function (a) { return function (array) { var go = function (res) { return function (i) { if (i >= $foreign.length(array)) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(res)); }; if (Data_Boolean.otherwise) { return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(f(res)(unsafeIndex()(array)(i)))(function (v) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop({ a: v, b: i + 1 | 0 })); }); }; throw new Error("Failed pattern match at Data.Array line 693, column 3 - line 697, column 42: " + [ res.constructor.name, i.constructor.name ]); }; }; return Control_Monad_Rec_Class.tailRecM2(dictMonadRec)(go)(a)(0); }; }; }; }; // | Perform a fold using a monadic step function. var foldM = function (dictMonad) { return function (f) { return function (a) { return $foreign["uncons'"](function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(a); })(function (b) { return function (bs) { return Control_Bind.bind(dictMonad.Bind1())(f(a)(b))(function (a$prime) { return foldM(dictMonad)(f)(a$prime)(bs); }); }; }); }; }; }; // | Find the last index for which a predicate holds. var findLastIndex = $foreign.findLastIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Insert an element into a sorted array, using the specified function to // | determine the ordering of elements. var insertBy = function (cmp) { return function (x) { return function (ys) { var i = Data_Maybe.maybe(0)(function (v) { return v + 1 | 0; })(findLastIndex(function (y) { return Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(x)(y))(Data_Ordering.GT.value); })(ys)); return Data_Maybe.fromJust()(insertAt(i)(x)(ys)); }; }; }; // | Insert an element into a sorted array. var insert = function (dictOrd) { return insertBy(Data_Ord.compare(dictOrd)); }; // | Find the first index for which a predicate holds. var findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Calculate the intersection of two arrays, using the specified equivalence // | relation to compare elements, creating a new array. Note that duplicates // | in the first array are preserved while duplicates in the second array are // | removed. var intersectBy = function (eq) { return function (xs) { return function (ys) { return $foreign.filter(function (x) { return Data_Maybe.isJust(findIndex(eq(x))(ys)); })(xs); }; }; }; // | Calculate the intersection of two arrays, creating a new array. Note that // | duplicates in the first array are preserved while duplicates in the second // | array are removed. var intersect = function (dictEq) { return intersectBy(Data_Eq.eq(dictEq)); }; // | Find the index of the last element equal to the specified element. var elemLastIndex = function (dictEq) { return function (x) { return findLastIndex(function (v) { return Data_Eq.eq(dictEq)(v)(x); }); }; }; // | Find the index of the first element equal to the specified element. var elemIndex = function (dictEq) { return function (x) { return findIndex(function (v) { return Data_Eq.eq(dictEq)(v)(x); }); }; }; // | Remove the longest initial subarray for which all element satisfy the // | specified predicate, creating a new array. var dropWhile = function (p) { return function (xs) { return (span(p)(xs)).rest; }; }; // | Delete the element at the specified index, creating a new array, or // | returning `Nothing` if the index is out of bounds. var deleteAt = $foreign._deleteAt(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Delete the first element of an array which matches the specified value, // | under the equivalence relation provided in the first argument, creating a // | new array. var deleteBy = function (v) { return function (v1) { return function (v2) { if (v2.length === 0) { return [ ]; }; return Data_Maybe.maybe(v2)(function (i) { return Data_Maybe.fromJust()(deleteAt(i)(v2)); })(findIndex(v(v1))(v2)); }; }; }; // | Calculate the union of two arrays, using the specified function to // | determine equality of elements. Note that duplicates in the first array // | are preserved while duplicates in the second array are removed. var unionBy = function (eq) { return function (xs) { return function (ys) { return Data_Semigroup.append(Data_Semigroup.semigroupArray)(xs)(Data_Foldable.foldl(Data_Foldable.foldableArray)(Data_Function.flip(deleteBy(eq)))(nubBy(eq)(ys))(xs)); }; }; }; // | Calculate the union of two arrays. Note that duplicates in the first array // | are preserved while duplicates in the second array are removed. // | // | Running time: `O(n^2)` var union = function (dictEq) { return unionBy(Data_Eq.eq(dictEq)); }; // | Delete the first element of an array which is equal to the specified value, // | creating a new array. // | // | Running time: `O(n)` var $$delete = function (dictEq) { return deleteBy(Data_Eq.eq(dictEq)); }; // | Delete the first occurrence of each element in the second array from the // | first array, creating a new array. // | // | Running time: `O(n*m)`, where n is the length of the first array, and m is // | the length of the second. var difference = function (dictEq) { return Data_Foldable.foldr(Data_Foldable.foldableArray)($$delete(dictEq)); }; // | Apply a function to each element in an array, and flatten the results // | into a single, new array. var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray)); // | Apply a function to each element in an array, keeping only the results // | which contain a value, creating a new array. var mapMaybe = function (f) { return concatMap(function ($94) { return Data_Maybe.maybe([ ])(singleton)(f($94)); }); }; // | Filter where the predicate returns a `Boolean` in some `Applicative`. // | // | ```purescript // | powerSet :: forall a. Array a -> Array (Array a) // | powerSet = filterA (const [true, false]) // | ``` var filterA = function (dictApplicative) { return function (p) { return function ($95) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(mapMaybe(function (v) { if (v.value1) { return new Data_Maybe.Just(v.value0); }; return Data_Maybe.Nothing.value; }))(Data_Traversable.traverse(Data_Traversable.traversableArray)(dictApplicative)(function (x) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Tuple.Tuple.create(x))(p(x)); })($95)); }; }; }; // | Filter an array of optional values, keeping only the elements which contain // | a value, creating a new array. var catMaybes = mapMaybe(Control_Category.id(Control_Category.categoryFn)); // | Update or delete the element at the specified index by applying a // | function to the current value, returning a new array or `Nothing` if the // | index is out-of-bounds. var alterAt = function (i) { return function (f) { return function (xs) { var go = function (x) { var v = f(x); if (v instanceof Data_Maybe.Nothing) { return deleteAt(i)(xs); }; if (v instanceof Data_Maybe.Just) { return updateAt(i)(v.value0)(xs); }; throw new Error("Failed pattern match at Data.Array line 390, column 10 - line 392, column 32: " + [ v.constructor.name ]); }; return Data_Maybe.maybe(Data_Maybe.Nothing.value)(go)(index(xs)(i)); }; }; }; exports["alterAt"] = alterAt; exports["catMaybes"] = catMaybes; exports["concatMap"] = concatMap; exports["delete"] = $$delete; exports["deleteAt"] = deleteAt; exports["deleteBy"] = deleteBy; exports["difference"] = difference; exports["dropWhile"] = dropWhile; exports["elemIndex"] = elemIndex; exports["elemLastIndex"] = elemLastIndex; exports["filterA"] = filterA; exports["findIndex"] = findIndex; exports["findLastIndex"] = findLastIndex; exports["foldM"] = foldM; exports["foldRecM"] = foldRecM; exports["fromFoldable"] = fromFoldable; exports["group"] = group; exports["group'"] = group$prime; exports["groupBy"] = groupBy; exports["head"] = head; exports["index"] = index; exports["init"] = init; exports["insert"] = insert; exports["insertAt"] = insertAt; exports["insertBy"] = insertBy; exports["intersect"] = intersect; exports["intersectBy"] = intersectBy; exports["last"] = last; exports["many"] = many; exports["mapMaybe"] = mapMaybe; exports["mapWithIndex"] = mapWithIndex; exports["modifyAt"] = modifyAt; exports["modifyAtIndices"] = modifyAtIndices; exports["nub"] = nub; exports["nubBy"] = nubBy; exports["null"] = $$null; exports["singleton"] = singleton; exports["some"] = some; exports["sort"] = sort; exports["sortBy"] = sortBy; exports["sortWith"] = sortWith; exports["span"] = span; exports["tail"] = tail; exports["takeWhile"] = takeWhile; exports["toUnfoldable"] = toUnfoldable; exports["uncons"] = uncons; exports["union"] = union; exports["unionBy"] = unionBy; exports["unsafeIndex"] = unsafeIndex; exports["unsnoc"] = unsnoc; exports["unzip"] = unzip; exports["updateAt"] = updateAt; exports["updateAtIndices"] = updateAtIndices; exports["zip"] = zip; exports["zipWithA"] = zipWithA; exports["concat"] = $foreign.concat; exports["cons"] = $foreign.cons; exports["drop"] = $foreign.drop; exports["filter"] = $foreign.filter; exports["length"] = $foreign.length; exports["partition"] = $foreign.partition; exports["range"] = $foreign.range; exports["replicate"] = $foreign.replicate; exports["reverse"] = $foreign.reverse; exports["slice"] = $foreign.slice; exports["snoc"] = $foreign.snoc; exports["take"] = $foreign.take; exports["zipWith"] = $foreign.zipWith; })(PS["Data.Array"] = PS["Data.Array"] || {}); (function(exports) { "use strict"; exports._charAt = function (just) { return function (nothing) { return function (i) { return function (s) { return i >= 0 && i < s.length ? just(s.charAt(i)) : nothing; }; }; }; }; exports.singleton = function (c) { return c; }; exports._charCodeAt = function (just) { return function (nothing) { return function (i) { return function (s) { return i >= 0 && i < s.length ? just(s.charCodeAt(i)) : nothing; }; }; }; }; exports._toChar = function (just) { return function (nothing) { return function (s) { return s.length === 1 ? just(s) : nothing; }; }; }; exports.fromCharArray = function (a) { return a.join(""); }; exports._indexOf = function (just) { return function (nothing) { return function (x) { return function (s) { var i = s.indexOf(x); return i === -1 ? nothing : just(i); }; }; }; }; exports["_indexOf'"] = function (just) { return function (nothing) { return function (x) { return function (startAt) { return function (s) { if (startAt < 0 || startAt > s.length) return nothing; var i = s.indexOf(x, startAt); return i === -1 ? nothing : just(i); }; }; }; }; }; exports._lastIndexOf = function (just) { return function (nothing) { return function (x) { return function (s) { var i = s.lastIndexOf(x); return i === -1 ? nothing : just(i); }; }; }; }; exports["_lastIndexOf'"] = function (just) { return function (nothing) { return function (x) { return function (startAt) { return function (s) { if (startAt < 0 || startAt > s.length) return nothing; var i = s.lastIndexOf(x, startAt); return i === -1 ? nothing : just(i); }; }; }; }; }; exports.length = function (s) { return s.length; }; exports._localeCompare = function (lt) { return function (eq) { return function (gt) { return function (s1) { return function (s2) { var result = s1.localeCompare(s2); return result < 0 ? lt : result > 0 ? gt : eq; }; }; }; }; }; exports.replace = function (s1) { return function (s2) { return function (s3) { return s3.replace(s1, s2); }; }; }; exports.replaceAll = function (s1) { return function (s2) { return function (s3) { return s3.replace(new RegExp(s1.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"), "g"), s2); }; }; }; exports.take = function (n) { return function (s) { return s.substr(0, n); }; }; exports.drop = function (n) { return function (s) { return s.substring(n); }; }; exports.count = function (p) { return function (s) { var i = 0; while (i < s.length && p(s.charAt(i))) i++; return i; }; }; exports.split = function (sep) { return function (s) { return s.split(sep); }; }; exports._splitAt = function (just) { return function (nothing) { return function (i) { return function (s) { return i >= 0 && i < s.length ? just({ before: s.substring(0, i), after: s.substring(i) }) : nothing; }; }; }; }; exports.toCharArray = function (s) { return s.split(""); }; exports.toLower = function (s) { return s.toLowerCase(); }; exports.toUpper = function (s) { return s.toUpperCase(); }; exports.trim = function (s) { return s.trim(); }; exports.joinWith = function (s) { return function (xs) { return xs.join(s); }; }; })(PS["Data.String"] = PS["Data.String"] || {}); (function(exports) { "use strict"; exports.charCodeAt = function (i) { return function (s) { if (i >= 0 && i < s.length) return s.charCodeAt(i); throw new Error("Data.String.Unsafe.charCodeAt: Invalid index."); }; }; exports.charAt = function (i) { return function (s) { if (i >= 0 && i < s.length) return s.charAt(i); throw new Error("Data.String.Unsafe.charAt: Invalid index."); }; }; exports.char = function (s) { if (s.length === 1) return s.charAt(0); throw new Error("Data.String.Unsafe.char: Expected string of length 1."); }; })(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {}); (function(exports) { // | Unsafe string and character functions. "use strict"; var $foreign = PS["Data.String.Unsafe"]; exports["char"] = $foreign["char"]; exports["charAt"] = $foreign.charAt; exports["charCodeAt"] = $foreign.charCodeAt; })(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {}); (function(exports) { // | Wraps the functions of Javascript's `String` object. // | A String represents a sequence of characters. // | For details of the underlying implementation, see [String Reference at MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String). "use strict"; var $foreign = PS["Data.String"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_String_Unsafe = PS["Data.String.Unsafe"]; var Prelude = PS["Prelude"]; // | A newtype used in cases to specify a replacement for a pattern. var Replacement = function (x) { return x; }; // | A newtype used in cases where there is a string to be matched. var Pattern = function (x) { return x; }; // | Returns the first character and the rest of the string, // | if the string is not empty. var uncons = function (v) { if (v === "") { return Data_Maybe.Nothing.value; }; return new Data_Maybe.Just({ head: Data_String_Unsafe.charAt(0)(v), tail: $foreign.drop(1)(v) }); }; var toChar = $foreign._toChar(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Returns the longest prefix (possibly empty) of characters that satisfy // | the predicate. var takeWhile = function (p) { return function (s) { return $foreign.take($foreign.count(p)(s))(s); }; }; // | Returns the substrings of split at the given index, if the index is within bounds. var splitAt = $foreign._splitAt(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); var showReplacement = new Data_Show.Show(function (v) { return "(Replacement " + (v + ")"); }); var showPattern = new Data_Show.Show(function (v) { return "(Pattern " + (v + ")"); }); // | Returns `true` if the given string is empty. var $$null = function (s) { return s === ""; }; var newtypeReplacement = new Data_Newtype.Newtype(function (n) { return n; }, Replacement); var newtypePattern = new Data_Newtype.Newtype(function (n) { return n; }, Pattern); // | Locale-aware sort order comparison. var localeCompare = $foreign._localeCompare(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value); // | Returns the index of the last occurrence of the first string in the // | second string, starting at the given index. Returns `Nothing` if there is // | no match. var lastIndexOf$prime = $foreign["_lastIndexOf'"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Returns the index of the last occurrence of the first string in the // | second string. Returns `Nothing` if there is no match. var lastIndexOf = $foreign._lastIndexOf(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | If the string ends with the given suffix, return the portion of the // | string left after removing it, as a Just value. Otherwise, return Nothing. // | * `stripSuffix (Pattern ".exe") "psc.exe" == Just "psc"` // | * `stripSuffix (Pattern ".exe") "psc" == Nothing` var stripSuffix = function (v) { return function (str) { var v1 = lastIndexOf(v)(str); if (v1 instanceof Data_Maybe.Just && v1.value0 === ($foreign.length(str) - $foreign.length(v) | 0)) { return Data_Maybe.Just.create($foreign.take(v1.value0)(str)); }; return Data_Maybe.Nothing.value; }; }; // | Returns the index of the first occurrence of the first string in the // | second string, starting at the given index. Returns `Nothing` if there is // | no match. var indexOf$prime = $foreign["_indexOf'"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Returns the index of the first occurrence of the first string in the // | second string. Returns `Nothing` if there is no match. var indexOf = $foreign._indexOf(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | If the string starts with the given prefix, return the portion of the // | string left after removing it, as a Just value. Otherwise, return Nothing. // | * `stripPrefix (Pattern "http:") "http://purescript.org" == Just "//purescript.org"` // | * `stripPrefix (Pattern "http:") "https://purescript.org" == Nothing` var stripPrefix = function (v) { return function (str) { var v1 = indexOf(v)(str); if (v1 instanceof Data_Maybe.Just && v1.value0 === 0) { return Data_Maybe.Just.create($foreign.drop($foreign.length(v))(str)); }; return Data_Maybe.Nothing.value; }; }; var eqReplacement = new Data_Eq.Eq(function (x) { return function (y) { return x === y; }; }); var ordReplacement = new Data_Ord.Ord(function () { return eqReplacement; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordString)(x)(y); }; }); var eqPattern = new Data_Eq.Eq(function (x) { return function (y) { return x === y; }; }); var ordPattern = new Data_Ord.Ord(function () { return eqPattern; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordString)(x)(y); }; }); // | Returns the suffix remaining after `takeWhile`. var dropWhile = function (p) { return function (s) { return $foreign.drop($foreign.count(p)(s))(s); }; }; // | Checks whether the first string exists in the second string. var contains = function (pat) { return function ($48) { return Data_Maybe.isJust(indexOf(pat)($48)); }; }; // | Returns the numeric Unicode value of the character at the given index, // | if the index is within bounds. var charCodeAt = $foreign._charCodeAt(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Returns the character at the given index, if the index is within bounds. var charAt = $foreign._charAt(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); exports["Pattern"] = Pattern; exports["Replacement"] = Replacement; exports["charAt"] = charAt; exports["charCodeAt"] = charCodeAt; exports["contains"] = contains; exports["dropWhile"] = dropWhile; exports["indexOf"] = indexOf; exports["indexOf'"] = indexOf$prime; exports["lastIndexOf"] = lastIndexOf; exports["lastIndexOf'"] = lastIndexOf$prime; exports["localeCompare"] = localeCompare; exports["null"] = $$null; exports["splitAt"] = splitAt; exports["stripPrefix"] = stripPrefix; exports["stripSuffix"] = stripSuffix; exports["takeWhile"] = takeWhile; exports["toChar"] = toChar; exports["uncons"] = uncons; exports["eqPattern"] = eqPattern; exports["ordPattern"] = ordPattern; exports["newtypePattern"] = newtypePattern; exports["showPattern"] = showPattern; exports["eqReplacement"] = eqReplacement; exports["ordReplacement"] = ordReplacement; exports["newtypeReplacement"] = newtypeReplacement; exports["showReplacement"] = showReplacement; exports["count"] = $foreign.count; exports["drop"] = $foreign.drop; exports["fromCharArray"] = $foreign.fromCharArray; exports["joinWith"] = $foreign.joinWith; exports["length"] = $foreign.length; exports["replace"] = $foreign.replace; exports["replaceAll"] = $foreign.replaceAll; exports["singleton"] = $foreign.singleton; exports["split"] = $foreign.split; exports["take"] = $foreign.take; exports["toCharArray"] = $foreign.toCharArray; exports["toLower"] = $foreign.toLower; exports["toUpper"] = $foreign.toUpper; exports["trim"] = $foreign.trim; })(PS["Data.String"] = PS["Data.String"] || {}); (function(exports) { // | The `Proxy` type and values are for situations where type information is // | required for an input to determine the type of an output, but where it is // | not possible or convenient to provide a _value_ for the input. // | // | A hypothetical example: if you have a class that is used to handle the // | result of an AJAX request, you may want to use this information to set the // | expected content type of the request, so you might have a class something // | like this: // | // | ``` purescript // | class AjaxResponse a where // | responseType :: a -> ResponseType // | fromResponse :: Foreign -> a // | ``` // | // | The problem here is `responseType` requires a value of type `a`, but we // | won't have a value of that type until the request has been completed. The // | solution is to use a `Proxy` type instead: // | // | ``` purescript // | class AjaxResponse a where // | responseType :: Proxy a -> ResponseType // | fromResponse :: Foreign -> a // | ``` // | // | We can now call `responseType (Proxy :: Proxy SomeContentType)` to produce // | a `ResponseType` for `SomeContentType` without having to construct some // | empty version of `SomeContentType` first. In situations like this where // | the `Proxy` type can be statically determined, it is recommended to pull // | out the definition to the top level and make a declaration like: // | // | ``` purescript // | _SomeContentType :: Proxy SomeContentType // | _SomeContentType = Proxy // | ``` // | // | That way the proxy value can be used as `responseType _SomeContentType` // | for improved readability. However, this is not always possible, sometimes // | the type required will be determined by a type variable. As PureScript has // | scoped type variables, we can do things like this: // | // | ``` purescript // | makeRequest :: URL -> ResponseType -> Aff _ Foreign // | makeRequest = ... // | // | fetchData :: forall a. (AjaxResponse a) => URL -> Aff _ a // | fetchData url = fromResponse <$> makeRequest url (responseType (Proxy :: Proxy a)) // | ``` "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"]; var Data_Bounded = PS["Data.Bounded"]; var Data_CommutativeRing = PS["Data.CommutativeRing"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Value proxy for kind `Type -> Type -> Type` types. var Proxy3 = (function () { function Proxy3() { }; Proxy3.value = new Proxy3(); return Proxy3; })(); // | Value proxy for kind `Type -> Type` types. var Proxy2 = (function () { function Proxy2() { }; Proxy2.value = new Proxy2(); return Proxy2; })(); // | Value proxy for kind `Type` types. var $$Proxy = (function () { function $$Proxy() { }; $$Proxy.value = new $$Proxy(); return $$Proxy; })(); var showProxy3 = new Data_Show.Show(function (v) { return "Proxy3"; }); var showProxy2 = new Data_Show.Show(function (v) { return "Proxy2"; }); var showProxy = new Data_Show.Show(function (v) { return "Proxy"; }); var semiringProxy3 = new Data_Semiring.Semiring(function (v) { return function (v1) { return Proxy3.value; }; }, function (v) { return function (v1) { return Proxy3.value; }; }, Proxy3.value, Proxy3.value); var semiringProxy2 = new Data_Semiring.Semiring(function (v) { return function (v1) { return Proxy2.value; }; }, function (v) { return function (v1) { return Proxy2.value; }; }, Proxy2.value, Proxy2.value); var semiringProxy = new Data_Semiring.Semiring(function (v) { return function (v1) { return $$Proxy.value; }; }, function (v) { return function (v1) { return $$Proxy.value; }; }, $$Proxy.value, $$Proxy.value); var semigroupProxy3 = new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Proxy3.value; }; }); var semigroupProxy2 = new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Proxy2.value; }; }); var semigroupProxy = new Data_Semigroup.Semigroup(function (v) { return function (v1) { return $$Proxy.value; }; }); var ringProxy3 = new Data_Ring.Ring(function () { return semiringProxy3; }, function (v) { return function (v1) { return Proxy3.value; }; }); var ringProxy2 = new Data_Ring.Ring(function () { return semiringProxy2; }, function (v) { return function (v1) { return Proxy2.value; }; }); var ringProxy = new Data_Ring.Ring(function () { return semiringProxy; }, function (v) { return function (v1) { return $$Proxy.value; }; }); var heytingAlgebraProxy3 = new Data_HeytingAlgebra.HeytingAlgebra(function (v) { return function (v1) { return Proxy3.value; }; }, function (v) { return function (v1) { return Proxy3.value; }; }, Proxy3.value, function (v) { return function (v1) { return Proxy3.value; }; }, function (v) { return Proxy3.value; }, Proxy3.value); var heytingAlgebraProxy2 = new Data_HeytingAlgebra.HeytingAlgebra(function (v) { return function (v1) { return Proxy2.value; }; }, function (v) { return function (v1) { return Proxy2.value; }; }, Proxy2.value, function (v) { return function (v1) { return Proxy2.value; }; }, function (v) { return Proxy2.value; }, Proxy2.value); var heytingAlgebraProxy = new Data_HeytingAlgebra.HeytingAlgebra(function (v) { return function (v1) { return $$Proxy.value; }; }, function (v) { return function (v1) { return $$Proxy.value; }; }, $$Proxy.value, function (v) { return function (v1) { return $$Proxy.value; }; }, function (v) { return $$Proxy.value; }, $$Proxy.value); var functorProxy = new Data_Functor.Functor(function (f) { return function (m) { return $$Proxy.value; }; }); var eqProxy3 = new Data_Eq.Eq(function (x) { return function (y) { return true; }; }); var ordProxy3 = new Data_Ord.Ord(function () { return eqProxy3; }, function (x) { return function (y) { return Data_Ordering.EQ.value; }; }); var eqProxy2 = new Data_Eq.Eq(function (x) { return function (y) { return true; }; }); var ordProxy2 = new Data_Ord.Ord(function () { return eqProxy2; }, function (x) { return function (y) { return Data_Ordering.EQ.value; }; }); var eqProxy = new Data_Eq.Eq(function (x) { return function (y) { return true; }; }); var ordProxy = new Data_Ord.Ord(function () { return eqProxy; }, function (x) { return function (y) { return Data_Ordering.EQ.value; }; }); var discardProxy3 = new Control_Bind.Discard(function (dictBind) { return Control_Bind.bind(dictBind); }); var discardProxy2 = new Control_Bind.Discard(function (dictBind) { return Control_Bind.bind(dictBind); }); var discardProxy = new Control_Bind.Discard(function (dictBind) { return Control_Bind.bind(dictBind); }); var commutativeRingProxy3 = new Data_CommutativeRing.CommutativeRing(function () { return ringProxy3; }); var commutativeRingProxy2 = new Data_CommutativeRing.CommutativeRing(function () { return ringProxy2; }); var commutativeRingProxy = new Data_CommutativeRing.CommutativeRing(function () { return ringProxy; }); var boundedProxy3 = new Data_Bounded.Bounded(function () { return ordProxy3; }, Proxy3.value, Proxy3.value); var boundedProxy2 = new Data_Bounded.Bounded(function () { return ordProxy2; }, Proxy2.value, Proxy2.value); var boundedProxy = new Data_Bounded.Bounded(function () { return ordProxy; }, $$Proxy.value, $$Proxy.value); var booleanAlgebraProxy3 = new Data_BooleanAlgebra.BooleanAlgebra(function () { return heytingAlgebraProxy3; }); var booleanAlgebraProxy2 = new Data_BooleanAlgebra.BooleanAlgebra(function () { return heytingAlgebraProxy2; }); var booleanAlgebraProxy = new Data_BooleanAlgebra.BooleanAlgebra(function () { return heytingAlgebraProxy; }); var applyProxy = new Control_Apply.Apply(function () { return functorProxy; }, function (v) { return function (v1) { return $$Proxy.value; }; }); var bindProxy = new Control_Bind.Bind(function () { return applyProxy; }, function (v) { return function (v1) { return $$Proxy.value; }; }); var applicativeProxy = new Control_Applicative.Applicative(function () { return applyProxy; }, function (v) { return $$Proxy.value; }); var monadProxy = new Control_Monad.Monad(function () { return applicativeProxy; }, function () { return bindProxy; }); exports["Proxy"] = $$Proxy; exports["Proxy2"] = Proxy2; exports["Proxy3"] = Proxy3; exports["eqProxy"] = eqProxy; exports["functorProxy"] = functorProxy; exports["ordProxy"] = ordProxy; exports["applicativeProxy"] = applicativeProxy; exports["applyProxy"] = applyProxy; exports["bindProxy"] = bindProxy; exports["booleanAlgebraProxy"] = booleanAlgebraProxy; exports["boundedProxy"] = boundedProxy; exports["commutativeRingProxy"] = commutativeRingProxy; exports["discardProxy"] = discardProxy; exports["heytingAlgebraProxy"] = heytingAlgebraProxy; exports["monadProxy"] = monadProxy; exports["ringProxy"] = ringProxy; exports["semigroupProxy"] = semigroupProxy; exports["semiringProxy"] = semiringProxy; exports["showProxy"] = showProxy; exports["eqProxy2"] = eqProxy2; exports["ordProxy2"] = ordProxy2; exports["booleanAlgebraProxy2"] = booleanAlgebraProxy2; exports["boundedProxy2"] = boundedProxy2; exports["commutativeRingProxy2"] = commutativeRingProxy2; exports["discardProxy2"] = discardProxy2; exports["heytingAlgebraProxy2"] = heytingAlgebraProxy2; exports["ringProxy2"] = ringProxy2; exports["semigroupProxy2"] = semigroupProxy2; exports["semiringProxy2"] = semiringProxy2; exports["showProxy2"] = showProxy2; exports["eqProxy3"] = eqProxy3; exports["ordProxy3"] = ordProxy3; exports["booleanAlgebraProxy3"] = booleanAlgebraProxy3; exports["boundedProxy3"] = boundedProxy3; exports["commutativeRingProxy3"] = commutativeRingProxy3; exports["discardProxy3"] = discardProxy3; exports["heytingAlgebraProxy3"] = heytingAlgebraProxy3; exports["ringProxy3"] = ringProxy3; exports["semigroupProxy3"] = semigroupProxy3; exports["semiringProxy3"] = semiringProxy3; exports["showProxy3"] = showProxy3; })(PS["Type.Proxy"] = PS["Type.Proxy"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Generic"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Array = PS["Data.Array"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Identity = PS["Data.Identity"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_String = PS["Data.String"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Data_Void = PS["Data.Void"]; var Prelude = PS["Prelude"]; var Type_Proxy = PS["Type.Proxy"]; // | A GenericSpine is a universal representation of an arbitrary data // | structure (that does not contain function arrows). var SProd = (function () { function SProd(value0, value1) { this.value0 = value0; this.value1 = value1; }; SProd.create = function (value0) { return function (value1) { return new SProd(value0, value1); }; }; return SProd; })(); // | A GenericSpine is a universal representation of an arbitrary data // | structure (that does not contain function arrows). var SRecord = (function () { function SRecord(value0) { this.value0 = value0; }; SRecord.create = function (value0) { return new SRecord(value0); }; return SRecord; })(); // | A GenericSpine is a universal representation of an arbitrary data // | structure (that does not contain function arrows). var SNumber = (function () { function SNumber(value0) { this.value0 = value0; }; SNumber.create = function (value0) { return new SNumber(value0); }; return SNumber; })(); // | A GenericSpine is a universal representation of an arbitrary data // | structure (that does not contain function arrows). var SBoolean = (function () { function SBoolean(value0) { this.value0 = value0; }; SBoolean.create = function (value0) { return new SBoolean(value0); }; return SBoolean; })(); // | A GenericSpine is a universal representation of an arbitrary data // | structure (that does not contain function arrows). var SInt = (function () { function SInt(value0) { this.value0 = value0; }; SInt.create = function (value0) { return new SInt(value0); }; return SInt; })(); // | A GenericSpine is a universal representation of an arbitrary data // | structure (that does not contain function arrows). var SString = (function () { function SString(value0) { this.value0 = value0; }; SString.create = function (value0) { return new SString(value0); }; return SString; })(); // | A GenericSpine is a universal representation of an arbitrary data // | structure (that does not contain function arrows). var SChar = (function () { function SChar(value0) { this.value0 = value0; }; SChar.create = function (value0) { return new SChar(value0); }; return SChar; })(); // | A GenericSpine is a universal representation of an arbitrary data // | structure (that does not contain function arrows). var SArray = (function () { function SArray(value0) { this.value0 = value0; }; SArray.create = function (value0) { return new SArray(value0); }; return SArray; })(); // | A GenericSpine is a universal representation of an arbitrary data // | structure (that does not contain function arrows). var SUnit = (function () { function SUnit() { }; SUnit.value = new SUnit(); return SUnit; })(); // | A GenericSignature is a universal representation of the structure of an // | arbitrary data structure (that does not contain function arrows). var SigProd = (function () { function SigProd(value0, value1) { this.value0 = value0; this.value1 = value1; }; SigProd.create = function (value0) { return function (value1) { return new SigProd(value0, value1); }; }; return SigProd; })(); // | A GenericSignature is a universal representation of the structure of an // | arbitrary data structure (that does not contain function arrows). var SigRecord = (function () { function SigRecord(value0) { this.value0 = value0; }; SigRecord.create = function (value0) { return new SigRecord(value0); }; return SigRecord; })(); // | A GenericSignature is a universal representation of the structure of an // | arbitrary data structure (that does not contain function arrows). var SigNumber = (function () { function SigNumber() { }; SigNumber.value = new SigNumber(); return SigNumber; })(); // | A GenericSignature is a universal representation of the structure of an // | arbitrary data structure (that does not contain function arrows). var SigBoolean = (function () { function SigBoolean() { }; SigBoolean.value = new SigBoolean(); return SigBoolean; })(); // | A GenericSignature is a universal representation of the structure of an // | arbitrary data structure (that does not contain function arrows). var SigInt = (function () { function SigInt() { }; SigInt.value = new SigInt(); return SigInt; })(); // | A GenericSignature is a universal representation of the structure of an // | arbitrary data structure (that does not contain function arrows). var SigString = (function () { function SigString() { }; SigString.value = new SigString(); return SigString; })(); // | A GenericSignature is a universal representation of the structure of an // | arbitrary data structure (that does not contain function arrows). var SigChar = (function () { function SigChar() { }; SigChar.value = new SigChar(); return SigChar; })(); // | A GenericSignature is a universal representation of the structure of an // | arbitrary data structure (that does not contain function arrows). var SigArray = (function () { function SigArray(value0) { this.value0 = value0; }; SigArray.create = function (value0) { return new SigArray(value0); }; return SigArray; })(); // | A GenericSignature is a universal representation of the structure of an // | arbitrary data structure (that does not contain function arrows). var SigUnit = (function () { function SigUnit() { }; SigUnit.value = new SigUnit(); return SigUnit; })(); // | The Generic typeclass provides methods for sending data to/from spine // | representations, as well as querying about the signatures of spine // | representations. // | // | For standard data structures, you can simply write // | `derive instance genericFoo :: Generic Foo` in the module they are // | declared, and the instance methods will be filled in for you. var Generic = function (fromSpine, toSignature, toSpine) { this.fromSpine = fromSpine; this.toSignature = toSignature; this.toSpine = toSpine; }; var toSpine = function (dict) { return dict.toSpine; }; var toSignature = function (dict) { return dict.toSignature; }; // | Shows a lazily evaluated value under a function with `Unit` parameter. var showSuspended = function (dictShow) { return function (e) { return "\\_ -> " + Data_Show.show(dictShow)(e(Data_Unit.unit)); }; }; // We use this instead of the default Show Array instance to avoid escaping // strings twice. var showArray = function (v) { return function (v1) { if (v1.length === 0) { return "[]"; }; return "[ " + (Data_Foldable.intercalate(Data_Foldable.foldableArray)(Data_Monoid.monoidString)(", ")(Data_Functor.map(Data_Functor.functorArray)(v)(v1)) + " ]"); }; }; var showGenericSpine = new Data_Show.Show(function (v) { if (v instanceof SUnit) { return "SUnit"; }; if (v instanceof SChar) { return "SChar " + Data_Show.show(Data_Show.showChar)(v.value0); }; if (v instanceof SString) { return "SString " + Data_Show.show(Data_Show.showString)(v.value0); }; if (v instanceof SBoolean) { return "SBoolean " + Data_Show.show(Data_Show.showBoolean)(v.value0); }; if (v instanceof SNumber) { return "SNumber " + Data_Show.show(Data_Show.showNumber)(v.value0); }; if (v instanceof SInt) { return "SInt " + Data_Show.show(Data_Show.showInt)(v.value0); }; if (v instanceof SArray) { return "SArray " + showArray(showSuspended(showGenericSpine))(v.value0); }; if (v instanceof SProd) { return "SProd " + (Data_Show.show(Data_Show.showString)(v.value0) + (" " + showArray(showSuspended(showGenericSpine))(v.value1))); }; if (v instanceof SRecord) { var showElt = function (v1) { return Data_Foldable.fold(Data_Foldable.foldableArray)(Data_Monoid.monoidString)([ "{ recLabel: ", Data_Show.show(Data_Show.showString)(v1.recLabel), ", recValue: ", showSuspended(showGenericSpine)(v1.recValue), " }" ]); }; return "SRecord " + showArray(showElt)(v.value0); }; throw new Error("Failed pattern match at Data.Generic line 270, column 1 - line 270, column 47: " + [ v.constructor.name ]); }); var orderingToInt = function (v) { if (v instanceof Data_Ordering.EQ) { return 0; }; if (v instanceof Data_Ordering.LT) { return 1; }; if (v instanceof Data_Ordering.GT) { return -1 | 0; }; throw new Error("Failed pattern match at Data.Generic line 538, column 17 - line 541, column 10: " + [ v.constructor.name ]); }; var genericVoid = new Generic(function (v) { return Data_Maybe.Nothing.value; }, function (v) { return new SigProd("Data.Void.Void", [ ]); }, Data_Void.absurd); var genericUnit = new Generic(function (v) { if (v instanceof SUnit) { return new Data_Maybe.Just(Data_Unit.unit); }; return Data_Maybe.Nothing.value; }, function (v) { return SigUnit.value; }, function (v) { return SUnit.value; }); var genericString = new Generic(function (v) { if (v instanceof SString) { return new Data_Maybe.Just(v.value0); }; return Data_Maybe.Nothing.value; }, function (v) { return SigString.value; }, SString.create); var genericOrdering = new Generic(function (v) { if (v instanceof SProd && (v.value0 === "Data.Ordering.LT" && v.value1.length === 0)) { return new Data_Maybe.Just(Data_Ordering.LT.value); }; if (v instanceof SProd && (v.value0 === "Data.Ordering.EQ" && v.value1.length === 0)) { return new Data_Maybe.Just(Data_Ordering.EQ.value); }; if (v instanceof SProd && (v.value0 === "Data.Ordering.GT" && v.value1.length === 0)) { return new Data_Maybe.Just(Data_Ordering.GT.value); }; return Data_Maybe.Nothing.value; }, function (v) { return new SigProd("Data.Ordering.Ordering", [ { sigConstructor: "Data.Ordering.LT", sigValues: [ ] }, { sigConstructor: "Data.Ordering.EQ", sigValues: [ ] }, { sigConstructor: "Data.Ordering.GT", sigValues: [ ] } ]); }, function (v) { if (v instanceof Data_Ordering.LT) { return new SProd("Data.Ordering.LT", [ ]); }; if (v instanceof Data_Ordering.EQ) { return new SProd("Data.Ordering.EQ", [ ]); }; if (v instanceof Data_Ordering.GT) { return new SProd("Data.Ordering.GT", [ ]); }; throw new Error("Failed pattern match at Data.Generic line 218, column 13 - line 221, column 38: " + [ v.constructor.name ]); }); var genericNumber = new Generic(function (v) { if (v instanceof SNumber) { return new Data_Maybe.Just(v.value0); }; return Data_Maybe.Nothing.value; }, function (v) { return SigNumber.value; }, SNumber.create); var genericInt = new Generic(function (v) { if (v instanceof SInt) { return new Data_Maybe.Just(v.value0); }; return Data_Maybe.Nothing.value; }, function (v) { return SigInt.value; }, SInt.create); var genericChar = new Generic(function (v) { if (v instanceof SChar) { return new Data_Maybe.Just(v.value0); }; return Data_Maybe.Nothing.value; }, function (v) { return SigChar.value; }, SChar.create); var genericBool = new Generic(function (v) { if (v instanceof SBoolean) { return new Data_Maybe.Just(v.value0); }; return Data_Maybe.Nothing.value; }, function (v) { return SigBoolean.value; }, SBoolean.create); var fromSpine = function (dict) { return dict.fromSpine; }; var force = function (f) { return f(Data_Unit.unit); }; var genericArray = function (dictGeneric) { return new Generic(function (v) { if (v instanceof SArray) { return Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(function ($310) { return fromSpine(dictGeneric)(force($310)); })(v.value0); }; return Data_Maybe.Nothing.value; }, function (x) { var lowerProxy = function (v) { return Type_Proxy["Proxy"].value; }; return new SigArray(function (v) { return toSignature(dictGeneric)(lowerProxy(x)); }); }, function ($311) { return SArray.create(Data_Functor.map(Data_Functor.functorArray)(function (x) { return function (v) { return toSpine(dictGeneric)(x); }; })($311)); }); }; var genericEither = function (dictGeneric) { return function (dictGeneric1) { return new Generic(function (v) { if (v instanceof SProd && (v.value0 === "Data.Either.Left" && v.value1.length === 1)) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Either.Left.create)(fromSpine(dictGeneric)(force(v["value1"][0]))); }; if (v instanceof SProd && (v.value0 === "Data.Either.Right" && v.value1.length === 1)) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Either.Right.create)(fromSpine(dictGeneric1)(force(v["value1"][0]))); }; return Data_Maybe.Nothing.value; }, function (x) { var rproxy = function (v) { return Type_Proxy["Proxy"].value; }; var lproxy = function (v) { return Type_Proxy["Proxy"].value; }; return new SigProd("Data.Either.Either", [ { sigConstructor: "Data.Either.Left", sigValues: [ function (v) { return toSignature(dictGeneric)(lproxy(x)); } ] }, { sigConstructor: "Data.Either.Right", sigValues: [ function (v) { return toSignature(dictGeneric1)(rproxy(x)); } ] } ]); }, function (v) { if (v instanceof Data_Either.Left) { return new SProd("Data.Either.Left", [ function (v1) { return toSpine(dictGeneric)(v.value0); } ]); }; if (v instanceof Data_Either.Right) { return new SProd("Data.Either.Right", [ function (v1) { return toSpine(dictGeneric1)(v.value0); } ]); }; throw new Error("Failed pattern match at Data.Generic line 180, column 1 - line 180, column 73: " + [ v.constructor.name ]); }); }; }; var genericIdentity = function (dictGeneric) { return new Generic(function (v) { if (v instanceof SProd && (v.value0 === "Data.Identity.Identity" && v.value1.length === 1)) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Identity.Identity)(fromSpine(dictGeneric)(force(v["value1"][0]))); }; return Data_Maybe.Nothing.value; }, function (x) { var iproxy = function (v) { return Type_Proxy["Proxy"].value; }; return new SigProd("Data.Identity.Identity", [ { sigConstructor: "Data.Identity.Identity", sigValues: [ function (v) { return toSignature(dictGeneric)(iproxy(x)); } ] } ]); }, function (v) { return new SProd("Data.Identity.Identity", [ function (v1) { return toSpine(dictGeneric)(v); } ]); }); }; var genericList = function (dictGeneric) { return new Generic(function (v) { if (v instanceof SProd && (v.value0 === "Data.List.Types.Cons" && v.value1.length === 2)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_List_Types.Cons.create)(fromSpine(dictGeneric)(force(v["value1"][0]))))(fromSpine(genericList(dictGeneric))(force(v["value1"][1]))); }; if (v instanceof SProd && (v.value0 === "Data.List.Types.Nil" && v.value1.length === 0)) { return Control_Applicative.pure(Data_Maybe.applicativeMaybe)(Data_List_Types.Nil.value); }; return Data_Maybe.Nothing.value; }, function (x) { var headProxy = function (v) { return Type_Proxy["Proxy"].value; }; return new SigProd("Data.List.Types.List", [ { sigConstructor: "Data.List.Types.Cons", sigValues: [ function (v) { return toSignature(dictGeneric)(headProxy(x)); }, function (v) { return toSignature(genericList(dictGeneric))(x); } ] }, { sigConstructor: "Data.List.Types.Nil", sigValues: [ ] } ]); }, function (v) { if (v instanceof Data_List_Types.Cons) { return new SProd("Data.List.Types.Cons", [ function (v1) { return toSpine(dictGeneric)(v.value0); }, function (v1) { return toSpine(genericList(dictGeneric))(v.value1); } ]); }; if (v instanceof Data_List_Types.Nil) { return new SProd("Data.List.Types.Nil", [ ]); }; throw new Error("Failed pattern match at Data.Generic line 116, column 1 - line 116, column 58: " + [ v.constructor.name ]); }); }; var genericMaybe = function (dictGeneric) { return new Generic(function (v) { if (v instanceof SProd && (v.value0 === "Data.Maybe.Just" && v.value1.length === 1)) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Maybe.Just.create)(fromSpine(dictGeneric)(force(v["value1"][0]))); }; if (v instanceof SProd && (v.value0 === "Data.Maybe.Nothing" && v.value1.length === 0)) { return Control_Applicative.pure(Data_Maybe.applicativeMaybe)(Data_Maybe.Nothing.value); }; return Data_Maybe.Nothing.value; }, function (x) { var mbProxy = function (v) { return Type_Proxy["Proxy"].value; }; return new SigProd("Data.Maybe.Maybe", [ { sigConstructor: "Data.Maybe.Just", sigValues: [ function (v) { return toSignature(dictGeneric)(mbProxy(x)); } ] }, { sigConstructor: "Data.Maybe.Nothing", sigValues: [ ] } ]); }, function (v) { if (v instanceof Data_Maybe.Just) { return new SProd("Data.Maybe.Just", [ function (v1) { return toSpine(dictGeneric)(v.value0); } ]); }; if (v instanceof Data_Maybe.Nothing) { return new SProd("Data.Maybe.Nothing", [ ]); }; throw new Error("Failed pattern match at Data.Generic line 160, column 1 - line 160, column 56: " + [ v.constructor.name ]); }); }; var genericNonEmpty = function (dictGeneric) { return function (dictGeneric1) { return new Generic(function (v) { if (v instanceof SProd && (v.value0 === "Data.NonEmpty.NonEmpty" && v.value1.length === 2)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_NonEmpty.NonEmpty.create)(fromSpine(dictGeneric1)(force(v["value1"][0]))))(fromSpine(dictGeneric)(force(v["value1"][1]))); }; return Data_Maybe.Nothing.value; }, function (x) { var tailProxy = function (v) { return Type_Proxy["Proxy"].value; }; var headProxy = function (v) { return Type_Proxy["Proxy"].value; }; return new SigProd("Data.NonEmpty.NonEmpty", [ { sigConstructor: "Data.NonEmpty.NonEmpty", sigValues: [ function (v) { return toSignature(dictGeneric1)(headProxy(x)); }, function (v) { return toSignature(dictGeneric)(tailProxy(x)); } ] } ]); }, function (v) { return new SProd("Data.NonEmpty.NonEmpty", [ function (v1) { return toSpine(dictGeneric1)(v.value0); }, function (v1) { return toSpine(dictGeneric)(v.value1); } ]); }); }; }; var genericNonEmptyList = function (dictGeneric) { return new Generic(function (v) { if (v instanceof SProd && (v.value0 === "Data.List.Types.NonEmptyList" && v.value1.length === 1)) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_List_Types.NonEmptyList)(fromSpine(genericNonEmpty(genericList(dictGeneric))(dictGeneric))(force(v["value1"][0]))); }; return Data_Maybe.Nothing.value; }, function (x) { var listProxy = function (v) { return Type_Proxy["Proxy"].value; }; return new SigProd("Data.List.Types.NonEmptyList", [ { sigConstructor: "Data.List.Types.NonEmptyList", sigValues: [ function (v) { return toSignature(genericList(dictGeneric))(listProxy(x)); } ] } ]); }, function (v) { return new SProd("Data.List.Types.NonEmptyList", [ function (v1) { return toSpine(genericNonEmpty(genericList(dictGeneric))(dictGeneric))(v); } ]); }); }; var genericShowPrec = function (v) { return function (v1) { if (v1 instanceof SProd) { if (Data_Array["null"](v1.value1)) { return v1.value0; }; if (Data_Boolean.otherwise) { var showParen = function (v2) { return function (x) { if (!v2) { return x; }; if (v2) { return "(" + (x + ")"); }; throw new Error("Failed pattern match at Data.Generic line 467, column 7 - line 467, column 28: " + [ v2.constructor.name, x.constructor.name ]); }; }; return showParen(v > 10)(v1.value0 + (" " + Data_String.joinWith(" ")(Data_Functor.map(Data_Functor.functorArray)(function (x) { return genericShowPrec(11)(force(x)); })(v1.value1)))); }; }; if (v1 instanceof SRecord) { var showLabelPart = function (x) { return x.recLabel + (": " + genericShowPrec(0)(force(x.recValue))); }; return "{" + (Data_String.joinWith(", ")(Data_Functor.map(Data_Functor.functorArray)(showLabelPart)(v1.value0)) + "}"); }; if (v1 instanceof SBoolean) { return Data_Show.show(Data_Show.showBoolean)(v1.value0); }; if (v1 instanceof SInt) { return Data_Show.show(Data_Show.showInt)(v1.value0); }; if (v1 instanceof SNumber) { return Data_Show.show(Data_Show.showNumber)(v1.value0); }; if (v1 instanceof SString) { return Data_Show.show(Data_Show.showString)(v1.value0); }; if (v1 instanceof SChar) { return Data_Show.show(Data_Show.showChar)(v1.value0); }; if (v1 instanceof SArray) { return "[" + (Data_String.joinWith(", ")(Data_Functor.map(Data_Functor.functorArray)(function (x) { return genericShowPrec(0)(force(x)); })(v1.value0)) + "]"); }; if (v1 instanceof SUnit) { return "unit"; }; throw new Error("Failed pattern match at Data.Generic line 460, column 1 - line 460, column 49: " + [ v.constructor.name, v1.constructor.name ]); }; }; // ## Generic Functions // | This function can be used as the default instance for Show for any // | instance of Generic var gShow = function (dictGeneric) { return function ($312) { return genericShowPrec(0)(toSpine(dictGeneric)($312)); }; }; var genericTuple = function (dictGeneric) { return function (dictGeneric1) { return new Generic(function (v) { if (v instanceof SProd && (v.value0 === "Data.Tuple.Tuple" && v.value1.length === 2)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.Tuple.create)(fromSpine(dictGeneric)(force(v["value1"][0]))))(fromSpine(dictGeneric1)(force(v["value1"][1]))); }; return Data_Maybe.Nothing.value; }, function (x) { var sndProxy = function (v) { return Type_Proxy["Proxy"].value; }; var fstProxy = function (v) { return Type_Proxy["Proxy"].value; }; return new SigProd("Data.Tuple.Tuple", [ { sigConstructor: "Data.Tuple.Tuple", sigValues: [ function (v) { return toSignature(dictGeneric)(fstProxy(x)); }, function (v) { return toSignature(dictGeneric1)(sndProxy(x)); } ] } ]); }, function (v) { return new SProd("Data.Tuple.Tuple", [ function (v1) { return toSpine(dictGeneric)(v.value0); }, function (v1) { return toSpine(dictGeneric1)(v.value1); } ]); }); }; }; // | Checks that the spine follows the structure defined by the signature var isValidSpine = function (v) { return function (v1) { if (v instanceof SigBoolean && v1 instanceof SBoolean) { return true; }; if (v instanceof SigNumber && v1 instanceof SNumber) { return true; }; if (v instanceof SigInt && v1 instanceof SInt) { return true; }; if (v instanceof SigString && v1 instanceof SString) { return true; }; if (v instanceof SigChar && v1 instanceof SChar) { return true; }; if (v instanceof SigArray && v1 instanceof SArray) { return Data_Foldable.all(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(function ($313) { return isValidSpine(force(v.value0))(force($313)); })(v1.value0); }; if (v instanceof SigProd && v1 instanceof SProd) { var v2 = Data_Foldable.find(Data_Foldable.foldableArray)(function (alt) { return alt.sigConstructor === v1.value0; })(v.value1); if (v2 instanceof Data_Maybe.Nothing) { return false; }; if (v2 instanceof Data_Maybe.Just) { return Data_Foldable.and(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Array.zipWith(function (sig) { return function (spine) { return isValidSpine(force(sig))(force(spine)); }; })(v2.value0.sigValues)(v1.value1)); }; throw new Error("Failed pattern match at Data.Generic line 438, column 3 - line 444, column 15: " + [ v2.constructor.name ]); }; if (v instanceof SigRecord && v1 instanceof SRecord) { return Data_Foldable.and(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Array.zipWith(function (sig) { return function (val) { return isValidSpine(force(sig.recValue))(force(val.recValue)); }; })(Data_Array.sortBy(function (a) { return function (b) { return Data_Ord.compare(Data_Ord.ordString)(a.recLabel)(b.recLabel); }; })(v.value0))(Data_Array.sortBy(function (a) { return function (b) { return Data_Ord.compare(Data_Ord.ordString)(a.recLabel)(b.recLabel); }; })(v1.value0))); }; if (v instanceof SigUnit && v1 instanceof SUnit) { return true; }; return false; }; }; var showSignature = function (sig) { var needsParen = function (s) { if (s instanceof SigProd) { return true; }; if (s instanceof SigRecord) { return true; }; if (s instanceof SigNumber) { return false; }; if (s instanceof SigBoolean) { return false; }; if (s instanceof SigInt) { return false; }; if (s instanceof SigString) { return false; }; if (s instanceof SigChar) { return false; }; if (s instanceof SigArray) { return true; }; if (s instanceof SigUnit) { return false; }; throw new Error("Failed pattern match at Data.Generic line 403, column 18 - line 412, column 21: " + [ s.constructor.name ]); }; var paren = function (s) { if (needsParen(s)) { return "(" + (showSignature(s) + ")"); }; if (Data_Boolean.otherwise) { return showSignature(s); }; throw new Error("Failed pattern match at Data.Generic line 399, column 3 - line 401, column 34: " + [ s.constructor.name ]); }; return Data_Foldable.fold(Data_Foldable.foldableArray)(Data_Monoid.monoidString)((function () { if (sig instanceof SigProd) { return [ "SigProd ", Data_Show.show(Data_Show.showString)(sig.value0), " ", showArray(showDataConstructor)(sig.value1) ]; }; if (sig instanceof SigRecord) { return [ "SigRecord ", showArray(showLabel)(sig.value0) ]; }; if (sig instanceof SigNumber) { return [ "SigNumber" ]; }; if (sig instanceof SigBoolean) { return [ "SigBoolean" ]; }; if (sig instanceof SigInt) { return [ "SigInt" ]; }; if (sig instanceof SigString) { return [ "SigString" ]; }; if (sig instanceof SigChar) { return [ "SigChar" ]; }; if (sig instanceof SigArray) { return [ "SigArray ", paren(force(sig.value0)) ]; }; if (sig instanceof SigUnit) { return [ "SigUnit" ]; }; throw new Error("Failed pattern match at Data.Generic line 386, column 10 - line 396, column 27: " + [ sig.constructor.name ]); })()); }; var showLabel = function (l) { return "{ recLabel: " + (Data_Show.show(Data_Show.showString)(l.recLabel) + (", recValue: " + (showSignature(force(l.recValue)) + " }"))); }; var showDataConstructor = function (dc) { return "{ sigConstructor: " + (Data_Show.show(Data_Show.showString)(dc.sigConstructor) + (", sigValues: " + (showArray(function ($314) { return showSignature(force($314)); })(dc.sigValues) + " }"))); }; var showGenericSignature = new Data_Show.Show(showSignature); var eqThunk = function (dictEq) { return function (x) { return function (y) { return Data_Eq.eq(dictEq)(force(x))(force(y)); }; }; }; var eqRecordSigs = function (dictEq) { return function (arr1) { return function (arr2) { var labelCompare = function (r1) { return function (r2) { return Data_Ord.compare(Data_Ord.ordString)(r1.recLabel)(r2.recLabel); }; }; var sorted1 = Data_Array.sortBy(labelCompare)(arr1); var sorted2 = Data_Array.sortBy(labelCompare)(arr2); var doCmp = function (x) { return function (y) { return x.recLabel === y.recLabel && Data_Eq.eq(dictEq)(force(x.recValue))(force(y.recValue)); }; }; return Data_Array.length(arr1) === Data_Array.length(arr2) && $foreign.zipAll(doCmp)(sorted1)(sorted2); }; }; }; var eqGenericSpine = new Data_Eq.Eq(function (v) { return function (v1) { if (v instanceof SProd && v1 instanceof SProd) { return v.value0 === v1.value0 && (Data_Array.length(v.value1) === Data_Array.length(v1.value1) && $foreign.zipAll(eqThunk(eqGenericSpine))(v.value1)(v1.value1)); }; if (v instanceof SRecord && v1 instanceof SRecord) { return eqRecordSigs(eqGenericSpine)(v.value0)(v1.value0); }; if (v instanceof SNumber && v1 instanceof SNumber) { return v.value0 === v1.value0; }; if (v instanceof SBoolean && v1 instanceof SBoolean) { return v.value0 === v1.value0; }; if (v instanceof SInt && v1 instanceof SInt) { return v.value0 === v1.value0; }; if (v instanceof SString && v1 instanceof SString) { return v.value0 === v1.value0; }; if (v instanceof SChar && v1 instanceof SChar) { return v.value0 === v1.value0; }; if (v instanceof SArray && v1 instanceof SArray) { return Data_Array.length(v.value0) === Data_Array.length(v1.value0) && $foreign.zipAll(eqThunk(eqGenericSpine))(v.value0)(v1.value0); }; if (v instanceof SUnit && v1 instanceof SUnit) { return true; }; return false; }; }); // | This function can be used as an implementation of the `eq` function of `Eq` // | for any type with a `Generic` instance. // | // | **Note**: It is preferrable to use `derive instance` for `Eq` instances // | rather than relying on `gEq`, where possible. var gEq = function (dictGeneric) { return function (x) { return function (y) { return Data_Eq.eq(eqGenericSpine)(toSpine(dictGeneric)(x))(toSpine(dictGeneric)(y)); }; }; }; var eqGenericSignature = new Data_Eq.Eq(function (v) { return function (v1) { if (v instanceof SigProd && v1 instanceof SigProd) { return v.value0 === v1.value0 && (Data_Array.length(v.value1) === Data_Array.length(v1.value1) && $foreign.zipAll(eqDataConstructor)(v.value1)(v1.value1)); }; if (v instanceof SigRecord && v1 instanceof SigRecord) { return eqRecordSigs(eqGenericSignature)(v.value0)(v1.value0); }; if (v instanceof SigNumber && v1 instanceof SigNumber) { return true; }; if (v instanceof SigBoolean && v1 instanceof SigBoolean) { return true; }; if (v instanceof SigInt && v1 instanceof SigInt) { return true; }; if (v instanceof SigString && v1 instanceof SigString) { return true; }; if (v instanceof SigChar && v1 instanceof SigChar) { return true; }; if (v instanceof SigArray && v1 instanceof SigArray) { return eqThunk(eqGenericSignature)(v.value0)(v1.value0); }; if (v instanceof SigUnit && v1 instanceof SigUnit) { return true; }; return false; }; }); var eqDataConstructor = function (p1) { return function (p2) { return p1.sigConstructor === p2.sigConstructor && $foreign.zipAll(eqThunk(eqGenericSignature))(p1.sigValues)(p2.sigValues); }; }; var compareThunk = function (dictOrd) { return function (x) { return function (y) { return orderingToInt(Data_Ord.compare(dictOrd)(force(x))(force(y))); }; }; }; var ordGenericSpine = new Data_Ord.Ord(function () { return eqGenericSpine; }, function (v) { return function (v1) { if (v instanceof SProd && v1 instanceof SProd) { var v2 = Data_Ord.compare(Data_Ord.ordString)(v.value0)(v1.value0); if (v2 instanceof Data_Ordering.EQ) { return Data_Ord.compare(Data_Ord.ordInt)(0)($foreign.zipCompare(compareThunk(ordGenericSpine))(v.value1)(v1.value1)); }; return v2; }; if (v instanceof SProd) { return Data_Ordering.LT.value; }; if (v1 instanceof SProd) { return Data_Ordering.GT.value; }; if (v instanceof SRecord && v1 instanceof SRecord) { var go = function (x) { return function (y) { var v2 = Data_Ord.compare(Data_Ord.ordString)(x.recLabel)(y.recLabel); if (v2 instanceof Data_Ordering.EQ) { return orderingToInt(Data_Ord.compare(ordGenericSpine)(force(x.recValue))(force(y.recValue))); }; return orderingToInt(v2); }; }; return Data_Ord.compare(Data_Ord.ordInt)(0)($foreign.zipCompare(go)(v.value0)(v1.value0)); }; if (v instanceof SRecord) { return Data_Ordering.LT.value; }; if (v1 instanceof SRecord) { return Data_Ordering.GT.value; }; if (v instanceof SInt && v1 instanceof SInt) { return Data_Ord.compare(Data_Ord.ordInt)(v.value0)(v1.value0); }; if (v instanceof SInt) { return Data_Ordering.LT.value; }; if (v1 instanceof SInt) { return Data_Ordering.GT.value; }; if (v instanceof SBoolean && v1 instanceof SBoolean) { return Data_Ord.compare(Data_Ord.ordBoolean)(v.value0)(v1.value0); }; if (v instanceof SBoolean) { return Data_Ordering.LT.value; }; if (v1 instanceof SBoolean) { return Data_Ordering.GT.value; }; if (v instanceof SNumber && v1 instanceof SNumber) { return Data_Ord.compare(Data_Ord.ordNumber)(v.value0)(v1.value0); }; if (v instanceof SNumber) { return Data_Ordering.LT.value; }; if (v1 instanceof SNumber) { return Data_Ordering.GT.value; }; if (v instanceof SString && v1 instanceof SString) { return Data_Ord.compare(Data_Ord.ordString)(v.value0)(v1.value0); }; if (v instanceof SString) { return Data_Ordering.LT.value; }; if (v1 instanceof SString) { return Data_Ordering.GT.value; }; if (v instanceof SChar && v1 instanceof SChar) { return Data_Ord.compare(Data_Ord.ordChar)(v.value0)(v1.value0); }; if (v instanceof SChar) { return Data_Ordering.LT.value; }; if (v1 instanceof SChar) { return Data_Ordering.GT.value; }; if (v instanceof SArray && v1 instanceof SArray) { return Data_Ord.compare(Data_Ord.ordInt)(0)($foreign.zipCompare(compareThunk(ordGenericSpine))(v.value0)(v1.value0)); }; if (v instanceof SArray) { return Data_Ordering.LT.value; }; if (v1 instanceof SArray) { return Data_Ordering.GT.value; }; if (v instanceof SUnit && v1 instanceof SUnit) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at Data.Generic line 303, column 1 - line 303, column 45: " + [ v.constructor.name, v1.constructor.name ]); }; }); // | This function can be used as an implementation of the `compare` function // | of `Ord` for any type with a `Generic` instance. // | // | **Note**: It is preferrable to use `derive instance` for `Ord` instances // | rather than relying on `gCompare`, where possible. var gCompare = function (dictGeneric) { return function (x) { return function (y) { return Data_Ord.compare(ordGenericSpine)(toSpine(dictGeneric)(x))(toSpine(dictGeneric)(y)); }; }; }; exports["SigProd"] = SigProd; exports["SigRecord"] = SigRecord; exports["SigNumber"] = SigNumber; exports["SigBoolean"] = SigBoolean; exports["SigInt"] = SigInt; exports["SigString"] = SigString; exports["SigChar"] = SigChar; exports["SigArray"] = SigArray; exports["SigUnit"] = SigUnit; exports["SProd"] = SProd; exports["SRecord"] = SRecord; exports["SNumber"] = SNumber; exports["SBoolean"] = SBoolean; exports["SInt"] = SInt; exports["SString"] = SString; exports["SChar"] = SChar; exports["SArray"] = SArray; exports["SUnit"] = SUnit; exports["Generic"] = Generic; exports["fromSpine"] = fromSpine; exports["gCompare"] = gCompare; exports["gEq"] = gEq; exports["gShow"] = gShow; exports["isValidSpine"] = isValidSpine; exports["showDataConstructor"] = showDataConstructor; exports["showSignature"] = showSignature; exports["toSignature"] = toSignature; exports["toSpine"] = toSpine; exports["genericNumber"] = genericNumber; exports["genericInt"] = genericInt; exports["genericString"] = genericString; exports["genericChar"] = genericChar; exports["genericBool"] = genericBool; exports["genericArray"] = genericArray; exports["genericUnit"] = genericUnit; exports["genericVoid"] = genericVoid; exports["genericTuple"] = genericTuple; exports["genericList"] = genericList; exports["genericNonEmptyList"] = genericNonEmptyList; exports["genericMaybe"] = genericMaybe; exports["genericEither"] = genericEither; exports["genericIdentity"] = genericIdentity; exports["genericOrdering"] = genericOrdering; exports["genericNonEmpty"] = genericNonEmpty; exports["showGenericSpine"] = showGenericSpine; exports["eqGenericSpine"] = eqGenericSpine; exports["ordGenericSpine"] = ordGenericSpine; exports["eqGenericSignature"] = eqGenericSignature; exports["showGenericSignature"] = showGenericSignature; })(PS["Data.Generic"] = PS["Data.Generic"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Generic = PS["Data.Generic"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | A duration measured in seconds. var Seconds = function (x) { return x; }; // | A duration measured in minutes. var Minutes = function (x) { return x; }; // | A duration measured in milliseconds. var Milliseconds = function (x) { return x; }; // | A duration measured in hours. var Hours = function (x) { return x; }; // | A duration measured in days, where a day is assumed to be exactly 24 hours. var Days = function (x) { return x; }; // | A class for enabling conversions between duration types. var Duration = function (fromDuration, toDuration) { this.fromDuration = fromDuration; this.toDuration = toDuration; }; var toDuration = function (dict) { return dict.toDuration; }; var showSeconds = new Data_Show.Show(function (v) { return "(Seconds " + (Data_Show.show(Data_Show.showNumber)(v) + ")"); }); var showMinutes = new Data_Show.Show(function (v) { return "(Minutes " + (Data_Show.show(Data_Show.showNumber)(v) + ")"); }); var showMilliseconds = new Data_Show.Show(function (v) { return "(Milliseconds " + (Data_Show.show(Data_Show.showNumber)(v) + ")"); }); var showHours = new Data_Show.Show(function (v) { return "(Hours " + (Data_Show.show(Data_Show.showNumber)(v) + ")"); }); var showDays = new Data_Show.Show(function (v) { return "(Days " + (Data_Show.show(Data_Show.showNumber)(v) + ")"); }); var semiringSeconds = Data_Semiring.semiringNumber; var semiringMinutes = Data_Semiring.semiringNumber; var semiringMilliseconds = Data_Semiring.semiringNumber; var semiringHours = Data_Semiring.semiringNumber; var semiringDays = Data_Semiring.semiringNumber; var ringSeconds = Data_Ring.ringNumber; var ringMinutes = Data_Ring.ringNumber; var ringMilliseconds = Data_Ring.ringNumber; var ringHours = Data_Ring.ringNumber; var ringDays = Data_Ring.ringNumber; var ordSeconds = Data_Ord.ordNumber; var ordMinutes = Data_Ord.ordNumber; var ordMilliseconds = Data_Ord.ordNumber; var ordHours = Data_Ord.ordNumber; var ordDays = Data_Ord.ordNumber; var newtypeSeconds = new Data_Newtype.Newtype(function (n) { return n; }, Seconds); var newtypeMinutes = new Data_Newtype.Newtype(function (n) { return n; }, Minutes); var newtypeMilliseconds = new Data_Newtype.Newtype(function (n) { return n; }, Milliseconds); var newtypeHours = new Data_Newtype.Newtype(function (n) { return n; }, Hours); var newtypeDays = new Data_Newtype.Newtype(function (n) { return n; }, Days); var genericSeconds = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Duration.Seconds" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Seconds))(Data_Generic.fromSpine(Data_Generic.genericNumber)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Duration.Seconds", [ { sigConstructor: "Data.Time.Duration.Seconds", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericNumber)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Duration.Seconds", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericNumber)(v); } ]); }); var genericMinutes = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Duration.Minutes" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Minutes))(Data_Generic.fromSpine(Data_Generic.genericNumber)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Duration.Minutes", [ { sigConstructor: "Data.Time.Duration.Minutes", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericNumber)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Duration.Minutes", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericNumber)(v); } ]); }); var genericMilliseconds = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Duration.Milliseconds" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Milliseconds))(Data_Generic.fromSpine(Data_Generic.genericNumber)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Duration.Milliseconds", [ { sigConstructor: "Data.Time.Duration.Milliseconds", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericNumber)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Duration.Milliseconds", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericNumber)(v); } ]); }); var genericHours = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Duration.Hours" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Hours))(Data_Generic.fromSpine(Data_Generic.genericNumber)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Duration.Hours", [ { sigConstructor: "Data.Time.Duration.Hours", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericNumber)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Duration.Hours", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericNumber)(v); } ]); }); var genericDays = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Duration.Days" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Days))(Data_Generic.fromSpine(Data_Generic.genericNumber)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Duration.Days", [ { sigConstructor: "Data.Time.Duration.Days", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericNumber)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Duration.Days", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericNumber)(v); } ]); }); var fromDuration = function (dict) { return dict.fromDuration; }; var eqSeconds = Data_Eq.eqNumber; var eqMinutes = Data_Eq.eqNumber; var eqMilliseconds = Data_Eq.eqNumber; var eqHours = Data_Eq.eqNumber; var eqDays = Data_Eq.eqNumber; var durationSeconds = new Duration(Data_Newtype.over(newtypeSeconds)(newtypeMilliseconds)(Seconds)(function (v) { return v * 1000.0; }), Data_Newtype.over(newtypeMilliseconds)(newtypeSeconds)(Milliseconds)(function (v) { return v / 1000.0; })); var durationMinutes = new Duration(Data_Newtype.over(newtypeMinutes)(newtypeMilliseconds)(Minutes)(function (v) { return v * 60000.0; }), Data_Newtype.over(newtypeMilliseconds)(newtypeMinutes)(Milliseconds)(function (v) { return v / 60000.0; })); var durationMilliseconds = new Duration(Control_Category.id(Control_Category.categoryFn), Control_Category.id(Control_Category.categoryFn)); var durationHours = new Duration(Data_Newtype.over(newtypeHours)(newtypeMilliseconds)(Hours)(function (v) { return v * 3600000.0; }), Data_Newtype.over(newtypeMilliseconds)(newtypeHours)(Milliseconds)(function (v) { return v / 3600000.0; })); var durationDays = new Duration(Data_Newtype.over(newtypeDays)(newtypeMilliseconds)(Days)(function (v) { return v * 8.64e7; }), Data_Newtype.over(newtypeMilliseconds)(newtypeDays)(Milliseconds)(function (v) { return v / 8.64e7; })); // | Converts directly between durations of differing types. var convertDuration = function (dictDuration) { return function (dictDuration1) { return function ($80) { return toDuration(dictDuration1)(fromDuration(dictDuration)($80)); }; }; }; exports["Days"] = Days; exports["Hours"] = Hours; exports["Milliseconds"] = Milliseconds; exports["Minutes"] = Minutes; exports["Seconds"] = Seconds; exports["Duration"] = Duration; exports["convertDuration"] = convertDuration; exports["fromDuration"] = fromDuration; exports["toDuration"] = toDuration; exports["newtypeMilliseconds"] = newtypeMilliseconds; exports["genericMilliseconds"] = genericMilliseconds; exports["eqMilliseconds"] = eqMilliseconds; exports["ordMilliseconds"] = ordMilliseconds; exports["semiringMilliseconds"] = semiringMilliseconds; exports["ringMilliseconds"] = ringMilliseconds; exports["showMilliseconds"] = showMilliseconds; exports["newtypeSeconds"] = newtypeSeconds; exports["genericSeconds"] = genericSeconds; exports["eqSeconds"] = eqSeconds; exports["ordSeconds"] = ordSeconds; exports["semiringSeconds"] = semiringSeconds; exports["ringSeconds"] = ringSeconds; exports["showSeconds"] = showSeconds; exports["newtypeMinutes"] = newtypeMinutes; exports["genericMinutes"] = genericMinutes; exports["eqMinutes"] = eqMinutes; exports["ordMinutes"] = ordMinutes; exports["semiringMinutes"] = semiringMinutes; exports["ringMinutes"] = ringMinutes; exports["showMinutes"] = showMinutes; exports["newtypeHours"] = newtypeHours; exports["genericHours"] = genericHours; exports["eqHours"] = eqHours; exports["ordHours"] = ordHours; exports["semiringHours"] = semiringHours; exports["ringHours"] = ringHours; exports["showHours"] = showHours; exports["newtypeDays"] = newtypeDays; exports["genericDays"] = genericDays; exports["eqDays"] = eqDays; exports["ordDays"] = ordDays; exports["semiringDays"] = semiringDays; exports["ringDays"] = ringDays; exports["showDays"] = showDays; exports["durationMilliseconds"] = durationMilliseconds; exports["durationSeconds"] = durationSeconds; exports["durationMinutes"] = durationMinutes; exports["durationHours"] = durationHours; exports["durationDays"] = durationDays; })(PS["Data.Time.Duration"] = PS["Data.Time.Duration"] || {}); (function(exports) { "use strict"; var $foreign = PS["Control.Monad.Aff"]; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Aff_Internal = PS["Control.Monad.Aff.Internal"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Parallel = PS["Control.Parallel"]; var Control_Parallel_Class = PS["Control.Parallel.Class"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Time_Duration = PS["Data.Time.Duration"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var ParAff = function (x) { return x; }; // | A canceler is an asynchronous function that can be used to attempt the // | cancelation of a computation. Returns a boolean flag indicating whether // | or not the cancellation was successful. Many computations may be composite, // | in such cases the flag indicates whether any part of the computation was // | successfully canceled. The flag should not be used for communication. var Canceler = function (x) { return x; }; // | Runs the asynchronous computation. You must supply an error callback and a // | success callback. // | // | Returns a canceler that can be used to attempt cancellation of the // | asynchronous computation. var runAff = function (ex) { return function (f) { return function (aff) { return $foreign._runAff(ex, f, aff); }; }; }; var newtypeParAff = new Data_Newtype.Newtype(function (n) { return n; }, ParAff); // | Creates an asynchronous effect from a function that accepts error and // | success callbacks, and returns a canceler for the computation. This // | function can be used for asynchronous computations that can be canceled. var makeAff$prime = function (h) { return $foreign._makeAff(h); }; var functorAff = new Data_Functor.Functor(function (f) { return function (fa) { return $foreign._fmap(f, fa); }; }); var functorParAff = functorAff; var fromAVBox = Unsafe_Coerce.unsafeCoerce; // | Unwraps the canceler function from the newtype that wraps it. var cancel = function (v) { return v; }; // | Converts the asynchronous computation into a synchronous one. All values // | are ignored, and if the computation produces an error, it is thrown. // | // | Catching exceptions by using `catchException` with the resulting Eff // | computation is not recommended, as exceptions may end up being thrown // | asynchronously, in which case they cannot be caught. // | // | If you do need to handle exceptions, you can use `runAff` instead, or // | you can handle the exception within the Aff computation, using // | `catchError` (or any of the other mechanisms). var launchAff = (function () { var lowerEx = Data_Functor.map(Control_Monad_Eff.functorEff)(function ($54) { return Canceler(Data_Functor.map(Data_Functor.functorFn)($foreign._unsafeInterleaveAff)(cancel($54))); }); return function ($55) { return lowerEx(runAff(Control_Monad_Eff_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit)))($foreign._unsafeInterleaveAff($55))); }; })(); // | Promotes any error to the value level of the asynchronous monad. var attempt = function (aff) { return $foreign._attempt(Data_Either.Left.create, Data_Either.Right.create, aff); }; // | Ignores any errors. var apathize = function (a) { return Data_Functor.map(functorAff)(Data_Function["const"](Data_Unit.unit))(attempt(a)); }; var applyAff = new Control_Apply.Apply(function () { return functorAff; }, function (ff) { return function (fa) { return $foreign._bind(alwaysCanceler, ff, function (f) { return Data_Functor.map(functorAff)(f)(fa); }); }; }); var applicativeAff = new Control_Applicative.Applicative(function () { return applyAff; }, function (v) { return $foreign._pure(nonCanceler, v); }); // | A constant canceller that always returns false. var nonCanceler = Data_Function["const"](Control_Applicative.pure(applicativeAff)(false)); // | A constant canceller that always returns true. var alwaysCanceler = Data_Function["const"](Control_Applicative.pure(applicativeAff)(true)); // | This function allows you to attach a custom canceler to an asynchronous // | computation. If the computation is canceled, then the custom canceler // | will be run along side the computation's own canceler. var cancelWith = function (aff) { return function (c) { return $foreign._cancelWith(nonCanceler, aff, c); }; }; // | Pauses execuation of the current computation for the specified number of milliseconds. var delay = function (v) { return $foreign._delay(nonCanceler, v); }; // | Forks the specified asynchronous computation so subsequent computations // | will not block on the result of the computation. // | // | Returns a canceler that can be used to attempt cancellation of the // | forked computation. var forkAff = function (aff) { return $foreign._forkAff(nonCanceler, aff); }; // | Forks many asynchronous computation in a synchronous manner while being // | stack-safe up to the selected Foldable instance. // | // | Returns a canceler that can be used to attempt cancellation of all // | forked computations. var forkAll = function (dictFoldable) { return function (affs) { return $foreign._forkAll(nonCanceler, Data_Foldable.foldl(dictFoldable), affs); }; }; var killVar = function (q) { return function (e) { return fromAVBox(Control_Monad_Aff_Internal._killVar(nonCanceler, q, e)); }; }; // | Lifts a synchronous computation and makes explicit any failure from exceptions. var liftEff$prime = function (eff) { return attempt($foreign._unsafeInterleaveAff($foreign._liftEff(nonCanceler, eff))); }; // | Creates an asynchronous effect from a function that accepts error and // | success callbacks. This function can be used for asynchronous computations // | that cannot be canceled. var makeAff = function (h) { return makeAff$prime(function (e) { return function (a) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Function["const"](nonCanceler))(h(e)(a)); }; }); }; var makeVar = fromAVBox(Control_Monad_Aff_Internal._makeVar(nonCanceler)); var putVar = function (q) { return function (a) { return fromAVBox(Control_Monad_Aff_Internal._putVar(nonCanceler, q, a)); }; }; var takeVar = function (q) { return fromAVBox(Control_Monad_Aff_Internal._takeVar(nonCanceler, q)); }; var semigroupAff = function (dictSemigroup) { return new Data_Semigroup.Semigroup(function (a) { return function (b) { return Control_Apply.apply(applyAff)(Data_Functor.map(functorAff)(Data_Semigroup.append(dictSemigroup))(a))(b); }; }); }; var monoidAff = function (dictMonoid) { return new Data_Monoid.Monoid(function () { return semigroupAff(dictMonoid.Semigroup0()); }, Control_Applicative.pure(applicativeAff)(Data_Monoid.mempty(dictMonoid))); }; var semigroupCanceler = new Data_Semigroup.Semigroup(function (v) { return function (v1) { return function (e) { return Control_Apply.apply(applyAff)(Data_Functor.map(functorAff)(Data_HeytingAlgebra.disj(Data_HeytingAlgebra.heytingAlgebraBoolean))(v(e)))(v1(e)); }; }; }); var monoidCanceler = new Data_Monoid.Monoid(function () { return semigroupCanceler; }, Data_Function["const"](Control_Applicative.pure(applicativeAff)(true))); var bindAff = new Control_Bind.Bind(function () { return applyAff; }, function (fa) { return function (f) { return $foreign._bind(alwaysCanceler, fa, f); }; }); var applyParAff = new Control_Apply.Apply(function () { return functorParAff; }, function (v) { return function (v1) { var putOrKill = function (v2) { return Data_Either.either(killVar(v2))(putVar(v2)); }; return Control_Bind.bind(bindAff)(makeVar)(function (v2) { return Control_Bind.bind(bindAff)(makeVar)(function (v3) { return Control_Bind.bind(bindAff)(forkAff(Control_Bind.bindFlipped(bindAff)(putOrKill(v2))(attempt(v))))(function (v4) { return Control_Bind.bind(bindAff)(forkAff(Control_Bind.bindFlipped(bindAff)(putOrKill(v3))(attempt(v1))))(function (v5) { return cancelWith(Control_Apply.apply(applyAff)(takeVar(v2))(takeVar(v3)))(Data_Semigroup.append(semigroupCanceler)(v4)(v5)); }); }); }); }); }; }); var applicativeParAff = new Control_Applicative.Applicative(function () { return applyParAff; }, function ($56) { return ParAff(Control_Applicative.pure(applicativeAff)($56)); }); var semigroupParAff = function (dictSemigroup) { return new Data_Semigroup.Semigroup(function (a) { return function (b) { return Control_Apply.apply(applyParAff)(Data_Functor.map(functorParAff)(Data_Semigroup.append(dictSemigroup))(a))(b); }; }); }; var monoidParAff = function (dictMonoid) { return new Data_Monoid.Monoid(function () { return semigroupParAff(dictMonoid.Semigroup0()); }, Control_Applicative.pure(applicativeParAff)(Data_Monoid.mempty(dictMonoid))); }; var monadAff = new Control_Monad.Monad(function () { return applicativeAff; }, function () { return bindAff; }); var monadEffAff = new Control_Monad_Eff_Class.MonadEff(function () { return monadAff; }, function (eff) { return $foreign._liftEff(nonCanceler, eff); }); var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () { return monadAff; }, function (f) { return function (a) { var isLoop = function (v) { if (v instanceof Control_Monad_Rec_Class.Loop) { return true; }; return false; }; return $foreign._tailRecM(isLoop, f, a); }; }); // | Allows users to throw errors on the error channel of the // | asynchronous computation. See documentation in `purescript-transformers`. var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () { return monadAff; }, function (e) { return $foreign._throwError(nonCanceler, e); }); // | Compute `aff1`, followed by `aff2` regardless of whether `aff1` terminated successfully. var $$finally = function (aff1) { return function (aff2) { return Control_Bind.bind(bindAff)(attempt(aff1))(function (v) { return Control_Bind.bind(bindAff)(aff2)(function (v1) { return Data_Either.either(Control_Monad_Error_Class.throwError(monadThrowAff))(Control_Applicative.pure(applicativeAff))(v); }); }); }; }; var parallelParAff = new Control_Parallel_Class.Parallel(function () { return applicativeParAff; }, function () { return monadAff; }, ParAff, function (v) { return v; }); // | Allows users to catch errors on the error channel of the // | asynchronous computation. See documentation in `purescript-transformers`. var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () { return monadThrowAff; }, function (aff) { return function (ex) { return Control_Bind.bind(bindAff)(attempt(aff))(Data_Either.either(ex)(Control_Applicative.pure(applicativeAff))); }; }); // | Returns the first value, or the first error if both error. var altParAff = new Control_Alt.Alt(function () { return functorParAff; }, function (v) { return function (v1) { var maybeKill = function (va) { return function (ve) { return function (err) { return Control_Bind.bind(bindAff)(takeVar(ve))(function (v2) { return Control_Bind.discard(Control_Bind.discardUnit)(bindAff)(Control_Applicative.when(applicativeAff)(v2 === 1)(killVar(va)(err)))(function () { return putVar(ve)(v2 + 1 | 0); }); }); }; }; }; var done = function (cs) { return function (get) { return function (va) { return function (x) { return Control_Bind.discard(Control_Bind.discardUnit)(bindAff)(putVar(va)(x))(function () { return Control_Bind.bind(bindAff)(Data_Functor.map(functorAff)(get)(takeVar(cs)))(function (v2) { return Data_Functor["void"](functorAff)(cancel(v2)(Control_Monad_Eff_Exception.error("Alt early exit"))); }); }); }; }; }; }; return Control_Bind.bind(bindAff)(makeVar)(function (v2) { return Control_Bind.bind(bindAff)(makeVar)(function (v3) { return Control_Bind.bind(bindAff)(makeVar)(function (v4) { return Control_Bind.discard(Control_Bind.discardUnit)(bindAff)(putVar(v3)(0))(function () { return Control_Bind.bind(bindAff)(forkAff(Control_Bind.bindFlipped(bindAff)(Data_Either.either(maybeKill(v2)(v3))(done(v4)(Data_Tuple.snd)(v2)))(attempt(v))))(function (v5) { return Control_Bind.bind(bindAff)(forkAff(Control_Bind.bindFlipped(bindAff)(Data_Either.either(maybeKill(v2)(v3))(done(v4)(Data_Tuple.fst)(v2)))(attempt(v1))))(function (v6) { return Control_Bind.discard(Control_Bind.discardUnit)(bindAff)(putVar(v4)(new Data_Tuple.Tuple(v5, v6)))(function () { return cancelWith(takeVar(v2))(Data_Semigroup.append(semigroupCanceler)(v5)(v6)); }); }); }); }); }); }); }); }; }); var altAff = new Control_Alt.Alt(function () { return functorAff; }, function (a1) { return function (a2) { return Control_Bind.bind(bindAff)(attempt(a1))(Data_Either.either(Data_Function["const"](a2))(Control_Applicative.pure(applicativeAff))); }; }); var plusAff = new Control_Plus.Plus(function () { return altAff; }, Control_Monad_Error_Class.throwError(monadThrowAff)(Control_Monad_Eff_Exception.error("Always fails"))); var alternativeAff = new Control_Alternative.Alternative(function () { return applicativeAff; }, function () { return plusAff; }); var monadZero = new Control_MonadZero.MonadZero(function () { return alternativeAff; }, function () { return monadAff; }); var monadPlusAff = new Control_MonadPlus.MonadPlus(function () { return monadZero; }); var plusParAff = new Control_Plus.Plus(function () { return altParAff; }, Control_Plus.empty(plusAff)); var alternativeParAff = new Control_Alternative.Alternative(function () { return applicativeParAff; }, function () { return plusParAff; }); exports["Canceler"] = Canceler; exports["ParAff"] = ParAff; exports["apathize"] = apathize; exports["attempt"] = attempt; exports["cancel"] = cancel; exports["cancelWith"] = cancelWith; exports["delay"] = delay; exports["finally"] = $$finally; exports["forkAff"] = forkAff; exports["forkAll"] = forkAll; exports["launchAff"] = launchAff; exports["liftEff'"] = liftEff$prime; exports["makeAff"] = makeAff; exports["makeAff'"] = makeAff$prime; exports["nonCanceler"] = nonCanceler; exports["runAff"] = runAff; exports["semigroupAff"] = semigroupAff; exports["monoidAff"] = monoidAff; exports["functorAff"] = functorAff; exports["applyAff"] = applyAff; exports["applicativeAff"] = applicativeAff; exports["bindAff"] = bindAff; exports["monadAff"] = monadAff; exports["monadEffAff"] = monadEffAff; exports["monadThrowAff"] = monadThrowAff; exports["monadErrorAff"] = monadErrorAff; exports["altAff"] = altAff; exports["plusAff"] = plusAff; exports["alternativeAff"] = alternativeAff; exports["monadZero"] = monadZero; exports["monadPlusAff"] = monadPlusAff; exports["monadRecAff"] = monadRecAff; exports["semigroupCanceler"] = semigroupCanceler; exports["monoidCanceler"] = monoidCanceler; exports["newtypeParAff"] = newtypeParAff; exports["semigroupParAff"] = semigroupParAff; exports["monoidParAff"] = monoidParAff; exports["functorParAff"] = functorParAff; exports["applyParAff"] = applyParAff; exports["applicativeParAff"] = applicativeParAff; exports["altParAff"] = altParAff; exports["plusParAff"] = plusParAff; exports["alternativeParAff"] = alternativeParAff; exports["parallelParAff"] = parallelParAff; })(PS["Control.Monad.Aff"] = PS["Control.Monad.Aff"] || {}); (function(exports) { // | A low-level primitive for building asynchronous code. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Aff_Internal = PS["Control.Monad.Aff.Internal"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Maybe = PS["Data.Maybe"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var fromAVBox = Unsafe_Coerce.unsafeCoerce; // | Kills an asynchronous avar. var killVar = function (q) { return function (e) { return fromAVBox(Control_Monad_Aff_Internal._killVar(Control_Monad_Aff.nonCanceler, q, e)); }; }; // | Makes a new asynchronous avar. var makeVar = fromAVBox(Control_Monad_Aff_Internal._makeVar(Control_Monad_Aff.nonCanceler)); // | Reads a value from the asynchronous var but does not consume it. var peekVar = function (q) { return fromAVBox(Control_Monad_Aff_Internal._peekVar(Control_Monad_Aff.nonCanceler, q)); }; // | Puts a new value into the asynchronous avar. If the avar has // | been killed, this will result in an error. var putVar = function (q) { return function (a) { return fromAVBox(Control_Monad_Aff_Internal._putVar(Control_Monad_Aff.nonCanceler, q, a)); }; }; // | Makes a avar and sets it to some value. var makeVar$prime = function (a) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(makeVar)(function (v) { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(putVar(v)(a))(function () { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v); }); }); }; // | Takes the next value from the asynchronous avar. var takeVar = function (q) { return fromAVBox(Control_Monad_Aff_Internal._takeVar(Control_Monad_Aff.nonCanceler, q)); }; // | Modifies the value at the head of the avar (will suspend until one is available). var modifyVar = function (f) { return function (v) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(takeVar(v))(function ($2) { return putVar(v)(f($2)); }); }; }; // | A variant of `peekVar` which return immediately when the asynchronous avar // | was empty. Nothing if the avar empty and `Just a` if the avar have contents `a`. var tryPeekVar = function (q) { return fromAVBox(Control_Monad_Aff_Internal._tryPeekVar(Data_Maybe.Nothing.value, Data_Maybe.Just.create, Control_Monad_Aff.nonCanceler, q)); }; // | A variant of `takeVar` which return immediately if the asynchronous avar // | was empty. Nothing if the avar empty and `Just a` if the avar have contents `a`. var tryTakeVar = function (q) { return fromAVBox(Control_Monad_Aff_Internal._tryTakeVar(Data_Maybe.Nothing.value, Data_Maybe.Just.create, Control_Monad_Aff.nonCanceler, q)); }; exports["killVar"] = killVar; exports["makeVar"] = makeVar; exports["makeVar'"] = makeVar$prime; exports["modifyVar"] = modifyVar; exports["peekVar"] = peekVar; exports["putVar"] = putVar; exports["takeVar"] = takeVar; exports["tryPeekVar"] = tryPeekVar; exports["tryTakeVar"] = tryTakeVar; })(PS["Control.Monad.Aff.AVar"] = PS["Control.Monad.Aff.AVar"] || {}); (function(exports) { // | This module defines the list monad transformer, `ListT`. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Lazy = PS["Data.Lazy"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | The result of a single step in a `ListT` computation. Either: // | // | - Computation has finished (`Done`), or // | - A result has been returned, along with the next part of the computation (`Yield`). // | // | The `Skip` constructor allows us to avoid traversing lists during certain operations. var Yield = (function () { function Yield(value0, value1) { this.value0 = value0; this.value1 = value1; }; Yield.create = function (value0) { return function (value1) { return new Yield(value0, value1); }; }; return Yield; })(); // | The result of a single step in a `ListT` computation. Either: // | // | - Computation has finished (`Done`), or // | - A result has been returned, along with the next part of the computation (`Yield`). // | // | The `Skip` constructor allows us to avoid traversing lists during certain operations. var Skip = (function () { function Skip(value0) { this.value0 = value0; }; Skip.create = function (value0) { return new Skip(value0); }; return Skip; })(); // | The result of a single step in a `ListT` computation. Either: // | // | - Computation has finished (`Done`), or // | - A result has been returned, along with the next part of the computation (`Yield`). // | // | The `Skip` constructor allows us to avoid traversing lists during certain operations. var Done = (function () { function Done() { }; Done.value = new Done(); return Done; })(); // | The list monad transformer. // | // | This monad transformer extends the base monad with _non-determinism_. // | That is, the transformed monad supports the same effects as the base monad // | but with multiple return values. var ListT = function (x) { return x; }; // | Defer evaluation of a list. var wrapLazy = function (dictApplicative) { return function (v) { return ListT(Control_Applicative.pure(dictApplicative)(new Skip(v))); }; }; // | Lift a computation from the base monad. var wrapEffect = function (dictFunctor) { return function (v) { return ListT(Data_Functor.map(dictFunctor)(function ($178) { return Skip.create(Data_Lazy.defer(Data_Function["const"]($178))); })(v)); }; }; // | Unfold a list using an effectful generator function. var unfold = function (dictMonad) { return function (f) { return function (z) { var g = function (v) { if (v instanceof Data_Maybe.Just) { return new Yield(v.value0.value1, Data_Lazy.defer(function (v1) { return unfold(dictMonad)(f)(v.value0.value0); })); }; if (v instanceof Data_Maybe.Nothing) { return Done.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 131, column 3 - line 131, column 60: " + [ v.constructor.name ]); }; return ListT(Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(g)(f(z))); }; }; }; // | Perform the first step of a computation in the `ListT` monad. var uncons = function (dictMonad) { return function (v) { var g = function (v1) { if (v1 instanceof Yield) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_Maybe.Just.create(new Data_Tuple.Tuple(v1.value0, Data_Lazy.force(v1.value1)))); }; if (v1 instanceof Skip) { return uncons(dictMonad)(Data_Lazy.force(v1.value0)); }; if (v1 instanceof Done) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_Maybe.Nothing.value); }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 196, column 3 - line 196, column 50: " + [ v1.constructor.name ]); }; return Control_Bind.bind(dictMonad.Bind1())(v)(g); }; }; // | Extract all but the first element of a list. var tail = function (dictMonad) { return function (l) { return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd))(uncons(dictMonad)(l)); }; }; // | Lift a computation on list steps to a computation on whole lists. var stepMap = function (dictFunctor) { return function (f) { return function (v) { return ListT(Data_Functor.map(dictFunctor)(f)(v)); }; }; }; // | Take elements from the front of a list while a predicate holds. var takeWhile = function (dictApplicative) { return function (f) { var g = function (v) { if (v instanceof Yield) { var $98 = f(v.value0); if ($98) { return new Yield(v.value0, Data_Functor.map(Data_Lazy.functorLazy)(takeWhile(dictApplicative)(f))(v.value1)); }; return Done.value; }; if (v instanceof Skip) { return Skip.create(Data_Functor.map(Data_Lazy.functorLazy)(takeWhile(dictApplicative)(f))(v.value0)); }; if (v instanceof Done) { return Done.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 155, column 3 - line 155, column 68: " + [ v.constructor.name ]); }; return stepMap((dictApplicative.Apply0()).Functor0())(g); }; }; // | Fold a list from the left, accumulating the list of results using the specified function. var scanl = function (dictMonad) { return function (f) { return function (b) { return function (l) { var g = function (v) { var h = function (v1) { if (v1 instanceof Yield) { var b$prime$prime = f(v.value0)(v1.value0); return Data_Maybe.Just.create(new Data_Tuple.Tuple(new Data_Tuple.Tuple(b$prime$prime, Data_Lazy.force(v1.value1)), v.value0)); }; if (v1 instanceof Skip) { return Data_Maybe.Just.create(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0, Data_Lazy.force(v1.value0)), v.value0)); }; if (v1 instanceof Done) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 249, column 5 - line 249, column 78: " + [ v1.constructor.name ]); }; return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(h)(v.value1); }; return unfold(dictMonad)(g)(new Data_Tuple.Tuple(b, l)); }; }; }; }; // | Prepend an element to a lazily-evaluated list. var prepend$prime = function (dictApplicative) { return function (h) { return function (t) { return ListT(Control_Applicative.pure(dictApplicative)(new Yield(h, t))); }; }; }; // | Prepend an element to a list. var prepend = function (dictApplicative) { return function (h) { return function (t) { return prepend$prime(dictApplicative)(h)(Data_Lazy.defer(Data_Function["const"](t))); }; }; }; // | The empty list. var nil = function (dictApplicative) { return ListT(Control_Applicative.pure(dictApplicative)(Done.value)); }; // | Create a list with one element. var singleton = function (dictApplicative) { return function (a) { return prepend(dictApplicative)(a)(nil(dictApplicative)); }; }; // | Take a number of elements from the front of a list. var take = function (dictApplicative) { return function (v) { return function (fa) { if (v === 0) { return nil(dictApplicative); }; var f = function (v1) { if (v1 instanceof Yield) { return new Yield(v1.value0, Data_Functor.map(Data_Lazy.functorLazy)(take(dictApplicative)(v - 1 | 0))(v1.value1)); }; if (v1 instanceof Skip) { return new Skip(Data_Functor.map(Data_Lazy.functorLazy)(take(dictApplicative)(v))(v1.value0)); }; if (v1 instanceof Done) { return Done.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 148, column 3 - line 148, column 47: " + [ v1.constructor.name ]); }; return stepMap((dictApplicative.Apply0()).Functor0())(f)(fa); }; }; }; // | Zip the elements of two lists, combining elements at the same position from each list. var zipWith$prime = function (dictMonad) { return function (f) { var g = function (v) { return function (v1) { if (v1 instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(dictMonad.Applicative0())(nil(dictMonad.Applicative0())); }; if (v instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(dictMonad.Applicative0())(nil(dictMonad.Applicative0())); }; if (v instanceof Data_Maybe.Just && v1 instanceof Data_Maybe.Just) { return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Function.flip(prepend$prime(dictMonad.Applicative0()))(Data_Lazy.defer(function (v2) { return zipWith$prime(dictMonad)(f)(v.value0.value1)(v1.value0.value1); })))(f(v.value0.value0)(v1.value0.value0)); }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 261, column 3 - line 261, column 25: " + [ v.constructor.name, v1.constructor.name ]); }; }; var loop = function (fa) { return function (fb) { return wrapEffect(((dictMonad.Bind1()).Apply0()).Functor0())(Control_Bind.bind(dictMonad.Bind1())(uncons(dictMonad)(fa))(function (v) { return Control_Bind.bind(dictMonad.Bind1())(uncons(dictMonad)(fb))(function (v1) { return g(v)(v1); }); })); }; }; return loop; }; }; // | Zip the elements of two lists, combining elements at the same position from each list. var zipWith = function (dictMonad) { return function (f) { var g = function (a) { return function (b) { return Control_Applicative.pure(dictMonad.Applicative0())(f(a)(b)); }; }; return zipWith$prime(dictMonad)(g); }; }; var newtypeListT = new Data_Newtype.Newtype(function (n) { return n; }, ListT); // | Apply a function to the elements of a list, keeping only those return values which contain a result. var mapMaybe = function (dictFunctor) { return function (f) { var g = function (v) { if (v instanceof Yield) { return Data_Maybe.fromMaybe(Skip.create)(Data_Functor.map(Data_Maybe.functorMaybe)(Yield.create)(f(v.value0)))(Data_Functor.map(Data_Lazy.functorLazy)(mapMaybe(dictFunctor)(f))(v.value1)); }; if (v instanceof Skip) { return Skip.create(Data_Functor.map(Data_Lazy.functorLazy)(mapMaybe(dictFunctor)(f))(v.value0)); }; if (v instanceof Done) { return Done.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 184, column 3 - line 184, column 72: " + [ v.constructor.name ]); }; return stepMap(dictFunctor)(g); }; }; // | Generate an infinite list by iterating a function. var iterate = function (dictMonad) { return function (f) { return function (a) { var g = function (x) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Maybe.Just(new Data_Tuple.Tuple(f(x), x))); }; return unfold(dictMonad)(g)(a); }; }; }; // | Generate an infinite list by repeating a value. var repeat = function (dictMonad) { return iterate(dictMonad)(Control_Category.id(Control_Category.categoryFn)); }; // | Extract the first element of a list. var head = function (dictMonad) { return function (l) { return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.fst))(uncons(dictMonad)(l)); }; }; var functorListT = function (dictFunctor) { return new Data_Functor.Functor(function (f) { var g = function (v) { if (v instanceof Yield) { return new Yield(f(v.value0), Data_Functor.map(Data_Lazy.functorLazy)(Data_Functor.map(functorListT(dictFunctor))(f))(v.value1)); }; if (v instanceof Skip) { return new Skip(Data_Functor.map(Data_Lazy.functorLazy)(Data_Functor.map(functorListT(dictFunctor))(f))(v.value0)); }; if (v instanceof Done) { return Done.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 281, column 5 - line 281, column 48: " + [ v.constructor.name ]); }; return stepMap(dictFunctor)(g); }); }; // | Lift a computation from the base functor. var fromEffect = function (dictApplicative) { return function (fa) { return ListT(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Function.flip(Yield.create)(Data_Lazy.defer(function (v) { return nil(dictApplicative); })))(fa)); }; }; var monadTransListT = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return fromEffect(dictMonad.Applicative0()); }); // | Fold a list from the left, accumulating the result (effectfully) using the specified function. // | Uses tail call optimization. var foldlRec$prime = function (dictMonadRec) { return function (f) { var loop = function (b) { return function (l) { var g = function (v) { if (v instanceof Data_Maybe.Nothing) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(b)); }; if (v instanceof Data_Maybe.Just) { return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(f(b)(v.value0.value0))(function (b$prime) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop({ a: b$prime, b: v.value0.value1 })); }); }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 222, column 5 - line 222, column 45: " + [ v.constructor.name ]); }; return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(uncons(dictMonadRec.Monad0())(l))(g); }; }; return Control_Monad_Rec_Class.tailRecM2(dictMonadRec)(loop); }; }; // | Drain a `ListT`, running it to completion and discarding all values. // | Stack safe: Uses tail call optimization. var runListTRec = function (dictMonadRec) { return foldlRec$prime(dictMonadRec)(function (v) { return function (v1) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Unit.unit); }; })(Data_Unit.unit); }; // | Fold a list from the left, accumulating the result using the specified function. // | Uses tail call optimization. var foldlRec = function (dictMonadRec) { return function (f) { var loop = function (b) { return function (l) { var g = function (v) { if (v instanceof Data_Maybe.Nothing) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(b)); }; if (v instanceof Data_Maybe.Just) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop({ a: f(b)(v.value0.value0), b: v.value0.value1 })); }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 240, column 7 - line 240, column 47: " + [ v.constructor.name ]); }; return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(uncons(dictMonadRec.Monad0())(l))(g); }; }; return Control_Monad_Rec_Class.tailRecM2(dictMonadRec)(loop); }; }; // | Fold a list from the left, accumulating the result (effectfully) using the specified function. var foldl$prime = function (dictMonad) { return function (f) { var loop = function (b) { return function (l) { var g = function (v) { if (v instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(dictMonad.Applicative0())(b); }; if (v instanceof Data_Maybe.Just) { return Control_Bind.bind(dictMonad.Bind1())(f(b)(v.value0.value0))(Data_Function.flip(loop)(v.value0.value1)); }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 213, column 5 - line 213, column 35: " + [ v.constructor.name ]); }; return Control_Bind.bind(dictMonad.Bind1())(uncons(dictMonad)(l))(g); }; }; return loop; }; }; // | Drain a `ListT`, running it to completion and discarding all values. var runListT = function (dictMonad) { return foldl$prime(dictMonad)(function (v) { return function (v1) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_Unit.unit); }; })(Data_Unit.unit); }; // | Fold a list from the left, accumulating the result using the specified function. var foldl = function (dictMonad) { return function (f) { var loop = function (b) { return function (l) { var g = function (v) { if (v instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(dictMonad.Applicative0())(b); }; if (v instanceof Data_Maybe.Just) { return loop(f(b)(v.value0.value0))(v.value0.value1); }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 230, column 5 - line 230, column 35: " + [ v.constructor.name ]); }; return Control_Bind.bind(dictMonad.Bind1())(uncons(dictMonad)(l))(g); }; }; return loop; }; }; // | Remove elements from a list for which a predicate fails to hold. var filter = function (dictFunctor) { return function (f) { var g = function (v) { if (v instanceof Yield) { var s$prime = Data_Functor.map(Data_Lazy.functorLazy)(filter(dictFunctor)(f))(v.value1); var $151 = f(v.value0); if ($151) { return new Yield(v.value0, s$prime); }; return new Skip(s$prime); }; if (v instanceof Skip) { var s$prime = Data_Functor.map(Data_Lazy.functorLazy)(filter(dictFunctor)(f))(v.value0); return new Skip(s$prime); }; if (v instanceof Done) { return Done.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 177, column 3 - line 177, column 80: " + [ v.constructor.name ]); }; return stepMap(dictFunctor)(g); }; }; // | Drop elements from the front of a list while a predicate holds. var dropWhile = function (dictApplicative) { return function (f) { var g = function (v) { if (v instanceof Yield) { var $156 = f(v.value0); if ($156) { return new Skip(Data_Functor.map(Data_Lazy.functorLazy)(dropWhile(dictApplicative)(f))(v.value1)); }; return new Yield(v.value0, v.value1); }; if (v instanceof Skip) { return Skip.create(Data_Functor.map(Data_Lazy.functorLazy)(dropWhile(dictApplicative)(f))(v.value0)); }; if (v instanceof Done) { return Done.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 170, column 3 - line 170, column 70: " + [ v.constructor.name ]); }; return stepMap((dictApplicative.Apply0()).Functor0())(g); }; }; // | Drop a number of elements from the front of a list. var drop = function (dictApplicative) { return function (v) { return function (fa) { if (v === 0) { return fa; }; var f = function (v1) { if (v1 instanceof Yield) { return new Skip(Data_Functor.map(Data_Lazy.functorLazy)(drop(dictApplicative)(v - 1 | 0))(v1.value1)); }; if (v1 instanceof Skip) { return new Skip(Data_Functor.map(Data_Lazy.functorLazy)(drop(dictApplicative)(v))(v1.value0)); }; if (v1 instanceof Done) { return Done.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 163, column 3 - line 163, column 44: " + [ v1.constructor.name ]); }; return stepMap((dictApplicative.Apply0()).Functor0())(f)(fa); }; }; }; // | Attach an element to the front of a list. var cons = function (dictApplicative) { return function (lh) { return function (t) { return ListT(Control_Applicative.pure(dictApplicative)(new Yield(Data_Lazy.force(lh), t))); }; }; }; var unfoldableListT = function (dictMonad) { return new Data_Unfoldable.Unfoldable(function (f) { return function (b) { var go = function (v) { if (v instanceof Data_Maybe.Nothing) { return nil(dictMonad.Applicative0()); }; if (v instanceof Data_Maybe.Just) { return cons(dictMonad.Applicative0())(Control_Applicative.pure(Data_Lazy.applicativeLazy)(v.value0.value0))(Data_Lazy.defer(function (v1) { return go(f(v.value0.value1)); })); }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 287, column 11 - line 287, column 27: " + [ v.constructor.name ]); }; return go(f(b)); }; }); }; var semigroupListT = function (dictApplicative) { return new Data_Semigroup.Semigroup(concat(dictApplicative)); }; // | Append one list to another. var concat = function (dictApplicative) { return function (x) { return function (y) { var f = function (v) { if (v instanceof Yield) { return new Yield(v.value0, Data_Functor.map(Data_Lazy.functorLazy)(function (v1) { return Data_Semigroup.append(semigroupListT(dictApplicative))(v1)(y); })(v.value1)); }; if (v instanceof Skip) { return new Skip(Data_Functor.map(Data_Lazy.functorLazy)(function (v1) { return Data_Semigroup.append(semigroupListT(dictApplicative))(v1)(y); })(v.value0)); }; if (v instanceof Done) { return new Skip(Data_Lazy.defer(Data_Function["const"](y))); }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 107, column 3 - line 107, column 43: " + [ v.constructor.name ]); }; return stepMap((dictApplicative.Apply0()).Functor0())(f)(x); }; }; }; var monoidListT = function (dictApplicative) { return new Data_Monoid.Monoid(function () { return semigroupListT(dictApplicative); }, nil(dictApplicative)); }; // | Remove elements from a list which do not contain a value. var catMaybes = function (dictFunctor) { return mapMaybe(dictFunctor)(Control_Category.id(Control_Category.categoryFn)); }; var monadListT = function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeListT(dictMonad); }, function () { return bindListT(dictMonad); }); }; var bindListT = function (dictMonad) { return new Control_Bind.Bind(function () { return applyListT(dictMonad); }, function (fa) { return function (f) { var g = function (v) { if (v instanceof Yield) { var h = function (s$prime) { return Data_Semigroup.append(semigroupListT(dictMonad.Applicative0()))(f(v.value0))(Control_Bind.bind(bindListT(dictMonad))(s$prime)(f)); }; return new Skip(Data_Functor.map(Data_Lazy.functorLazy)(h)(v.value1)); }; if (v instanceof Skip) { return new Skip(Data_Functor.map(Data_Lazy.functorLazy)(function (v1) { return Control_Bind.bind(bindListT(dictMonad))(v1)(f); })(v.value0)); }; if (v instanceof Done) { return Done.value; }; throw new Error("Failed pattern match at Control.Monad.List.Trans line 298, column 5 - line 300, column 31: " + [ v.constructor.name ]); }; return stepMap(((dictMonad.Bind1()).Apply0()).Functor0())(g)(fa); }; }); }; var applyListT = function (dictMonad) { return new Control_Apply.Apply(function () { return functorListT(((dictMonad.Bind1()).Apply0()).Functor0()); }, Control_Monad.ap(monadListT(dictMonad))); }; var applicativeListT = function (dictMonad) { return new Control_Applicative.Applicative(function () { return applyListT(dictMonad); }, singleton(dictMonad.Applicative0())); }; var monadEffListT = function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadListT(dictMonadEff.Monad0()); }, function ($179) { return Control_Monad_Trans_Class.lift(monadTransListT)(dictMonadEff.Monad0())(Control_Monad_Eff_Class.liftEff(dictMonadEff)($179)); }); }; var altListT = function (dictApplicative) { return new Control_Alt.Alt(function () { return functorListT((dictApplicative.Apply0()).Functor0()); }, concat(dictApplicative)); }; var plusListT = function (dictMonad) { return new Control_Plus.Plus(function () { return altListT(dictMonad.Applicative0()); }, nil(dictMonad.Applicative0())); }; var alternativeListT = function (dictMonad) { return new Control_Alternative.Alternative(function () { return applicativeListT(dictMonad); }, function () { return plusListT(dictMonad); }); }; var monadZeroListT = function (dictMonad) { return new Control_MonadZero.MonadZero(function () { return alternativeListT(dictMonad); }, function () { return monadListT(dictMonad); }); }; var monadPlusListT = function (dictMonad) { return new Control_MonadPlus.MonadPlus(function () { return monadZeroListT(dictMonad); }); }; exports["ListT"] = ListT; exports["Yield"] = Yield; exports["Skip"] = Skip; exports["Done"] = Done; exports["catMaybes"] = catMaybes; exports["cons"] = cons; exports["drop"] = drop; exports["dropWhile"] = dropWhile; exports["filter"] = filter; exports["foldl"] = foldl; exports["foldl'"] = foldl$prime; exports["foldlRec"] = foldlRec; exports["foldlRec'"] = foldlRec$prime; exports["fromEffect"] = fromEffect; exports["head"] = head; exports["iterate"] = iterate; exports["mapMaybe"] = mapMaybe; exports["nil"] = nil; exports["prepend"] = prepend; exports["prepend'"] = prepend$prime; exports["repeat"] = repeat; exports["runListT"] = runListT; exports["runListTRec"] = runListTRec; exports["scanl"] = scanl; exports["singleton"] = singleton; exports["tail"] = tail; exports["take"] = take; exports["takeWhile"] = takeWhile; exports["uncons"] = uncons; exports["unfold"] = unfold; exports["wrapEffect"] = wrapEffect; exports["wrapLazy"] = wrapLazy; exports["zipWith"] = zipWith; exports["zipWith'"] = zipWith$prime; exports["newtypeListT"] = newtypeListT; exports["semigroupListT"] = semigroupListT; exports["monoidListT"] = monoidListT; exports["functorListT"] = functorListT; exports["unfoldableListT"] = unfoldableListT; exports["applyListT"] = applyListT; exports["applicativeListT"] = applicativeListT; exports["bindListT"] = bindListT; exports["monadListT"] = monadListT; exports["monadTransListT"] = monadTransListT; exports["altListT"] = altListT; exports["plusListT"] = plusListT; exports["alternativeListT"] = alternativeListT; exports["monadZeroListT"] = monadZeroListT; exports["monadPlusListT"] = monadPlusListT; exports["monadEffListT"] = monadEffListT; })(PS["Control.Monad.List.Trans"] = PS["Control.Monad.List.Trans"] || {}); (function(exports) { // | This module defines the reader-writer-state monad transformer, `RWST`. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var RWSResult = (function () { function RWSResult(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; RWSResult.create = function (value0) { return function (value1) { return function (value2) { return new RWSResult(value0, value1, value2); }; }; }; return RWSResult; })(); // | The reader-writer-state monad transformer, which combines the operations // | of `RWST`, `WriterT` and `StateT` into a single monad transformer. var RWST = function (x) { return x; }; // | Change the context type in a `RWST` monad action. var withRWST = function (f) { return function (m) { return function (r) { return function (s) { return Data_Tuple.uncurry(m)(f(r)(s)); }; }; }; }; // | Run a computation in the `RWST` monad. var runRWST = function (v) { return v; }; var newtypeRWST = new Data_Newtype.Newtype(function (n) { return n; }, RWST); var monadTransRWST = function (dictMonoid) { return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return function (m) { return function (v) { return function (s) { return Control_Bind.bind(dictMonad.Bind1())(m)(function (a) { return Control_Applicative.pure(dictMonad.Applicative0())(new RWSResult(s, a, Data_Monoid.mempty(dictMonoid))); }); }; }; }; }); }; // | Change the result and accumulator types in a `RWST` monad action. var mapRWST = function (f) { return function (v) { return function (r) { return function (s) { return f(v(r)(s)); }; }; }; }; var lazyRWST = new Control_Lazy.Lazy(function (f) { return function (r) { return function (s) { var v = f(Data_Unit.unit); return v(r)(s); }; }; }); var functorRWST = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return function (r) { return function (s) { return Data_Functor.map(dictFunctor)(function (v1) { return new RWSResult(v1.value0, f(v1.value1), v1.value2); })(v(r)(s)); }; }; }; }); }; // | Run a computation in the `RWST` monad, discarding the result. var execRWST = function (dictMonad) { return function (v) { return function (r) { return function (s) { return Control_Bind.bind(dictMonad.Bind1())(v(r)(s))(function (v1) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Tuple.Tuple(v1.value0, v1.value2)); }); }; }; }; }; // | Run a computation in the `RWST` monad, discarding the final state. var evalRWST = function (dictMonad) { return function (v) { return function (r) { return function (s) { return Control_Bind.bind(dictMonad.Bind1())(v(r)(s))(function (v1) { return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Tuple.Tuple(v1.value1, v1.value2)); }); }; }; }; }; var applyRWST = function (dictBind) { return function (dictMonoid) { return new Control_Apply.Apply(function () { return functorRWST((dictBind.Apply0()).Functor0()); }, function (v) { return function (v1) { return function (r) { return function (s) { return Control_Bind.bind(dictBind)(v(r)(s))(function (v2) { return Data_Functor.mapFlipped((dictBind.Apply0()).Functor0())(v1(r)(v2.value0))(function (v3) { return new RWSResult(v3.value0, v2.value1(v3.value1), Data_Semigroup.append(dictMonoid.Semigroup0())(v2.value2)(v3.value2)); }); }); }; }; }; }); }; }; var bindRWST = function (dictBind) { return function (dictMonoid) { return new Control_Bind.Bind(function () { return applyRWST(dictBind)(dictMonoid); }, function (v) { return function (f) { return function (r) { return function (s) { return Control_Bind.bind(dictBind)(v(r)(s))(function (v1) { var v2 = f(v1.value1); return Data_Functor.mapFlipped((dictBind.Apply0()).Functor0())(v2(r)(v1.value0))(function (v3) { return new RWSResult(v3.value0, v3.value1, Data_Semigroup.append(dictMonoid.Semigroup0())(v1.value2)(v3.value2)); }); }); }; }; }; }); }; }; var applicativeRWST = function (dictMonad) { return function (dictMonoid) { return new Control_Applicative.Applicative(function () { return applyRWST(dictMonad.Bind1())(dictMonoid); }, function (a) { return function (v) { return function (s) { return Control_Applicative.pure(dictMonad.Applicative0())(new RWSResult(s, a, Data_Monoid.mempty(dictMonoid))); }; }; }); }; }; var monadRWST = function (dictMonad) { return function (dictMonoid) { return new Control_Monad.Monad(function () { return applicativeRWST(dictMonad)(dictMonoid); }, function () { return bindRWST(dictMonad.Bind1())(dictMonoid); }); }; }; var monadAskRWST = function (dictMonad) { return function (dictMonoid) { return new Control_Monad_Reader_Class.MonadAsk(function () { return monadRWST(dictMonad)(dictMonoid); }, function (r) { return function (s) { return Control_Applicative.pure(dictMonad.Applicative0())(new RWSResult(s, r, Data_Monoid.mempty(dictMonoid))); }; }); }; }; var monadReaderRWST = function (dictMonad) { return function (dictMonoid) { return new Control_Monad_Reader_Class.MonadReader(function () { return monadAskRWST(dictMonad)(dictMonoid); }, function (f) { return function (m) { return function (r) { return function (s) { return m(f(r))(s); }; }; }; }); }; }; var monadEffRWS = function (dictMonoid) { return function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadRWST(dictMonadEff.Monad0())(dictMonoid); }, function ($155) { return Control_Monad_Trans_Class.lift(monadTransRWST(dictMonoid))(dictMonadEff.Monad0())(Control_Monad_Eff_Class.liftEff(dictMonadEff)($155)); }); }; }; var monadRecRWST = function (dictMonadRec) { return function (dictMonoid) { return new Control_Monad_Rec_Class.MonadRec(function () { return monadRWST(dictMonadRec.Monad0())(dictMonoid); }, function (k) { return function (a) { var k$prime = function (r) { return function (v) { var v1 = k(v.value1); return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v1(r)(v.value0))(function (v2) { return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())((function () { if (v2.value1 instanceof Control_Monad_Rec_Class.Loop) { return new Control_Monad_Rec_Class.Loop(new RWSResult(v2.value0, v2.value1.value0, Data_Semigroup.append(dictMonoid.Semigroup0())(v.value2)(v2.value2))); }; if (v2.value1 instanceof Control_Monad_Rec_Class.Done) { return new Control_Monad_Rec_Class.Done(new RWSResult(v2.value0, v2.value1.value0, Data_Semigroup.append(dictMonoid.Semigroup0())(v.value2)(v2.value2))); }; throw new Error("Failed pattern match at Control.Monad.RWS.Trans line 129, column 16 - line 131, column 68: " + [ v2.value1.constructor.name ]); })()); }); }; }; return function (r) { return function (s) { return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(k$prime(r))(new RWSResult(s, a, Data_Monoid.mempty(dictMonoid))); }; }; }; }); }; }; var monadStateRWST = function (dictMonad) { return function (dictMonoid) { return new Control_Monad_State_Class.MonadState(function () { return monadRWST(dictMonad)(dictMonoid); }, function (f) { return function (v) { return function (s) { var v1 = f(s); return Control_Applicative.pure(dictMonad.Applicative0())(new RWSResult(v1.value1, v1.value0, Data_Monoid.mempty(dictMonoid))); }; }; }); }; }; var monadTellRWST = function (dictMonad) { return function (dictMonoid) { return new Control_Monad_Writer_Class.MonadTell(function () { return monadRWST(dictMonad)(dictMonoid); }, function (w) { return function (v) { return function (s) { return Control_Applicative.pure(dictMonad.Applicative0())(new RWSResult(s, Data_Unit.unit, w)); }; }; }); }; }; var monadWriterRWST = function (dictMonad) { return function (dictMonoid) { return new Control_Monad_Writer_Class.MonadWriter(function () { return monadTellRWST(dictMonad)(dictMonoid); }, function (m) { return function (r) { return function (s) { return Control_Bind.bind(dictMonad.Bind1())(m(r)(s))(function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(new RWSResult(v.value0, new Data_Tuple.Tuple(v.value1, v.value2), v.value2)); }); }; }; }, function (m) { return function (r) { return function (s) { return Control_Bind.bind(dictMonad.Bind1())(m(r)(s))(function (v) { return Control_Applicative.pure(dictMonad.Applicative0())(new RWSResult(v.value0, v.value1.value0, v.value1.value1(v.value2))); }); }; }; }); }; }; var monadThrowRWST = function (dictMonadThrow) { return function (dictMonoid) { return new Control_Monad_Error_Class.MonadThrow(function () { return monadRWST(dictMonadThrow.Monad0())(dictMonoid); }, function (e) { return Control_Monad_Trans_Class.lift(monadTransRWST(dictMonoid))(dictMonadThrow.Monad0())(Control_Monad_Error_Class.throwError(dictMonadThrow)(e)); }); }; }; var monadErrorRWST = function (dictMonadError) { return function (dictMonoid) { return new Control_Monad_Error_Class.MonadError(function () { return monadThrowRWST(dictMonadError.MonadThrow0())(dictMonoid); }, function (m) { return function (h) { return RWST(function (r) { return function (s) { return Control_Monad_Error_Class.catchError(dictMonadError)(m(r)(s))(function (e) { var v = h(e); return v(r)(s); }); }; }); }; }); }; }; var altRWST = function (dictAlt) { return new Control_Alt.Alt(function () { return functorRWST(dictAlt.Functor0()); }, function (v) { return function (v1) { return RWST(function (r) { return function (s) { return Control_Alt.alt(dictAlt)(v(r)(s))(v1(r)(s)); }; }); }; }); }; var plusRWST = function (dictPlus) { return new Control_Plus.Plus(function () { return altRWST(dictPlus.Alt0()); }, function (v) { return function (v1) { return Control_Plus.empty(dictPlus); }; }); }; var alternativeRWST = function (dictMonoid) { return function (dictAlternative) { return function (dictMonad) { return new Control_Alternative.Alternative(function () { return applicativeRWST(dictMonad)(dictMonoid); }, function () { return plusRWST(dictAlternative.Plus1()); }); }; }; }; exports["RWSResult"] = RWSResult; exports["RWST"] = RWST; exports["evalRWST"] = evalRWST; exports["execRWST"] = execRWST; exports["mapRWST"] = mapRWST; exports["runRWST"] = runRWST; exports["withRWST"] = withRWST; exports["newtypeRWST"] = newtypeRWST; exports["functorRWST"] = functorRWST; exports["applyRWST"] = applyRWST; exports["altRWST"] = altRWST; exports["alternativeRWST"] = alternativeRWST; exports["bindRWST"] = bindRWST; exports["applicativeRWST"] = applicativeRWST; exports["monadRWST"] = monadRWST; exports["monadTransRWST"] = monadTransRWST; exports["lazyRWST"] = lazyRWST; exports["monadEffRWS"] = monadEffRWS; exports["monadAskRWST"] = monadAskRWST; exports["monadReaderRWST"] = monadReaderRWST; exports["monadStateRWST"] = monadStateRWST; exports["monadTellRWST"] = monadTellRWST; exports["monadWriterRWST"] = monadWriterRWST; exports["monadThrowRWST"] = monadThrowRWST; exports["monadErrorRWST"] = monadErrorRWST; exports["monadRecRWST"] = monadRecRWST; exports["plusRWST"] = plusRWST; })(PS["Control.Monad.RWS.Trans"] = PS["Control.Monad.RWS.Trans"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Control_Monad_List_Trans = PS["Control.Monad.List.Trans"]; var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"]; var Control_Monad_RWS_Trans = PS["Control.Monad.RWS.Trans"]; var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"]; var Control_Monad_State_Trans = PS["Control.Monad.State.Trans"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Monoid = PS["Data.Monoid"]; var Prelude = PS["Prelude"]; var MonadAff = function (MonadEff0, liftAff) { this.MonadEff0 = MonadEff0; this.liftAff = liftAff; }; var monadAffAff = new MonadAff(function () { return Control_Monad_Aff.monadEffAff; }, Control_Category.id(Control_Category.categoryFn)); var liftAff = function (dict) { return dict.liftAff; }; var monadAffContT = function (dictMonadAff) { return new MonadAff(function () { return Control_Monad_Cont_Trans.monadEffContT(dictMonadAff.MonadEff0()); }, function ($10) { return Control_Monad_Trans_Class.lift(Control_Monad_Cont_Trans.monadTransContT)((dictMonadAff.MonadEff0()).Monad0())(liftAff(dictMonadAff)($10)); }); }; var monadAffExceptT = function (dictMonadAff) { return new MonadAff(function () { return Control_Monad_Except_Trans.monadEffExceptT(dictMonadAff.MonadEff0()); }, function ($11) { return Control_Monad_Trans_Class.lift(Control_Monad_Except_Trans.monadTransExceptT)((dictMonadAff.MonadEff0()).Monad0())(liftAff(dictMonadAff)($11)); }); }; var monadAffListT = function (dictMonadAff) { return new MonadAff(function () { return Control_Monad_List_Trans.monadEffListT(dictMonadAff.MonadEff0()); }, function ($12) { return Control_Monad_Trans_Class.lift(Control_Monad_List_Trans.monadTransListT)((dictMonadAff.MonadEff0()).Monad0())(liftAff(dictMonadAff)($12)); }); }; var monadAffMaybe = function (dictMonadAff) { return new MonadAff(function () { return Control_Monad_Maybe_Trans.monadEffMaybe(dictMonadAff.MonadEff0()); }, function ($13) { return Control_Monad_Trans_Class.lift(Control_Monad_Maybe_Trans.monadTransMaybeT)((dictMonadAff.MonadEff0()).Monad0())(liftAff(dictMonadAff)($13)); }); }; var monadAffRWS = function (dictMonadAff) { return function (dictMonoid) { return new MonadAff(function () { return Control_Monad_RWS_Trans.monadEffRWS(dictMonoid)(dictMonadAff.MonadEff0()); }, function ($14) { return Control_Monad_Trans_Class.lift(Control_Monad_RWS_Trans.monadTransRWST(dictMonoid))((dictMonadAff.MonadEff0()).Monad0())(liftAff(dictMonadAff)($14)); }); }; }; var monadAffReader = function (dictMonadAff) { return new MonadAff(function () { return Control_Monad_Reader_Trans.monadEffReader(dictMonadAff.MonadEff0()); }, function ($15) { return Control_Monad_Trans_Class.lift(Control_Monad_Reader_Trans.monadTransReaderT)((dictMonadAff.MonadEff0()).Monad0())(liftAff(dictMonadAff)($15)); }); }; var monadAffState = function (dictMonadAff) { return new MonadAff(function () { return Control_Monad_State_Trans.monadEffState(dictMonadAff.MonadEff0()); }, function ($16) { return Control_Monad_Trans_Class.lift(Control_Monad_State_Trans.monadTransStateT)((dictMonadAff.MonadEff0()).Monad0())(liftAff(dictMonadAff)($16)); }); }; var monadAffWriter = function (dictMonadAff) { return function (dictMonoid) { return new MonadAff(function () { return Control_Monad_Writer_Trans.monadEffWriter(dictMonoid)(dictMonadAff.MonadEff0()); }, function ($17) { return Control_Monad_Trans_Class.lift(Control_Monad_Writer_Trans.monadTransWriterT(dictMonoid))((dictMonadAff.MonadEff0()).Monad0())(liftAff(dictMonadAff)($17)); }); }; }; exports["MonadAff"] = MonadAff; exports["liftAff"] = liftAff; exports["monadAffAff"] = monadAffAff; exports["monadAffContT"] = monadAffContT; exports["monadAffExceptT"] = monadAffExceptT; exports["monadAffListT"] = monadAffListT; exports["monadAffMaybe"] = monadAffMaybe; exports["monadAffReader"] = monadAffReader; exports["monadAffRWS"] = monadAffRWS; exports["monadAffState"] = monadAffState; exports["monadAffWriter"] = monadAffWriter; })(PS["Control.Monad.Aff.Class"] = PS["Control.Monad.Aff.Class"] || {}); (function(exports) { "use strict"; exports.log = function (s) { return function () { console.log(s); return {}; }; }; exports.warn = function (s) { return function () { console.warn(s); return {}; }; }; exports.error = function (s) { return function () { console.error(s); return {}; }; }; exports.info = function (s) { return function () { console.info(s); return {}; }; }; })(PS["Control.Monad.Eff.Console"] = PS["Control.Monad.Eff.Console"] || {}); (function(exports) { "use strict"; var $foreign = PS["Control.Monad.Eff.Console"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Data_Show = PS["Data.Show"]; var Data_Unit = PS["Data.Unit"]; // | Write an warning value to the console, using its `Show` instance to produce // | a `String`. var warnShow = function (dictShow) { return function (a) { return $foreign.warn(Data_Show.show(dictShow)(a)); }; }; // | Write a value to the console, using its `Show` instance to produce a // | `String`. var logShow = function (dictShow) { return function (a) { return $foreign.log(Data_Show.show(dictShow)(a)); }; }; // | Write an info value to the console, using its `Show` instance to produce a // | `String`. var infoShow = function (dictShow) { return function (a) { return $foreign.info(Data_Show.show(dictShow)(a)); }; }; // | Write an error value to the console, using its `Show` instance to produce a // | `String`. var errorShow = function (dictShow) { return function (a) { return $foreign.error(Data_Show.show(dictShow)(a)); }; }; exports["errorShow"] = errorShow; exports["infoShow"] = infoShow; exports["logShow"] = logShow; exports["warnShow"] = warnShow; exports["error"] = $foreign.error; exports["info"] = $foreign.info; exports["log"] = $foreign.log; exports["warn"] = $foreign.warn; })(PS["Control.Monad.Eff.Console"] = PS["Control.Monad.Eff.Console"] || {}); (function(exports) { "use strict"; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Eff_Console = PS["Control.Monad.Eff.Console"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Prelude = PS["Prelude"]; // | Write a warning value to the console, using its `Show` instance to produce // | a `String`. Shorthand for `liftEff $ warnShow x`. var warnShow = function (dictShow) { return function ($4) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Console.warnShow(dictShow)($4)); }; }; // | Write a warning to the console. Shorthand for `liftEff $ warn x`. var warn = function ($5) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Console.warn($5)); }; // | Write a value to the console, using its `Show` instance to produce a // | `String`. Shorthand for `liftEff $ logShow x`. var logShow = function (dictShow) { return function ($6) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Console.logShow(dictShow)($6)); }; }; // | Write a message to the console. Shorthand for `liftEff $ log x`. var log = function ($7) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Console.log($7)); }; // | Write an info value to the console, using its `Show` instance to produce a // | `String`. Shorthand for `liftEff $ infoShow x`. var infoShow = function (dictShow) { return function ($8) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Console.infoShow(dictShow)($8)); }; }; // | Write an info message to the console. Shorthand for `liftEff $ info x`. var info = function ($9) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Console.info($9)); }; // | Write an error value to the console, using its `Show` instance to produce a // | `String`. Shorthand for `liftEff $ errorShow x`. var errorShow = function (dictShow) { return function ($10) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Console.errorShow(dictShow)($10)); }; }; // | Write an error to the console. Shorthand for `liftEff $ error x`. var error = function ($11) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Console.error($11)); }; exports["error"] = error; exports["errorShow"] = errorShow; exports["info"] = info; exports["infoShow"] = infoShow; exports["log"] = log; exports["logShow"] = logShow; exports["warn"] = warn; exports["warnShow"] = warnShow; })(PS["Control.Monad.Aff.Console"] = PS["Control.Monad.Aff.Console"] || {}); (function(exports) { "use strict"; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var unsafeCoerceAff = Unsafe_Coerce.unsafeCoerce; exports["unsafeCoerceAff"] = unsafeCoerceAff; })(PS["Control.Monad.Aff.Unsafe"] = PS["Control.Monad.Aff.Unsafe"] || {}); (function(exports) { // | This module defines the `Cont`inuation monad. "use strict"; var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"]; var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Prelude = PS["Prelude"]; // | Transform the continuation passed into the continuation-passing function. var withCont = function (f) { return Control_Monad_Cont_Trans.withContT(function ($0) { return function ($1) { return Data_Identity.Identity(f(function ($2) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($0($2)); })($1)); }; }); }; // | Runs a computation in the `Cont` monad. var runCont = function (cc) { return function (k) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Cont_Trans.runContT(cc)(function ($3) { return Data_Identity.Identity(k($3)); })); }; }; // | Transform the result of a continuation-passing function. var mapCont = function (f) { return Control_Monad_Cont_Trans.mapContT(function ($4) { return Data_Identity.Identity(f(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($4))); }); }; // | Creates a computation in the `Cont` monad. var cont = function (f) { return function (c) { return f(function ($5) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(c($5)); }); }; }; exports["cont"] = cont; exports["runCont"] = runCont; })(PS["Control.Monad.Cont"] = PS["Control.Monad.Cont"] || {}); (function(exports) { "use strict"; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Eff_Unsafe = PS["Control.Monad.Eff.Unsafe"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; // | Throw an exception in pure code. This function should be used very // | sparingly, as it can cause unexpected crashes at runtime. var unsafeThrowException = function ($0) { return Control_Monad_Eff_Unsafe.unsafePerformEff(Control_Monad_Eff_Exception.throwException($0)); }; // | Defined as `unsafeThrowException <<< error`. var unsafeThrow = function ($1) { return unsafeThrowException(Control_Monad_Eff_Exception.error($1)); }; exports["unsafeThrow"] = unsafeThrow; exports["unsafeThrowException"] = unsafeThrowException; })(PS["Control.Monad.Eff.Exception.Unsafe"] = PS["Control.Monad.Eff.Exception.Unsafe"] || {}); (function(exports) { // | Unsafe functions for working with mutable references. "use strict"; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var Control_Monad_Eff_Unsafe = PS["Control.Monad.Eff.Unsafe"]; // | This handler function unsafely removes the `Ref` effect from an // | effectful action. // | // | This function might be used when it is impossible to prove to the // | typechecker that a particular mutable reference does not escape // | its scope. var unsafeRunRef = Control_Monad_Eff_Unsafe.unsafeCoerceEff; exports["unsafeRunRef"] = unsafeRunRef; })(PS["Control.Monad.Eff.Ref.Unsafe"] = PS["Control.Monad.Eff.Ref.Unsafe"] || {}); (function(exports) { "use strict"; exports.mkEffFn1 = function mkEffFn1(fn) { return function(x) { return fn(x)(); }; }; exports.mkEffFn2 = function mkEffFn2(fn) { return function(a, b) { return fn(a)(b)(); }; }; exports.mkEffFn3 = function mkEffFn3(fn) { return function(a, b, c) { return fn(a)(b)(c)(); }; }; exports.mkEffFn4 = function mkEffFn4(fn) { return function(a, b, c, d) { return fn(a)(b)(c)(d)(); }; }; exports.mkEffFn5 = function mkEffFn5(fn) { return function(a, b, c, d, e) { return fn(a)(b)(c)(d)(e)(); }; }; exports.mkEffFn6 = function mkEffFn6(fn) { return function(a, b, c, d, e, f) { return fn(a)(b)(c)(d)(e)(f)(); }; }; exports.mkEffFn7 = function mkEffFn7(fn) { return function(a, b, c, d, e, f, g) { return fn(a)(b)(c)(d)(e)(f)(g)(); }; }; exports.mkEffFn8 = function mkEffFn8(fn) { return function(a, b, c, d, e, f, g, h) { return fn(a)(b)(c)(d)(e)(f)(g)(h)(); }; }; exports.mkEffFn9 = function mkEffFn9(fn) { return function(a, b, c, d, e, f, g, h, i) { return fn(a)(b)(c)(d)(e)(f)(g)(h)(i)(); }; }; exports.mkEffFn10 = function mkEffFn10(fn) { return function(a, b, c, d, e, f, g, h, i, j) { return fn(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(); }; }; exports.runEffFn1 = function runEffFn1(fn) { return function(a) { return function() { return fn(a); }; }; }; exports.runEffFn2 = function runEffFn2(fn) { return function(a) { return function(b) { return function() { return fn(a, b); }; }; }; }; exports.runEffFn3 = function runEffFn3(fn) { return function(a) { return function(b) { return function(c) { return function() { return fn(a, b, c); }; }; }; }; }; exports.runEffFn4 = function runEffFn4(fn) { return function(a) { return function(b) { return function(c) { return function(d) { return function() { return fn(a, b, c, d); }; }; }; }; }; }; exports.runEffFn5 = function runEffFn5(fn) { return function(a) { return function(b) { return function(c) { return function(d) { return function(e) { return function() { return fn(a, b, c, d, e); }; }; }; }; }; }; }; exports.runEffFn6 = function runEffFn6(fn) { return function(a) { return function(b) { return function(c) { return function(d) { return function(e) { return function(f) { return function() { return fn(a, b, c, d, e, f); }; }; }; }; }; }; }; }; exports.runEffFn7 = function runEffFn7(fn) { return function(a) { return function(b) { return function(c) { return function(d) { return function(e) { return function(f) { return function(g) { return function() { return fn(a, b, c, d, e, f, g); }; }; }; }; }; }; }; }; }; exports.runEffFn8 = function runEffFn8(fn) { return function(a) { return function(b) { return function(c) { return function(d) { return function(e) { return function(f) { return function(g) { return function(h) { return function() { return fn(a, b, c, d, e, f, g, h); }; }; }; }; }; }; }; }; }; }; exports.runEffFn9 = function runEffFn9(fn) { return function(a) { return function(b) { return function(c) { return function(d) { return function(e) { return function(f) { return function(g) { return function(h) { return function(i) { return function() { return fn(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; }; }; }; }; exports.runEffFn10 = function runEffFn10(fn) { return function(a) { return function(b) { return function(c) { return function(d) { return function(e) { return function(f) { return function(g) { return function(h) { return function(i) { return function(j) { return function() { return fn(a, b, c, d, e, f, g, h, i, j); }; }; }; }; }; }; }; }; }; }; }; }; })(PS["Control.Monad.Eff.Uncurried"] = PS["Control.Monad.Eff.Uncurried"] || {}); (function(exports) { // | This module defines types for effectful uncurried functions, as well as // | functions for converting back and forth between them. // | // | Traditionally, it has been difficult to give a PureScript type to // | JavaScript functions such as this one: // | // | ```javascript // | function logMessage(level, message) { // | console.log(level + ": " + message); // | } // | ``` // | // | In particular, note that `logMessage` performs effects immediately after // | receiving all of its parameters, so giving it the type `Data.Function.Fn2 // | String String Unit`, while convenient, would effectively be a lie. // | // | Because there has been no way of giving such functions types, we generally // | resort to converting functions into the normal PureScript form (namely, // | a curried function returning an Eff action), and performing the // | marshalling in JavaScript, in the FFI module, like this: // | // | ```purescript // | -- In the PureScript file: // | foreign import logMessage :: forall eff. // | String -> String -> Eff (console :: CONSOLE | eff) Unit // | ``` // | // | ```javascript // | // In the FFI file: // | exports.logMessage = function(level) { // | return function(message) { // | return function() { // | logMessage(level, message); // | }; // | }; // | }; // | ``` // | // | This method, unfortunately, turns out to be both tiresome and error-prone. // | This module offers an alternative solution. By providing you with: // | // | * the ability to give the real `logMessage` function a PureScript type, // | and // | * functions for converting between this form and the normal PureScript // | form, // | // | the FFI boilerplate is no longer needed. The previous example becomes: // | // | ```purescript // | -- In the PureScript file: // | foreign import logMessageImpl :: forall eff. // | EffFn2 (console :: CONSOLE | eff) String String Unit // | ``` // | // | ```javascript // | // In the FFI file: // | exports.logMessageImpl = logMessage // | ``` // | // | You can then use `runEffFn2` to provide a nicer version: // | // | ```purescript // | logMessage :: forall eff. // | String -> String -> Eff (console :: CONSOLE | eff) Unit // | logMessage = runEffFn2 logMessageImpl // | ``` // | // | (note that this has the same type as the original `logMessage`). // | // | Effectively, we have reduced the risk of errors by moving as much code // | into PureScript as possible, so that we can leverage the type system. // | Hopefully, this is a little less tiresome too. // | // | Here's a slightly more advanced example. Here, because we are using // | callbacks, we need to use `mkEffFn{N}` as well. // | // | Suppose our `logMessage` changes so that it sometimes sends details of the // | message to some external server, and in those cases, we want the resulting // | `HttpResponse` (for whatever reason). // | // | ```javascript // | function logMessage(level, message, callback) { // | console.log(level + ": " + message); // | if (level > LogLevel.WARN) { // | LogAggregatorService.post("/logs", { // | level: level, // | message: message // | }, callback); // | } else { // | callback(null); // | } // | } // | ``` // | // | The import then looks like this: // | ```purescript // | foreign import logMessageImpl :: forall eff. // | EffFn3 (http :: HTTP, console :: CONSOLE | eff) // | String // | String // | (EffFn1 (http :: HTTP, console :: CONSOLE | eff) // | (Nullable HttpResponse) // | Unit) // | Unit // | ``` // | // | And, as before, the FFI file is extremely simple: // | // | ```javascript // | exports.logMessageImpl = logMessage // | ``` // | // | Finally, we use `runEffFn{N}` and `mkEffFn{N}` for a more comfortable // | PureScript version: // | // | ```purescript // | logMessage :: forall eff. // | String -> // | String -> // | (Nullable HttpResponse -> Eff (http :: HTTP, console :: CONSOLE | eff) Unit) -> // | Eff (http :: HTTP, console :: CONSOLE | eff) Unit // | logMessage level message callback = // | runEffFn3 logMessageImpl level message (mkEffFn1 callback) // | ``` // | // | The general naming scheme for functions and types in this module is as // | follows: // | // | * `EffFn{N}` means, a curried function which accepts N arguments and // | performs some effects. The first type argument is the row of effects, // | which works exactly the same way as in `Eff`. The last type argument // | is the return type. All other arguments are the actual function's // | arguments. // | * `runEffFn{N}` takes an `EffFn` of N arguments, and converts it into the // | normal PureScript form: a curried function which returns an Eff action. // | * `mkEffFn{N}` is the inverse of `runEffFn{N}`. It can be useful for // | callbacks. // | "use strict"; var $foreign = PS["Control.Monad.Eff.Uncurried"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; exports["mkEffFn1"] = $foreign.mkEffFn1; exports["mkEffFn10"] = $foreign.mkEffFn10; exports["mkEffFn2"] = $foreign.mkEffFn2; exports["mkEffFn3"] = $foreign.mkEffFn3; exports["mkEffFn4"] = $foreign.mkEffFn4; exports["mkEffFn5"] = $foreign.mkEffFn5; exports["mkEffFn6"] = $foreign.mkEffFn6; exports["mkEffFn7"] = $foreign.mkEffFn7; exports["mkEffFn8"] = $foreign.mkEffFn8; exports["mkEffFn9"] = $foreign.mkEffFn9; exports["runEffFn1"] = $foreign.runEffFn1; exports["runEffFn10"] = $foreign.runEffFn10; exports["runEffFn2"] = $foreign.runEffFn2; exports["runEffFn3"] = $foreign.runEffFn3; exports["runEffFn4"] = $foreign.runEffFn4; exports["runEffFn5"] = $foreign.runEffFn5; exports["runEffFn6"] = $foreign.runEffFn6; exports["runEffFn7"] = $foreign.runEffFn7; exports["runEffFn8"] = $foreign.runEffFn8; exports["runEffFn9"] = $foreign.runEffFn9; })(PS["Control.Monad.Eff.Uncurried"] = PS["Control.Monad.Eff.Uncurried"] || {}); (function(exports) { /** * * Copyright 2016 SlamData, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Semigroup = PS["Data.Semigroup"]; var Prelude = PS["Prelude"]; // | Semigroup (and monoid) for combining cancel functions produced by `fork`. var Canceler = function (x) { return x; }; var semigroupCanceler = function (dictApply) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return function (e) { return Control_Apply.apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_HeytingAlgebra.disj(Data_HeytingAlgebra.heytingAlgebraBoolean))(v(e)))(v1(e)); }; }; }); }; var newtypeCanceler = new Data_Newtype.Newtype(function (n) { return n; }, Canceler); var monoidCanceler = function (dictApplicative) { return new Data_Monoid.Monoid(function () { return semigroupCanceler(dictApplicative.Apply0()); }, Data_Function["const"](Control_Applicative.pure(dictApplicative)(false))); }; var cancel = function (v) { return v; }; exports["Canceler"] = Canceler; exports["cancel"] = cancel; exports["newtypeCanceler"] = newtypeCanceler; exports["semigroupCanceler"] = semigroupCanceler; exports["monoidCanceler"] = monoidCanceler; })(PS["Control.Monad.Fork.Canceler"] = PS["Control.Monad.Fork.Canceler"] || {}); (function(exports) { /** * * Copyright 2016 SlamData, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ "use strict"; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor = PS["Data.Functor"]; var Prelude = PS["Prelude"]; var MonadFork = function (Monad0, fork) { this.Monad0 = Monad0; this.fork = fork; }; var monadForkAff = new MonadFork(function () { return Control_Monad_Aff.monadAff; }, function ($3) { return Data_Functor.map(Control_Monad_Aff.functorAff)(Control_Monad_Aff.cancel)(Control_Monad_Aff.forkAff($3)); }); var fork = function (dict) { return dict.fork; }; var monadForkReaderT = function (dictMonadFork) { return new MonadFork(function () { return Control_Monad_Reader_Trans.monadReaderT(dictMonadFork.Monad0()); }, function (v) { return function (r) { return Data_Functor.map((((dictMonadFork.Monad0()).Bind1()).Apply0()).Functor0())(Data_Functor.map(Data_Functor.functorFn)(Control_Monad_Trans_Class.lift(Control_Monad_Reader_Trans.monadTransReaderT)(dictMonadFork.Monad0())))(fork(dictMonadFork)(v(r))); }; }); }; exports["MonadFork"] = MonadFork; exports["fork"] = fork; exports["monadForkAff"] = monadForkAff; exports["monadForkReaderT"] = monadForkReaderT; })(PS["Control.Monad.Fork.Class"] = PS["Control.Monad.Fork.Class"] || {}); (function(exports) { "use strict"; var Prelude = PS["Prelude"]; // | A class for random generator implementations. // | // | Instances should provide implementations for the generation functions // | that return choices with uniform probability. var MonadGen = function (Monad0, chooseBool, chooseFloat, chooseInt, resize, sized) { this.Monad0 = Monad0; this.chooseBool = chooseBool; this.chooseFloat = chooseFloat; this.chooseInt = chooseInt; this.resize = resize; this.sized = sized; }; // | Runs a generator, passing in the current size state. var sized = function (dict) { return dict.sized; }; // | Modifies the size state for a random generator. var resize = function (dict) { return dict.resize; }; // | Chooses an integer in the specified (inclusive) range. var chooseInt = function (dict) { return dict.chooseInt; }; // | Chooses an floating point number in the specified (inclusive) range. var chooseFloat = function (dict) { return dict.chooseFloat; }; // | Chooses a random boolean value. var chooseBool = function (dict) { return dict.chooseBool; }; exports["MonadGen"] = MonadGen; exports["chooseBool"] = chooseBool; exports["chooseFloat"] = chooseFloat; exports["chooseInt"] = chooseInt; exports["resize"] = resize; exports["sized"] = sized; })(PS["Control.Monad.Gen.Class"] = PS["Control.Monad.Gen.Class"] || {}); (function(exports) { "use strict"; // module Data.Int exports.fromNumberImpl = function (just) { return function (nothing) { return function (n) { /* jshint bitwise: false */ return (n | 0) === n ? just(n) : nothing; }; }; }; exports.toNumber = function (n) { return n; }; exports.fromStringAsImpl = function (just) { return function (nothing) { return function (radix) { var digits; if (radix < 11) { digits = "[0-" + (radix - 1).toString() + "]"; } else if (radix === 11) { digits = "[0-9a]"; } else { digits = "[0-9a-" + String.fromCharCode(86 + radix) + "]"; } var pattern = new RegExp("^[\\+\\-]?" + digits + "+$", "i"); return function (s) { /* jshint bitwise: false */ if (pattern.test(s)) { var i = parseInt(s, radix); return (i | 0) === i ? just(i) : nothing; } else { return nothing; } }; }; }; }; exports.toStringAs = function (radix) { return function (i) { return i.toString(radix); }; }; exports.pow = function (x) { return function (y) { /* jshint bitwise: false */ return Math.pow(x,y) | 0; }; }; })(PS["Data.Int"] = PS["Data.Int"] || {}); (function(exports) { "use strict"; // module Data.Int.Bits exports.and = function (n1) { return function (n2) { /* jshint bitwise: false */ return n1 & n2; }; }; exports.or = function (n1) { return function (n2) { /* jshint bitwise: false */ return n1 | n2; }; }; exports.xor = function (n1) { return function (n2) { /* jshint bitwise: false */ return n1 ^ n2; }; }; exports.shl = function (n1) { return function (n2) { /* jshint bitwise: false */ return n1 << n2; }; }; exports.shr = function (n1) { return function (n2) { /* jshint bitwise: false */ return n1 >> n2; }; }; exports.zshr = function (n1) { return function (n2) { /* jshint bitwise: false */ return n1 >>> n2; }; }; exports.complement = function (n) { /* jshint bitwise: false */ return ~n; }; })(PS["Data.Int.Bits"] = PS["Data.Int.Bits"] || {}); (function(exports) { // | This module defines bitwise operations for the `Int` type. "use strict"; var $foreign = PS["Data.Int.Bits"]; exports["and"] = $foreign.and; exports["complement"] = $foreign.complement; exports["or"] = $foreign.or; exports["shl"] = $foreign.shl; exports["shr"] = $foreign.shr; exports["xor"] = $foreign.xor; exports["zshr"] = $foreign.zshr; })(PS["Data.Int.Bits"] = PS["Data.Int.Bits"] || {}); (function(exports) { /* globals exports */ "use strict"; // module Global exports.nan = NaN; exports.isNaN = isNaN; exports.infinity = Infinity; exports.isFinite = isFinite; exports.readInt = function (radix) { return function (n) { return parseInt(n, radix); }; }; exports.readFloat = parseFloat; exports.decodeURI = decodeURI; exports.encodeURI = encodeURI; exports.decodeURIComponent = decodeURIComponent; exports.encodeURIComponent = encodeURIComponent; })(PS["Global"] = PS["Global"] || {}); (function(exports) { // | This module defines types for some global Javascript functions // | and values. "use strict"; var $foreign = PS["Global"]; exports["decodeURI"] = $foreign["decodeURI"]; exports["decodeURIComponent"] = $foreign["decodeURIComponent"]; exports["encodeURI"] = $foreign["encodeURI"]; exports["encodeURIComponent"] = $foreign["encodeURIComponent"]; exports["infinity"] = $foreign.infinity; exports["isFinite"] = $foreign["isFinite"]; exports["isNaN"] = $foreign["isNaN"]; exports["nan"] = $foreign.nan; exports["readFloat"] = $foreign.readFloat; exports["readInt"] = $foreign.readInt; })(PS["Global"] = PS["Global"] || {}); (function(exports) { "use strict"; // module Math exports.abs = Math.abs; exports.acos = Math.acos; exports.asin = Math.asin; exports.atan = Math.atan; exports.atan2 = function (y) { return function (x) { return Math.atan2(y, x); }; }; exports.ceil = Math.ceil; exports.cos = Math.cos; exports.exp = Math.exp; exports.floor = Math.floor; exports.trunc = Math.trunc || function (n) { return n < 0 ? Math.ceil(n) : Math.floor(n); }; exports.log = Math.log; exports.max = function (n1) { return function (n2) { return Math.max(n1, n2); }; }; exports.min = function (n1) { return function (n2) { return Math.min(n1, n2); }; }; exports.pow = function (n) { return function (p) { return Math.pow(n, p); }; }; exports.remainder = function (n) { return function (m) { return n % m; }; }; exports.round = Math.round; exports.sin = Math.sin; exports.sqrt = Math.sqrt; exports.tan = Math.tan; exports.e = Math.E; exports.ln2 = Math.LN2; exports.ln10 = Math.LN10; exports.log2e = Math.LOG2E; exports.log10e = Math.LOG10E; exports.pi = Math.PI; exports.tau = 2 * Math.PI; exports.sqrt1_2 = Math.SQRT1_2; exports.sqrt2 = Math.SQRT2; })(PS["Math"] = PS["Math"] || {}); (function(exports) { // | Wraps the math functions and constants from Javascript's built-in `Math` object. // | See [Math Reference at MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math). "use strict"; var $foreign = PS["Math"]; exports["abs"] = $foreign.abs; exports["acos"] = $foreign.acos; exports["asin"] = $foreign.asin; exports["atan"] = $foreign.atan; exports["atan2"] = $foreign.atan2; exports["ceil"] = $foreign.ceil; exports["cos"] = $foreign.cos; exports["e"] = $foreign.e; exports["exp"] = $foreign.exp; exports["floor"] = $foreign.floor; exports["ln10"] = $foreign.ln10; exports["ln2"] = $foreign.ln2; exports["log"] = $foreign.log; exports["log10e"] = $foreign.log10e; exports["log2e"] = $foreign.log2e; exports["max"] = $foreign.max; exports["min"] = $foreign.min; exports["pi"] = $foreign.pi; exports["pow"] = $foreign.pow; exports["remainder"] = $foreign.remainder; exports["round"] = $foreign.round; exports["sin"] = $foreign.sin; exports["sqrt"] = $foreign.sqrt; exports["sqrt1_2"] = $foreign.sqrt1_2; exports["sqrt2"] = $foreign.sqrt2; exports["tan"] = $foreign.tan; exports["tau"] = $foreign.tau; exports["trunc"] = $foreign.trunc; })(PS["Math"] = PS["Math"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Int"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Int_Bits = PS["Data.Int.Bits"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Show = PS["Data.Show"]; var Global = PS["Global"]; var $$Math = PS["Math"]; var Prelude = PS["Prelude"]; // | The number of unique digits (including zero) used to represent integers in // | a specific base. var Radix = function (x) { return x; }; // | A type for describing whether an integer is even or odd. var Even = (function () { function Even() { }; Even.value = new Even(); return Even; })(); // | A type for describing whether an integer is even or odd. var Odd = (function () { function Odd() { }; Odd.value = new Odd(); return Odd; })(); var showParity = new Data_Show.Show(function (v) { if (v instanceof Even) { return "Even"; }; if (v instanceof Odd) { return "Odd"; }; throw new Error("Failed pattern match at Data.Int line 88, column 1 - line 88, column 35: " + [ v.constructor.name ]); }); // | Create a `Radix` from a number between 2 and 36. var radix = function (n) { if (n >= 2 && n <= 36) { return new Data_Maybe.Just(n); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Int line 148, column 1 - line 148, column 28: " + [ n.constructor.name ]); }; // | The negation of `even`. // | // | ``` purescript // | odd 0 == false // | odd 1 == true // | ``` var odd = function (x) { return (x & 1) !== 0; }; // | The base-8 system. var octal = 8; // | The base-16 system. var hexadecimal = 16; // | Like `fromString`, but the integer can be specified in a different base. // | // | Example: // | ``` purs // | fromStringAs binary "100" == Just 4 // | fromStringAs hexadecimal "ff" == Just 255 // | ``` var fromStringAs = $foreign.fromStringAsImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Reads an `Int` from a `String` value. The number must parse as an integer // | and fall within the valid range of values for the `Int` type, otherwise // | `Nothing` is returned. var fromString = fromStringAs(10); // | Creates an `Int` from a `Number` value. The number must already be an // | integer and fall within the valid range of values for the `Int` type // | otherwise `Nothing` is returned. var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Convert an integral `Number` to an `Int`, by clamping to the `Int` range. // | This function will return 0 if the input is `NaN` or an `Infinity`. var unsafeClamp = function (x) { if (x === Global.infinity) { return 0; }; if (x === -Global.infinity) { return 0; }; if (x >= $foreign.toNumber(Data_Bounded.top(Data_Bounded.boundedInt))) { return Data_Bounded.top(Data_Bounded.boundedInt); }; if (x <= $foreign.toNumber(Data_Bounded.bottom(Data_Bounded.boundedInt))) { return Data_Bounded.bottom(Data_Bounded.boundedInt); }; if (Data_Boolean.otherwise) { return Data_Maybe.fromMaybe(0)(fromNumber(x)); }; throw new Error("Failed pattern match at Data.Int line 64, column 1 - line 64, column 29: " + [ x.constructor.name ]); }; // | Convert a `Number` to an `Int`, by taking the nearest integer to the // | argument. Values outside the `Int` range are clamped, `NaN` and `Infinity` // | values return 0. var round = function ($13) { return unsafeClamp($$Math.round($13)); }; // | Convert a `Number` to an `Int`, by taking the closest integer equal to or // | less than the argument. Values outside the `Int` range are clamped, `NaN` // | and `Infinity` values return 0. var floor = function ($14) { return unsafeClamp($$Math.floor($14)); }; // | Returns whether an `Int` is an even number. // | // | ``` purescript // | even 0 == true // | even 1 == false // | ``` var even = function (x) { return (x & 1) === 0; }; // | Returns whether an `Int` is `Even` or `Odd`. // | // | ``` purescript // | parity 0 == Even // | parity 1 == Odd // | ``` var parity = function (n) { var $8 = even(n); if ($8) { return Even.value; }; return Odd.value; }; var eqParity = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof Even && y instanceof Even) { return true; }; if (x instanceof Odd && y instanceof Odd) { return true; }; return false; }; }); var ordParity = new Data_Ord.Ord(function () { return eqParity; }, function (x) { return function (y) { if (x instanceof Even && y instanceof Even) { return Data_Ordering.EQ.value; }; if (x instanceof Even) { return Data_Ordering.LT.value; }; if (y instanceof Even) { return Data_Ordering.GT.value; }; if (x instanceof Odd && y instanceof Odd) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at Data.Int line 86, column 8 - line 86, column 40: " + [ x.constructor.name, y.constructor.name ]); }; }); // | The base-10 system. var decimal = 10; // | Convert a `Number` to an `Int`, by taking the closest integer equal to or // | greater than the argument. Values outside the `Int` range are clamped, // | `NaN` and `Infinity` values return 0. var ceil = function ($15) { return unsafeClamp($$Math.ceil($15)); }; var boundedParity = new Data_Bounded.Bounded(function () { return ordParity; }, Even.value, Odd.value); // | The base-2 system. var binary = 2; // | The base-36 system. var base36 = 36; exports["Even"] = Even; exports["Odd"] = Odd; exports["base36"] = base36; exports["binary"] = binary; exports["ceil"] = ceil; exports["decimal"] = decimal; exports["even"] = even; exports["floor"] = floor; exports["fromNumber"] = fromNumber; exports["fromString"] = fromString; exports["fromStringAs"] = fromStringAs; exports["hexadecimal"] = hexadecimal; exports["octal"] = octal; exports["odd"] = odd; exports["parity"] = parity; exports["radix"] = radix; exports["round"] = round; exports["eqParity"] = eqParity; exports["ordParity"] = ordParity; exports["showParity"] = showParity; exports["boundedParity"] = boundedParity; exports["pow"] = $foreign.pow; exports["toNumber"] = $foreign.toNumber; exports["toStringAs"] = $foreign.toStringAs; })(PS["Data.Int"] = PS["Data.Int"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Gen_Class = PS["Control.Monad.Gen.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Int = PS["Data.Int"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid_Additive = PS["Data.Monoid.Additive"]; var Data_Newtype = PS["Data.Newtype"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var Cons = (function () { function Cons(value0, value1) { this.value0 = value0; this.value1 = value1; }; Cons.create = function (value0) { return function (value1) { return new Cons(value0, value1); }; }; return Cons; })(); var Nil = (function () { function Nil() { }; Nil.value = new Nil(); return Nil; })(); // | Creates a generator that produces unfoldable structures based on an // | existing generator for the elements. // | // | The size of the unfoldable will be determined by the current size state // | for the generator. To generate an unfoldable structure of a particular // | size, use the `resize` function from the `MonadGen` class first. var unfoldable = function (dictMonadRec) { return function (dictMonadGen) { return function (dictUnfoldable) { return function (gen) { var unfold = function (v) { if (v instanceof Nil) { return Data_Maybe.Nothing.value; }; if (v instanceof Cons) { return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, v.value1)); }; throw new Error("Failed pattern match at Control.Monad.Gen line 88, column 12 - line 90, column 35: " + [ v.constructor.name ]); }; var loopGen = function (v) { if (v.value1 === 0) { return Control_Applicative.pure((dictMonadGen.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0)); }; return Control_Bind.bind((dictMonadGen.Monad0()).Bind1())(gen)(function (v1) { return Control_Applicative.pure((dictMonadGen.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(new Data_Tuple.Tuple(new Cons(v1, v.value0), v.value1 - 1 | 0))); }); }; return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Unfoldable.unfoldr(dictUnfoldable)(unfold))(Control_Monad_Gen_Class.sized(dictMonadGen)(function ($56) { return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(loopGen)(Data_Tuple.Tuple.create(Nil.value)($56)); })); }; }; }; }; // | Creates a generator that repeatedly run another generator until its output // | matches a given predicate. This will never halt if the predicate always // | fails. var suchThat = function (dictMonadRec) { return function (dictMonadGen) { return function (gen) { return function (pred) { var go = function (v) { return Data_Functor.mapFlipped((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(gen)(function (a) { var $34 = pred(a); if ($34) { return new Control_Monad_Rec_Class.Done(a); }; return new Control_Monad_Rec_Class.Loop(Data_Unit.unit); }); }; return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go)(Data_Unit.unit); }; }; }; }; var fromIndex = function (dictFoldable) { return function (i) { return function (a) { var go = function (v) { return function (x) { return new Data_Tuple.Tuple(v.value0 + 1 | 0, (function () { var $37 = v.value0 === i; if ($37) { return new Data_Maybe.Just(x); }; return v.value1; })()); }; }; return function ($57) { return Data_Maybe.fromMaybe(a)(Data_Tuple.snd(Data_Foldable.foldl(dictFoldable)(go)(new Data_Tuple.Tuple(0, new Data_Maybe.Just(a)))($57))); }; }; }; }; // | Creates a generator that outputs a value chosen from a selection of // | existing generators with uniform probability. var oneOf = function (dictMonadGen) { return function (dictFoldable) { return function (v) { return Control_Bind.bind((dictMonadGen.Monad0()).Bind1())(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(0)(Data_Foldable.length(dictFoldable)(Data_Semiring.semiringInt)(v.value1)))(function (v1) { var $42 = v1 < 1; if ($42) { return v.value0; }; return fromIndex(dictFoldable)(v1 - 1 | 0)(v.value0)(v.value1); }); }; }; }; // | Creates a generator that outputs a value chosen from a selection of // | existing generators, where the selection has weight values for the // | probability of choice for each generator. The probability values will be // | normalised. var frequency = function (dictMonadGen) { return function (dictFoldable) { return function (v) { var first = Data_Tuple.fst(v.value0); var total = first + Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Monoid_Additive.newtypeAdditive)(Data_Monoid_Additive.newtypeAdditive)(Data_Monoid_Additive.Additive)(Data_Foldable.foldMap(dictFoldable)(Data_Monoid_Additive.monoidAdditive(Data_Semiring.semiringNumber)))(Data_Tuple.fst)(v.value1); return Control_Bind.bind((dictMonadGen.Monad0()).Bind1())(Control_Monad_Gen_Class.chooseFloat(dictMonadGen)(0.0)(total))(function (v1) { var n = Data_Int.round((v1 / total) * Data_Foldable.length(dictFoldable)(Data_Semiring.semiringNumber)(v.value1)); return Data_Tuple.snd((function () { var $47 = n === 0; if ($47) { return v.value0; }; return fromIndex(dictFoldable)(n - 1 | 0)(v.value0)(v.value1); })()); }); }; }; }; // | Creates a generator that outputs a value chosen from a selection with // | uniform probability. var elements = function (dictMonadGen) { return function (dictFoldable) { return function (v) { return Control_Bind.bind((dictMonadGen.Monad0()).Bind1())(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(0)(Data_Foldable.length(dictFoldable)(Data_Semiring.semiringInt)(v.value1)))(function (v1) { return Control_Applicative.pure((dictMonadGen.Monad0()).Applicative0())((function () { var $52 = v1 === 0; if ($52) { return v.value0; }; return fromIndex(dictFoldable)(v1 - 1 | 0)(v.value0)(v.value1); })()); }); }; }; }; // | Creates a generator that outputs a value chosen from one of two existing // | existing generators with even probability. var choose = function (dictMonadGen) { return function (genA) { return function (genB) { return Control_Bind.bind((dictMonadGen.Monad0()).Bind1())(Control_Monad_Gen_Class.chooseBool(dictMonadGen))(function (v) { if (v) { return genA; }; return genB; }); }; }; }; exports["choose"] = choose; exports["elements"] = elements; exports["frequency"] = frequency; exports["oneOf"] = oneOf; exports["suchThat"] = suchThat; exports["unfoldable"] = unfoldable; })(PS["Control.Monad.Gen"] = PS["Control.Monad.Gen"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Control_Monad_Gen_Class = PS["Control.Monad.Gen.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Data_Either = PS["Data.Either"]; var Data_Functor = PS["Data.Functor"]; var Data_Identity = PS["Data.Identity"]; var Data_Maybe = PS["Data.Maybe"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Prelude = PS["Prelude"]; // | Creates a generator that outputs `Tuple` values, choosing values from a // | pair of generators for each slot in the tuple. var genTuple = function (dictApply) { return Control_Apply.lift2(dictApply)(Data_Tuple.Tuple.create); }; // | Creates a generator that outputs `NonEmpty` values, choosing values from a // | generator for each of the items. // | // | The size of the value will be determined by the current size state // | for the generator. To generate a value of a particular size, use the // | `resize` function from the `MonadGen` class first. var genNonEmpty = function (dictMonadRec) { return function (dictMonadGen) { return function (dictUnfoldable) { return function (gen) { return Control_Apply.apply(((dictMonadGen.Monad0()).Bind1()).Apply0())(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_NonEmpty.NonEmpty.create)(gen))(Control_Monad_Gen_Class.resize(dictMonadGen)(function (v) { return v - 1 | 0; })(Control_Monad_Gen.unfoldable(dictMonadRec)(dictMonadGen)(dictUnfoldable)(gen))); }; }; }; }; // | Creates a generator that outputs `Maybe` values, choosing a value from // | another generator for the inner value. The generator has a 75% chance of // | returning a `Just` over a `Nothing`. var genMaybe = function (dictMonadGen) { return function (gen) { return Control_Bind.bind((dictMonadGen.Monad0()).Bind1())(Control_Monad_Gen_Class.chooseFloat(dictMonadGen)(0.0)(1.0))(function (v) { var $10 = v < 0.75; if ($10) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Maybe.Just.create)(gen); }; return Control_Applicative.pure((dictMonadGen.Monad0()).Applicative0())(Data_Maybe.Nothing.value); }); }; }; // | Creates a generator that outputs `Identity` values, choosing a value from // | another generator for the inner value. var genIdentity = function (dictFunctor) { return Data_Functor.map(dictFunctor)(Data_Identity.Identity); }; // | Creates a generator that outputs `Either` values, choosing a value from a // | `Left` or the `Right` with even probability. var genEither = function (dictMonadGen) { return function (genA) { return function (genB) { return Control_Monad_Gen.choose(dictMonadGen)(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(genA))(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(genB)); }; }; }; exports["genEither"] = genEither; exports["genIdentity"] = genIdentity; exports["genMaybe"] = genMaybe; exports["genNonEmpty"] = genNonEmpty; exports["genTuple"] = genTuple; })(PS["Control.Monad.Gen.Common"] = PS["Control.Monad.Gen.Common"] || {}); (function(exports) { // | This module defines the `RWS` monad. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_RWS_Trans = PS["Control.Monad.RWS.Trans"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Change the type of the context in a `RWS` action var withRWS = Control_Monad_RWS_Trans.withRWST; // | Create an action in the `RWS` monad from a function which uses the // | global context and state explicitly. var rws = function (f) { return function (r) { return function (s) { return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(r)(s)); }; }; }; // | Run a computation in the `RWS` monad. var runRWS = function (m) { return function (r) { return function (s) { var v = m(r)(s); return v; }; }; }; // | Change the types of the result and accumulator in a `RWS` action var mapRWS = function (f) { return Control_Monad_RWS_Trans.mapRWST(function ($3) { return Data_Identity.Identity(f(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($3))); }); }; // | Run a computation in the `RWS` monad, discarding the result var execRWS = function (m) { return function (r) { return function (s) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_RWS_Trans.execRWST(Data_Identity.monadIdentity)(m)(r)(s)); }; }; }; // | Run a computation in the `RWS` monad, discarding the final state var evalRWS = function (m) { return function (r) { return function (s) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_RWS_Trans.evalRWST(Data_Identity.monadIdentity)(m)(r)(s)); }; }; }; exports["evalRWS"] = evalRWS; exports["execRWS"] = execRWS; exports["mapRWS"] = mapRWS; exports["runRWS"] = runRWS; exports["rws"] = rws; exports["withRWS"] = withRWS; })(PS["Control.Monad.RWS"] = PS["Control.Monad.RWS"] || {}); (function(exports) { // | This module defines the `Reader` monad. "use strict"; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Prelude = PS["Prelude"]; // | Change the type of the context in a `Reader` monad action. var withReader = Control_Monad_Reader_Trans.withReaderT; // | Run a computation in the `Reader` monad. var runReader = function (v) { return function ($2) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(v($2)); }; }; // | Change the type of the result in a `Reader` monad action. var mapReader = function (f) { return Control_Monad_Reader_Trans.mapReaderT(function ($3) { return Data_Identity.Identity(f(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($3))); }); }; exports["mapReader"] = mapReader; exports["runReader"] = runReader; exports["withReader"] = withReader; })(PS["Control.Monad.Reader"] = PS["Control.Monad.Reader"] || {}); (function(exports) { // | A _trampoline_ monad, which can be used at the bottom of // | a monad transformer stack to avoid stack overflows in large // | monadic computations. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Free = PS["Control.Monad.Free"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Lazy = PS["Data.Lazy"]; var Prelude = PS["Prelude"]; // | Suspend a computation by one step. var suspend = Control_Monad_Free.suspendF(Data_Lazy.applicativeLazy); // | Run a computation in the `Trampoline` monad. var runTrampoline = Control_Monad_Free.runFree(Data_Lazy.functorLazy)(Data_Lazy.force); // | Return a value immediately var done = Control_Applicative.pure(Control_Monad_Free.freeApplicative); // | Use the `Trampoline` monad to represent a `Lazy` value. var delay$prime = Control_Monad_Free.liftF; // | Use the `Trampoline` monad to represent the delayed evaluation of a value. var delay = function ($0) { return delay$prime(Data_Lazy.defer($0)); }; exports["delay"] = delay; exports["delay'"] = delay$prime; exports["done"] = done; exports["runTrampoline"] = runTrampoline; exports["suspend"] = suspend; })(PS["Control.Monad.Trampoline"] = PS["Control.Monad.Trampoline"] || {}); (function(exports) { // | This module defines the `Writer` monad. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Creates a `Writer` from a result and output pair. var writer = function ($0) { return Control_Monad_Writer_Trans.WriterT(Control_Applicative.pure(Data_Identity.applicativeIdentity)($0)); }; // | Run a computation in the `Writer` monad var runWriter = function ($1) { return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Writer_Trans.runWriterT($1)); }; // | Change the result and accumulator types in a `Writer` monad action var mapWriter = function (f) { return Control_Monad_Writer_Trans.mapWriterT(function ($2) { return Data_Identity.Identity(f(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($2))); }); }; // | Run a computation in the `Writer` monad, discarding the result var execWriter = function (m) { return Data_Tuple.snd(runWriter(m)); }; exports["execWriter"] = execWriter; exports["mapWriter"] = mapWriter; exports["runWriter"] = runWriter; exports["writer"] = writer; })(PS["Control.Monad.Writer"] = PS["Control.Monad.Writer"] || {}); (function(exports) { /* global EventTarget */ "use strict"; exports._readEventTarget = function (left) { return function (right) { return function (foreign) { return foreign instanceof EventTarget ? right(foreign) : left("Value is not an EventTarget"); }; }; }; })(PS["DOM.Event.Types"] = PS["DOM.Event.Types"] || {}); (function(exports) { "use strict"; exports.toForeign = function (value) { return value; }; exports.unsafeFromForeign = function (value) { return value; }; exports.typeOf = function (value) { return typeof value; }; exports.tagOf = function (value) { return Object.prototype.toString.call(value).slice(8, -1); }; exports.isNull = function (value) { return value === null; }; exports.isUndefined = function (value) { return value === undefined; }; exports.isArray = Array.isArray || function (value) { return Object.prototype.toString.call(value) === "[object Array]"; }; })(PS["Data.Foreign"] = PS["Data.Foreign"] || {}); (function(exports) { "use strict"; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"]; var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; var zipWith = function (f) { return function (v) { return function (v1) { return new Data_NonEmpty.NonEmpty(f(v.value0)(v1.value0), Data_List.zipWith(f)(v.value1)(v1.value1)); }; }; }; var zipWithA = function (dictApplicative) { return function (f) { return function (xs) { return function (ys) { return Data_Semigroup_Traversable.sequence1(Data_List_Types.traversable1NonEmptyList)(dictApplicative.Apply0())(zipWith(f)(xs)(ys)); }; }; }; }; var zip = zipWith(Data_Tuple.Tuple.create); // | Like `wrappedOperation`, but for functions that operate on 2 lists. var wrappedOperation2 = function (name) { return function (f) { return function (v) { return function (v1) { var v2 = f(new Data_List_Types.Cons(v.value0, v.value1))(new Data_List_Types.Cons(v1.value0, v1.value1)); if (v2 instanceof Data_List_Types.Cons) { return new Data_NonEmpty.NonEmpty(v2.value0, v2.value1); }; if (v2 instanceof Data_List_Types.Nil) { return Partial_Unsafe.unsafeCrashWith("Impossible: empty list in NonEmptyList " + name); }; throw new Error("Failed pattern match at Data.List.NonEmpty line 101, column 3 - line 103, column 81: " + [ v2.constructor.name ]); }; }; }; }; // | Internal function: any operation on a list that is guaranteed not to delete // | all elements also applies to a NEL, this function is a helper for defining // | those cases. var wrappedOperation = function (name) { return function (f) { return function (v) { var v1 = f(new Data_List_Types.Cons(v.value0, v.value1)); if (v1 instanceof Data_List_Types.Cons) { return new Data_NonEmpty.NonEmpty(v1.value0, v1.value1); }; if (v1 instanceof Data_List_Types.Nil) { return Partial_Unsafe.unsafeCrashWith("Impossible: empty list in NonEmptyList " + name); }; throw new Error("Failed pattern match at Data.List.NonEmpty line 88, column 3 - line 90, column 81: " + [ v1.constructor.name ]); }; }; }; var updateAt = function (i) { return function (a) { return function (v) { if (i === 0) { return new Data_Maybe.Just(new Data_NonEmpty.NonEmpty(a, v.value1)); }; if (Data_Boolean.otherwise) { return Data_Functor.map(Data_Maybe.functorMaybe)(function ($156) { return Data_List_Types.NonEmptyList((function (v1) { return new Data_NonEmpty.NonEmpty(v.value0, v1); })($156)); })(Data_List.updateAt(i - 1 | 0)(a)(v.value1)); }; throw new Error("Failed pattern match at Data.List.NonEmpty line 187, column 1 - line 187, column 75: " + [ i.constructor.name, a.constructor.name, v.constructor.name ]); }; }; }; var unzip = function (ts) { return new Data_Tuple.Tuple(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Data_Tuple.fst)(ts), Data_Functor.map(Data_List_Types.functorNonEmptyList)(Data_Tuple.snd)(ts)); }; var unsnoc = function (v) { var v1 = Data_List.unsnoc(v.value1); if (v1 instanceof Data_Maybe.Nothing) { return { init: Data_List_Types.Nil.value, last: v.value0 }; }; if (v1 instanceof Data_Maybe.Just) { return { init: new Data_List_Types.Cons(v.value0, v1.value0.init), last: v1.value0.last }; }; throw new Error("Failed pattern match at Data.List.NonEmpty line 149, column 35 - line 151, column 50: " + [ v1.constructor.name ]); }; var unionBy = function ($157) { return wrappedOperation2("unionBy")(Data_List.unionBy($157)); }; var union = function (dictEq) { return wrappedOperation2("union")(Data_List.union(dictEq)); }; var uncons = function (v) { return { head: v.value0, tail: v.value1 }; }; var toList = function (v) { return new Data_List_Types.Cons(v.value0, v.value1); }; var toUnfoldable = function (dictUnfoldable) { return function ($158) { return Data_Unfoldable.unfoldr(dictUnfoldable)(function (xs) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (rec) { return new Data_Tuple.Tuple(rec.head, rec.tail); })(Data_List.uncons(xs)); })(toList($158)); }; }; var tail = function (v) { return v.value1; }; var sortBy = function ($159) { return wrappedOperation("sortBy")(Data_List.sortBy($159)); }; var sort = function (dictOrd) { return function (xs) { return sortBy(Data_Ord.compare(dictOrd))(xs); }; }; var snoc = function (v) { return function (y) { return new Data_NonEmpty.NonEmpty(v.value0, Data_List.snoc(v.value1)(y)); }; }; var singleton = function ($160) { return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($160)); }; var reverse = wrappedOperation("reverse")(Data_List.reverse); var nubBy = function ($161) { return wrappedOperation("nubBy")(Data_List.nubBy($161)); }; var nub = function (dictEq) { return wrappedOperation("nub")(Data_List.nub(dictEq)); }; var modifyAt = function (i) { return function (f) { return function (v) { if (i === 0) { return new Data_Maybe.Just(new Data_NonEmpty.NonEmpty(f(v.value0), v.value1)); }; if (Data_Boolean.otherwise) { return Data_Functor.map(Data_Maybe.functorMaybe)(function ($162) { return Data_List_Types.NonEmptyList((function (v1) { return new Data_NonEmpty.NonEmpty(v.value0, v1); })($162)); })(Data_List.modifyAt(i - 1 | 0)(f)(v.value1)); }; throw new Error("Failed pattern match at Data.List.NonEmpty line 192, column 1 - line 192, column 82: " + [ i.constructor.name, f.constructor.name, v.constructor.name ]); }; }; }; var mapWithIndex = function ($163) { return wrappedOperation("mapWithIndex")(Data_List.mapWithIndex($163)); }; // | Lifts a function that operates on a list to work on a NEL. This does not // | preserve the non-empty status of the result. var lift = function (f) { return function (v) { return f(new Data_List_Types.Cons(v.value0, v.value1)); }; }; var mapMaybe = function ($164) { return lift(Data_List.mapMaybe($164)); }; var partition = function ($165) { return lift(Data_List.partition($165)); }; var span = function ($166) { return lift(Data_List.span($166)); }; var take = function ($167) { return lift(Data_List.take($167)); }; var takeWhile = function ($168) { return lift(Data_List.takeWhile($168)); }; var length = function (v) { return 1 + Data_List.length(v.value1) | 0; }; var last = function (v) { return Data_Maybe.fromMaybe(v.value0)(Data_List.last(v.value1)); }; var intersectBy = function ($169) { return wrappedOperation2("intersectBy")(Data_List.intersectBy($169)); }; var intersect = function (dictEq) { return wrappedOperation2("intersect")(Data_List.intersect(dictEq)); }; var insertAt = function (i) { return function (a) { return function (v) { if (i === 0) { return new Data_Maybe.Just(new Data_NonEmpty.NonEmpty(a, new Data_List_Types.Cons(v.value0, v.value1))); }; if (Data_Boolean.otherwise) { return Data_Functor.map(Data_Maybe.functorMaybe)(function ($170) { return Data_List_Types.NonEmptyList((function (v1) { return new Data_NonEmpty.NonEmpty(v.value0, v1); })($170)); })(Data_List.insertAt(i - 1 | 0)(a)(v.value1)); }; throw new Error("Failed pattern match at Data.List.NonEmpty line 182, column 1 - line 182, column 75: " + [ i.constructor.name, a.constructor.name, v.constructor.name ]); }; }; }; var init = function (v) { return Data_Maybe.maybe(Data_List_Types.Nil.value)(function (v1) { return new Data_List_Types.Cons(v.value0, v1); })(Data_List.init(v.value1)); }; var index = function (v) { return function (i) { if (i === 0) { return new Data_Maybe.Just(v.value0); }; if (Data_Boolean.otherwise) { return Data_List.index(v.value1)(i - 1 | 0); }; throw new Error("Failed pattern match at Data.List.NonEmpty line 156, column 1 - line 156, column 52: " + [ v.constructor.name, i.constructor.name ]); }; }; var head = function (v) { return v.value0; }; var groupBy = function ($171) { return wrappedOperation("groupBy")(Data_List.groupBy($171)); }; var group$prime = function (dictOrd) { return wrappedOperation("group'")(Data_List["group'"](dictOrd)); }; var group = function (dictEq) { return wrappedOperation("group")(Data_List.group(dictEq)); }; var fromList = function (v) { if (v instanceof Data_List_Types.Nil) { return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Types.Cons) { return new Data_Maybe.Just(new Data_NonEmpty.NonEmpty(v.value0, v.value1)); }; throw new Error("Failed pattern match at Data.List.NonEmpty line 117, column 1 - line 117, column 57: " + [ v.constructor.name ]); }; var fromFoldable = function (dictFoldable) { return function ($172) { return fromList(Data_List.fromFoldable(dictFoldable)($172)); }; }; var foldM = function (dictMonad) { return function (f) { return function (a) { return function (v) { return Control_Bind.bind(dictMonad.Bind1())(f(a)(v.value0))(function (a$prime) { return Data_List.foldM(dictMonad)(f)(a$prime)(v.value1); }); }; }; }; }; var findLastIndex = function (f) { return function (v) { var v1 = Data_List.findLastIndex(f)(v.value1); if (v1 instanceof Data_Maybe.Just) { return new Data_Maybe.Just(v1.value0 + 1 | 0); }; if (v1 instanceof Data_Maybe.Nothing) { if (f(v.value0)) { return new Data_Maybe.Just(0); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; }; throw new Error("Failed pattern match at Data.List.NonEmpty line 176, column 3 - line 180, column 29: " + [ v1.constructor.name ]); }; }; var findIndex = function (f) { return function (v) { if (f(v.value0)) { return new Data_Maybe.Just(0); }; if (Data_Boolean.otherwise) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v1) { return v1 + 1 | 0; })(Data_List.findIndex(f)(v.value1)); }; throw new Error("Failed pattern match at Data.List.NonEmpty line 169, column 1 - line 169, column 69: " + [ f.constructor.name, v.constructor.name ]); }; }; var filterM = function (dictMonad) { return function ($173) { return lift(Data_List.filterM(dictMonad)($173)); }; }; var filter = function ($174) { return lift(Data_List.filter($174)); }; var elemLastIndex = function (dictEq) { return function (x) { return findLastIndex(function (v) { return Data_Eq.eq(dictEq)(v)(x); }); }; }; var elemIndex = function (dictEq) { return function (x) { return findIndex(function (v) { return Data_Eq.eq(dictEq)(v)(x); }); }; }; var dropWhile = function ($175) { return lift(Data_List.dropWhile($175)); }; var drop = function ($176) { return lift(Data_List.drop($176)); }; var cons = function (y) { return function (v) { return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1)); }; }; var concatMap = Data_Function.flip(Control_Bind.bind(Data_List_Types.bindNonEmptyList)); var concat = function (v) { return Control_Bind.bind(Data_List_Types.bindNonEmptyList)(v)(Control_Category.id(Control_Category.categoryFn)); }; var catMaybes = lift(Data_List.catMaybes); var appendFoldable = function (dictFoldable) { return function (v) { return function (ys) { return new Data_NonEmpty.NonEmpty(v.value0, Data_Semigroup.append(Data_List_Types.semigroupList)(v.value1)(Data_List.fromFoldable(dictFoldable)(ys))); }; }; }; exports["appendFoldable"] = appendFoldable; exports["catMaybes"] = catMaybes; exports["concat"] = concat; exports["concatMap"] = concatMap; exports["cons"] = cons; exports["drop"] = drop; exports["dropWhile"] = dropWhile; exports["elemIndex"] = elemIndex; exports["elemLastIndex"] = elemLastIndex; exports["filter"] = filter; exports["filterM"] = filterM; exports["findIndex"] = findIndex; exports["findLastIndex"] = findLastIndex; exports["foldM"] = foldM; exports["fromFoldable"] = fromFoldable; exports["fromList"] = fromList; exports["group"] = group; exports["group'"] = group$prime; exports["groupBy"] = groupBy; exports["head"] = head; exports["index"] = index; exports["init"] = init; exports["insertAt"] = insertAt; exports["intersect"] = intersect; exports["intersectBy"] = intersectBy; exports["last"] = last; exports["length"] = length; exports["mapMaybe"] = mapMaybe; exports["mapWithIndex"] = mapWithIndex; exports["modifyAt"] = modifyAt; exports["nub"] = nub; exports["nubBy"] = nubBy; exports["partition"] = partition; exports["reverse"] = reverse; exports["singleton"] = singleton; exports["snoc"] = snoc; exports["sort"] = sort; exports["sortBy"] = sortBy; exports["span"] = span; exports["tail"] = tail; exports["take"] = take; exports["takeWhile"] = takeWhile; exports["toList"] = toList; exports["toUnfoldable"] = toUnfoldable; exports["uncons"] = uncons; exports["union"] = union; exports["unionBy"] = unionBy; exports["unsnoc"] = unsnoc; exports["unzip"] = unzip; exports["updateAt"] = updateAt; exports["zip"] = zip; exports["zipWith"] = zipWith; exports["zipWithA"] = zipWithA; })(PS["Data.List.NonEmpty"] = PS["Data.List.NonEmpty"] || {}); (function(exports) { // | This module defines types and functions for working with _foreign_ // | data. "use strict"; var $foreign = PS["Data.Foreign"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Except = PS["Control.Monad.Except"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Identity = PS["Data.Identity"]; var Data_Int = PS["Data.Int"]; var Data_List_NonEmpty = PS["Data.List.NonEmpty"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_String = PS["Data.String"]; var Prelude = PS["Prelude"]; // | A type for foreign type errors var ForeignError = (function () { function ForeignError(value0) { this.value0 = value0; }; ForeignError.create = function (value0) { return new ForeignError(value0); }; return ForeignError; })(); // | A type for foreign type errors var TypeMismatch = (function () { function TypeMismatch(value0, value1) { this.value0 = value0; this.value1 = value1; }; TypeMismatch.create = function (value0) { return function (value1) { return new TypeMismatch(value0, value1); }; }; return TypeMismatch; })(); // | A type for foreign type errors var ErrorAtIndex = (function () { function ErrorAtIndex(value0, value1) { this.value0 = value0; this.value1 = value1; }; ErrorAtIndex.create = function (value0) { return function (value1) { return new ErrorAtIndex(value0, value1); }; }; return ErrorAtIndex; })(); // | A type for foreign type errors var ErrorAtProperty = (function () { function ErrorAtProperty(value0, value1) { this.value0 = value0; this.value1 = value1; }; ErrorAtProperty.create = function (value0) { return function (value1) { return new ErrorAtProperty(value0, value1); }; }; return ErrorAtProperty; })(); // | A type for foreign type errors var JSONError = (function () { function JSONError(value0) { this.value0 = value0; }; JSONError.create = function (value0) { return new JSONError(value0); }; return JSONError; })(); var showForeignError = new Data_Show.Show(function (v) { if (v instanceof ForeignError) { return "(ForeignError " + (Data_Show.show(Data_Show.showString)(v.value0) + ")"); }; if (v instanceof ErrorAtIndex) { return "(ErrorAtIndex " + (Data_Show.show(Data_Show.showInt)(v.value0) + (" " + (Data_Show.show(showForeignError)(v.value1) + ")"))); }; if (v instanceof ErrorAtProperty) { return "(ErrorAtProperty " + (Data_Show.show(Data_Show.showString)(v.value0) + (" " + (Data_Show.show(showForeignError)(v.value1) + ")"))); }; if (v instanceof JSONError) { return "(JSONError " + (Data_Show.show(Data_Show.showString)(v.value0) + ")"); }; if (v instanceof TypeMismatch) { return "(TypeMismatch " + (Data_Show.show(Data_Show.showString)(v.value0) + (" " + (Data_Show.show(Data_Show.showString)(v.value1) + ")"))); }; throw new Error("Failed pattern match at Data.Foreign line 64, column 1 - line 64, column 47: " + [ v.constructor.name ]); }); var renderForeignError = function (v) { if (v instanceof ForeignError) { return v.value0; }; if (v instanceof ErrorAtIndex) { return "Error at array index " + (Data_Show.show(Data_Show.showInt)(v.value0) + (": " + Data_Show.show(showForeignError)(v.value1))); }; if (v instanceof ErrorAtProperty) { return "Error at property " + (Data_Show.show(Data_Show.showString)(v.value0) + (": " + Data_Show.show(showForeignError)(v.value1))); }; if (v instanceof JSONError) { return "JSON error: " + v.value0; }; if (v instanceof TypeMismatch) { return "Type mismatch: expected " + (v.value0 + (", found " + v.value1)); }; throw new Error("Failed pattern match at Data.Foreign line 74, column 1 - line 74, column 45: " + [ v.constructor.name ]); }; var readUndefined = function (value) { if ($foreign.isUndefined(value)) { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Maybe.Nothing.value); }; if (Data_Boolean.otherwise) { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(new Data_Maybe.Just(value)); }; throw new Error("Failed pattern match at Data.Foreign line 155, column 1 - line 155, column 46: " + [ value.constructor.name ]); }; var readNullOrUndefined = function (value) { if ($foreign.isNull(value) || $foreign.isUndefined(value)) { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Maybe.Nothing.value); }; if (Data_Boolean.otherwise) { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(new Data_Maybe.Just(value)); }; throw new Error("Failed pattern match at Data.Foreign line 160, column 1 - line 160, column 52: " + [ value.constructor.name ]); }; var readNull = function (value) { if ($foreign.isNull(value)) { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Maybe.Nothing.value); }; if (Data_Boolean.otherwise) { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(new Data_Maybe.Just(value)); }; throw new Error("Failed pattern match at Data.Foreign line 150, column 1 - line 150, column 41: " + [ value.constructor.name ]); }; // | Throws a failure error in `F`. var fail = function ($121) { return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($121)); }; // | Attempt to coerce a foreign value to an array. var readArray = function (value) { if ($foreign.isArray(value)) { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value)); }; if (Data_Boolean.otherwise) { return fail(new TypeMismatch("array", $foreign.tagOf(value))); }; throw new Error("Failed pattern match at Data.Foreign line 145, column 1 - line 145, column 42: " + [ value.constructor.name ]); }; // | Unsafely coerce a `Foreign` value when the value has a particular `tagOf` // | value. var unsafeReadTagged = function (tag) { return function (value) { if ($foreign.tagOf(value) === tag) { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value)); }; if (Data_Boolean.otherwise) { return fail(new TypeMismatch(tag, $foreign.tagOf(value))); }; throw new Error("Failed pattern match at Data.Foreign line 104, column 1 - line 104, column 55: " + [ tag.constructor.name, value.constructor.name ]); }; }; // | Attempt to coerce a foreign value to a `Boolean`. var readBoolean = unsafeReadTagged("Boolean"); // | Attempt to coerce a foreign value to a `Number`. var readNumber = unsafeReadTagged("Number"); // | Attempt to coerce a foreign value to an `Int`. var readInt = function (value) { var error = Data_Either.Left.create(Data_List_NonEmpty.singleton(new TypeMismatch("Int", $foreign.tagOf(value)))); var fromNumber = function ($122) { return Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither))(Data_Int.fromNumber($122)); }; return Control_Monad_Except.mapExcept(Data_Either.either(Data_Function["const"](error))(fromNumber))(readNumber(value)); }; // | Attempt to coerce a foreign value to a `String`. var readString = unsafeReadTagged("String"); // | Attempt to coerce a foreign value to a `Char`. var readChar = function (value) { var error = Data_Either.Left.create(Data_List_NonEmpty.singleton(new TypeMismatch("Char", $foreign.tagOf(value)))); var fromString = function ($123) { return Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither))(Data_String.toChar($123)); }; return Control_Monad_Except.mapExcept(Data_Either.either(Data_Function["const"](error))(fromString))(readString(value)); }; var eqForeignError = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof ForeignError && y instanceof ForeignError) { return x.value0 === y.value0; }; if (x instanceof TypeMismatch && y instanceof TypeMismatch) { return x.value0 === y.value0 && x.value1 === y.value1; }; if (x instanceof ErrorAtIndex && y instanceof ErrorAtIndex) { return x.value0 === y.value0 && Data_Eq.eq(eqForeignError)(x.value1)(y.value1); }; if (x instanceof ErrorAtProperty && y instanceof ErrorAtProperty) { return x.value0 === y.value0 && Data_Eq.eq(eqForeignError)(x.value1)(y.value1); }; if (x instanceof JSONError && y instanceof JSONError) { return x.value0 === y.value0; }; return false; }; }); var ordForeignError = new Data_Ord.Ord(function () { return eqForeignError; }, function (x) { return function (y) { if (x instanceof ForeignError && y instanceof ForeignError) { return Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0); }; if (x instanceof ForeignError) { return Data_Ordering.LT.value; }; if (y instanceof ForeignError) { return Data_Ordering.GT.value; }; if (x instanceof TypeMismatch && y instanceof TypeMismatch) { var v = Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(Data_Ord.ordString)(x.value1)(y.value1); }; if (x instanceof TypeMismatch) { return Data_Ordering.LT.value; }; if (y instanceof TypeMismatch) { return Data_Ordering.GT.value; }; if (x instanceof ErrorAtIndex && y instanceof ErrorAtIndex) { var v = Data_Ord.compare(Data_Ord.ordInt)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(ordForeignError)(x.value1)(y.value1); }; if (x instanceof ErrorAtIndex) { return Data_Ordering.LT.value; }; if (y instanceof ErrorAtIndex) { return Data_Ordering.GT.value; }; if (x instanceof ErrorAtProperty && y instanceof ErrorAtProperty) { var v = Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(ordForeignError)(x.value1)(y.value1); }; if (x instanceof ErrorAtProperty) { return Data_Ordering.LT.value; }; if (y instanceof ErrorAtProperty) { return Data_Ordering.GT.value; }; if (x instanceof JSONError && y instanceof JSONError) { return Data_Ord.compare(Data_Ord.ordString)(x.value0)(y.value0); }; throw new Error("Failed pattern match at Data.Foreign line 62, column 8 - line 62, column 52: " + [ x.constructor.name, y.constructor.name ]); }; }); exports["ForeignError"] = ForeignError; exports["TypeMismatch"] = TypeMismatch; exports["ErrorAtIndex"] = ErrorAtIndex; exports["ErrorAtProperty"] = ErrorAtProperty; exports["JSONError"] = JSONError; exports["fail"] = fail; exports["readArray"] = readArray; exports["readBoolean"] = readBoolean; exports["readChar"] = readChar; exports["readInt"] = readInt; exports["readNull"] = readNull; exports["readNullOrUndefined"] = readNullOrUndefined; exports["readNumber"] = readNumber; exports["readString"] = readString; exports["readUndefined"] = readUndefined; exports["renderForeignError"] = renderForeignError; exports["unsafeReadTagged"] = unsafeReadTagged; exports["eqForeignError"] = eqForeignError; exports["ordForeignError"] = ordForeignError; exports["showForeignError"] = showForeignError; exports["isArray"] = $foreign.isArray; exports["isNull"] = $foreign.isNull; exports["isUndefined"] = $foreign.isUndefined; exports["tagOf"] = $foreign.tagOf; exports["toForeign"] = $foreign.toForeign; exports["typeOf"] = $foreign.typeOf; exports["unsafeFromForeign"] = $foreign.unsafeFromForeign; })(PS["Data.Foreign"] = PS["Data.Foreign"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Event.Types"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Identity = PS["Data.Identity"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; // | The type of strings used for event types. var EventType = function (x) { return x; }; var wheelEventToEvent = Unsafe_Coerce.unsafeCoerce; var uiEventToEvent = Unsafe_Coerce.unsafeCoerce; var touchEventToEvent = Unsafe_Coerce.unsafeCoerce; var readWheelEvent = Data_Foreign.unsafeReadTagged("WheelEvent"); var readUIEvent = Data_Foreign.unsafeReadTagged("UIEvent"); var readTouchEvent = Data_Foreign.unsafeReadTagged("TouchEvent"); var readProgressEvent = Data_Foreign.unsafeReadTagged("ProgressEvent"); var readMouseEvent = Data_Foreign.unsafeReadTagged("MouseEvent"); var readKeyboardEvent = Data_Foreign.unsafeReadTagged("KeyboardEvent"); var readInputEvent = Data_Foreign.unsafeReadTagged("InputEvent"); var readFocusEvent = Data_Foreign.unsafeReadTagged("FocusEvent"); var readEventTarget = function ($3) { return Data_Newtype.wrap(Control_Monad_Except_Trans.newtypeExceptT)(Data_Newtype.wrap(Data_Identity.newtypeIdentity)(Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function ($4) { return Control_Applicative.pure(Data_List_Types.applicativeNonEmptyList)(Data_Foreign.ForeignError.create($4)); })($foreign._readEventTarget(Data_Either.Left.create)(Data_Either.Right.create)($3)))); }; var readCustomEvent = Data_Foreign.unsafeReadTagged("CustomEvent"); var readCompositionEvent = Data_Foreign.unsafeReadTagged("CompositionEvent"); var readClipboardEvent = Data_Foreign.unsafeReadTagged("ClipboardEvent"); var progressEventToEvent = Unsafe_Coerce.unsafeCoerce; var ordEventType = Data_Ord.ordString; var newtypeEventType = new Data_Newtype.Newtype(function (n) { return n; }, EventType); var mouseEventToEvent = Unsafe_Coerce.unsafeCoerce; var keyboardEventToEvent = Unsafe_Coerce.unsafeCoerce; var inputEventToEvent = Unsafe_Coerce.unsafeCoerce; var focusEventToEvent = Unsafe_Coerce.unsafeCoerce; var eqEventType = Data_Eq.eqString; var customEventToEvent = Unsafe_Coerce.unsafeCoerce; var compositionEventToEvent = Unsafe_Coerce.unsafeCoerce; var clipboardEventToEvent = Unsafe_Coerce.unsafeCoerce; exports["EventType"] = EventType; exports["clipboardEventToEvent"] = clipboardEventToEvent; exports["compositionEventToEvent"] = compositionEventToEvent; exports["customEventToEvent"] = customEventToEvent; exports["focusEventToEvent"] = focusEventToEvent; exports["inputEventToEvent"] = inputEventToEvent; exports["keyboardEventToEvent"] = keyboardEventToEvent; exports["mouseEventToEvent"] = mouseEventToEvent; exports["progressEventToEvent"] = progressEventToEvent; exports["readClipboardEvent"] = readClipboardEvent; exports["readCompositionEvent"] = readCompositionEvent; exports["readCustomEvent"] = readCustomEvent; exports["readEventTarget"] = readEventTarget; exports["readFocusEvent"] = readFocusEvent; exports["readInputEvent"] = readInputEvent; exports["readKeyboardEvent"] = readKeyboardEvent; exports["readMouseEvent"] = readMouseEvent; exports["readProgressEvent"] = readProgressEvent; exports["readTouchEvent"] = readTouchEvent; exports["readUIEvent"] = readUIEvent; exports["readWheelEvent"] = readWheelEvent; exports["touchEventToEvent"] = touchEventToEvent; exports["uiEventToEvent"] = uiEventToEvent; exports["wheelEventToEvent"] = wheelEventToEvent; exports["newtypeEventType"] = newtypeEventType; exports["eqEventType"] = eqEventType; exports["ordEventType"] = ordEventType; })(PS["DOM.Event.Types"] = PS["DOM.Event.Types"] || {}); (function(exports) { "use strict"; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var transitionEventToEvent = Unsafe_Coerce.unsafeCoerce; var readTransitionEvent = Data_Foreign.unsafeReadTagged("TransitionEvent"); exports["readTransitionEvent"] = readTransitionEvent; exports["transitionEventToEvent"] = transitionEventToEvent; })(PS["DOM.CSS.Event.Types"] = PS["DOM.CSS.Event.Types"] || {}); (function(exports) { "use strict"; exports.clipboardData = function (e) { return e.clipboardData; }; })(PS["DOM.Event.ClipboardEvent"] = PS["DOM.Event.ClipboardEvent"] || {}); (function(exports) { "use strict"; exports._files = function (dataTransfer) { return dataTransfer.files; }; exports.types = function (dataTransfer) { return dataTransfer.types; }; exports.getDataImpl = function (format) { return function (dataTransfer) { return function () { return dataTransfer.getData(format); }; }; }; exports.setDataImpl = function (format) { return function (data) { return function (dataTransfer) { return function () { return dataTransfer.setData(format, data); }; }; }; }; })(PS["DOM.HTML.Event.DataTransfer"] = PS["DOM.HTML.Event.DataTransfer"] || {}); (function(exports) { "use strict"; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var readFileList = Data_Foreign.unsafeReadTagged("FileList"); var fileToBlob = Unsafe_Coerce.unsafeCoerce; var fileReaderToEventTarget = Unsafe_Coerce.unsafeCoerce; exports["fileReaderToEventTarget"] = fileReaderToEventTarget; exports["fileToBlob"] = fileToBlob; exports["readFileList"] = readFileList; })(PS["DOM.File.Types"] = PS["DOM.File.Types"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Data_Eq = PS["Data.Eq"]; var Data_Generic = PS["Data.Generic"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var MediaType = function (x) { return x; }; var showMediaType = new Data_Show.Show(function (v) { return "(MediaType " + (Data_Show.show(Data_Show.showString)(v) + ")"); }); var newtypeMediaType = new Data_Newtype.Newtype(function (n) { return n; }, MediaType); var genericMediaType = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.MediaType.MediaType" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(MediaType))(Data_Generic.fromSpine(Data_Generic.genericString)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.MediaType.MediaType", [ { sigConstructor: "Data.MediaType.MediaType", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericString)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.MediaType.MediaType", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericString)(v); } ]); }); var eqMediaType = new Data_Eq.Eq(function (x) { return function (y) { return x === y; }; }); var ordMediaType = new Data_Ord.Ord(function () { return eqMediaType; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordString)(x)(y); }; }); exports["MediaType"] = MediaType; exports["newtypeMediaType"] = newtypeMediaType; exports["eqMediaType"] = eqMediaType; exports["ordMediaType"] = ordMediaType; exports["genericMediaType"] = genericMediaType; exports["showMediaType"] = showMediaType; })(PS["Data.MediaType"] = PS["Data.MediaType"] || {}); (function(exports) { "use strict"; exports["null"] = null; exports.nullable = function (a, r, f) { return a == null ? r : f(a); }; exports.notNull = function (x) { return x; }; })(PS["Data.Nullable"] = PS["Data.Nullable"] || {}); (function(exports) { // | This module defines types and functions for working with nullable types // | using the FFI. "use strict"; var $foreign = PS["Data.Nullable"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Takes `Nothing` to `null`, and `Just a` to `a`. var toNullable = Data_Maybe.maybe($foreign["null"])($foreign.notNull); // | Represent `null` using `Maybe a` as `Nothing`. var toMaybe = function (n) { return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create); }; var showNullable = function (dictShow) { return new Data_Show.Show(function ($5) { return Data_Maybe.maybe("null")(Data_Show.show(dictShow))(toMaybe($5)); }); }; var eqNullable = function (dictEq) { return new Data_Eq.Eq(Data_Function.on(Data_Eq.eq(Data_Maybe.eqMaybe(dictEq)))(toMaybe)); }; var ordNullable = function (dictOrd) { return new Data_Ord.Ord(function () { return eqNullable(dictOrd.Eq0()); }, Data_Function.on(Data_Ord.compare(Data_Maybe.ordMaybe(dictOrd)))(toMaybe)); }; var eq1Nullable = new Data_Eq.Eq1(function (dictEq) { return Data_Eq.eq(eqNullable(dictEq)); }); var ord1Nullable = new Data_Ord.Ord1(function () { return eq1Nullable; }, function (dictOrd) { return Data_Ord.compare(ordNullable(dictOrd)); }); exports["toMaybe"] = toMaybe; exports["toNullable"] = toNullable; exports["showNullable"] = showNullable; exports["eqNullable"] = eqNullable; exports["eq1Nullable"] = eq1Nullable; exports["ordNullable"] = ordNullable; exports["ord1Nullable"] = ord1Nullable; })(PS["Data.Nullable"] = PS["Data.Nullable"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.Event.DataTransfer"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_File_Types = PS["DOM.File.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_MediaType = PS["Data.MediaType"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; // | Sets the data transfer object's data for a given media format. // | // | Example: // | // | setData textPlain "Foo" dataTransfer var setData = function (v) { return function (dat) { return function (dt) { return $foreign.setDataImpl(v)(dat)(dt); }; }; }; // | Retrieves the data for a given media type, or an empty string if data for // | that type does not exist or the data transfer object contains no data. var getData = function (v) { return function (dt) { return $foreign.getDataImpl(v)(dt); }; }; // | Contains a list of all the local files available on the data transfer. // | Empty if the drag operation doesn't involve dragging files. // | // | It's possible that a drag operation may have null files, instead of an // | empty file list. In these cases Nothing is returned. var files = Data_Functor.map(Data_Functor.functorFn)(Data_Nullable.toMaybe)($foreign._files); exports["files"] = files; exports["getData"] = getData; exports["setData"] = setData; exports["types"] = $foreign.types; })(PS["DOM.HTML.Event.DataTransfer"] = PS["DOM.HTML.Event.DataTransfer"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Event.ClipboardEvent"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var DOM_HTML_Event_DataTransfer = PS["DOM.HTML.Event.DataTransfer"]; var Data_Foreign = PS["Data.Foreign"]; var Prelude = PS["Prelude"]; var eventToClipboardEvent = function ($0) { return DOM_Event_Types.readClipboardEvent(Data_Foreign.toForeign($0)); }; exports["eventToClipboardEvent"] = eventToClipboardEvent; exports["clipboardData"] = $foreign.clipboardData; })(PS["DOM.Event.ClipboardEvent"] = PS["DOM.Event.ClipboardEvent"] || {}); (function(exports) { "use strict"; exports.data_ = function (e) { return e.data; }; })(PS["DOM.Event.CompositionEvent"] = PS["DOM.Event.CompositionEvent"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Event.CompositionEvent"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Prelude = PS["Prelude"]; var eventToCompositionEvent = function ($0) { return DOM_Event_Types.readCompositionEvent(Data_Foreign.toForeign($0)); }; exports["eventToCompositionEvent"] = eventToCompositionEvent; exports["data_"] = $foreign.data_; })(PS["DOM.Event.CompositionEvent"] = PS["DOM.Event.CompositionEvent"] || {}); (function(exports) { "use strict"; exports.bubbles = function (e) { return e.bubbles; }; exports.cancelable = function (e) { return e.cancelable; }; exports.currentTarget = function (e) { return e.currentTarget; }; exports.defaultPrevented = function (e) { return e.defaultPrevented; }; exports.eventPhaseIndex = function (e) { return e.eventPhase; }; exports.target = function (e) { return e.target; }; exports.timeStamp = function (e) { return e.timeStamp; }; exports.type_ = function (e) { return e.type; }; exports.preventDefault = function (e) { return function () { return e.preventDefault(); }; }; exports.stopImmediatePropagation = function (e) { return function () { return e.stopImmediatePropagation(); }; }; exports.stopPropagation = function (e) { return function () { return e.stopPropagation(); }; }; })(PS["DOM.Event.Event"] = PS["DOM.Event.Event"] || {}); (function(exports) { "use strict"; exports.toCharCode = function (c) { return c.charCodeAt(0); }; exports.fromCharCode = function (c) { return String.fromCharCode(c); }; exports.toLower = function (c) { return c.toLowerCase(); }; exports.toUpper = function (c) { return c.toUpperCase(); }; })(PS["Data.Char"] = PS["Data.Char"] || {}); (function(exports) { // | A type and functions for single characters. "use strict"; var $foreign = PS["Data.Char"]; exports["fromCharCode"] = $foreign.fromCharCode; exports["toCharCode"] = $foreign.toCharCode; exports["toLower"] = $foreign.toLower; exports["toUpper"] = $foreign.toUpper; })(PS["Data.Char"] = PS["Data.Char"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Char = PS["Data.Char"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Data_Unit = PS["Data.Unit"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; var Cardinality = function (x) { return x; }; // | Type class for enumerations. // | // | Laws: // | - `succ a > pred a` // | - `pred a < succ a` // | - `pred >=> succ >=> pred = pred` // | - `succ >=> pred >=> succ = succ` var Enum = function (Ord0, pred, succ) { this.Ord0 = Ord0; this.pred = pred; this.succ = succ; }; // | Type class for finite enumerations. // | // | This should not be considered a part of a numeric hierarchy, as in Haskell. // | Rather, this is a type class for small, ordered sum types with // | statically-determined cardinality and the ability to easily compute // | successor and predecessor elements, e.g. `DayOfWeek`. // | // | Laws: // | // | - ```succ bottom >>= succ >>= succ ... succ [cardinality - 1 times] == top``` // | - ```pred top >>= pred >>= pred ... pred [cardinality - 1 times] == bottom``` // | - ```forall a > bottom: pred a >>= succ == Just a``` // | - ```forall a < top: succ a >>= pred == Just a``` // | - ```forall a > bottom: fromEnum <$> pred a = Just (fromEnum a - 1)``` // | - ```forall a < top: fromEnum <$> succ a = Just (fromEnum a + 1)``` // | - ```e1 `compare` e2 == fromEnum e1 `compare` fromEnum e2``` // | - ```toEnum (fromEnum a) = Just a``` var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) { this.Bounded0 = Bounded0; this.Enum1 = Enum1; this.cardinality = cardinality; this.fromEnum = fromEnum; this.toEnum = toEnum; }; var toEnum = function (dict) { return dict.toEnum; }; var succ = function (dict) { return dict.succ; }; var pred = function (dict) { return dict.pred; }; var ordCardinality = Data_Ord.ordInt; var newtypeCardinality = new Data_Newtype.Newtype(function (n) { return n; }, Cardinality); // | Property: ```forall e in intStepFromTo step a b: a <= e <= b``` var intStepFromTo = function (step) { return function (from) { return function (to) { return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(function (e) { var $54 = e <= to; if ($54) { return Data_Maybe.Just.create(new Data_Tuple.Tuple(e, e + step | 0)); }; return Data_Maybe.Nothing.value; })(from); }; }; }; var fromEnum = function (dict) { return dict.fromEnum; }; // | Like `toEnum` but returns the first argument if `x` is less than // | `fromEnum bottom` and the second argument if `x` is greater than // | `fromEnum top`. // | // | ``` purescript // | toEnumWithDefaults False True (-1) -- False // | toEnumWithDefaults False True 0 -- False // | toEnumWithDefaults False True 1 -- True // | toEnumWithDefaults False True 2 -- True // | ``` var toEnumWithDefaults = function (dictBoundedEnum) { return function (b) { return function (t) { return function (x) { var v = toEnum(dictBoundedEnum)(x); if (v instanceof Data_Maybe.Just) { return v.value0; }; if (v instanceof Data_Maybe.Nothing) { var $57 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0())); if ($57) { return b; }; return t; }; throw new Error("Failed pattern match at Data.Enum line 260, column 28 - line 262, column 56: " + [ v.constructor.name ]); }; }; }; }; var eqCardinality = Data_Eq.eqInt; var enumUnit = new Enum(function () { return Data_Ord.ordUnit; }, Data_Function["const"](Data_Maybe.Nothing.value), Data_Function["const"](Data_Maybe.Nothing.value)); var enumTuple = function (dictEnum) { return function (dictBoundedEnum) { return new Enum(function () { return Data_Tuple.ordTuple(dictEnum.Ord0())((dictBoundedEnum.Enum1()).Ord0()); }, function (v) { return Data_Maybe.maybe(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Function.flip(Data_Tuple.Tuple.create)(Data_Bounded.top(dictBoundedEnum.Bounded0())))(pred(dictEnum)(v.value0)))(function ($101) { return Data_Maybe.Just.create(Data_Tuple.Tuple.create(v.value0)($101)); })(pred(dictBoundedEnum.Enum1())(v.value1)); }, function (v) { return Data_Maybe.maybe(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Function.flip(Data_Tuple.Tuple.create)(Data_Bounded.bottom(dictBoundedEnum.Bounded0())))(succ(dictEnum)(v.value0)))(function ($102) { return Data_Maybe.Just.create(Data_Tuple.Tuple.create(v.value0)($102)); })(succ(dictBoundedEnum.Enum1())(v.value1)); }); }; }; var enumOrdering = new Enum(function () { return Data_Ord.ordOrdering; }, function (v) { if (v instanceof Data_Ordering.LT) { return Data_Maybe.Nothing.value; }; if (v instanceof Data_Ordering.EQ) { return new Data_Maybe.Just(Data_Ordering.LT.value); }; if (v instanceof Data_Ordering.GT) { return new Data_Maybe.Just(Data_Ordering.EQ.value); }; throw new Error("Failed pattern match at Data.Enum line 72, column 1 - line 72, column 39: " + [ v.constructor.name ]); }, function (v) { if (v instanceof Data_Ordering.LT) { return new Data_Maybe.Just(Data_Ordering.EQ.value); }; if (v instanceof Data_Ordering.EQ) { return new Data_Maybe.Just(Data_Ordering.GT.value); }; if (v instanceof Data_Ordering.GT) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Enum line 72, column 1 - line 72, column 39: " + [ v.constructor.name ]); }); var enumMaybe = function (dictBoundedEnum) { return new Enum(function () { return Data_Maybe.ordMaybe((dictBoundedEnum.Enum1()).Ord0()); }, function (v) { if (v instanceof Data_Maybe.Nothing) { return Data_Maybe.Nothing.value; }; if (v instanceof Data_Maybe.Just) { return Data_Maybe.Just.create(pred(dictBoundedEnum.Enum1())(v.value0)); }; throw new Error("Failed pattern match at Data.Enum line 80, column 1 - line 80, column 54: " + [ v.constructor.name ]); }, function (v) { if (v instanceof Data_Maybe.Nothing) { return Data_Maybe.Just.create(new Data_Maybe.Just(Data_Bounded.bottom(dictBoundedEnum.Bounded0()))); }; if (v instanceof Data_Maybe.Just) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Maybe.Just.create)(succ(dictBoundedEnum.Enum1())(v.value0)); }; throw new Error("Failed pattern match at Data.Enum line 80, column 1 - line 80, column 54: " + [ v.constructor.name ]); }); }; var enumInt = new Enum(function () { return Data_Ord.ordInt; }, function (n) { var $70 = n > Data_Bounded.bottom(Data_Bounded.boundedInt); if ($70) { return new Data_Maybe.Just(n - 1 | 0); }; return Data_Maybe.Nothing.value; }, function (n) { var $71 = n < Data_Bounded.top(Data_Bounded.boundedInt); if ($71) { return new Data_Maybe.Just(n + 1 | 0); }; return Data_Maybe.Nothing.value; }); // | Returns a successive sequence of elements from the lower bound to // | the upper bound (inclusive). var enumFromTo = function (dictEnum) { return function (dictUnfoldable) { return function (from) { return function (to) { var go = function (mx) { return Control_Bind.bind(Data_Maybe.bindMaybe)(mx)(function (v) { return Control_Bind.discard(Control_Bind.discardUnit)(Data_Maybe.bindMaybe)(Control_MonadZero.guard(Data_Maybe.monadZeroMaybe)(Data_Ord.lessThanOrEq(dictEnum.Ord0())(v)(to)))(function () { return Control_Applicative.pure(Data_Maybe.applicativeMaybe)(new Data_Tuple.Tuple(v, succ(dictEnum)(v))); }); }); }; return Data_Unfoldable.unfoldr(dictUnfoldable)(go)(new Data_Maybe.Just(from)); }; }; }; }; // | `[a,b..c]` var enumFromThenTo = function (dictBoundedEnum) { return function (a) { return function (b) { return function (c) { var c$prime = fromEnum(dictBoundedEnum)(c); var b$prime = fromEnum(dictBoundedEnum)(b); var a$prime = fromEnum(dictBoundedEnum)(a); return Data_Functor.map(Data_Functor.functorArray)(function ($103) { return Data_Maybe.fromJust()(toEnum(dictBoundedEnum)($103)); })(intStepFromTo(b$prime - a$prime | 0)(a$prime)(c$prime)); }; }; }; }; var enumEither = function (dictBoundedEnum) { return function (dictBoundedEnum1) { return new Enum(function () { return Data_Either.ordEither((dictBoundedEnum.Enum1()).Ord0())((dictBoundedEnum1.Enum1()).Ord0()); }, function (v) { if (v instanceof Data_Either.Left) { return Data_Maybe.maybe(Data_Maybe.Nothing.value)(function ($104) { return Data_Maybe.Just.create(Data_Either.Left.create($104)); })(pred(dictBoundedEnum.Enum1())(v.value0)); }; if (v instanceof Data_Either.Right) { return Data_Maybe.maybe(Data_Maybe.Just.create(new Data_Either.Left(Data_Bounded.top(dictBoundedEnum.Bounded0()))))(function ($105) { return Data_Maybe.Just.create(Data_Either.Right.create($105)); })(pred(dictBoundedEnum1.Enum1())(v.value0)); }; throw new Error("Failed pattern match at Data.Enum line 86, column 1 - line 86, column 75: " + [ v.constructor.name ]); }, function (v) { if (v instanceof Data_Either.Left) { return Data_Maybe.maybe(Data_Maybe.Just.create(new Data_Either.Right(Data_Bounded.bottom(dictBoundedEnum1.Bounded0()))))(function ($106) { return Data_Maybe.Just.create(Data_Either.Left.create($106)); })(succ(dictBoundedEnum.Enum1())(v.value0)); }; if (v instanceof Data_Either.Right) { return Data_Maybe.maybe(Data_Maybe.Nothing.value)(function ($107) { return Data_Maybe.Just.create(Data_Either.Right.create($107)); })(succ(dictBoundedEnum1.Enum1())(v.value0)); }; throw new Error("Failed pattern match at Data.Enum line 86, column 1 - line 86, column 75: " + [ v.constructor.name ]); }); }; }; var enumBoolean = new Enum(function () { return Data_Ord.ordBoolean; }, function (v) { if (v) { return new Data_Maybe.Just(false); }; return Data_Maybe.Nothing.value; }, function (v) { if (!v) { return new Data_Maybe.Just(true); }; return Data_Maybe.Nothing.value; }); var diag = function (a) { return new Data_Tuple.Tuple(a, a); }; var downFrom = function (dictEnum) { return function (dictUnfoldable) { return Data_Unfoldable.unfoldr(dictUnfoldable)(function ($108) { return Data_Functor.map(Data_Maybe.functorMaybe)(diag)(pred(dictEnum)($108)); }); }; }; // | Results in all successors from given Enum in some unfoldable. // | Note that given Enum is not included in the result. var upFrom = function (dictEnum) { return function (dictUnfoldable) { return Data_Unfoldable.unfoldr(dictUnfoldable)(function ($109) { return Data_Functor.map(Data_Maybe.functorMaybe)(diag)(succ(dictEnum)($109)); }); }; }; // | Results in all successors of given Enum (including itself) // | in some NonEmpty unfoldable. var upFromIncluding = function (dictEnum) { return function (dictUnfoldable) { return function (x) { return new Data_NonEmpty.NonEmpty(x, upFrom(dictEnum)(dictUnfoldable)(x)); }; }; }; // | Runs in `O(n)` where `n` is `fromEnum a` var defaultToEnum = function (dictBounded) { return function (dictEnum) { return function (n) { if (n < 0) { return Data_Maybe.Nothing.value; }; if (n === 0) { return new Data_Maybe.Just(Data_Bounded.bottom(dictBounded)); }; if (Data_Boolean.otherwise) { return Control_Bind.bind(Data_Maybe.bindMaybe)(defaultToEnum(dictBounded)(dictEnum)(n - 1 | 0))(succ(dictEnum)); }; throw new Error("Failed pattern match at Data.Enum line 239, column 1 - line 239, column 65: " + [ n.constructor.name ]); }; }; }; // | ```defaultSucc toEnum fromEnum = succ``` var defaultSucc = function (toEnum$prime) { return function (fromEnum$prime) { return function (a) { return toEnum$prime(fromEnum$prime(a) + 1 | 0); }; }; }; // | ```defaultPred toEnum fromEnum = pred``` var defaultPred = function (toEnum$prime) { return function (fromEnum$prime) { return function (a) { return toEnum$prime(fromEnum$prime(a) - 1 | 0); }; }; }; // | Runs in `O(n)` where `n` is `fromEnum a` var defaultFromEnum = function (dictEnum) { return function ($110) { return Data_Maybe.maybe(0)(function (prd) { return defaultFromEnum(dictEnum)(prd) + 1 | 0; })(pred(dictEnum)($110)); }; }; // | Runs in `O(n)` where `n` is `fromEnum top` var defaultCardinality = function (dictBounded) { return function (dictEnum) { var defaultCardinality$prime = function (i) { return function ($111) { return Data_Maybe.maybe(i)(defaultCardinality$prime(i + 1 | 0))(succ(dictEnum)($111)); }; }; return Cardinality(defaultCardinality$prime(1)(Data_Bounded.bottom(dictBounded))); }; }; var charToEnum = function (v) { if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) { return Data_Maybe.Just.create(Data_Char.fromCharCode(v)); }; return Data_Maybe.Nothing.value; }; var enumChar = new Enum(function () { return Data_Ord.ordChar; }, defaultPred(charToEnum)(Data_Char.toCharCode), defaultSucc(charToEnum)(Data_Char.toCharCode)); var cardinality = function (dict) { return dict.cardinality; }; var boundedEnumUnit = new BoundedEnum(function () { return Data_Bounded.boundedUnit; }, function () { return enumUnit; }, 1, Data_Function["const"](0), function (v) { if (v === 0) { return new Data_Maybe.Just(Data_Unit.unit); }; return Data_Maybe.Nothing.value; }); var boundedEnumTuple = function (dictBoundedEnum) { return function (dictBoundedEnum1) { return new BoundedEnum(function () { return Data_Tuple.boundedTuple(dictBoundedEnum.Bounded0())(dictBoundedEnum1.Bounded0()); }, function () { return enumTuple(dictBoundedEnum.Enum1())(dictBoundedEnum1); }, Cardinality(Data_Newtype.unwrap(newtypeCardinality)(cardinality(dictBoundedEnum)) * Data_Newtype.unwrap(newtypeCardinality)(cardinality(dictBoundedEnum1)) | 0), (function () { var from = function (v) { return function (v1) { return (fromEnum(dictBoundedEnum)(v1.value0) * v | 0) + fromEnum(dictBoundedEnum1)(v1.value1) | 0; }; }; return from(cardinality(dictBoundedEnum1)); })(), (function () { var to = function (v) { return function (n) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.Tuple.create)(toEnum(dictBoundedEnum)(n / v | 0)))(toEnum(dictBoundedEnum1)(n % v)); }; }; return to(cardinality(dictBoundedEnum1)); })()); }; }; var boundedEnumOrdering = new BoundedEnum(function () { return Data_Bounded.boundedOrdering; }, function () { return enumOrdering; }, 3, function (v) { if (v instanceof Data_Ordering.LT) { return 0; }; if (v instanceof Data_Ordering.EQ) { return 1; }; if (v instanceof Data_Ordering.GT) { return 2; }; throw new Error("Failed pattern match at Data.Enum line 188, column 1 - line 188, column 53: " + [ v.constructor.name ]); }, function (v) { if (v === 0) { return new Data_Maybe.Just(Data_Ordering.LT.value); }; if (v === 1) { return new Data_Maybe.Just(Data_Ordering.EQ.value); }; if (v === 2) { return new Data_Maybe.Just(Data_Ordering.GT.value); }; return Data_Maybe.Nothing.value; }); var boundedEnumMaybe = function (dictBoundedEnum) { return new BoundedEnum(function () { return Data_Maybe.boundedMaybe(dictBoundedEnum.Bounded0()); }, function () { return enumMaybe(dictBoundedEnum); }, Cardinality(Data_Newtype.unwrap(newtypeCardinality)(cardinality(dictBoundedEnum)) + 1 | 0), function (v) { if (v instanceof Data_Maybe.Nothing) { return 0; }; if (v instanceof Data_Maybe.Just) { return fromEnum(dictBoundedEnum)(v.value0) + 1 | 0; }; throw new Error("Failed pattern match at Data.Enum line 198, column 1 - line 198, column 68: " + [ v.constructor.name ]); }, function (v) { if (v === 0) { return Control_Applicative.pure(Data_Maybe.applicativeMaybe)(Data_Maybe.Nothing.value); }; return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Maybe.Just.create)(toEnum(dictBoundedEnum)(v - 1 | 0)); }); }; var boundedEnumEither = function (dictBoundedEnum) { return function (dictBoundedEnum1) { return new BoundedEnum(function () { return Data_Either.boundedEither(dictBoundedEnum.Bounded0())(dictBoundedEnum1.Bounded0()); }, function () { return enumEither(dictBoundedEnum)(dictBoundedEnum1); }, Cardinality(Data_Newtype.unwrap(newtypeCardinality)(cardinality(dictBoundedEnum)) + Data_Newtype.unwrap(newtypeCardinality)(cardinality(dictBoundedEnum1)) | 0), function (v) { if (v instanceof Data_Either.Left) { return fromEnum(dictBoundedEnum)(v.value0); }; if (v instanceof Data_Either.Right) { return fromEnum(dictBoundedEnum1)(v.value0) + Data_Newtype.unwrap(newtypeCardinality)(cardinality(dictBoundedEnum)) | 0; }; throw new Error("Failed pattern match at Data.Enum line 205, column 1 - line 205, column 89: " + [ v.constructor.name ]); }, function (n) { var to = function (v) { if (n >= 0 && n < v) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Either.Left.create)(toEnum(dictBoundedEnum)(n)); }; if (Data_Boolean.otherwise) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_Either.Right.create)(toEnum(dictBoundedEnum1)(n - v | 0)); }; throw new Error("Failed pattern match at Data.Enum line 212, column 5 - line 212, column 46: " + [ v.constructor.name ]); }; return to(cardinality(dictBoundedEnum)); }); }; }; var boundedEnumChar = new BoundedEnum(function () { return Data_Bounded.boundedChar; }, function () { return enumChar; }, Data_Char.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - Data_Char.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, Data_Char.toCharCode, charToEnum); var boundedEnumBoolean = new BoundedEnum(function () { return Data_Bounded.boundedBoolean; }, function () { return enumBoolean; }, 2, function (v) { if (!v) { return 0; }; if (v) { return 1; }; throw new Error("Failed pattern match at Data.Enum line 169, column 1 - line 169, column 51: " + [ v.constructor.name ]); }, function (v) { if (v === 0) { return new Data_Maybe.Just(false); }; if (v === 1) { return new Data_Maybe.Just(true); }; return Data_Maybe.Nothing.value; }); exports["Cardinality"] = Cardinality; exports["BoundedEnum"] = BoundedEnum; exports["Enum"] = Enum; exports["cardinality"] = cardinality; exports["defaultCardinality"] = defaultCardinality; exports["defaultFromEnum"] = defaultFromEnum; exports["defaultPred"] = defaultPred; exports["defaultSucc"] = defaultSucc; exports["defaultToEnum"] = defaultToEnum; exports["downFrom"] = downFrom; exports["enumFromThenTo"] = enumFromThenTo; exports["enumFromTo"] = enumFromTo; exports["fromEnum"] = fromEnum; exports["pred"] = pred; exports["succ"] = succ; exports["toEnum"] = toEnum; exports["toEnumWithDefaults"] = toEnumWithDefaults; exports["upFrom"] = upFrom; exports["upFromIncluding"] = upFromIncluding; exports["newtypeCardinality"] = newtypeCardinality; exports["eqCardinality"] = eqCardinality; exports["ordCardinality"] = ordCardinality; exports["enumBoolean"] = enumBoolean; exports["enumInt"] = enumInt; exports["enumChar"] = enumChar; exports["enumUnit"] = enumUnit; exports["enumOrdering"] = enumOrdering; exports["enumMaybe"] = enumMaybe; exports["enumEither"] = enumEither; exports["enumTuple"] = enumTuple; exports["boundedEnumBoolean"] = boundedEnumBoolean; exports["boundedEnumChar"] = boundedEnumChar; exports["boundedEnumUnit"] = boundedEnumUnit; exports["boundedEnumOrdering"] = boundedEnumOrdering; exports["boundedEnumMaybe"] = boundedEnumMaybe; exports["boundedEnumEither"] = boundedEnumEither; exports["boundedEnumTuple"] = boundedEnumTuple; })(PS["Data.Enum"] = PS["Data.Enum"] || {}); (function(exports) { "use strict"; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Prelude = PS["Prelude"]; var None = (function () { function None() { }; None.value = new None(); return None; })(); var Capturing = (function () { function Capturing() { }; Capturing.value = new Capturing(); return Capturing; })(); var AtTarget = (function () { function AtTarget() { }; AtTarget.value = new AtTarget(); return AtTarget; })(); var Bubbling = (function () { function Bubbling() { }; Bubbling.value = new Bubbling(); return Bubbling; })(); var toEnumEventPhase = function (v) { if (v === 0) { return new Data_Maybe.Just(None.value); }; if (v === 1) { return new Data_Maybe.Just(Capturing.value); }; if (v === 2) { return new Data_Maybe.Just(AtTarget.value); }; if (v === 3) { return new Data_Maybe.Just(Bubbling.value); }; return Data_Maybe.Nothing.value; }; var fromEnumEventPhase = function (v) { if (v instanceof None) { return 0; }; if (v instanceof Capturing) { return 1; }; if (v instanceof AtTarget) { return 2; }; if (v instanceof Bubbling) { return 3; }; throw new Error("Failed pattern match at DOM.Event.EventPhase line 40, column 3 - line 44, column 17: " + [ v.constructor.name ]); }; var eqEventPhase = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof None && y instanceof None) { return true; }; if (x instanceof Capturing && y instanceof Capturing) { return true; }; if (x instanceof AtTarget && y instanceof AtTarget) { return true; }; if (x instanceof Bubbling && y instanceof Bubbling) { return true; }; return false; }; }); var ordEventPhase = new Data_Ord.Ord(function () { return eqEventPhase; }, function (x) { return function (y) { if (x instanceof None && y instanceof None) { return Data_Ordering.EQ.value; }; if (x instanceof None) { return Data_Ordering.LT.value; }; if (y instanceof None) { return Data_Ordering.GT.value; }; if (x instanceof Capturing && y instanceof Capturing) { return Data_Ordering.EQ.value; }; if (x instanceof Capturing) { return Data_Ordering.LT.value; }; if (y instanceof Capturing) { return Data_Ordering.GT.value; }; if (x instanceof AtTarget && y instanceof AtTarget) { return Data_Ordering.EQ.value; }; if (x instanceof AtTarget) { return Data_Ordering.LT.value; }; if (y instanceof AtTarget) { return Data_Ordering.GT.value; }; if (x instanceof Bubbling && y instanceof Bubbling) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at DOM.Event.EventPhase line 14, column 8 - line 14, column 48: " + [ x.constructor.name, y.constructor.name ]); }; }); var enumEventPhase = new Data_Enum.Enum(function () { return ordEventPhase; }, Data_Enum.defaultPred(toEnumEventPhase)(fromEnumEventPhase), Data_Enum.defaultSucc(toEnumEventPhase)(fromEnumEventPhase)); var boundedEventPhase = new Data_Bounded.Bounded(function () { return ordEventPhase; }, None.value, Bubbling.value); var boundedEnumEventPhase = new Data_Enum.BoundedEnum(function () { return boundedEventPhase; }, function () { return enumEventPhase; }, 4, fromEnumEventPhase, toEnumEventPhase); exports["None"] = None; exports["Capturing"] = Capturing; exports["AtTarget"] = AtTarget; exports["Bubbling"] = Bubbling; exports["fromEnumEventPhase"] = fromEnumEventPhase; exports["toEnumEventPhase"] = toEnumEventPhase; exports["eqEventPhase"] = eqEventPhase; exports["ordEventPhase"] = ordEventPhase; exports["boundedEventPhase"] = boundedEventPhase; exports["enumEventPhase"] = enumEventPhase; exports["boundedEnumEventPhase"] = boundedEnumEventPhase; })(PS["DOM.Event.EventPhase"] = PS["DOM.Event.EventPhase"] || {}); (function(exports) { "use strict"; exports._unsafeReadProtoTagged = function (name) { return function (failure) { return function (success) { return function (value) { var obj = value; while (obj != null) { var proto = Object.getPrototypeOf(obj); var ctor = proto.constructor.name; if (ctor === name) { return success(value); } else if (ctor === "Object") { return failure(Object.getPrototypeOf(value).constructor.name); } obj = proto; } return failure(Object.getPrototypeOf(value).constructor.name); }; }; }; }; })(PS["DOM.Util.FFI"] = PS["DOM.Util.FFI"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Util.FFI"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Except = PS["Control.Monad.Except"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Identity = PS["Data.Identity"]; var Data_List_Types = PS["Data.List.Types"]; var Prelude = PS["Prelude"]; var unsafeReadProtoTagged = function (name) { return $foreign._unsafeReadProtoTagged(name)(function ($0) { return Control_Monad_Except_Trans.except(Data_Identity.applicativeIdentity)(Data_Either.Left.create(Control_Applicative.pure(Data_List_Types.applicativeNonEmptyList)(Data_Foreign.TypeMismatch.create(name)($0)))); })(function ($1) { return Control_Monad_Except_Trans.except(Data_Identity.applicativeIdentity)(Data_Either.Right.create($1)); }); }; exports["unsafeReadProtoTagged"] = unsafeReadProtoTagged; })(PS["DOM.Util.FFI"] = PS["DOM.Util.FFI"] || {}); (function(exports) { // http://www.w3.org/TR/dom "use strict"; var DOM_Event_Types = PS["DOM.Event.Types"]; var DOM_Util_FFI = PS["DOM.Util.FFI"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var ElementId = function (x) { return x; }; var textToNode = Unsafe_Coerce.unsafeCoerce; var readNode = DOM_Util_FFI.unsafeReadProtoTagged("Node"); var readElement = DOM_Util_FFI.unsafeReadProtoTagged("Element"); var readDocument = DOM_Util_FFI.unsafeReadProtoTagged("Document"); var processingInstructionToNode = Unsafe_Coerce.unsafeCoerce; var oOrdElementId = Data_Ord.ordString; var newtypeElementId = new Data_Newtype.Newtype(function (n) { return n; }, ElementId); var eqElementId = Data_Eq.eqString; var elementToParentNode = Unsafe_Coerce.unsafeCoerce; var elementToNonDocumentTypeChildNode = Unsafe_Coerce.unsafeCoerce; var elementToNode = Unsafe_Coerce.unsafeCoerce; var elementToEventTarget = Unsafe_Coerce.unsafeCoerce; var documentTypeToNode = Unsafe_Coerce.unsafeCoerce; var documentToParentNode = Unsafe_Coerce.unsafeCoerce; var documentToNonElementParentNode = Unsafe_Coerce.unsafeCoerce; var documentToNode = Unsafe_Coerce.unsafeCoerce; var documentToEventTarget = Unsafe_Coerce.unsafeCoerce; var documentFragmentToParentNode = Unsafe_Coerce.unsafeCoerce; var documentFragmentToNonElementParentNode = Unsafe_Coerce.unsafeCoerce; var documentFragmentToNode = Unsafe_Coerce.unsafeCoerce; var commentToNode = Unsafe_Coerce.unsafeCoerce; var characterDataToNonDocumentTypeChildNode = Unsafe_Coerce.unsafeCoerce; exports["ElementId"] = ElementId; exports["characterDataToNonDocumentTypeChildNode"] = characterDataToNonDocumentTypeChildNode; exports["commentToNode"] = commentToNode; exports["documentFragmentToNode"] = documentFragmentToNode; exports["documentFragmentToNonElementParentNode"] = documentFragmentToNonElementParentNode; exports["documentFragmentToParentNode"] = documentFragmentToParentNode; exports["documentToEventTarget"] = documentToEventTarget; exports["documentToNode"] = documentToNode; exports["documentToNonElementParentNode"] = documentToNonElementParentNode; exports["documentToParentNode"] = documentToParentNode; exports["documentTypeToNode"] = documentTypeToNode; exports["elementToEventTarget"] = elementToEventTarget; exports["elementToNode"] = elementToNode; exports["elementToNonDocumentTypeChildNode"] = elementToNonDocumentTypeChildNode; exports["elementToParentNode"] = elementToParentNode; exports["processingInstructionToNode"] = processingInstructionToNode; exports["readDocument"] = readDocument; exports["readElement"] = readElement; exports["readNode"] = readNode; exports["textToNode"] = textToNode; exports["newtypeElementId"] = newtypeElementId; exports["eqElementId"] = eqElementId; exports["oOrdElementId"] = oOrdElementId; })(PS["DOM.Node.Types"] = PS["DOM.Node.Types"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Event.Event"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Event_EventPhase = PS["DOM.Event.EventPhase"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Enum = PS["Data.Enum"]; var Data_Maybe = PS["Data.Maybe"]; var Prelude = PS["Prelude"]; // | Indicates which phase of the event flow that is currently being processed // | for the event. var eventPhase = function (dictPartial) { return function ($1) { return Data_Maybe.fromJust(dictPartial)(Data_Enum.toEnum(DOM_Event_EventPhase.boundedEnumEventPhase)($foreign.eventPhaseIndex($1))); }; }; exports["eventPhase"] = eventPhase; exports["bubbles"] = $foreign.bubbles; exports["cancelable"] = $foreign.cancelable; exports["currentTarget"] = $foreign.currentTarget; exports["defaultPrevented"] = $foreign.defaultPrevented; exports["eventPhaseIndex"] = $foreign.eventPhaseIndex; exports["preventDefault"] = $foreign.preventDefault; exports["stopImmediatePropagation"] = $foreign.stopImmediatePropagation; exports["stopPropagation"] = $foreign.stopPropagation; exports["target"] = $foreign.target; exports["timeStamp"] = $foreign.timeStamp; exports["type_"] = $foreign.type_; })(PS["DOM.Event.Event"] = PS["DOM.Event.Event"] || {}); (function(exports) { "use strict"; exports.eventListener = function (fn) { return function (event) { return fn(event)(); }; }; exports.addEventListener = function (type) { return function (listener) { return function (useCapture) { return function (target) { return function () { target.addEventListener(type, listener, useCapture); return {}; }; }; }; }; }; exports.removeEventListener = function (type) { return function (listener) { return function (useCapture) { return function (target) { return function () { target.removeEventListener(type, listener, useCapture); return {}; }; }; }; }; }; exports.dispatchEvent = function (event) { return function (target) { return function () { return target.dispatchEvent(event); }; }; }; })(PS["DOM.Event.EventTarget"] = PS["DOM.Event.EventTarget"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Event.EventTarget"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var DOM = PS["DOM"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var Prelude = PS["Prelude"]; exports["addEventListener"] = $foreign.addEventListener; exports["dispatchEvent"] = $foreign.dispatchEvent; exports["eventListener"] = $foreign.eventListener; exports["removeEventListener"] = $foreign.removeEventListener; })(PS["DOM.Event.EventTarget"] = PS["DOM.Event.EventTarget"] || {}); (function(exports) { "use strict"; exports._relatedTarget = function (e) { return e.relatedTarget; }; })(PS["DOM.Event.FocusEvent"] = PS["DOM.Event.FocusEvent"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Event.FocusEvent"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var relatedTarget = Data_Functor.map(Data_Functor.functorFn)(Data_Nullable.toMaybe)($foreign._relatedTarget); var eventToFocusEvent = function ($0) { return DOM_Event_Types.readFocusEvent(Data_Foreign.toForeign($0)); }; exports["eventToFocusEvent"] = eventToFocusEvent; exports["relatedTarget"] = relatedTarget; })(PS["DOM.Event.FocusEvent"] = PS["DOM.Event.FocusEvent"] || {}); (function(exports) { "use strict"; exports.key = function (e) { return e.key; }; exports.code = function (e) { return e.code; }; exports.locationIndex = function (e) { return e.location; }; exports.ctrlKey = function (e) { return e.ctrlKey; }; exports.shiftKey = function (e) { return e.shiftKey; }; exports.altKey = function (e) { return e.altKey; }; exports.metaKey = function (e) { return e.metaKey; }; exports.repeat = function (e) { return e.repeat; }; exports.isComposing = function (e) { return e.isComposing; }; exports.getModifierState = function (s) { return function (e) { return function () { return e.getModifierState(s); }; }; }; })(PS["DOM.Event.KeyboardEvent"] = PS["DOM.Event.KeyboardEvent"] || {}); (function(exports) { // | Functions that expose the KeyboardEvent API. // | // | https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent // | // | Note: The deprecated attributes `.keyCode`, `.charCode`, and // | `.which` are deliberately omitted. It is currently recommended to use // | `KeyboardEvent.key` instead. // | // | If browser support for `KeyboardEvent.key` is not yet widespread // | enough for your use case, consider using a polyfill // | (e.g. https://github.com/inexorabletash/polyfill#keyboard-events) // | or use the purescript FFI to access the deprecated attributes you // | want to work with. // | "use strict"; var $foreign = PS["DOM.Event.KeyboardEvent"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Prelude = PS["Prelude"]; var Standard = (function () { function Standard() { }; Standard.value = new Standard(); return Standard; })(); var Left = (function () { function Left() { }; Left.value = new Left(); return Left; })(); var Right = (function () { function Right() { }; Right.value = new Right(); return Right; })(); var Numpad = (function () { function Numpad() { }; Numpad.value = new Numpad(); return Numpad; })(); var toEnumKeyLocation = function (v) { if (v === 0) { return new Data_Maybe.Just(Standard.value); }; if (v === 1) { return new Data_Maybe.Just(Left.value); }; if (v === 2) { return new Data_Maybe.Just(Right.value); }; if (v === 3) { return new Data_Maybe.Just(Numpad.value); }; return Data_Maybe.Nothing.value; }; var fromEnumKeyLocation = function (v) { if (v instanceof Standard) { return 0; }; if (v instanceof Left) { return 1; }; if (v instanceof Right) { return 2; }; if (v instanceof Numpad) { return 3; }; throw new Error("Failed pattern match at DOM.Event.KeyboardEvent line 92, column 3 - line 98, column 1: " + [ v.constructor.name ]); }; var eventToKeyboardEvent = function ($13) { return DOM_Event_Types.readKeyboardEvent(Data_Foreign.toForeign($13)); }; var eqKeyLocation = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof Standard && y instanceof Standard) { return true; }; if (x instanceof Left && y instanceof Left) { return true; }; if (x instanceof Right && y instanceof Right) { return true; }; if (x instanceof Numpad && y instanceof Numpad) { return true; }; return false; }; }); var ordKeyLocation = new Data_Ord.Ord(function () { return eqKeyLocation; }, function (x) { return function (y) { if (x instanceof Standard && y instanceof Standard) { return Data_Ordering.EQ.value; }; if (x instanceof Standard) { return Data_Ordering.LT.value; }; if (y instanceof Standard) { return Data_Ordering.GT.value; }; if (x instanceof Left && y instanceof Left) { return Data_Ordering.EQ.value; }; if (x instanceof Left) { return Data_Ordering.LT.value; }; if (y instanceof Left) { return Data_Ordering.GT.value; }; if (x instanceof Right && y instanceof Right) { return Data_Ordering.EQ.value; }; if (x instanceof Right) { return Data_Ordering.LT.value; }; if (y instanceof Right) { return Data_Ordering.GT.value; }; if (x instanceof Numpad && y instanceof Numpad) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at DOM.Event.KeyboardEvent line 66, column 8 - line 66, column 50: " + [ x.constructor.name, y.constructor.name ]); }; }); var enumKeyLocation = new Data_Enum.Enum(function () { return ordKeyLocation; }, Data_Enum.defaultPred(toEnumKeyLocation)(fromEnumKeyLocation), Data_Enum.defaultSucc(toEnumKeyLocation)(fromEnumKeyLocation)); var boundedKeyLocation = new Data_Bounded.Bounded(function () { return ordKeyLocation; }, Standard.value, Numpad.value); var boundedEnumKeyLocation = new Data_Enum.BoundedEnum(function () { return boundedKeyLocation; }, function () { return enumKeyLocation; }, 4, fromEnumKeyLocation, toEnumKeyLocation); var location = function (dictPartial) { return function ($14) { return Data_Maybe.fromJust(dictPartial)(Data_Enum.toEnum(boundedEnumKeyLocation)($foreign.locationIndex($14))); }; }; exports["Standard"] = Standard; exports["Left"] = Left; exports["Right"] = Right; exports["Numpad"] = Numpad; exports["eventToKeyboardEvent"] = eventToKeyboardEvent; exports["fromEnumKeyLocation"] = fromEnumKeyLocation; exports["location"] = location; exports["toEnumKeyLocation"] = toEnumKeyLocation; exports["eqKeyLocation"] = eqKeyLocation; exports["ordKeyLocation"] = ordKeyLocation; exports["boundedKeyLocation"] = boundedKeyLocation; exports["enumKeyLocation"] = enumKeyLocation; exports["boundedEnumKeyLocation"] = boundedEnumKeyLocation; exports["altKey"] = $foreign.altKey; exports["code"] = $foreign.code; exports["ctrlKey"] = $foreign.ctrlKey; exports["getModifierState"] = $foreign.getModifierState; exports["isComposing"] = $foreign.isComposing; exports["key"] = $foreign.key; exports["locationIndex"] = $foreign.locationIndex; exports["metaKey"] = $foreign.metaKey; exports["repeat"] = $foreign.repeat; exports["shiftKey"] = $foreign.shiftKey; })(PS["DOM.Event.KeyboardEvent"] = PS["DOM.Event.KeyboardEvent"] || {}); (function(exports) { "use strict"; exports.screenX = function (e) { return e.screenX; }; exports.screenY = function (e) { return e.screenY; }; exports.clientX = function (e) { return e.clientX; }; exports.clientY = function (e) { return e.clientY; }; exports.ctrlKey = function (e) { return e.ctrlKey; }; exports.shiftKey = function (e) { return e.shiftKey; }; exports.altKey = function (e) { return e.altKey; }; exports.metaKey = function (e) { return e.metaKey; }; exports.button = function (e) { return e.button; }; exports._relatedTarget = function (e) { return e.relatedTarget; }; exports.buttons = function (e) { return e.buttons; }; exports.getModifierState = function (s) { return function (e) { return function () { return e.getModifierState(s); }; }; }; })(PS["DOM.Event.MouseEvent"] = PS["DOM.Event.MouseEvent"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Event.MouseEvent"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var relatedTarget = Data_Functor.map(Data_Functor.functorFn)(Data_Nullable.toMaybe)($foreign._relatedTarget); var eventToMouseEvent = function ($0) { return DOM_Event_Types.readMouseEvent(Data_Foreign.toForeign($0)); }; exports["eventToMouseEvent"] = eventToMouseEvent; exports["relatedTarget"] = relatedTarget; exports["altKey"] = $foreign.altKey; exports["button"] = $foreign.button; exports["buttons"] = $foreign.buttons; exports["clientX"] = $foreign.clientX; exports["clientY"] = $foreign.clientY; exports["ctrlKey"] = $foreign.ctrlKey; exports["getModifierState"] = $foreign.getModifierState; exports["metaKey"] = $foreign.metaKey; exports["screenX"] = $foreign.screenX; exports["screenY"] = $foreign.screenY; exports["shiftKey"] = $foreign.shiftKey; })(PS["DOM.Event.MouseEvent"] = PS["DOM.Event.MouseEvent"] || {}); (function(exports) { "use strict"; exports.identifier = function (t) { return t.identifier; }; exports.screenX = function (t) { return t.screenX; }; exports.screenY = function (t) { return t.screenY; }; exports.clientX = function (t) { return t.clientX; }; exports.clientY = function (t) { return t.clientY; }; exports.pageX = function (t) { return t.pageX; }; exports.pageY = function (t) { return t.pageY; }; exports.target = function (t) { return t.target; }; exports.length = function (l) { return l.length; }; exports._item = function (i) { return function(l) { return l.item(i); }; }; exports.touches = function (e) { return e.touches; }; exports.targetTouches = function (e) { return e.targetTouches; }; exports.changedTouches = function (e) { return e.changedTouches; }; exports.altKey = function (e) { return e.altKey; }; exports.metaKey = function (e) { return e.metaKey; }; exports.ctrlKey = function (e) { return e.ctrlKey; }; exports.shiftKey = function (e) { return e.shiftKey; }; })(PS["DOM.Event.TouchEvent"] = PS["DOM.Event.TouchEvent"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Event.TouchEvent"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var item = function (i) { return function ($0) { return Data_Nullable.toMaybe($foreign._item(i)($0)); }; }; var eventToTouchEvent = function ($1) { return DOM_Event_Types.readTouchEvent(Data_Foreign.toForeign($1)); }; exports["eventToTouchEvent"] = eventToTouchEvent; exports["item"] = item; exports["altKey"] = $foreign.altKey; exports["changedTouches"] = $foreign.changedTouches; exports["clientX"] = $foreign.clientX; exports["clientY"] = $foreign.clientY; exports["ctrlKey"] = $foreign.ctrlKey; exports["length"] = $foreign.length; exports["metaKey"] = $foreign.metaKey; exports["pageX"] = $foreign.pageX; exports["pageY"] = $foreign.pageY; exports["screenX"] = $foreign.screenX; exports["screenY"] = $foreign.screenY; exports["shiftKey"] = $foreign.shiftKey; exports["target"] = $foreign.target; exports["targetTouches"] = $foreign.targetTouches; exports["touches"] = $foreign.touches; })(PS["DOM.Event.TouchEvent"] = PS["DOM.Event.TouchEvent"] || {}); (function(exports) { "use strict"; exports.deltaX = function (e) { return e.deltaX; }; exports.deltaY = function (e) { return e.deltaY; }; exports.deltaZ = function (e) { return e.deltaZ; }; exports.deltaModeIndex = function (e) { return e.deltaModeIndex; }; })(PS["DOM.Event.WheelEvent"] = PS["DOM.Event.WheelEvent"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Event.WheelEvent"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Prelude = PS["Prelude"]; var Pixel = (function () { function Pixel() { }; Pixel.value = new Pixel(); return Pixel; })(); var Line = (function () { function Line() { }; Line.value = new Line(); return Line; })(); var Page = (function () { function Page() { }; Page.value = new Page(); return Page; })(); var toEnumDeltaMode = function (v) { if (v === 0) { return new Data_Maybe.Just(Pixel.value); }; if (v === 1) { return new Data_Maybe.Just(Line.value); }; if (v === 2) { return new Data_Maybe.Just(Page.value); }; return Data_Maybe.Nothing.value; }; var fromEnumDeltaMode = function (v) { if (v instanceof Pixel) { return 0; }; if (v instanceof Line) { return 1; }; if (v instanceof Page) { return 2; }; throw new Error("Failed pattern match at DOM.Event.WheelEvent line 66, column 3 - line 69, column 13: " + [ v.constructor.name ]); }; var eventToWheelEvent = function ($13) { return DOM_Event_Types.readWheelEvent(Data_Foreign.toForeign($13)); }; var eqDeltaMode = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof Pixel && y instanceof Pixel) { return true; }; if (x instanceof Line && y instanceof Line) { return true; }; if (x instanceof Page && y instanceof Page) { return true; }; return false; }; }); var ordDeltaMode = new Data_Ord.Ord(function () { return eqDeltaMode; }, function (x) { return function (y) { if (x instanceof Pixel && y instanceof Pixel) { return Data_Ordering.EQ.value; }; if (x instanceof Pixel) { return Data_Ordering.LT.value; }; if (y instanceof Pixel) { return Data_Ordering.GT.value; }; if (x instanceof Line && y instanceof Line) { return Data_Ordering.EQ.value; }; if (x instanceof Line) { return Data_Ordering.LT.value; }; if (y instanceof Line) { return Data_Ordering.GT.value; }; if (x instanceof Page && y instanceof Page) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at DOM.Event.WheelEvent line 41, column 8 - line 41, column 46: " + [ x.constructor.name, y.constructor.name ]); }; }); var enumDeltaMode = new Data_Enum.Enum(function () { return ordDeltaMode; }, Data_Enum.defaultPred(toEnumDeltaMode)(fromEnumDeltaMode), Data_Enum.defaultSucc(toEnumDeltaMode)(fromEnumDeltaMode)); var boundedDeltaMode = new Data_Bounded.Bounded(function () { return ordDeltaMode; }, Pixel.value, Page.value); var boundedEnumDeltaMode = new Data_Enum.BoundedEnum(function () { return boundedDeltaMode; }, function () { return enumDeltaMode; }, 3, fromEnumDeltaMode, toEnumDeltaMode); var deltaMode = function (dictPartial) { return function ($14) { return Data_Maybe.fromJust(dictPartial)(Data_Enum.toEnum(boundedEnumDeltaMode)($foreign.deltaModeIndex($14))); }; }; exports["Pixel"] = Pixel; exports["Line"] = Line; exports["Page"] = Page; exports["deltaMode"] = deltaMode; exports["eventToWheelEvent"] = eventToWheelEvent; exports["fromEnumDeltaMode"] = fromEnumDeltaMode; exports["toEnumDeltaMode"] = toEnumDeltaMode; exports["eqDeltaMode"] = eqDeltaMode; exports["ordDeltaMode"] = ordDeltaMode; exports["boundedDeltaMode"] = boundedDeltaMode; exports["enumDeltaMode"] = enumDeltaMode; exports["boundedEnumDeltaMode"] = boundedEnumDeltaMode; exports["deltaModeIndex"] = $foreign.deltaModeIndex; exports["deltaX"] = $foreign.deltaX; exports["deltaY"] = $foreign.deltaY; exports["deltaZ"] = $foreign.deltaZ; })(PS["DOM.Event.WheelEvent"] = PS["DOM.Event.WheelEvent"] || {}); (function(exports) { "use strict"; exports.typeImpl = function (blob) { return blob.type; }; exports.size = function (blob) { return blob.size; }; })(PS["DOM.File.Blob"] = PS["DOM.File.Blob"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.File.Blob"]; var DOM_File_Types = PS["DOM.File.Types"]; var Data_Eq = PS["Data.Eq"]; var Data_Maybe = PS["Data.Maybe"]; var Data_MediaType = PS["Data.MediaType"]; var Prelude = PS["Prelude"]; // | `MediaType` of the data contained in the `Blob`. // | Returns `Nothing` if the `MediaType` is unknown. var type_ = function (blob) { var blobType = $foreign.typeImpl(blob); var $0 = blobType === ""; if ($0) { return Data_Maybe.Nothing.value; }; return new Data_Maybe.Just(blobType); }; exports["type_"] = type_; exports["size"] = $foreign.size; })(PS["DOM.File.Blob"] = PS["DOM.File.Blob"] || {}); (function(exports) { "use strict"; exports.name = function (file) { return file.name; }; })(PS["DOM.File.File"] = PS["DOM.File.File"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.File.File"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_File_Blob = PS["DOM.File.Blob"]; var DOM_File_Types = PS["DOM.File.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_MediaType = PS["Data.MediaType"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; // | (Inherited from `Blob`) `MediaType` of the data contained in the `Blob`. // | Returns `Nothing` if the `MediaType` is unknown. var type_ = function ($0) { return DOM_File_Blob.type_(Unsafe_Coerce.unsafeCoerce($0)); }; // | (Inherited from `Blob`) The size (in bytes) of the data contained in the `File`. var size = function ($1) { return DOM_File_Blob.size(Unsafe_Coerce.unsafeCoerce($1)); }; exports["size"] = size; exports["type_"] = type_; exports["name"] = $foreign.name; })(PS["DOM.File.File"] = PS["DOM.File.File"] || {}); (function(exports) { "use strict"; exports.length = function (fileList) { return fileList.length; }; exports._item = function (index) { return function (fileList) { return fileList.item(index); }; }; })(PS["DOM.File.FileList"] = PS["DOM.File.FileList"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.File.FileList"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_File_Types = PS["DOM.File.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; // | Get `File` at the certain position var item = function (i) { return function ($0) { return Data_Nullable.toMaybe($foreign._item(i)($0)); }; }; exports["item"] = item; exports["length"] = $foreign.length; })(PS["DOM.File.FileList"] = PS["DOM.File.FileList"] || {}); (function(exports) { /* global FileReader */ "use strict"; exports.fileReader = function () { return new FileReader(); }; exports.error = function (fr) { return function () { return fr.error; }; }; exports.readyStateImpl = function (fr) { return function () { return fr.readyState; }; }; exports.result = function (fr) { return function () { return fr.result; }; }; exports.abort = function (fr) { return function () { fr.abort(); }; }; exports.readAsText = function (blob) { return function (fr) { return function () { fr.readAsText(blob); }; }; }; exports.readAsArrayBuffer = function (blob) { return function (fr) { return function () { fr.readAsArrayBuffer(blob); }; }; }; exports.readAsDataURL = function (blob) { return function (fr) { return function () { fr.readAsDataURL(blob); }; }; }; })(PS["DOM.File.FileReader"] = PS["DOM.File.FileReader"] || {}); (function(exports) { "use strict"; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var EMPTY = (function () { function EMPTY() { }; EMPTY.value = new EMPTY(); return EMPTY; })(); var LOADING = (function () { function LOADING() { }; LOADING.value = new LOADING(); return LOADING; })(); var DONE = (function () { function DONE() { }; DONE.value = new DONE(); return DONE; })(); var toEnumReadyState = function (v) { if (v === 0) { return new Data_Maybe.Just(EMPTY.value); }; if (v === 1) { return new Data_Maybe.Just(LOADING.value); }; if (v === 2) { return new Data_Maybe.Just(DONE.value); }; return Data_Maybe.Nothing.value; }; var showReadyState = new Data_Show.Show(function (v) { if (v instanceof EMPTY) { return "EMPTY"; }; if (v instanceof LOADING) { return "LOADING"; }; if (v instanceof DONE) { return "DONE"; }; throw new Error("Failed pattern match at DOM.File.FileReader.ReadyState line 28, column 1 - line 28, column 43: " + [ v.constructor.name ]); }); var fromEnumReadyState = function (v) { if (v instanceof EMPTY) { return 0; }; if (v instanceof LOADING) { return 1; }; if (v instanceof DONE) { return 2; }; throw new Error("Failed pattern match at DOM.File.FileReader.ReadyState line 43, column 3 - line 46, column 13: " + [ v.constructor.name ]); }; var eqReadyState = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof EMPTY && y instanceof EMPTY) { return true; }; if (x instanceof LOADING && y instanceof LOADING) { return true; }; if (x instanceof DONE && y instanceof DONE) { return true; }; return false; }; }); var ordReadyState = new Data_Ord.Ord(function () { return eqReadyState; }, function (x) { return function (y) { if (x instanceof EMPTY && y instanceof EMPTY) { return Data_Ordering.EQ.value; }; if (x instanceof EMPTY) { return Data_Ordering.LT.value; }; if (y instanceof EMPTY) { return Data_Ordering.GT.value; }; if (x instanceof LOADING && y instanceof LOADING) { return Data_Ordering.EQ.value; }; if (x instanceof LOADING) { return Data_Ordering.LT.value; }; if (y instanceof LOADING) { return Data_Ordering.GT.value; }; if (x instanceof DONE && y instanceof DONE) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at DOM.File.FileReader.ReadyState line 13, column 8 - line 13, column 48: " + [ x.constructor.name, y.constructor.name ]); }; }); var enumReadyState = new Data_Enum.Enum(function () { return ordReadyState; }, Data_Enum.defaultPred(toEnumReadyState)(fromEnumReadyState), Data_Enum.defaultSucc(toEnumReadyState)(fromEnumReadyState)); var boundedReadyState = new Data_Bounded.Bounded(function () { return ordReadyState; }, EMPTY.value, DONE.value); var boundedEnumReadyState = new Data_Enum.BoundedEnum(function () { return boundedReadyState; }, function () { return enumReadyState; }, 3, fromEnumReadyState, toEnumReadyState); exports["EMPTY"] = EMPTY; exports["LOADING"] = LOADING; exports["DONE"] = DONE; exports["fromEnumReadyState"] = fromEnumReadyState; exports["toEnumReadyState"] = toEnumReadyState; exports["eqReadyState"] = eqReadyState; exports["ordReadyState"] = ordReadyState; exports["boundedReadyState"] = boundedReadyState; exports["enumReadyState"] = enumReadyState; exports["boundedEnumReadyState"] = boundedEnumReadyState; exports["showReadyState"] = showReadyState; })(PS["DOM.File.FileReader.ReadyState"] = PS["DOM.File.FileReader.ReadyState"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.File.FileReader"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_File_FileReader_ReadyState = PS["DOM.File.FileReader.ReadyState"]; var DOM_File_Types = PS["DOM.File.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Maybe = PS["Data.Maybe"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; var readyState = function (fr) { return function __do() { var v = $foreign.readyStateImpl(fr)(); return Data_Maybe.fromJust()(DOM_File_FileReader_ReadyState.toEnumReadyState(v)); }; }; exports["readyState"] = readyState; exports["abort"] = $foreign.abort; exports["fileReader"] = $foreign.fileReader; exports["readAsArrayBuffer"] = $foreign.readAsArrayBuffer; exports["readAsDataURL"] = $foreign.readAsDataURL; exports["readAsText"] = $foreign.readAsText; exports["result"] = $foreign.result; })(PS["DOM.File.FileReader"] = PS["DOM.File.FileReader"] || {}); (function(exports) { /* global window */ "use strict"; exports.window = function () { return window; }; })(PS["DOM.HTML"] = PS["DOM.HTML"] || {}); (function(exports) { "use strict"; exports._readHTMLElement = function (failure) { return function (success) { return function (value) { var tag = Object.prototype.toString.call(value); if (tag.indexOf("[object HTML") === 0 && tag.indexOf("Element]") === tag.length - 8) { return success(value); } else { return failure(tag); } }; }; }; })(PS["DOM.HTML.Types"] = PS["DOM.HTML.Types"] || {}); (function(exports) { // http://www.w3.org/TR/html5 "use strict"; var $foreign = PS["DOM.HTML.Types"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Either = PS["Data.Either"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Identity = PS["Data.Identity"]; var Data_List_Types = PS["Data.List.Types"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var windowToEventTarget = Unsafe_Coerce.unsafeCoerce; var readHTMLVideoElement = Data_Foreign.unsafeReadTagged("HTMLVideoElement"); var readHTMLUListElement = Data_Foreign.unsafeReadTagged("HTMLUListElement"); var readHTMLTrackElement = Data_Foreign.unsafeReadTagged("HTMLTrackElement"); var readHTMLTitleElement = Data_Foreign.unsafeReadTagged("HTMLTitleElement"); var readHTMLTimeElement = Data_Foreign.unsafeReadTagged("HTMLTimeElement"); var readHTMLTextAreaElement = Data_Foreign.unsafeReadTagged("HTMLTextAreaElement"); var readHTMLTemplateElement = Data_Foreign.unsafeReadTagged("HTMLTemplateElement"); var readHTMLTableSectionElement = Data_Foreign.unsafeReadTagged("HTMLTableSectionElement"); var readHTMLTableRowElement = Data_Foreign.unsafeReadTagged("HTMLTableRowElement"); var readHTMLTableHeaderCellElement = Data_Foreign.unsafeReadTagged("HTMLTableHeaderCellElement"); var readHTMLTableElement = Data_Foreign.unsafeReadTagged("HTMLTableElement"); var readHTMLTableDataCellElement = Data_Foreign.unsafeReadTagged("HTMLTableDataCellElement"); var readHTMLTableColElement = Data_Foreign.unsafeReadTagged("HTMLTableColElement"); var readHTMLTableCellElement = Data_Foreign.unsafeReadTagged("HTMLTableCellElement"); var readHTMLTableCaptionElement = Data_Foreign.unsafeReadTagged("HTMLTableCaptionElement"); var readHTMLStyleElement = Data_Foreign.unsafeReadTagged("HTMLStyleElement"); var readHTMLSpanElement = Data_Foreign.unsafeReadTagged("HTMLSpanElement"); var readHTMLSourceElement = Data_Foreign.unsafeReadTagged("HTMLSourceElement"); var readHTMLSelectElement = Data_Foreign.unsafeReadTagged("HTMLSelectElement"); var readHTMLScriptElement = Data_Foreign.unsafeReadTagged("HTMLScriptElement"); var readHTMLQuoteElement = Data_Foreign.unsafeReadTagged("HTMLQuoteElement"); var readHTMLProgressElement = Data_Foreign.unsafeReadTagged("HTMLProgressElement"); var readHTMLPreElement = Data_Foreign.unsafeReadTagged("HTMLPreElement"); var readHTMLParamElement = Data_Foreign.unsafeReadTagged("HTMLParamElement"); var readHTMLParagraphElement = Data_Foreign.unsafeReadTagged("HTMLParagraphElement"); var readHTMLOutputElement = Data_Foreign.unsafeReadTagged("HTMLOutputElement"); var readHTMLOptionElement = Data_Foreign.unsafeReadTagged("HTMLOptionElement"); var readHTMLOptGroupElement = Data_Foreign.unsafeReadTagged("HTMLOptGroupElement"); var readHTMLObjectElement = Data_Foreign.unsafeReadTagged("HTMLObjectElement"); var readHTMLOListElement = Data_Foreign.unsafeReadTagged("HTMLOListElement"); var readHTMLModElement = Data_Foreign.unsafeReadTagged("HTMLModElement"); var readHTMLMeterElement = Data_Foreign.unsafeReadTagged("HTMLMeterElement"); var readHTMLMetaElement = Data_Foreign.unsafeReadTagged("HTMLMetaElement"); var readHTMLMediaElement = Data_Foreign.unsafeReadTagged("HTMLMediaElement"); var readHTMLMapElement = Data_Foreign.unsafeReadTagged("HTMLMapElement"); var readHTMLLinkElement = Data_Foreign.unsafeReadTagged("HTMLLinkElement"); var readHTMLLegendElement = Data_Foreign.unsafeReadTagged("HTMLLegendElement"); var readHTMLLabelElement = Data_Foreign.unsafeReadTagged("HTMLLabelElement"); var readHTMLLIElement = Data_Foreign.unsafeReadTagged("HTMLLIElement"); var readHTMLKeygenElement = Data_Foreign.unsafeReadTagged("HTMLKeygenElement"); var readHTMLInputElement = Data_Foreign.unsafeReadTagged("HTMLInputElement"); var readHTMLImageElement = Data_Foreign.unsafeReadTagged("HTMLImageElement"); var readHTMLIFrameElement = Data_Foreign.unsafeReadTagged("HTMLIFrameElement"); var readHTMLHtmlElement = Data_Foreign.unsafeReadTagged("HTMLHtmlElement"); var readHTMLHeadingElement = Data_Foreign.unsafeReadTagged("HTMLHeadingElement"); var readHTMLHeadElement = Data_Foreign.unsafeReadTagged("HTMLHeadElement"); var readHTMLHRElement = Data_Foreign.unsafeReadTagged("HTMLHRElement"); var readHTMLFormElement = Data_Foreign.unsafeReadTagged("HTMLFormElement"); var readHTMLFieldSetElement = Data_Foreign.unsafeReadTagged("HTMLFieldSetElement"); var readHTMLEmbedElement = Data_Foreign.unsafeReadTagged("HTMLEmbedElement"); var readHTMLElement = $foreign._readHTMLElement(function ($0) { return Control_Monad_Except_Trans.except(Data_Identity.applicativeIdentity)(Data_Either.Left.create(Control_Applicative.pure(Data_List_Types.applicativeNonEmptyList)(Data_Foreign.TypeMismatch.create("HTMLElement")($0)))); })(function ($1) { return Control_Monad_Except_Trans.except(Data_Identity.applicativeIdentity)(Data_Either.Right.create($1)); }); var readHTMLDocument = Data_Foreign.unsafeReadTagged("HTMLDocument"); var readHTMLDivElement = Data_Foreign.unsafeReadTagged("HTMLDivElement"); var readHTMLDataListElement = Data_Foreign.unsafeReadTagged("HTMLDataListElement"); var readHTMLDataElement = Data_Foreign.unsafeReadTagged("HTMLDataElement"); var readHTMLDListElement = Data_Foreign.unsafeReadTagged("HTMLDListElement"); var readHTMLCanvasElement = Data_Foreign.unsafeReadTagged("HTMLCanvasElement"); var readHTMLButtonElement = Data_Foreign.unsafeReadTagged("HTMLButtonElement"); var readHTMLBodyElement = Data_Foreign.unsafeReadTagged("HTMLBodyElement"); var readHTMLBaseElement = Data_Foreign.unsafeReadTagged("HTMLBaseElement"); var readHTMLBRElement = Data_Foreign.unsafeReadTagged("HTMLBRElement"); var readHTMLAudioElement = Data_Foreign.unsafeReadTagged("HTMLAudioElement"); var readHTMLAreaElement = Data_Foreign.unsafeReadTagged("HTMLAreaElement"); var readHTMLAnchorElement = Data_Foreign.unsafeReadTagged("HTMLAnchorElement"); var htmlVideoElementToHTMLMediaElement = Unsafe_Coerce.unsafeCoerce; var htmlUListElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTrackElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTitleElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTimeElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTextAreaElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTemplateElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTableSectionElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTableRowElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTableHeaderCellElementToHTMLTableCellElement = Unsafe_Coerce.unsafeCoerce; var htmlTableElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTableDataCellElementToHTMLTableCellElement = Unsafe_Coerce.unsafeCoerce; var htmlTableColElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTableCellElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlTableCaptionElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlStyleElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlSpanElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlSourceElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlSelectElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlScriptElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlQuoteElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlProgressElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlPreElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlParamElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlParagraphElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlOutputElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlOptionElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlOptGroupElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlObjectElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlOListElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlModElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlMeterElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlMetaElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlMediaElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlMapElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlLinkElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlLegendElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlLabelElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlLIElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlKeygenElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlInputElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlImageElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlIFrameElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlHtmlElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlHeadingElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlHeadElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlHRElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlFormElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlFieldSetElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlEmbedElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlElementToParentNode = Unsafe_Coerce.unsafeCoerce; var htmlElementToNonDocumentTypeChildNode = Unsafe_Coerce.unsafeCoerce; var htmlElementToNode = Unsafe_Coerce.unsafeCoerce; var htmlElementToEventTarget = Unsafe_Coerce.unsafeCoerce; var htmlElementToElement = Unsafe_Coerce.unsafeCoerce; var htmlDocumentToParentNode = Unsafe_Coerce.unsafeCoerce; var htmlDocumentToNonElementParentNode = Unsafe_Coerce.unsafeCoerce; var htmlDocumentToNode = Unsafe_Coerce.unsafeCoerce; var htmlDocumentToEventTarget = Unsafe_Coerce.unsafeCoerce; var htmlDocumentToDocument = Unsafe_Coerce.unsafeCoerce; var htmlDivElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlDataListElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlDataElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlDListElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlCanvasElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlButtonElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlBodyElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlBaseElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlBRElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlAudioElementToHTMLMediaElement = Unsafe_Coerce.unsafeCoerce; var htmlAreaElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; var htmlAnchorElementToHTMLElement = Unsafe_Coerce.unsafeCoerce; exports["htmlAnchorElementToHTMLElement"] = htmlAnchorElementToHTMLElement; exports["htmlAreaElementToHTMLElement"] = htmlAreaElementToHTMLElement; exports["htmlAudioElementToHTMLMediaElement"] = htmlAudioElementToHTMLMediaElement; exports["htmlBRElementToHTMLElement"] = htmlBRElementToHTMLElement; exports["htmlBaseElementToHTMLElement"] = htmlBaseElementToHTMLElement; exports["htmlBodyElementToHTMLElement"] = htmlBodyElementToHTMLElement; exports["htmlButtonElementToHTMLElement"] = htmlButtonElementToHTMLElement; exports["htmlCanvasElementToHTMLElement"] = htmlCanvasElementToHTMLElement; exports["htmlDListElementToHTMLElement"] = htmlDListElementToHTMLElement; exports["htmlDataElementToHTMLElement"] = htmlDataElementToHTMLElement; exports["htmlDataListElementToHTMLElement"] = htmlDataListElementToHTMLElement; exports["htmlDivElementToHTMLElement"] = htmlDivElementToHTMLElement; exports["htmlDocumentToDocument"] = htmlDocumentToDocument; exports["htmlDocumentToEventTarget"] = htmlDocumentToEventTarget; exports["htmlDocumentToNode"] = htmlDocumentToNode; exports["htmlDocumentToNonElementParentNode"] = htmlDocumentToNonElementParentNode; exports["htmlDocumentToParentNode"] = htmlDocumentToParentNode; exports["htmlElementToElement"] = htmlElementToElement; exports["htmlElementToEventTarget"] = htmlElementToEventTarget; exports["htmlElementToNode"] = htmlElementToNode; exports["htmlElementToNonDocumentTypeChildNode"] = htmlElementToNonDocumentTypeChildNode; exports["htmlElementToParentNode"] = htmlElementToParentNode; exports["htmlEmbedElementToHTMLElement"] = htmlEmbedElementToHTMLElement; exports["htmlFieldSetElementToHTMLElement"] = htmlFieldSetElementToHTMLElement; exports["htmlFormElementToHTMLElement"] = htmlFormElementToHTMLElement; exports["htmlHRElementToHTMLElement"] = htmlHRElementToHTMLElement; exports["htmlHeadElementToHTMLElement"] = htmlHeadElementToHTMLElement; exports["htmlHeadingElementToHTMLElement"] = htmlHeadingElementToHTMLElement; exports["htmlHtmlElementToHTMLElement"] = htmlHtmlElementToHTMLElement; exports["htmlIFrameElementToHTMLElement"] = htmlIFrameElementToHTMLElement; exports["htmlImageElementToHTMLElement"] = htmlImageElementToHTMLElement; exports["htmlInputElementToHTMLElement"] = htmlInputElementToHTMLElement; exports["htmlKeygenElementToHTMLElement"] = htmlKeygenElementToHTMLElement; exports["htmlLIElementToHTMLElement"] = htmlLIElementToHTMLElement; exports["htmlLabelElementToHTMLElement"] = htmlLabelElementToHTMLElement; exports["htmlLegendElementToHTMLElement"] = htmlLegendElementToHTMLElement; exports["htmlLinkElementToHTMLElement"] = htmlLinkElementToHTMLElement; exports["htmlMapElementToHTMLElement"] = htmlMapElementToHTMLElement; exports["htmlMediaElementToHTMLElement"] = htmlMediaElementToHTMLElement; exports["htmlMetaElementToHTMLElement"] = htmlMetaElementToHTMLElement; exports["htmlMeterElementToHTMLElement"] = htmlMeterElementToHTMLElement; exports["htmlModElementToHTMLElement"] = htmlModElementToHTMLElement; exports["htmlOListElementToHTMLElement"] = htmlOListElementToHTMLElement; exports["htmlObjectElementToHTMLElement"] = htmlObjectElementToHTMLElement; exports["htmlOptGroupElementToHTMLElement"] = htmlOptGroupElementToHTMLElement; exports["htmlOptionElementToHTMLElement"] = htmlOptionElementToHTMLElement; exports["htmlOutputElementToHTMLElement"] = htmlOutputElementToHTMLElement; exports["htmlParagraphElementToHTMLElement"] = htmlParagraphElementToHTMLElement; exports["htmlParamElementToHTMLElement"] = htmlParamElementToHTMLElement; exports["htmlPreElementToHTMLElement"] = htmlPreElementToHTMLElement; exports["htmlProgressElementToHTMLElement"] = htmlProgressElementToHTMLElement; exports["htmlQuoteElementToHTMLElement"] = htmlQuoteElementToHTMLElement; exports["htmlScriptElementToHTMLElement"] = htmlScriptElementToHTMLElement; exports["htmlSelectElementToHTMLElement"] = htmlSelectElementToHTMLElement; exports["htmlSourceElementToHTMLElement"] = htmlSourceElementToHTMLElement; exports["htmlSpanElementToHTMLElement"] = htmlSpanElementToHTMLElement; exports["htmlStyleElementToHTMLElement"] = htmlStyleElementToHTMLElement; exports["htmlTableCaptionElementToHTMLElement"] = htmlTableCaptionElementToHTMLElement; exports["htmlTableCellElementToHTMLElement"] = htmlTableCellElementToHTMLElement; exports["htmlTableColElementToHTMLElement"] = htmlTableColElementToHTMLElement; exports["htmlTableDataCellElementToHTMLTableCellElement"] = htmlTableDataCellElementToHTMLTableCellElement; exports["htmlTableElementToHTMLElement"] = htmlTableElementToHTMLElement; exports["htmlTableHeaderCellElementToHTMLTableCellElement"] = htmlTableHeaderCellElementToHTMLTableCellElement; exports["htmlTableRowElementToHTMLElement"] = htmlTableRowElementToHTMLElement; exports["htmlTableSectionElementToHTMLElement"] = htmlTableSectionElementToHTMLElement; exports["htmlTemplateElementToHTMLElement"] = htmlTemplateElementToHTMLElement; exports["htmlTextAreaElementToHTMLElement"] = htmlTextAreaElementToHTMLElement; exports["htmlTimeElementToHTMLElement"] = htmlTimeElementToHTMLElement; exports["htmlTitleElementToHTMLElement"] = htmlTitleElementToHTMLElement; exports["htmlTrackElementToHTMLElement"] = htmlTrackElementToHTMLElement; exports["htmlUListElementToHTMLElement"] = htmlUListElementToHTMLElement; exports["htmlVideoElementToHTMLMediaElement"] = htmlVideoElementToHTMLMediaElement; exports["readHTMLAnchorElement"] = readHTMLAnchorElement; exports["readHTMLAreaElement"] = readHTMLAreaElement; exports["readHTMLAudioElement"] = readHTMLAudioElement; exports["readHTMLBRElement"] = readHTMLBRElement; exports["readHTMLBaseElement"] = readHTMLBaseElement; exports["readHTMLBodyElement"] = readHTMLBodyElement; exports["readHTMLButtonElement"] = readHTMLButtonElement; exports["readHTMLCanvasElement"] = readHTMLCanvasElement; exports["readHTMLDListElement"] = readHTMLDListElement; exports["readHTMLDataElement"] = readHTMLDataElement; exports["readHTMLDataListElement"] = readHTMLDataListElement; exports["readHTMLDivElement"] = readHTMLDivElement; exports["readHTMLDocument"] = readHTMLDocument; exports["readHTMLElement"] = readHTMLElement; exports["readHTMLEmbedElement"] = readHTMLEmbedElement; exports["readHTMLFieldSetElement"] = readHTMLFieldSetElement; exports["readHTMLFormElement"] = readHTMLFormElement; exports["readHTMLHRElement"] = readHTMLHRElement; exports["readHTMLHeadElement"] = readHTMLHeadElement; exports["readHTMLHeadingElement"] = readHTMLHeadingElement; exports["readHTMLHtmlElement"] = readHTMLHtmlElement; exports["readHTMLIFrameElement"] = readHTMLIFrameElement; exports["readHTMLImageElement"] = readHTMLImageElement; exports["readHTMLInputElement"] = readHTMLInputElement; exports["readHTMLKeygenElement"] = readHTMLKeygenElement; exports["readHTMLLIElement"] = readHTMLLIElement; exports["readHTMLLabelElement"] = readHTMLLabelElement; exports["readHTMLLegendElement"] = readHTMLLegendElement; exports["readHTMLLinkElement"] = readHTMLLinkElement; exports["readHTMLMapElement"] = readHTMLMapElement; exports["readHTMLMediaElement"] = readHTMLMediaElement; exports["readHTMLMetaElement"] = readHTMLMetaElement; exports["readHTMLMeterElement"] = readHTMLMeterElement; exports["readHTMLModElement"] = readHTMLModElement; exports["readHTMLOListElement"] = readHTMLOListElement; exports["readHTMLObjectElement"] = readHTMLObjectElement; exports["readHTMLOptGroupElement"] = readHTMLOptGroupElement; exports["readHTMLOptionElement"] = readHTMLOptionElement; exports["readHTMLOutputElement"] = readHTMLOutputElement; exports["readHTMLParagraphElement"] = readHTMLParagraphElement; exports["readHTMLParamElement"] = readHTMLParamElement; exports["readHTMLPreElement"] = readHTMLPreElement; exports["readHTMLProgressElement"] = readHTMLProgressElement; exports["readHTMLQuoteElement"] = readHTMLQuoteElement; exports["readHTMLScriptElement"] = readHTMLScriptElement; exports["readHTMLSelectElement"] = readHTMLSelectElement; exports["readHTMLSourceElement"] = readHTMLSourceElement; exports["readHTMLSpanElement"] = readHTMLSpanElement; exports["readHTMLStyleElement"] = readHTMLStyleElement; exports["readHTMLTableCaptionElement"] = readHTMLTableCaptionElement; exports["readHTMLTableCellElement"] = readHTMLTableCellElement; exports["readHTMLTableColElement"] = readHTMLTableColElement; exports["readHTMLTableDataCellElement"] = readHTMLTableDataCellElement; exports["readHTMLTableElement"] = readHTMLTableElement; exports["readHTMLTableHeaderCellElement"] = readHTMLTableHeaderCellElement; exports["readHTMLTableRowElement"] = readHTMLTableRowElement; exports["readHTMLTableSectionElement"] = readHTMLTableSectionElement; exports["readHTMLTemplateElement"] = readHTMLTemplateElement; exports["readHTMLTextAreaElement"] = readHTMLTextAreaElement; exports["readHTMLTimeElement"] = readHTMLTimeElement; exports["readHTMLTitleElement"] = readHTMLTitleElement; exports["readHTMLTrackElement"] = readHTMLTrackElement; exports["readHTMLUListElement"] = readHTMLUListElement; exports["readHTMLVideoElement"] = readHTMLVideoElement; exports["windowToEventTarget"] = windowToEventTarget; })(PS["DOM.HTML.Types"] = PS["DOM.HTML.Types"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; exports["window"] = $foreign.window; })(PS["DOM.HTML"] = PS["DOM.HTML"] || {}); (function(exports) { "use strict"; exports._body = function (doc) { return function () { return doc.body; }; }; })(PS["DOM.HTML.Document"] = PS["DOM.HTML.Document"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.Document"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var body = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._body($0)); }; exports["body"] = body; })(PS["DOM.HTML.Document"] = PS["DOM.HTML.Document"] || {}); (function(exports) { "use strict"; exports.dataTransfer = function (e) { return e.dataTransfer; }; })(PS["DOM.HTML.Event.DragEvent"] = PS["DOM.HTML.Event.DragEvent"] || {}); (function(exports) { "use strict"; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var readHashChangeEvent = Data_Foreign.unsafeReadTagged("HashChangeEvent"); var readErrorEvent = Data_Foreign.unsafeReadTagged("ErrorEvent"); var readDragEvent = Data_Foreign.unsafeReadTagged("DragEvent"); var hashChangeEventToEvent = Unsafe_Coerce.unsafeCoerce; var errorEventToEvent = Unsafe_Coerce.unsafeCoerce; var dragEventToEvent = Unsafe_Coerce.unsafeCoerce; exports["dragEventToEvent"] = dragEventToEvent; exports["errorEventToEvent"] = errorEventToEvent; exports["hashChangeEventToEvent"] = hashChangeEventToEvent; exports["readDragEvent"] = readDragEvent; exports["readErrorEvent"] = readErrorEvent; exports["readHashChangeEvent"] = readHashChangeEvent; })(PS["DOM.HTML.Event.Types"] = PS["DOM.HTML.Event.Types"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.Event.DragEvent"]; var DOM_HTML_Event_DataTransfer = PS["DOM.HTML.Event.DataTransfer"]; var DOM_HTML_Event_Types = PS["DOM.HTML.Event.Types"]; exports["dataTransfer"] = $foreign.dataTransfer; })(PS["DOM.HTML.Event.DragEvent"] = PS["DOM.HTML.Event.DragEvent"] || {}); (function(exports) { "use strict"; exports.message = function (e) { return e.message; }; exports.fileName = function (e) { return e.filename; }; exports.lineNo = function (e) { return e.lineno; }; exports.colNo = function (e) { return e.colno; }; })(PS["DOM.HTML.Event.ErrorEvent"] = PS["DOM.HTML.Event.ErrorEvent"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.Event.ErrorEvent"]; var DOM_HTML_Event_Types = PS["DOM.HTML.Event.Types"]; exports["colNo"] = $foreign.colNo; exports["fileName"] = $foreign.fileName; exports["lineNo"] = $foreign.lineNo; exports["message"] = $foreign.message; })(PS["DOM.HTML.Event.ErrorEvent"] = PS["DOM.HTML.Event.ErrorEvent"] || {}); (function(exports) { "use strict"; var DOM_Event_Types = PS["DOM.Event.Types"]; var wheel = "wheel"; var visibilitychange = "visibilitychange"; var unload = "unload"; var transitionend = "transitionend"; var touchstart = "touchstart"; var touchmove = "touchmove"; var touchleave = "touchleave"; var touchenter = "touchenter"; var touchend = "touchend"; var touchcancel = "touchcancel"; var timeupdate = "timeupdate"; var timeout = "timeout"; var suspend = "suspend"; var submit = "submit"; var stalled = "stalled"; var show = "show"; var select = "select"; var seeking = "seeking"; var seeked = "seeked"; var scroll = "scroll"; var resize = "resize"; var reset = "reset"; var readystatechange = "readystatechange"; var ratechange = "ratechange"; var progress = "progress"; var popstate = "popstate"; var playing = "playing"; var play = "play"; var pause = "pause"; var paste = "paste"; var pageshow = "pageshow"; var pagehide = "pagehide"; var open = "open"; var mouseup = "mouseup"; var mouseover = "mouseover"; var mouseout = "mouseout"; var mousemove = "mousemove"; var mouseleave = "mouseleave"; var mouseenter = "mouseenter"; var mousedown = "mousedown"; var message = "message"; var loadstart = "loadstart"; var loadend = "loadend"; var loadedmetadata = "loadedmetadata"; var loadeddata = "loadeddata"; var load = "load"; var keyup = "keyup"; var keypress = "keypress"; var keydown = "keydown"; var invalid = "invalid"; var input = "input"; var hashchange = "hashchange"; var focusout = "focusout"; var focusin = "focusin"; var focus = "focus"; var error = "error"; var drop = "drop"; var dragstart = "dragstart"; var dragover = "dragover"; var dragleave = "dragleave"; var dragexit = "dragexit"; var dragenter = "dragenter"; var dragend = "dragend"; var drag = "drag"; var dblclick = "dblclick"; var cut = "cut"; var copy = "copy"; var contextmenu = "contextmenu"; var compositionupdate = "compositionupdate"; var compositionstart = "compositionstart"; var compositionend = "compositionend"; var complete = "complete"; var click = "click"; var change = "change"; var blur = "blur"; var beforeunload = "beforeunload"; var animationstart = "animationstart"; var animationiteration = "animationiteration"; var animationend = "animationend"; var abort = "abort"; exports["abort"] = abort; exports["animationend"] = animationend; exports["animationiteration"] = animationiteration; exports["animationstart"] = animationstart; exports["beforeunload"] = beforeunload; exports["blur"] = blur; exports["change"] = change; exports["click"] = click; exports["complete"] = complete; exports["compositionend"] = compositionend; exports["compositionstart"] = compositionstart; exports["compositionupdate"] = compositionupdate; exports["contextmenu"] = contextmenu; exports["copy"] = copy; exports["cut"] = cut; exports["dblclick"] = dblclick; exports["drag"] = drag; exports["dragend"] = dragend; exports["dragenter"] = dragenter; exports["dragexit"] = dragexit; exports["dragleave"] = dragleave; exports["dragover"] = dragover; exports["dragstart"] = dragstart; exports["drop"] = drop; exports["error"] = error; exports["focus"] = focus; exports["focusin"] = focusin; exports["focusout"] = focusout; exports["hashchange"] = hashchange; exports["input"] = input; exports["invalid"] = invalid; exports["keydown"] = keydown; exports["keypress"] = keypress; exports["keyup"] = keyup; exports["load"] = load; exports["loadeddata"] = loadeddata; exports["loadedmetadata"] = loadedmetadata; exports["loadend"] = loadend; exports["loadstart"] = loadstart; exports["message"] = message; exports["mousedown"] = mousedown; exports["mouseenter"] = mouseenter; exports["mouseleave"] = mouseleave; exports["mousemove"] = mousemove; exports["mouseout"] = mouseout; exports["mouseover"] = mouseover; exports["mouseup"] = mouseup; exports["open"] = open; exports["pagehide"] = pagehide; exports["pageshow"] = pageshow; exports["paste"] = paste; exports["pause"] = pause; exports["play"] = play; exports["playing"] = playing; exports["popstate"] = popstate; exports["progress"] = progress; exports["ratechange"] = ratechange; exports["readystatechange"] = readystatechange; exports["reset"] = reset; exports["resize"] = resize; exports["scroll"] = scroll; exports["seeked"] = seeked; exports["seeking"] = seeking; exports["select"] = select; exports["show"] = show; exports["stalled"] = stalled; exports["submit"] = submit; exports["suspend"] = suspend; exports["timeout"] = timeout; exports["timeupdate"] = timeupdate; exports["touchcancel"] = touchcancel; exports["touchend"] = touchend; exports["touchenter"] = touchenter; exports["touchleave"] = touchleave; exports["touchmove"] = touchmove; exports["touchstart"] = touchstart; exports["transitionend"] = transitionend; exports["unload"] = unload; exports["visibilitychange"] = visibilitychange; exports["wheel"] = wheel; })(PS["DOM.HTML.Event.EventTypes"] = PS["DOM.HTML.Event.EventTypes"] || {}); (function(exports) { "use strict"; exports.oldURL = function (e) { return e.oldURL; }; exports.newURL = function (e) { return e.newURL; }; })(PS["DOM.HTML.Event.HashChangeEvent"] = PS["DOM.HTML.Event.HashChangeEvent"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.Event.HashChangeEvent"]; var DOM_HTML_Event_Types = PS["DOM.HTML.Event.Types"]; exports["newURL"] = $foreign.newURL; exports["oldURL"] = $foreign.oldURL; })(PS["DOM.HTML.Event.HashChangeEvent"] = PS["DOM.HTML.Event.HashChangeEvent"] || {}); (function(exports) { "use strict"; exports.target = function (a) { return function () { return a.target; }; }; exports.setTarget = function (target) { return function (a) { return function () { a.target = target; }; }; }; // ---------------------------------------------------------------------------- exports.download = function (a) { return function () { return a.download; }; }; exports.setDownload = function (download) { return function (a) { return function () { a.download = download; }; }; }; // ---------------------------------------------------------------------------- exports.rel = function (a) { return function () { return a.rel; }; }; exports.setRel = function (rel) { return function (a) { return function () { a.rel = rel; }; }; }; // ---------------------------------------------------------------------------- exports.rev = function (a) { return function () { return a.rev; }; }; exports.setRev = function (rev) { return function (a) { return function () { a.rev = rev; }; }; }; // ---------------------------------------------------------------------------- exports.relList = function (a) { return function () { return a.relList; }; }; // ---------------------------------------------------------------------------- exports.hreflang = function (a) { return function () { return a.hreflang; }; }; exports.setHreflang = function (hreflang) { return function (a) { return function () { a.hreflang = hreflang; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (a) { return function () { return a.type; }; }; exports.setType = function (type) { return function (a) { return function () { a.type = type; }; }; }; // ---------------------------------------------------------------------------- exports.text = function (a) { return function () { return a.text; }; }; exports.setText = function (text) { return function (a) { return function () { a.text = text; }; }; }; })(PS["DOM.HTML.HTMLAnchorElement"] = PS["DOM.HTML.HTMLAnchorElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLAnchorElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Prelude = PS["Prelude"]; exports["download"] = $foreign.download; exports["hreflang"] = $foreign.hreflang; exports["rel"] = $foreign.rel; exports["relList"] = $foreign.relList; exports["rev"] = $foreign.rev; exports["setDownload"] = $foreign.setDownload; exports["setHreflang"] = $foreign.setHreflang; exports["setRel"] = $foreign.setRel; exports["setRev"] = $foreign.setRev; exports["setTarget"] = $foreign.setTarget; exports["setText"] = $foreign.setText; exports["setType"] = $foreign.setType; exports["target"] = $foreign.target; exports["text"] = $foreign.text; exports["type_"] = $foreign.type_; })(PS["DOM.HTML.HTMLAnchorElement"] = PS["DOM.HTML.HTMLAnchorElement"] || {}); (function(exports) { "use strict"; exports.alt = function (area) { return function () { return area.alt; }; }; exports.setAlt = function (alt) { return function (area) { return function () { area.alt = alt; }; }; }; // ---------------------------------------------------------------------------- exports.coords = function (area) { return function () { return area.coords; }; }; exports.setCoords = function (coords) { return function (area) { return function () { area.coords = coords; }; }; }; // ---------------------------------------------------------------------------- exports.shape = function (area) { return function () { return area.shape; }; }; exports.setShape = function (shape) { return function (area) { return function () { area.shape = shape; }; }; }; // ---------------------------------------------------------------------------- exports.target = function (area) { return function () { return area.target; }; }; exports.setTarget = function (target) { return function (area) { return function () { area.target = target; }; }; }; // ---------------------------------------------------------------------------- exports.download = function (area) { return function () { return area.download; }; }; exports.setDownload = function (download) { return function (area) { return function () { area.download = download; }; }; }; // ---------------------------------------------------------------------------- exports.rel = function (area) { return function () { return area.rel; }; }; exports.setRel = function (rel) { return function (area) { return function () { area.rel = rel; }; }; }; // ---------------------------------------------------------------------------- exports.relList = function (area) { return function () { return area.relList; }; }; // ---------------------------------------------------------------------------- exports.hreflang = function (area) { return function () { return area.hreflang; }; }; exports.setHreflang = function (hreflang) { return function (area) { return function () { area.hreflang = hreflang; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (area) { return function () { return area.type; }; }; exports.setType = function (type) { return function (area) { return function () { area.type = type; }; }; }; })(PS["DOM.HTML.HTMLAreaElement"] = PS["DOM.HTML.HTMLAreaElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLAreaElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Prelude = PS["Prelude"]; exports["alt"] = $foreign.alt; exports["coords"] = $foreign.coords; exports["download"] = $foreign.download; exports["hreflang"] = $foreign.hreflang; exports["rel"] = $foreign.rel; exports["relList"] = $foreign.relList; exports["setAlt"] = $foreign.setAlt; exports["setCoords"] = $foreign.setCoords; exports["setDownload"] = $foreign.setDownload; exports["setHreflang"] = $foreign.setHreflang; exports["setRel"] = $foreign.setRel; exports["setShape"] = $foreign.setShape; exports["setTarget"] = $foreign.setTarget; exports["setType"] = $foreign.setType; exports["shape"] = $foreign.shape; exports["target"] = $foreign.target; exports["type_"] = $foreign.type_; })(PS["DOM.HTML.HTMLAreaElement"] = PS["DOM.HTML.HTMLAreaElement"] || {}); (function(exports) { "use strict"; exports.href = function (base) { return function () { return base.href; }; }; exports.setHref = function (href) { return function (base) { return function () { base.href = href; }; }; }; // ---------------------------------------------------------------------------- exports.target = function (base) { return function () { return base.target; }; }; exports.setTarget = function (target) { return function (base) { return function () { base.target = target; }; }; }; })(PS["DOM.HTML.HTMLBaseElement"] = PS["DOM.HTML.HTMLBaseElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLBaseElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["href"] = $foreign.href; exports["setHref"] = $foreign.setHref; exports["setTarget"] = $foreign.setTarget; exports["target"] = $foreign.target; })(PS["DOM.HTML.HTMLBaseElement"] = PS["DOM.HTML.HTMLBaseElement"] || {}); (function(exports) { "use strict"; exports.autofocus = function (button) { return function () { return button.autofocus; }; }; exports.setAutofocus = function (autofocus) { return function (button) { return function () { button.autofocus = autofocus; }; }; }; // ---------------------------------------------------------------------------- exports.disabled = function (button) { return function () { return button.disabled; }; }; exports.setDisabled = function (disabled) { return function (button) { return function () { button.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports._form = function (button) { return function () { return button.form; }; }; // ---------------------------------------------------------------------------- exports.formAction = function (button) { return function () { return button.formAction; }; }; exports.setFormAction = function (formAction) { return function (button) { return function () { button.formAction = formAction; }; }; }; // ---------------------------------------------------------------------------- exports.formEnctype = function (button) { return function () { return button.formEnctype; }; }; exports.setFormEnctype = function (formEnctype) { return function (button) { return function () { button.formEnctype = formEnctype; }; }; }; // ---------------------------------------------------------------------------- exports.formMethod = function (button) { return function () { return button.formMethod; }; }; exports.setFormMethod = function (formMethod) { return function (button) { return function () { button.formMethod = formMethod; }; }; }; // ---------------------------------------------------------------------------- exports.formNoValidate = function (button) { return function () { return button.formNoValidate; }; }; exports.setFormNoValidate = function (formNoValidate) { return function (button) { return function () { button.formNoValidate = formNoValidate; }; }; }; // ---------------------------------------------------------------------------- exports.formTarget = function (button) { return function () { return button.formTarget; }; }; exports.setFormTarget = function (formTarget) { return function (button) { return function () { button.formTarget = formTarget; }; }; }; // ---------------------------------------------------------------------------- exports.name = function (button) { return function () { return button.name; }; }; exports.setName = function (name) { return function (button) { return function () { button.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (button) { return function () { return button.type; }; }; exports.setType = function (type) { return function (button) { return function () { button.type = type; }; }; }; // ---------------------------------------------------------------------------- exports.value = function (button) { return function () { return button.value; }; }; exports.setValue = function (value) { return function (button) { return function () { button.value = value; }; }; }; // ---------------------------------------------------------------------------- exports.willValidate = function (button) { return function () { return button.willValidate; }; }; // ---------------------------------------------------------------------------- exports.validity = function (button) { return function () { return button.validity; }; }; // ---------------------------------------------------------------------------- exports.validationMessage = function (button) { return function () { return button.validationMessage; }; }; // ---------------------------------------------------------------------------- exports.checkValidity = function (button) { return function () { return button.checkValidity; }; }; // ---------------------------------------------------------------------------- exports.setCustomValidity = function (value) { return function (button) { return function () { button.setCustomValidity(value); }; }; }; // ---------------------------------------------------------------------------- exports.labels = function (button) { return function () { return button.labels; }; }; })(PS["DOM.HTML.HTMLButtonElement"] = PS["DOM.HTML.HTMLButtonElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLButtonElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; exports["form"] = form; exports["autofocus"] = $foreign.autofocus; exports["checkValidity"] = $foreign.checkValidity; exports["disabled"] = $foreign.disabled; exports["formAction"] = $foreign.formAction; exports["formEnctype"] = $foreign.formEnctype; exports["formMethod"] = $foreign.formMethod; exports["formNoValidate"] = $foreign.formNoValidate; exports["formTarget"] = $foreign.formTarget; exports["labels"] = $foreign.labels; exports["name"] = $foreign.name; exports["setAutofocus"] = $foreign.setAutofocus; exports["setCustomValidity"] = $foreign.setCustomValidity; exports["setDisabled"] = $foreign.setDisabled; exports["setFormAction"] = $foreign.setFormAction; exports["setFormEnctype"] = $foreign.setFormEnctype; exports["setFormMethod"] = $foreign.setFormMethod; exports["setFormNoValidate"] = $foreign.setFormNoValidate; exports["setFormTarget"] = $foreign.setFormTarget; exports["setName"] = $foreign.setName; exports["setType"] = $foreign.setType; exports["setValue"] = $foreign.setValue; exports["type_"] = $foreign.type_; exports["validationMessage"] = $foreign.validationMessage; exports["validity"] = $foreign.validity; exports["value"] = $foreign.value; exports["willValidate"] = $foreign.willValidate; })(PS["DOM.HTML.HTMLButtonElement"] = PS["DOM.HTML.HTMLButtonElement"] || {}); (function(exports) { "use strict"; exports.width = function (canvas) { return function () { return canvas.width; }; }; exports.setWidth = function (width) { return function (canvas) { return function () { canvas.width = width; }; }; }; // ---------------------------------------------------------------------------- exports.height = function (canvas) { return function () { return canvas.height; }; }; exports.setHeight = function (height) { return function (canvas) { return function () { canvas.height = height; }; }; }; })(PS["DOM.HTML.HTMLCanvasElement"] = PS["DOM.HTML.HTMLCanvasElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLCanvasElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["height"] = $foreign.height; exports["setHeight"] = $foreign.setHeight; exports["setWidth"] = $foreign.setWidth; exports["width"] = $foreign.width; })(PS["DOM.HTML.HTMLCanvasElement"] = PS["DOM.HTML.HTMLCanvasElement"] || {}); (function(exports) { "use strict"; exports.value = function (data) { return function () { return data.value; }; }; exports.setValue = function (value) { return function (data) { return function () { data.value = value; }; }; }; })(PS["DOM.HTML.HTMLDataElement"] = PS["DOM.HTML.HTMLDataElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLDataElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["setValue"] = $foreign.setValue; exports["value"] = $foreign.value; })(PS["DOM.HTML.HTMLDataElement"] = PS["DOM.HTML.HTMLDataElement"] || {}); (function(exports) { "use strict"; exports.options = function (dle) { return function () { return dle.options; }; }; })(PS["DOM.HTML.HTMLDataListElement"] = PS["DOM.HTML.HTMLDataListElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLDataListElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; exports["options"] = $foreign.options; })(PS["DOM.HTML.HTMLDataListElement"] = PS["DOM.HTML.HTMLDataListElement"] || {}); (function(exports) { "use strict"; // ---------------------------------------------------------------------------- exports.title = function (elt) { return function () { return elt.title; }; }; exports.setTitle = function (title) { return function (elt) { return function () { elt.title = title; return {}; }; }; }; // ---------------------------------------------------------------------------- exports.lang = function (elt) { return function () { return elt.lang; }; }; exports.setLang = function (lang) { return function (elt) { return function () { elt.lang = lang; return {}; }; }; }; // ---------------------------------------------------------------------------- exports.dir = function (elt) { return function () { return elt.dir; }; }; exports.setDir = function (dir) { return function (elt) { return function () { elt.dir = dir; return {}; }; }; }; // ---------------------------------------------------------------------------- exports.className = function (elt) { return function () { return elt.className; }; }; exports.setClassName = function (className) { return function (elt) { return function () { elt.className = className; return {}; }; }; }; exports.classList = function (element) { return function () { return element.classList; }; }; // ---------------------------------------------------------------------------- exports.hidden = function (elt) { return function () { return elt.hidden; }; }; exports.setHidden = function (hidden) { return function (elt) { return function () { elt.hidden = hidden; return {}; }; }; }; // ---------------------------------------------------------------------------- exports.click = function (elt) { return function () { return elt.click(); }; }; // ---------------------------------------------------------------------------- exports.tabIndex = function (elt) { return function () { return elt.tabIndex; }; }; exports.setTabIndex = function (tabIndex) { return function (elt) { return function () { elt.tabIndex = tabIndex; return {}; }; }; }; // ---------------------------------------------------------------------------- exports.hidden = function (elt) { return function () { return elt.hidden; }; }; exports.setHidden = function (hidden) { return function (elt) { return function () { elt.hidden = hidden; return {}; }; }; }; // ---------------------------------------------------------------------------- exports.focus = function (elt) { return function () { return elt.focus(); }; }; // ---------------------------------------------------------------------------- exports.blur = function (elt) { return function () { return elt.blur(); }; }; // ---------------------------------------------------------------------------- exports.draggable = function (elt) { return function () { return elt.draggable; }; }; exports.setDraggable = function (draggable) { return function (elt) { return function () { elt.draggable = draggable; return {}; }; }; }; // ---------------------------------------------------------------------------- exports.contentEditable = function (elt) { return function () { return elt.contentEditable; }; }; exports.setContentEditable = function (contentEditable) { return function (elt) { return function () { elt.contentEditable = contentEditable; return {}; }; }; }; exports.isContentEditable = function (elt) { return function () { return elt.isContentEditable; }; }; // ---------------------------------------------------------------------------- exports.spellcheck = function (elt) { return function () { return elt.spellcheck; }; }; exports.setSpellcheck = function (spellcheck) { return function (elt) { return function () { elt.spellcheck = spellcheck; return {}; }; }; }; // - CSSOM --------------------------------------------------------------------- exports.getBoundingClientRect = function (el) { return function () { return el.getBoundingClientRect(); }; }; exports._offsetParent = function (el) { return function () { return el.offsetParent; }; }; exports.offsetTop = function (el) { return function () { return el.offsetTop; }; }; exports.offsetLeft = function (el) { return function () { return el.offsetLeft; }; }; exports.offsetWidth = function (el) { return function () { return el.offsetWidth; }; }; exports.offsetHeight = function (el) { return function () { return el.offsetHeight; }; }; })(PS["DOM.HTML.HTMLElement"] = PS["DOM.HTML.HTMLElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var offsetParent = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._offsetParent($0)); }; exports["offsetParent"] = offsetParent; exports["blur"] = $foreign.blur; exports["classList"] = $foreign.classList; exports["className"] = $foreign.className; exports["click"] = $foreign.click; exports["contentEditable"] = $foreign.contentEditable; exports["dir"] = $foreign.dir; exports["draggable"] = $foreign.draggable; exports["focus"] = $foreign.focus; exports["getBoundingClientRect"] = $foreign.getBoundingClientRect; exports["hidden"] = $foreign.hidden; exports["isContentEditable"] = $foreign.isContentEditable; exports["lang"] = $foreign.lang; exports["offsetHeight"] = $foreign.offsetHeight; exports["offsetLeft"] = $foreign.offsetLeft; exports["offsetTop"] = $foreign.offsetTop; exports["offsetWidth"] = $foreign.offsetWidth; exports["setClassName"] = $foreign.setClassName; exports["setContentEditable"] = $foreign.setContentEditable; exports["setDir"] = $foreign.setDir; exports["setDraggable"] = $foreign.setDraggable; exports["setHidden"] = $foreign.setHidden; exports["setLang"] = $foreign.setLang; exports["setSpellcheck"] = $foreign.setSpellcheck; exports["setTabIndex"] = $foreign.setTabIndex; exports["setTitle"] = $foreign.setTitle; exports["spellcheck"] = $foreign.spellcheck; exports["tabIndex"] = $foreign.tabIndex; exports["title"] = $foreign.title; })(PS["DOM.HTML.HTMLElement"] = PS["DOM.HTML.HTMLElement"] || {}); (function(exports) { "use strict"; exports.src = function (embed) { return function () { return embed.src; }; }; exports.setSrc = function (src) { return function (embed) { return function () { embed.src = src; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (embed) { return function () { return embed.type; }; }; exports.setType = function (type) { return function (embed) { return function () { embed.type = type; }; }; }; // ---------------------------------------------------------------------------- exports.width = function (embed) { return function () { return embed.width; }; }; exports.setWidth = function (width) { return function (embed) { return function () { embed.width = width; }; }; }; // ---------------------------------------------------------------------------- exports.height = function (embed) { return function () { return embed.height; }; }; exports.setHeight = function (height) { return function (embed) { return function () { embed.height = height; }; }; }; })(PS["DOM.HTML.HTMLEmbedElement"] = PS["DOM.HTML.HTMLEmbedElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLEmbedElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["height"] = $foreign.height; exports["setHeight"] = $foreign.setHeight; exports["setSrc"] = $foreign.setSrc; exports["setType"] = $foreign.setType; exports["setWidth"] = $foreign.setWidth; exports["src"] = $foreign.src; exports["type_"] = $foreign.type_; exports["width"] = $foreign.width; })(PS["DOM.HTML.HTMLEmbedElement"] = PS["DOM.HTML.HTMLEmbedElement"] || {}); (function(exports) { "use strict"; exports.disabled = function (fieldset) { return function () { return fieldset.disabled; }; }; exports.setDisabled = function (disabled) { return function (fieldset) { return function () { fieldset.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports._form = function (fieldset) { return function () { return fieldset.form; }; }; // ---------------------------------------------------------------------------- exports.name = function (fieldset) { return function () { return fieldset.name; }; }; exports.setName = function (name) { return function (fieldset) { return function () { fieldset.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (fieldset) { return function () { return fieldset.type; }; }; exports.setType = function (type) { return function (fieldset) { return function () { fieldset.type = type; }; }; }; // ---------------------------------------------------------------------------- exports.willValidate = function (fieldset) { return function () { return fieldset.willValidate; }; }; // ---------------------------------------------------------------------------- exports.validity = function (fieldset) { return function () { return fieldset.validity; }; }; // ---------------------------------------------------------------------------- exports.validationMessage = function (fieldset) { return function () { return fieldset.validationMessage; }; }; // ---------------------------------------------------------------------------- exports.checkValidity = function (fieldset) { return function () { return fieldset.checkValidity; }; }; // ---------------------------------------------------------------------------- exports.setCustomValidity = function (value) { return function (fieldset) { return function () { fieldset.setCustomValidity(value); }; }; }; })(PS["DOM.HTML.HTMLFieldSetElement"] = PS["DOM.HTML.HTMLFieldSetElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLFieldSetElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; exports["form"] = form; exports["checkValidity"] = $foreign.checkValidity; exports["disabled"] = $foreign.disabled; exports["name"] = $foreign.name; exports["setCustomValidity"] = $foreign.setCustomValidity; exports["setDisabled"] = $foreign.setDisabled; exports["setName"] = $foreign.setName; exports["setType"] = $foreign.setType; exports["type_"] = $foreign.type_; exports["validationMessage"] = $foreign.validationMessage; exports["validity"] = $foreign.validity; exports["willValidate"] = $foreign.willValidate; })(PS["DOM.HTML.HTMLFieldSetElement"] = PS["DOM.HTML.HTMLFieldSetElement"] || {}); (function(exports) { "use strict"; exports.acceptCharset = function (form) { return function () { return form.acceptCharset; }; }; exports.setAcceptCharset = function (acceptCharset) { return function (form) { return function () { form.acceptCharset = acceptCharset; }; }; }; // ---------------------------------------------------------------------------- exports.action = function (form) { return function () { return form.action; }; }; exports.setAction = function (action) { return function (form) { return function () { form.action = action; }; }; }; // ---------------------------------------------------------------------------- exports.autocomplete = function (form) { return function () { return form.autocomplete; }; }; exports.setAutocomplete = function (autocomplete) { return function (form) { return function () { form.autocomplete = autocomplete; }; }; }; // ---------------------------------------------------------------------------- exports.enctype = function (form) { return function () { return form.enctype; }; }; exports.setEnctype = function (enctype) { return function (form) { return function () { form.enctype = enctype; }; }; }; // ---------------------------------------------------------------------------- exports.encoding = function (form) { return function () { return form.encoding; }; }; exports.setEncoding = function (encoding) { return function (form) { return function () { form.encoding = encoding; }; }; }; // ---------------------------------------------------------------------------- exports.method = function (form) { return function () { return form.method; }; }; exports.setMethod = function (method) { return function (form) { return function () { form.method = method; }; }; }; // ---------------------------------------------------------------------------- exports.name = function (form) { return function () { return form.name; }; }; exports.setName = function (name) { return function (form) { return function () { form.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.noValidate = function (form) { return function () { return form.noValidate; }; }; exports.setNoValidate = function (noValidate) { return function (form) { return function () { form.noValidate = noValidate; }; }; }; // ---------------------------------------------------------------------------- exports.target = function (form) { return function () { return form.target; }; }; exports.setTarget = function (target) { return function (form) { return function () { form.target = target; }; }; }; // ---------------------------------------------------------------------------- exports.length = function (form) { return function () { return form.length; }; }; // ---------------------------------------------------------------------------- exports.submit = function (form) { return function () { form.submit(); }; }; // ---------------------------------------------------------------------------- exports.reset = function (form) { return function () { form.reset(); }; }; // ---------------------------------------------------------------------------- exports.checkValidity = function (form) { return function () { return form.checkValidity(); }; }; })(PS["DOM.HTML.HTMLFormElement"] = PS["DOM.HTML.HTMLFormElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLFormElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["acceptCharset"] = $foreign.acceptCharset; exports["action"] = $foreign.action; exports["autocomplete"] = $foreign.autocomplete; exports["checkValidity"] = $foreign.checkValidity; exports["encoding"] = $foreign.encoding; exports["enctype"] = $foreign.enctype; exports["length"] = $foreign.length; exports["method"] = $foreign.method; exports["name"] = $foreign.name; exports["noValidate"] = $foreign.noValidate; exports["reset"] = $foreign.reset; exports["setAcceptCharset"] = $foreign.setAcceptCharset; exports["setAction"] = $foreign.setAction; exports["setAutocomplete"] = $foreign.setAutocomplete; exports["setEncoding"] = $foreign.setEncoding; exports["setEnctype"] = $foreign.setEnctype; exports["setMethod"] = $foreign.setMethod; exports["setName"] = $foreign.setName; exports["setNoValidate"] = $foreign.setNoValidate; exports["setTarget"] = $foreign.setTarget; exports["submit"] = $foreign.submit; exports["target"] = $foreign.target; })(PS["DOM.HTML.HTMLFormElement"] = PS["DOM.HTML.HTMLFormElement"] || {}); (function(exports) { "use strict"; exports.src = function (iframe) { return function () { return iframe.src; }; }; exports.setSrc = function (src) { return function (iframe) { return function () { iframe.src = src; }; }; }; // ---------------------------------------------------------------------------- exports.srcdoc = function (iframe) { return function () { return iframe.srcdoc; }; }; exports.setSrcdoc = function (srcdoc) { return function (iframe) { return function () { iframe.srcdoc = srcdoc; }; }; }; // ---------------------------------------------------------------------------- exports.name = function (iframe) { return function () { return iframe.name; }; }; exports.setName = function (name) { return function (iframe) { return function () { iframe.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.width = function (iframe) { return function () { return iframe.width; }; }; exports.setWidth = function (width) { return function (iframe) { return function () { iframe.width = width; }; }; }; // ---------------------------------------------------------------------------- exports.height = function (iframe) { return function () { return iframe.height; }; }; exports.setHeight = function (height) { return function (iframe) { return function () { iframe.height = height; }; }; }; // ---------------------------------------------------------------------------- exports._contentDocument = function (iframe) { return function () { return iframe.contentDocument; }; }; })(PS["DOM.HTML.HTMLIFrameElement"] = PS["DOM.HTML.HTMLIFrameElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLIFrameElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var contentDocument = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._contentDocument($0)); }; exports["contentDocument"] = contentDocument; exports["height"] = $foreign.height; exports["name"] = $foreign.name; exports["setHeight"] = $foreign.setHeight; exports["setName"] = $foreign.setName; exports["setSrc"] = $foreign.setSrc; exports["setSrcdoc"] = $foreign.setSrcdoc; exports["setWidth"] = $foreign.setWidth; exports["src"] = $foreign.src; exports["srcdoc"] = $foreign.srcdoc; exports["width"] = $foreign.width; })(PS["DOM.HTML.HTMLIFrameElement"] = PS["DOM.HTML.HTMLIFrameElement"] || {}); (function(exports) { /* global Image */ "use strict"; exports.create = function () { return function () { return new Image(); }; }; exports["create'"] = function (width) { return function (height) { return function () { return new Image(width, height); }; }; }; // ---------------------------------------------------------------------------- exports.alt = function (image) { return function () { return image.alt; }; }; exports.setAlt = function (alt) { return function (image) { return function () { image.alt = alt; }; }; }; // ---------------------------------------------------------------------------- exports.src = function (image) { return function () { return image.src; }; }; exports.setSrc = function (src) { return function (image) { return function () { image.src = src; }; }; }; // ---------------------------------------------------------------------------- exports.crossOrigin = function (image) { return function () { return image.crossOrigin; }; }; exports.setCrossOrigin = function (crossOrigin) { return function (image) { return function () { image.crossOrigin = crossOrigin; }; }; }; // ---------------------------------------------------------------------------- exports.useMap = function (image) { return function () { return image.useMap; }; }; exports.setUseMap = function (useMap) { return function (image) { return function () { image.useMap = useMap; }; }; }; // ---------------------------------------------------------------------------- exports.isMap = function (image) { return function () { return image.isMap; }; }; exports.setIsMap = function (isMap) { return function (image) { return function () { image.isMap = isMap; }; }; }; // ---------------------------------------------------------------------------- exports.width = function (image) { return function () { return image.width; }; }; exports.setWidth = function (width) { return function (image) { return function () { image.width = width; }; }; }; // ---------------------------------------------------------------------------- exports.height = function (image) { return function () { return image.height; }; }; exports.setHeight = function (height) { return function (image) { return function () { image.height = height; }; }; }; // ---------------------------------------------------------------------------- exports.naturalWidth = function (image) { return function () { return image.naturalWidth; }; }; exports.naturalHeight = function (image) { return function () { return image.naturalHeight; }; }; // ---------------------------------------------------------------------------- exports.complete = function (image) { return function () { return image.complete; }; }; })(PS["DOM.HTML.HTMLImageElement"] = PS["DOM.HTML.HTMLImageElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLImageElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["alt"] = $foreign.alt; exports["complete"] = $foreign.complete; exports["create"] = $foreign.create; exports["create'"] = $foreign["create'"]; exports["crossOrigin"] = $foreign.crossOrigin; exports["height"] = $foreign.height; exports["isMap"] = $foreign.isMap; exports["naturalHeight"] = $foreign.naturalHeight; exports["naturalWidth"] = $foreign.naturalWidth; exports["setAlt"] = $foreign.setAlt; exports["setCrossOrigin"] = $foreign.setCrossOrigin; exports["setHeight"] = $foreign.setHeight; exports["setIsMap"] = $foreign.setIsMap; exports["setSrc"] = $foreign.setSrc; exports["setUseMap"] = $foreign.setUseMap; exports["setWidth"] = $foreign.setWidth; exports["src"] = $foreign.src; exports["useMap"] = $foreign.useMap; exports["width"] = $foreign.width; })(PS["DOM.HTML.HTMLImageElement"] = PS["DOM.HTML.HTMLImageElement"] || {}); (function(exports) { "use strict"; exports.accept = function (input) { return function () { return input.accept; }; }; exports.setAccept = function (accept) { return function (input) { return function () { input.accept = accept; }; }; }; // ---------------------------------------------------------------------------- exports.alt = function (input) { return function () { return input.alt; }; }; exports.setAlt = function (alt) { return function (input) { return function () { input.alt = alt; }; }; }; // ---------------------------------------------------------------------------- exports.autocomplete = function (input) { return function () { return input.autocomplete; }; }; exports.setAutocomplete = function (autocomplete) { return function (input) { return function () { input.autocomplete = autocomplete; }; }; }; // ---------------------------------------------------------------------------- exports.autofocus = function (input) { return function () { return input.autofocus; }; }; exports.setAutofocus = function (autofocus) { return function (input) { return function () { input.autofocus = autofocus; }; }; }; // ---------------------------------------------------------------------------- exports.defaultChecked = function (input) { return function () { return input.defaultChecked; }; }; exports.setDefaultChecked = function (defaultChecked) { return function (input) { return function () { input.defaultChecked = defaultChecked; }; }; }; // ---------------------------------------------------------------------------- exports.checked = function (input) { return function () { return input.checked; }; }; exports.setChecked = function (checked) { return function (input) { return function () { input.checked = checked; }; }; }; // ---------------------------------------------------------------------------- exports.dirName = function (input) { return function () { return input.dirName; }; }; exports.setDirName = function (dirName) { return function (input) { return function () { input.dirName = dirName; }; }; }; // ---------------------------------------------------------------------------- exports.disabled = function (input) { return function () { return input.disabled; }; }; exports.setDisabled = function (disabled) { return function (input) { return function () { input.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports._form = function (input) { return function () { return input.form; }; }; // ---------------------------------------------------------------------------- exports._files = function (input) { return function () { return input.files; }; }; // ---------------------------------------------------------------------------- exports.formAction = function (input) { return function () { return input.formAction; }; }; exports.setFormAction = function (formAction) { return function (input) { return function () { input.formAction = formAction; }; }; }; // ---------------------------------------------------------------------------- exports.formEnctype = function (input) { return function () { return input.formEnctype; }; }; exports.setFormEnctype = function (formEnctype) { return function (input) { return function () { input.formEnctype = formEnctype; }; }; }; // ---------------------------------------------------------------------------- exports.formMethod = function (input) { return function () { return input.formMethod; }; }; exports.setFormMethod = function (formMethod) { return function (input) { return function () { input.formMethod = formMethod; }; }; }; // ---------------------------------------------------------------------------- exports.formNoValidate = function (input) { return function () { return input.formNoValidate; }; }; exports.setFormNoValidate = function (formNoValidate) { return function (input) { return function () { input.formNoValidate = formNoValidate; }; }; }; // ---------------------------------------------------------------------------- exports.formTarget = function (input) { return function () { return input.formTarget; }; }; exports.setFormTarget = function (formTarget) { return function (input) { return function () { input.formTarget = formTarget; }; }; }; // ---------------------------------------------------------------------------- exports.height = function (input) { return function () { return input.height; }; }; exports.setHeight = function (height) { return function (input) { return function () { input.height = height; }; }; }; // ---------------------------------------------------------------------------- exports.indeterminate = function (input) { return function () { return input.indeterminate; }; }; exports.setIndeterminate = function (indeterminate) { return function (input) { return function () { input.indeterminate = indeterminate; }; }; }; // ---------------------------------------------------------------------------- exports._list = function (input) { return function () { return input.list; }; }; // ---------------------------------------------------------------------------- exports.max = function (input) { return function () { return input.max; }; }; exports.setMax = function (max) { return function (input) { return function () { input.max = max; }; }; }; // ---------------------------------------------------------------------------- exports.maxLength = function (input) { return function () { return input.maxLength; }; }; exports.setMaxLength = function (maxLength) { return function (input) { return function () { input.maxLength = maxLength; }; }; }; // ---------------------------------------------------------------------------- exports.min = function (input) { return function () { return input.min; }; }; exports.setMin = function (min) { return function (input) { return function () { input.min = min; }; }; }; // ---------------------------------------------------------------------------- exports.minLength = function (input) { return function () { return input.minLength; }; }; exports.setMinLength = function (minLength) { return function (input) { return function () { input.minLength = minLength; }; }; }; // ---------------------------------------------------------------------------- exports.multiple = function (input) { return function () { return input.multiple; }; }; exports.setMultiple = function (multiple) { return function (input) { return function () { input.multiple = multiple; }; }; }; // ---------------------------------------------------------------------------- exports.name = function (input) { return function () { return input.name; }; }; exports.setName = function (name) { return function (input) { return function () { input.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.pattern = function (input) { return function () { return input.pattern; }; }; exports.setPattern = function (pattern) { return function (input) { return function () { input.pattern = pattern; }; }; }; // ---------------------------------------------------------------------------- exports.placeholder = function (input) { return function () { return input.placeholder; }; }; exports.setPlaceholder = function (placeholder) { return function (input) { return function () { input.placeholder = placeholder; }; }; }; // ---------------------------------------------------------------------------- exports.readOnly = function (input) { return function () { return input.readOnly; }; }; exports.setReadOnly = function (readOnly) { return function (input) { return function () { input.readOnly = readOnly; }; }; }; // ---------------------------------------------------------------------------- exports.required = function (input) { return function () { return input.required; }; }; exports.setRequired = function (required) { return function (input) { return function () { input.required = required; }; }; }; // ---------------------------------------------------------------------------- exports.size = function (input) { return function () { return input.size; }; }; exports.setSize = function (size) { return function (input) { return function () { input.size = size; }; }; }; // ---------------------------------------------------------------------------- exports.src = function (input) { return function () { return input.src; }; }; exports.setSrc = function (src) { return function (input) { return function () { input.src = src; }; }; }; // ---------------------------------------------------------------------------- exports.step = function (input) { return function () { return input.step; }; }; exports.setStep = function (step) { return function (input) { return function () { input.step = step; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (input) { return function () { return input.type; }; }; exports.setType = function (type) { return function (input) { return function () { input.type = type; }; }; }; // ---------------------------------------------------------------------------- exports.defaultValue = function (input) { return function () { return input.defaultValue; }; }; exports.setDefaultValue = function (defaultValue) { return function (input) { return function () { input.defaultValue = defaultValue; }; }; }; // ---------------------------------------------------------------------------- exports.value = function (input) { return function () { return input.value; }; }; exports.setValue = function (value) { return function (input) { return function () { input.value = value; }; }; }; // ---------------------------------------------------------------------------- exports.valueAsDate = function (input) { return function () { return input.valueAsDate; }; }; exports.setValueAsDate = function (valueAsDate) { return function (input) { return function () { input.valueAsDate = valueAsDate; }; }; }; // ---------------------------------------------------------------------------- exports.valueAsNumber = function (input) { return function () { return input.valueAsNumber; }; }; exports.setValueAsNumber = function (valueAsNumber) { return function (input) { return function () { input.valueAsNumber = valueAsNumber; }; }; }; // ---------------------------------------------------------------------------- exports.width = function (input) { return function () { return input.width; }; }; exports.setWidth = function (width) { return function (input) { return function () { input.width = width; }; }; }; // ---------------------------------------------------------------------------- exports["stepUp'"] = function (n) { return function (input) { return function () { input.stepUp(n); }; }; }; // ---------------------------------------------------------------------------- exports["stepDown'"] = function (n) { return function (input) { return function () { input.stepDown(n); }; }; }; // ---------------------------------------------------------------------------- exports.value = function (input) { return function () { return input.value; }; }; exports.setValue = function (value) { return function (input) { return function () { input.value = value; }; }; }; // ---------------------------------------------------------------------------- exports.willValidate = function (input) { return function () { return input.willValidate; }; }; // ---------------------------------------------------------------------------- exports.validity = function (input) { return function () { return input.validity; }; }; // ---------------------------------------------------------------------------- exports.validationMessage = function (input) { return function () { return input.validationMessage; }; }; // ---------------------------------------------------------------------------- exports.checkValidity = function (input) { return function () { return input.checkValidity; }; }; // ---------------------------------------------------------------------------- exports.setCustomValidity = function (value) { return function (input) { return function () { input.setCustomValidity(value); }; }; }; // ---------------------------------------------------------------------------- exports.labels = function (input) { return function () { return input.labels; }; }; // ---------------------------------------------------------------------------- exports.select = function (input) { return function () { input.select(); }; }; // ---------------------------------------------------------------------------- exports.selectionStart = function (input) { return function () { return input.selectionStart; }; }; exports.setSelectionStart = function (selectionStart) { return function (input) { return function () { input.selectionStart = selectionStart; }; }; }; // ---------------------------------------------------------------------------- exports.selectionEnd = function (input) { return function () { return input.selectionEnd; }; }; exports.setSelectionEnd = function (selectionEnd) { return function (input) { return function () { input.selectionEnd = selectionEnd; }; }; }; // ---------------------------------------------------------------------------- exports.selectionDirection = function (input) { return function () { return input.selectionDirection; }; }; exports.setSelectionDirection = function (selectionDirection) { return function (input) { return function () { input.selectionDirection = selectionDirection; }; }; }; // ---------------------------------------------------------------------------- exports.setRangeText = function (replacement) { return function (input) { return function () { input.setRangeText(replacement); }; }; }; exports["setRangeText'"] = function (replacement) { return function (start) { return function (end) { return function (selectionMode) { return function (input) { return function () { input.setRangeText(replacement, start, end, selectionMode, input); }; }; }; }; }; }; // ---------------------------------------------------------------------------- exports.setSelectionRange = function (start) { return function (end) { return function (direction) { return function (input) { return function () { input.setSelectionRange(start, end, direction, input); }; }; }; }; }; })(PS["DOM.HTML.HTMLInputElement"] = PS["DOM.HTML.HTMLInputElement"] || {}); (function(exports) { "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var SelectionMode = function (x) { return x; }; var start = "start"; var showSelectionMode = new Data_Show.Show(function (v) { return "(SelectionMode " + (Data_Show.show(Data_Show.showString)(v) + ")"); }); var select = "select"; var runSelectionMode = function (v) { return v; }; var preserve = "preserve"; var eqSelectionMode = new Data_Eq.Eq(function (v) { return function (v1) { return v === v1; }; }); var ordSelectionMode = new Data_Ord.Ord(function () { return eqSelectionMode; }, function (v) { return function (v1) { return Data_Ord.compare(Data_Ord.ordString)(v)(v1); }; }); var end = "end"; exports["end"] = end; exports["preserve"] = preserve; exports["runSelectionMode"] = runSelectionMode; exports["select"] = select; exports["start"] = start; exports["eqSelectionMode"] = eqSelectionMode; exports["ordSelectionMode"] = ordSelectionMode; exports["showSelectionMode"] = showSelectionMode; })(PS["DOM.HTML.SelectionMode"] = PS["DOM.HTML.SelectionMode"] || {}); (function(exports) { /* global exports */ "use strict"; exports.isValid = function (date) { return !isNaN(date.getTime()); }; exports.toInstantImpl = function (just) { return function (nothing) { return function (date) { var t = date.getTime(); return isNaN(t) ? nothing : just(t); }; }; }; exports.jsdate = function (parts) { var t = Date.UTC(parts.year, parts.month, parts.day, parts.hour, parts.minute, parts.second, parts.millisecond); return new Date(t); }; exports.jsdateLocal = function (parts) { return function () { return new Date(parts.year, parts.month, parts.day, parts.hour, parts.minute, parts.second, parts.millisecond); }; }; exports.dateMethod = function (method, date) { return date[method](); }; exports.dateMethodEff = function (method, date) { return function () { return date[method](); }; }; exports.parse = function (dateString) { return function () { return new Date(dateString); }; }; })(PS["Data.JSDate"] = PS["Data.JSDate"] || {}); (function(exports) { "use strict"; 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; }; exports.canonicalDateImpl = function (ctor, y, m, d) { var date = createDate(y, m - 1, d); return ctor(date.getUTCFullYear())(date.getUTCMonth() + 1)(date.getUTCDate()); }; exports.calcWeekday = function (y, m, d) { return createDate(y, m - 1, d).getUTCDay(); }; exports.calcDiff = function (y1, m1, d1, y2, m2, d2) { var dt1 = createDate(y1, m1 - 1, d1); var dt2 = createDate(y2, m2 - 1, d2); return dt1.getTime() - dt2.getTime(); }; })(PS["Data.Date"] = PS["Data.Date"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Generic = PS["Data.Generic"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | A year component for a date. // | // | The constructor is private as the `Year` type is bounded to the range // | -271820 to 275759, inclusive. The `toEnum` function can be used to safely // | acquire a year value from an integer. var Year = function (x) { return x; }; // | A type representing the days of the week in the Gregorian calendar. var Monday = (function () { function Monday() { }; Monday.value = new Monday(); return Monday; })(); // | A type representing the days of the week in the Gregorian calendar. var Tuesday = (function () { function Tuesday() { }; Tuesday.value = new Tuesday(); return Tuesday; })(); // | A type representing the days of the week in the Gregorian calendar. var Wednesday = (function () { function Wednesday() { }; Wednesday.value = new Wednesday(); return Wednesday; })(); // | A type representing the days of the week in the Gregorian calendar. var Thursday = (function () { function Thursday() { }; Thursday.value = new Thursday(); return Thursday; })(); // | A type representing the days of the week in the Gregorian calendar. var Friday = (function () { function Friday() { }; Friday.value = new Friday(); return Friday; })(); // | A type representing the days of the week in the Gregorian calendar. var Saturday = (function () { function Saturday() { }; Saturday.value = new Saturday(); return Saturday; })(); // | A type representing the days of the week in the Gregorian calendar. var Sunday = (function () { function Sunday() { }; Sunday.value = new Sunday(); return Sunday; })(); // | A month component for a date in the Gregorian calendar. var January = (function () { function January() { }; January.value = new January(); return January; })(); // | A month component for a date in the Gregorian calendar. var February = (function () { function February() { }; February.value = new February(); return February; })(); // | A month component for a date in the Gregorian calendar. var March = (function () { function March() { }; March.value = new March(); return March; })(); // | A month component for a date in the Gregorian calendar. var April = (function () { function April() { }; April.value = new April(); return April; })(); // | A month component for a date in the Gregorian calendar. var May = (function () { function May() { }; May.value = new May(); return May; })(); // | A month component for a date in the Gregorian calendar. var June = (function () { function June() { }; June.value = new June(); return June; })(); // | A month component for a date in the Gregorian calendar. var July = (function () { function July() { }; July.value = new July(); return July; })(); // | A month component for a date in the Gregorian calendar. var August = (function () { function August() { }; August.value = new August(); return August; })(); // | A month component for a date in the Gregorian calendar. var September = (function () { function September() { }; September.value = new September(); return September; })(); // | A month component for a date in the Gregorian calendar. var October = (function () { function October() { }; October.value = new October(); return October; })(); // | A month component for a date in the Gregorian calendar. var November = (function () { function November() { }; November.value = new November(); return November; })(); // | A month component for a date in the Gregorian calendar. var December = (function () { function December() { }; December.value = new December(); return December; })(); // | A day component for a date. // | // | The constructor is private as the `Day` type is bounded to the range // | 1 to 31, inclusive. The `toEnum` function can be used to safely // | acquire a day value from an integer. var Day = function (x) { return x; }; var showYear = new Data_Show.Show(function (v) { return "(Year " + (Data_Show.show(Data_Show.showInt)(v) + ")"); }); var showWeekday = new Data_Show.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 189, column 1 - line 189, column 37: " + [ v.constructor.name ]); }); var showMonth = new Data_Show.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 104, column 1 - line 104, column 33: " + [ v.constructor.name ]); }); var showDay = new Data_Show.Show(function (v) { return "(Day " + (Data_Show.show(Data_Show.showInt)(v) + ")"); }); var ordYear = Data_Ord.ordInt; var ordDay = Data_Ord.ordInt; var genericYear = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.Year" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Year))(Data_Generic.fromSpine(Data_Generic.genericInt)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Date.Component.Year", [ { sigConstructor: "Data.Date.Component.Year", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericInt)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Date.Component.Year", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericInt)(v); } ]); }); var genericWeekday = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.Monday" && v.value1.length === 0)) { return new Data_Maybe.Just(Monday.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.Tuesday" && v.value1.length === 0)) { return new Data_Maybe.Just(Tuesday.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.Wednesday" && v.value1.length === 0)) { return new Data_Maybe.Just(Wednesday.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.Thursday" && v.value1.length === 0)) { return new Data_Maybe.Just(Thursday.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.Friday" && v.value1.length === 0)) { return new Data_Maybe.Just(Friday.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.Saturday" && v.value1.length === 0)) { return new Data_Maybe.Just(Saturday.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.Sunday" && v.value1.length === 0)) { return new Data_Maybe.Just(Sunday.value); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Date.Component.Weekday", [ { sigConstructor: "Data.Date.Component.Monday", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.Tuesday", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.Wednesday", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.Thursday", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.Friday", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.Saturday", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.Sunday", sigValues: [ ] } ]); }, function (v) { if (v instanceof Monday) { return new Data_Generic.SProd("Data.Date.Component.Monday", [ ]); }; if (v instanceof Tuesday) { return new Data_Generic.SProd("Data.Date.Component.Tuesday", [ ]); }; if (v instanceof Wednesday) { return new Data_Generic.SProd("Data.Date.Component.Wednesday", [ ]); }; if (v instanceof Thursday) { return new Data_Generic.SProd("Data.Date.Component.Thursday", [ ]); }; if (v instanceof Friday) { return new Data_Generic.SProd("Data.Date.Component.Friday", [ ]); }; if (v instanceof Saturday) { return new Data_Generic.SProd("Data.Date.Component.Saturday", [ ]); }; if (v instanceof Sunday) { return new Data_Generic.SProd("Data.Date.Component.Sunday", [ ]); }; throw new Error("Failed pattern match at Data.Date.Component line 159, column 8 - line 159, column 50: " + [ v.constructor.name ]); }); var genericMonth = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.January" && v.value1.length === 0)) { return new Data_Maybe.Just(January.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.February" && v.value1.length === 0)) { return new Data_Maybe.Just(February.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.March" && v.value1.length === 0)) { return new Data_Maybe.Just(March.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.April" && v.value1.length === 0)) { return new Data_Maybe.Just(April.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.May" && v.value1.length === 0)) { return new Data_Maybe.Just(May.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.June" && v.value1.length === 0)) { return new Data_Maybe.Just(June.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.July" && v.value1.length === 0)) { return new Data_Maybe.Just(July.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.August" && v.value1.length === 0)) { return new Data_Maybe.Just(August.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.September" && v.value1.length === 0)) { return new Data_Maybe.Just(September.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.October" && v.value1.length === 0)) { return new Data_Maybe.Just(October.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.November" && v.value1.length === 0)) { return new Data_Maybe.Just(November.value); }; if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.December" && v.value1.length === 0)) { return new Data_Maybe.Just(December.value); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Date.Component.Month", [ { sigConstructor: "Data.Date.Component.January", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.February", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.March", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.April", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.May", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.June", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.July", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.August", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.September", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.October", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.November", sigValues: [ ] }, { sigConstructor: "Data.Date.Component.December", sigValues: [ ] } ]); }, function (v) { if (v instanceof January) { return new Data_Generic.SProd("Data.Date.Component.January", [ ]); }; if (v instanceof February) { return new Data_Generic.SProd("Data.Date.Component.February", [ ]); }; if (v instanceof March) { return new Data_Generic.SProd("Data.Date.Component.March", [ ]); }; if (v instanceof April) { return new Data_Generic.SProd("Data.Date.Component.April", [ ]); }; if (v instanceof May) { return new Data_Generic.SProd("Data.Date.Component.May", [ ]); }; if (v instanceof June) { return new Data_Generic.SProd("Data.Date.Component.June", [ ]); }; if (v instanceof July) { return new Data_Generic.SProd("Data.Date.Component.July", [ ]); }; if (v instanceof August) { return new Data_Generic.SProd("Data.Date.Component.August", [ ]); }; if (v instanceof September) { return new Data_Generic.SProd("Data.Date.Component.September", [ ]); }; if (v instanceof October) { return new Data_Generic.SProd("Data.Date.Component.October", [ ]); }; if (v instanceof November) { return new Data_Generic.SProd("Data.Date.Component.November", [ ]); }; if (v instanceof December) { return new Data_Generic.SProd("Data.Date.Component.December", [ ]); }; throw new Error("Failed pattern match at Data.Date.Component line 64, column 8 - line 64, column 46: " + [ v.constructor.name ]); }); var genericDay = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Component.Day" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Day))(Data_Generic.fromSpine(Data_Generic.genericInt)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Date.Component.Day", [ { sigConstructor: "Data.Date.Component.Day", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericInt)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Date.Component.Day", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericInt)(v); } ]); }); var eqYear = Data_Eq.eqInt; var eqWeekday = new Data_Eq.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 = new Data_Ord.Ord(function () { return eqWeekday; }, function (x) { return function (y) { if (x instanceof Monday && y instanceof Monday) { return Data_Ordering.EQ.value; }; if (x instanceof Monday) { return Data_Ordering.LT.value; }; if (y instanceof Monday) { return Data_Ordering.GT.value; }; if (x instanceof Tuesday && y instanceof Tuesday) { return Data_Ordering.EQ.value; }; if (x instanceof Tuesday) { return Data_Ordering.LT.value; }; if (y instanceof Tuesday) { return Data_Ordering.GT.value; }; if (x instanceof Wednesday && y instanceof Wednesday) { return Data_Ordering.EQ.value; }; if (x instanceof Wednesday) { return Data_Ordering.LT.value; }; if (y instanceof Wednesday) { return Data_Ordering.GT.value; }; if (x instanceof Thursday && y instanceof Thursday) { return Data_Ordering.EQ.value; }; if (x instanceof Thursday) { return Data_Ordering.LT.value; }; if (y instanceof Thursday) { return Data_Ordering.GT.value; }; if (x instanceof Friday && y instanceof Friday) { return Data_Ordering.EQ.value; }; if (x instanceof Friday) { return Data_Ordering.LT.value; }; if (y instanceof Friday) { return Data_Ordering.GT.value; }; if (x instanceof Saturday && y instanceof Saturday) { return Data_Ordering.EQ.value; }; if (x instanceof Saturday) { return Data_Ordering.LT.value; }; if (y instanceof Saturday) { return Data_Ordering.GT.value; }; if (x instanceof Sunday && y instanceof Sunday) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at Data.Date.Component line 158, column 8 - line 158, column 42: " + [ x.constructor.name, y.constructor.name ]); }; }); var eqMonth = new Data_Eq.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 = new Data_Ord.Ord(function () { return eqMonth; }, function (x) { return function (y) { if (x instanceof January && y instanceof January) { return Data_Ordering.EQ.value; }; if (x instanceof January) { return Data_Ordering.LT.value; }; if (y instanceof January) { return Data_Ordering.GT.value; }; if (x instanceof February && y instanceof February) { return Data_Ordering.EQ.value; }; if (x instanceof February) { return Data_Ordering.LT.value; }; if (y instanceof February) { return Data_Ordering.GT.value; }; if (x instanceof March && y instanceof March) { return Data_Ordering.EQ.value; }; if (x instanceof March) { return Data_Ordering.LT.value; }; if (y instanceof March) { return Data_Ordering.GT.value; }; if (x instanceof April && y instanceof April) { return Data_Ordering.EQ.value; }; if (x instanceof April) { return Data_Ordering.LT.value; }; if (y instanceof April) { return Data_Ordering.GT.value; }; if (x instanceof May && y instanceof May) { return Data_Ordering.EQ.value; }; if (x instanceof May) { return Data_Ordering.LT.value; }; if (y instanceof May) { return Data_Ordering.GT.value; }; if (x instanceof June && y instanceof June) { return Data_Ordering.EQ.value; }; if (x instanceof June) { return Data_Ordering.LT.value; }; if (y instanceof June) { return Data_Ordering.GT.value; }; if (x instanceof July && y instanceof July) { return Data_Ordering.EQ.value; }; if (x instanceof July) { return Data_Ordering.LT.value; }; if (y instanceof July) { return Data_Ordering.GT.value; }; if (x instanceof August && y instanceof August) { return Data_Ordering.EQ.value; }; if (x instanceof August) { return Data_Ordering.LT.value; }; if (y instanceof August) { return Data_Ordering.GT.value; }; if (x instanceof September && y instanceof September) { return Data_Ordering.EQ.value; }; if (x instanceof September) { return Data_Ordering.LT.value; }; if (y instanceof September) { return Data_Ordering.GT.value; }; if (x instanceof October && y instanceof October) { return Data_Ordering.EQ.value; }; if (x instanceof October) { return Data_Ordering.LT.value; }; if (y instanceof October) { return Data_Ordering.GT.value; }; if (x instanceof November && y instanceof November) { return Data_Ordering.EQ.value; }; if (x instanceof November) { return Data_Ordering.LT.value; }; if (y instanceof November) { return Data_Ordering.GT.value; }; if (x instanceof December && y instanceof December) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at Data.Date.Component line 63, column 8 - line 63, column 38: " + [ x.constructor.name, y.constructor.name ]); }; }); var eqDay = Data_Eq.eqInt; // Note: these seemingly arbitrary bounds come from relying on JS for date // manipulations, as it only supports date ±100,000,000 days of the Unix epoch. // Using these year values means `Date bottom bottom bottom` is a valid date, // likewise for `top`. var boundedYear = new Data_Bounded.Bounded(function () { return ordYear; }, -271820 | 0, 275759); var boundedWeekday = new Data_Bounded.Bounded(function () { return ordWeekday; }, Monday.value, Sunday.value); var boundedMonth = new Data_Bounded.Bounded(function () { return ordMonth; }, January.value, December.value); var boundedEnumYear = new Data_Enum.BoundedEnum(function () { return boundedYear; }, function () { return enumYear; }, 547580, function (v) { return v; }, function (n) { if (n >= (-271821 | 0) && n <= 275759) { return new Data_Maybe.Just(n); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Date.Component line 37, column 1 - line 37, column 45: " + [ n.constructor.name ]); }); var enumYear = new Data_Enum.Enum(function () { return ordYear; }, function ($110) { return Data_Enum.toEnum(boundedEnumYear)((function (v) { return v - 1 | 0; })(Data_Enum.fromEnum(boundedEnumYear)($110))); }, function ($111) { return Data_Enum.toEnum(boundedEnumYear)((function (v) { return v + 1 | 0; })(Data_Enum.fromEnum(boundedEnumYear)($111))); }); var boundedEnumWeekday = new Data_Enum.BoundedEnum(function () { return boundedWeekday; }, function () { return enumWeekday; }, 7, 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 180, column 14 - line 189, column 1: " + [ v.constructor.name ]); }, function (v) { if (v === 1) { return new Data_Maybe.Just(Monday.value); }; if (v === 2) { return new Data_Maybe.Just(Tuesday.value); }; if (v === 3) { return new Data_Maybe.Just(Wednesday.value); }; if (v === 4) { return new Data_Maybe.Just(Thursday.value); }; if (v === 5) { return new Data_Maybe.Just(Friday.value); }; if (v === 6) { return new Data_Maybe.Just(Saturday.value); }; if (v === 7) { return new Data_Maybe.Just(Sunday.value); }; return Data_Maybe.Nothing.value; }); var enumWeekday = new Data_Enum.Enum(function () { return ordWeekday; }, function ($112) { return Data_Enum.toEnum(boundedEnumWeekday)((function (v) { return v - 1 | 0; })(Data_Enum.fromEnum(boundedEnumWeekday)($112))); }, function ($113) { return Data_Enum.toEnum(boundedEnumWeekday)((function (v) { return v + 1 | 0; })(Data_Enum.fromEnum(boundedEnumWeekday)($113))); }); var boundedEnumMonth = new Data_Enum.BoundedEnum(function () { return boundedMonth; }, function () { return enumMonth; }, 12, 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 90, column 14 - line 104, column 1: " + [ v.constructor.name ]); }, function (v) { if (v === 1) { return new Data_Maybe.Just(January.value); }; if (v === 2) { return new Data_Maybe.Just(February.value); }; if (v === 3) { return new Data_Maybe.Just(March.value); }; if (v === 4) { return new Data_Maybe.Just(April.value); }; if (v === 5) { return new Data_Maybe.Just(May.value); }; if (v === 6) { return new Data_Maybe.Just(June.value); }; if (v === 7) { return new Data_Maybe.Just(July.value); }; if (v === 8) { return new Data_Maybe.Just(August.value); }; if (v === 9) { return new Data_Maybe.Just(September.value); }; if (v === 10) { return new Data_Maybe.Just(October.value); }; if (v === 11) { return new Data_Maybe.Just(November.value); }; if (v === 12) { return new Data_Maybe.Just(December.value); }; return Data_Maybe.Nothing.value; }); var enumMonth = new Data_Enum.Enum(function () { return ordMonth; }, function ($114) { return Data_Enum.toEnum(boundedEnumMonth)((function (v) { return v - 1 | 0; })(Data_Enum.fromEnum(boundedEnumMonth)($114))); }, function ($115) { return Data_Enum.toEnum(boundedEnumMonth)((function (v) { return v + 1 | 0; })(Data_Enum.fromEnum(boundedEnumMonth)($115))); }); var boundedDay = new Data_Bounded.Bounded(function () { return ordDay; }, 1, 31); var boundedEnumDay = new Data_Enum.BoundedEnum(function () { return boundedDay; }, function () { return enumDay; }, 31, function (v) { return v; }, function (n) { if (n >= 1 && n <= 31) { return new Data_Maybe.Just(n); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Date.Component line 137, column 1 - line 137, column 43: " + [ n.constructor.name ]); }); var enumDay = new Data_Enum.Enum(function () { return ordDay; }, function ($116) { return Data_Enum.toEnum(boundedEnumDay)((function (v) { return v - 1 | 0; })(Data_Enum.fromEnum(boundedEnumDay)($116))); }, function ($117) { return Data_Enum.toEnum(boundedEnumDay)((function (v) { return v + 1 | 0; })(Data_Enum.fromEnum(boundedEnumDay)($117))); }); exports["January"] = January; exports["February"] = February; exports["March"] = March; exports["April"] = April; exports["May"] = May; exports["June"] = June; exports["July"] = July; exports["August"] = August; exports["September"] = September; exports["October"] = October; exports["November"] = November; exports["December"] = December; exports["Monday"] = Monday; exports["Tuesday"] = Tuesday; exports["Wednesday"] = Wednesday; exports["Thursday"] = Thursday; exports["Friday"] = Friday; exports["Saturday"] = Saturday; exports["Sunday"] = Sunday; exports["eqYear"] = eqYear; exports["ordYear"] = ordYear; exports["genericYear"] = genericYear; exports["boundedYear"] = boundedYear; exports["enumYear"] = enumYear; exports["boundedEnumYear"] = boundedEnumYear; exports["showYear"] = showYear; exports["eqMonth"] = eqMonth; exports["ordMonth"] = ordMonth; exports["genericMonth"] = genericMonth; exports["boundedMonth"] = boundedMonth; exports["enumMonth"] = enumMonth; exports["boundedEnumMonth"] = boundedEnumMonth; exports["showMonth"] = showMonth; exports["eqDay"] = eqDay; exports["ordDay"] = ordDay; exports["genericDay"] = genericDay; exports["boundedDay"] = boundedDay; exports["enumDay"] = enumDay; exports["boundedEnumDay"] = boundedEnumDay; exports["showDay"] = showDay; exports["eqWeekday"] = eqWeekday; exports["ordWeekday"] = ordWeekday; exports["genericWeekday"] = genericWeekday; exports["boundedWeekday"] = boundedWeekday; exports["enumWeekday"] = enumWeekday; exports["boundedEnumWeekday"] = boundedEnumWeekday; exports["showWeekday"] = showWeekday; })(PS["Data.Date.Component"] = PS["Data.Date.Component"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.Date"]; var Control_Apply = PS["Control.Apply"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Date_Component = PS["Data.Date.Component"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Function = PS["Data.Function"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Generic = PS["Data.Generic"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Time_Duration = PS["Data.Time.Duration"]; var Data_Unit = PS["Data.Unit"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; // | A date value in the Gregorian calendar. var $$Date = (function () { function $$Date(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; $$Date.create = function (value0) { return function (value1) { return function (value2) { return new $$Date(value0, value1, value2); }; }; }; return $$Date; })(); // | The year component of a date value. var year = function (v) { return v.value0; }; // | The weekday for a date value. var weekday = function (v) { var n = $foreign.calcWeekday(v.value0, Data_Enum.fromEnum(Data_Date_Component.boundedEnumMonth)(v.value1), v.value2); var $44 = n === 0; if ($44) { return Data_Maybe.fromJust()(Data_Enum.toEnum(Data_Date_Component.boundedEnumWeekday)(7)); }; return Data_Maybe.fromJust()(Data_Enum.toEnum(Data_Date_Component.boundedEnumWeekday)(n)); }; var showDate = new Data_Show.Show(function (v) { return "(Date " + (Data_Show.show(Data_Date_Component.showYear)(v.value0) + (" " + (Data_Show.show(Data_Date_Component.showMonth)(v.value1) + (" " + (Data_Show.show(Data_Date_Component.showDay)(v.value2) + ")"))))); }); // | The month component of a date value. var month = function (v) { return v.value1; }; // | Is this year a leap year according to the proleptic Gregorian calendar? var isLeapYear = function (y) { var y$prime = Data_Enum.fromEnum(Data_Date_Component.boundedEnumYear)(y); return y$prime % 4 === 0 && (y$prime % 400 === 0 || !(y$prime % 100 === 0)); }; // | Get the final day of a month and year, accounting for leap years var lastDayOfMonth = function (y) { return function (m) { var unsafeDay = function ($98) { return Data_Maybe.fromJust()(Data_Enum.toEnum(Data_Date_Component.boundedEnumDay)($98)); }; if (m instanceof Data_Date_Component.January) { return unsafeDay(31); }; if (m instanceof Data_Date_Component.February) { if (isLeapYear(y)) { return unsafeDay(29); }; if (Data_Boolean.otherwise) { return unsafeDay(28); }; }; if (m instanceof Data_Date_Component.March) { return unsafeDay(31); }; if (m instanceof Data_Date_Component.April) { return unsafeDay(30); }; if (m instanceof Data_Date_Component.May) { return unsafeDay(31); }; if (m instanceof Data_Date_Component.June) { return unsafeDay(30); }; if (m instanceof Data_Date_Component.July) { return unsafeDay(31); }; if (m instanceof Data_Date_Component.August) { return unsafeDay(31); }; if (m instanceof Data_Date_Component.September) { return unsafeDay(30); }; if (m instanceof Data_Date_Component.October) { return unsafeDay(31); }; if (m instanceof Data_Date_Component.November) { return unsafeDay(30); }; if (m instanceof Data_Date_Component.December) { return unsafeDay(31); }; throw new Error("Failed pattern match at Data.Date line 89, column 22 - line 104, column 3: " + [ m.constructor.name ]); }; }; var genericDate = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Date.Date" && v.value1.length === 3)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just($$Date.create))(Data_Generic.fromSpine(Data_Date_Component.genericYear)(v["value1"][0](Data_Unit.unit))))(Data_Generic.fromSpine(Data_Date_Component.genericMonth)(v["value1"][1](Data_Unit.unit))))(Data_Generic.fromSpine(Data_Date_Component.genericDay)(v["value1"][2](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Date.Date", [ { sigConstructor: "Data.Date.Date", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Date_Component.genericYear)(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(Data_Date_Component.genericMonth)(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(Data_Date_Component.genericDay)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Date.Date", [ function ($dollarq) { return Data_Generic.toSpine(Data_Date_Component.genericYear)(v.value0); }, function ($dollarq) { return Data_Generic.toSpine(Data_Date_Component.genericMonth)(v.value1); }, function ($dollarq) { return Data_Generic.toSpine(Data_Date_Component.genericDay)(v.value2); } ]); }); var eqDate = new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(Data_Date_Component.eqYear)(x.value0)(y.value0) && Data_Eq.eq(Data_Date_Component.eqMonth)(x.value1)(y.value1) && Data_Eq.eq(Data_Date_Component.eqDay)(x.value2)(y.value2); }; }); var ordDate = new Data_Ord.Ord(function () { return eqDate; }, function (x) { return function (y) { var v = Data_Ord.compare(Data_Date_Component.ordYear)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; var v1 = Data_Ord.compare(Data_Date_Component.ordMonth)(x.value1)(y.value1); if (v1 instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v1 instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(Data_Date_Component.ordDay)(x.value2)(y.value2); }; }); // | Calculates the difference between two dates, returning the result as a // | duration. var diff = function (dictDuration) { return function (v) { return function (v1) { return Data_Time_Duration.toDuration(dictDuration)($foreign.calcDiff(v.value0, Data_Enum.fromEnum(Data_Date_Component.boundedEnumMonth)(v.value1), v.value2, v1.value0, Data_Enum.fromEnum(Data_Date_Component.boundedEnumMonth)(v1.value1), v1.value2)); }; }; }; // | The day component of a date value. var day = function (v) { return v.value2; }; // | Constructs a date from year, month, and day components. The resulting date // | components may not be identical to the input values, as the date will be // | canonicalised according to the Gregorian calendar. For example, date // | values for the invalid date 2016-02-31 will be corrected to 2016-03-02. 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, Data_Maybe.fromJust()(Data_Enum.toEnum(Data_Date_Component.boundedEnumMonth)(m$prime)), d$prime); }; }; }; return $foreign.canonicalDateImpl(mkDate, y, Data_Enum.fromEnum(Data_Date_Component.boundedEnumMonth)(m), d); }; }; }; // | Constructs a date from year, month, and day components. The result will be // | `Nothing` if the provided values result in an invalid date. var exactDate = function (y) { return function (m) { return function (d) { var dt = new $$Date(y, m, d); var $97 = Data_Eq.eq(eqDate)(canonicalDate(y)(m)(d))(dt); if ($97) { return new Data_Maybe.Just(dt); }; return Data_Maybe.Nothing.value; }; }; }; var boundedDate = new Data_Bounded.Bounded(function () { return ordDate; }, new $$Date(Data_Bounded.bottom(Data_Date_Component.boundedYear), Data_Bounded.bottom(Data_Date_Component.boundedMonth), Data_Bounded.bottom(Data_Date_Component.boundedDay)), new $$Date(Data_Bounded.top(Data_Date_Component.boundedYear), Data_Bounded.top(Data_Date_Component.boundedMonth), Data_Bounded.top(Data_Date_Component.boundedDay))); exports["canonicalDate"] = canonicalDate; exports["day"] = day; exports["diff"] = diff; exports["exactDate"] = exactDate; exports["isLeapYear"] = isLeapYear; exports["lastDayOfMonth"] = lastDayOfMonth; exports["month"] = month; exports["weekday"] = weekday; exports["year"] = year; exports["eqDate"] = eqDate; exports["ordDate"] = ordDate; exports["genericDate"] = genericDate; exports["boundedDate"] = boundedDate; exports["showDate"] = showDate; })(PS["Data.Date"] = PS["Data.Date"] || {}); (function(exports) { "use strict"; var createUTC = function (y, mo, d, h, m, s, ms) { var date = new Date(Date.UTC(y, mo, d, h, m, s, ms)); if (y >= 0 && y < 100) { date.setUTCFullYear(y); } return date.getTime(); }; exports.calcDiff = function (rec1, rec2) { var msUTC1 = createUTC(rec1.year, rec1.month - 1, rec1.day, rec1.hour, rec1.minute, rec1.second, rec1.millisecond); var msUTC2 = createUTC(rec2.year, rec2.month - 1, rec2.day, rec2.hour, rec2.minute, rec2.second, rec2.millisecond); return msUTC1 - msUTC2; }; exports.adjustImpl = function (just) { return function (nothing) { return function (offset) { return function (rec) { var msUTC = createUTC(rec.year, rec.month - 1, rec.day, rec.hour, rec.minute, rec.second, rec.millisecond); var dt = new Date(msUTC + offset); return isNaN(dt.getTime()) ? nothing : just({ year: dt.getUTCFullYear(), month: dt.getUTCMonth() + 1, day: dt.getUTCDate(), hour: dt.getUTCHours(), minute: dt.getUTCMinutes(), second: dt.getUTCSeconds(), millisecond: dt.getUTCMilliseconds() }); }; }; }; }; })(PS["Data.DateTime"] = PS["Data.DateTime"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Generic = PS["Data.Generic"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | An second component for a time value. // | // | The constructor is private as values for the type are restricted to the // | range 0 to 59, inclusive. The `toEnum` function can be used to safely // | acquire an `Second` value from an integer. Correspondingly, a `Second` can // | be lowered to a plain integer with the `fromEnum` function. var Second = function (x) { return x; }; // | An minute component for a time value. // | // | The constructor is private as values for the type are restricted to the // | range 0 to 59, inclusive. The `toEnum` function can be used to safely // | acquire an `Minute` value from an integer. Correspondingly, a `Minute` can // | be lowered to a plain integer with the `fromEnum` function. var Minute = function (x) { return x; }; // | An millisecond component for a time value. // | // | The constructor is private as values for the type are restricted to the // | range 0 to 999, inclusive. The `toEnum` function can be used to safely // | acquire an `Millisecond` value from an integer. Correspondingly, a // | `Millisecond` can be lowered to a plain integer with the `fromEnum` // | function. var Millisecond = function (x) { return x; }; // | An hour component for a time value. // | // | The constructor is private as values for the type are restricted to the // | range 0 to 23, inclusive. The `toEnum` function can be used to safely // | acquire an `Hour` value from an integer. Correspondingly, an `Hour` can be // | lowered to a plain integer with the `fromEnum` function. var Hour = function (x) { return x; }; var showSecond = new Data_Show.Show(function (v) { return "(Second " + (Data_Show.show(Data_Show.showInt)(v) + ")"); }); var showMinute = new Data_Show.Show(function (v) { return "(Minute " + (Data_Show.show(Data_Show.showInt)(v) + ")"); }); var showMillisecond = new Data_Show.Show(function (v) { return "(Millisecond " + (Data_Show.show(Data_Show.showInt)(v) + ")"); }); var showHour = new Data_Show.Show(function (v) { return "(Hour " + (Data_Show.show(Data_Show.showInt)(v) + ")"); }); var ordSecond = Data_Ord.ordInt; var ordMinute = Data_Ord.ordInt; var ordMillisecond = Data_Ord.ordInt; var ordHour = Data_Ord.ordInt; var genericSecond = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Component.Second" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Second))(Data_Generic.fromSpine(Data_Generic.genericInt)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Component.Second", [ { sigConstructor: "Data.Time.Component.Second", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericInt)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Component.Second", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericInt)(v); } ]); }); var genericMinute = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Component.Minute" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Minute))(Data_Generic.fromSpine(Data_Generic.genericInt)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Component.Minute", [ { sigConstructor: "Data.Time.Component.Minute", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericInt)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Component.Minute", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericInt)(v); } ]); }); var genericMillisecond = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Component.Millisecond" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Millisecond))(Data_Generic.fromSpine(Data_Generic.genericInt)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Component.Millisecond", [ { sigConstructor: "Data.Time.Component.Millisecond", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericInt)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Component.Millisecond", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericInt)(v); } ]); }); var genericHour = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Component.Hour" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Hour))(Data_Generic.fromSpine(Data_Generic.genericInt)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Component.Hour", [ { sigConstructor: "Data.Time.Component.Hour", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericInt)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Component.Hour", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericInt)(v); } ]); }); var eqSecond = Data_Eq.eqInt; var eqMinute = Data_Eq.eqInt; var eqMillisecond = Data_Eq.eqInt; var eqHour = Data_Eq.eqInt; var boundedSecond = new Data_Bounded.Bounded(function () { return ordSecond; }, 0, 59); var boundedMinute = new Data_Bounded.Bounded(function () { return ordMinute; }, 0, 59); var boundedMillisecond = new Data_Bounded.Bounded(function () { return ordMillisecond; }, 0, 999); var boundedHour = new Data_Bounded.Bounded(function () { return ordHour; }, 0, 23); var boundedEnumSecond = new Data_Enum.BoundedEnum(function () { return boundedSecond; }, function () { return enumSecond; }, 60, function (v) { return v; }, function (n) { if (n >= 0 && n <= 59) { return new Data_Maybe.Just(n); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Time.Component line 94, column 1 - line 94, column 49: " + [ n.constructor.name ]); }); var enumSecond = new Data_Enum.Enum(function () { return ordSecond; }, function ($64) { return Data_Enum.toEnum(boundedEnumSecond)((function (v) { return v - 1 | 0; })(Data_Enum.fromEnum(boundedEnumSecond)($64))); }, function ($65) { return Data_Enum.toEnum(boundedEnumSecond)((function (v) { return v + 1 | 0; })(Data_Enum.fromEnum(boundedEnumSecond)($65))); }); var boundedEnumMinute = new Data_Enum.BoundedEnum(function () { return boundedMinute; }, function () { return enumMinute; }, 60, function (v) { return v; }, function (n) { if (n >= 0 && n <= 59) { return new Data_Maybe.Just(n); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Time.Component line 64, column 1 - line 64, column 49: " + [ n.constructor.name ]); }); var enumMinute = new Data_Enum.Enum(function () { return ordMinute; }, function ($66) { return Data_Enum.toEnum(boundedEnumMinute)((function (v) { return v - 1 | 0; })(Data_Enum.fromEnum(boundedEnumMinute)($66))); }, function ($67) { return Data_Enum.toEnum(boundedEnumMinute)((function (v) { return v + 1 | 0; })(Data_Enum.fromEnum(boundedEnumMinute)($67))); }); var boundedEnumMillisecond = new Data_Enum.BoundedEnum(function () { return boundedMillisecond; }, function () { return enumMillisecond; }, 1000, function (v) { return v; }, function (n) { if (n >= 0 && n <= 999) { return new Data_Maybe.Just(n); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Time.Component line 125, column 1 - line 125, column 59: " + [ n.constructor.name ]); }); var enumMillisecond = new Data_Enum.Enum(function () { return ordMillisecond; }, function ($68) { return Data_Enum.toEnum(boundedEnumMillisecond)((function (v) { return v - 1 | 0; })(Data_Enum.fromEnum(boundedEnumMillisecond)($68))); }, function ($69) { return Data_Enum.toEnum(boundedEnumMillisecond)((function (v) { return v + 1 | 0; })(Data_Enum.fromEnum(boundedEnumMillisecond)($69))); }); var boundedEnumHour = new Data_Enum.BoundedEnum(function () { return boundedHour; }, function () { return enumHour; }, 24, function (v) { return v; }, function (n) { if (n >= 0 && n <= 23) { return new Data_Maybe.Just(n); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.Time.Component line 34, column 1 - line 34, column 45: " + [ n.constructor.name ]); }); var enumHour = new Data_Enum.Enum(function () { return ordHour; }, function ($70) { return Data_Enum.toEnum(boundedEnumHour)((function (v) { return v - 1 | 0; })(Data_Enum.fromEnum(boundedEnumHour)($70))); }, function ($71) { return Data_Enum.toEnum(boundedEnumHour)((function (v) { return v + 1 | 0; })(Data_Enum.fromEnum(boundedEnumHour)($71))); }); exports["eqHour"] = eqHour; exports["ordHour"] = ordHour; exports["genericHour"] = genericHour; exports["boundedHour"] = boundedHour; exports["enumHour"] = enumHour; exports["boundedEnumHour"] = boundedEnumHour; exports["showHour"] = showHour; exports["eqMinute"] = eqMinute; exports["ordMinute"] = ordMinute; exports["genericMinute"] = genericMinute; exports["boundedMinute"] = boundedMinute; exports["enumMinute"] = enumMinute; exports["boundedEnumMinute"] = boundedEnumMinute; exports["showMinute"] = showMinute; exports["eqSecond"] = eqSecond; exports["ordSecond"] = ordSecond; exports["genericSecond"] = genericSecond; exports["boundedSecond"] = boundedSecond; exports["enumSecond"] = enumSecond; exports["boundedEnumSecond"] = boundedEnumSecond; exports["showSecond"] = showSecond; exports["eqMillisecond"] = eqMillisecond; exports["ordMillisecond"] = ordMillisecond; exports["genericMillisecond"] = genericMillisecond; exports["boundedMillisecond"] = boundedMillisecond; exports["enumMillisecond"] = enumMillisecond; exports["boundedEnumMillisecond"] = boundedEnumMillisecond; exports["showMillisecond"] = showMillisecond; })(PS["Data.Time.Component"] = PS["Data.Time.Component"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Generic = PS["Data.Generic"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Int = PS["Data.Int"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Time_Component = PS["Data.Time.Component"]; var Data_Time_Duration = PS["Data.Time.Duration"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var $$Math = PS["Math"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; var Time = (function () { function Time(value0, value1, value2, value3) { this.value0 = value0; this.value1 = value1; this.value2 = value2; this.value3 = value3; }; Time.create = function (value0) { return function (value1) { return function (value2) { return function (value3) { return new Time(value0, value1, value2, value3); }; }; }; }; return Time; })(); var showTime = new Data_Show.Show(function (v) { return "(Time " + (Data_Show.show(Data_Time_Component.showHour)(v.value0) + (" " + (Data_Show.show(Data_Time_Component.showMinute)(v.value1) + (" " + (Data_Show.show(Data_Time_Component.showSecond)(v.value2) + (" " + (Data_Show.show(Data_Time_Component.showMillisecond)(v.value3) + ")"))))))); }); // | Alters the second component of a time value. var setSecond = function (s) { return function (v) { return new Time(v.value0, v.value1, s, v.value3); }; }; // | Alters the minute component of a time value. var setMinute = function (m) { return function (v) { return new Time(v.value0, m, v.value2, v.value3); }; }; // | Alters the millisecond component of a time value. var setMillisecond = function (ms) { return function (v) { return new Time(v.value0, v.value1, v.value2, ms); }; }; // | Alters the hour component of a time value. var setHour = function (h) { return function (v) { return new Time(h, v.value1, v.value2, v.value3); }; }; // | The second component of a time value. var second = function (v) { return v.value2; }; // | The minute component of a time value. var minute = function (v) { return v.value1; }; // | The millisecond component of a time value. var millisecond = function (v) { return v.value3; }; var millisToTime = function (v) { var hours = $$Math.floor(v / 3600000.0); var minutes = $$Math.floor((v - hours * 3600000.0) / 60000.0); var seconds = $$Math.floor((v - (hours * 3600000.0 + minutes * 60000.0)) / 1000.0); var milliseconds = v - (hours * 3600000.0 + minutes * 60000.0 + seconds * 1000.0); return Data_Maybe.fromJust()(Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Time.create)(Data_Enum.toEnum(Data_Time_Component.boundedEnumHour)(Data_Int.floor(hours))))(Data_Enum.toEnum(Data_Time_Component.boundedEnumMinute)(Data_Int.floor(minutes))))(Data_Enum.toEnum(Data_Time_Component.boundedEnumSecond)(Data_Int.floor(seconds))))(Data_Enum.toEnum(Data_Time_Component.boundedEnumMillisecond)(Data_Int.floor(milliseconds)))); }; // | The hour component of a time value. var hour = function (v) { return v.value0; }; var timeToMillis = function (t) { return Data_Time_Duration.Milliseconds(3600000.0 * Data_Int.toNumber(Data_Enum.fromEnum(Data_Time_Component.boundedEnumHour)(hour(t))) + 60000.0 * Data_Int.toNumber(Data_Enum.fromEnum(Data_Time_Component.boundedEnumMinute)(minute(t))) + 1000.0 * Data_Int.toNumber(Data_Enum.fromEnum(Data_Time_Component.boundedEnumSecond)(second(t))) + Data_Int.toNumber(Data_Enum.fromEnum(Data_Time_Component.boundedEnumMillisecond)(millisecond(t)))); }; var genericTime = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.Time.Time" && v.value1.length === 4)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Time.create))(Data_Generic.fromSpine(Data_Time_Component.genericHour)(v["value1"][0](Data_Unit.unit))))(Data_Generic.fromSpine(Data_Time_Component.genericMinute)(v["value1"][1](Data_Unit.unit))))(Data_Generic.fromSpine(Data_Time_Component.genericSecond)(v["value1"][2](Data_Unit.unit))))(Data_Generic.fromSpine(Data_Time_Component.genericMillisecond)(v["value1"][3](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.Time.Time", [ { sigConstructor: "Data.Time.Time", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Time_Component.genericHour)(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(Data_Time_Component.genericMinute)(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(Data_Time_Component.genericSecond)(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(Data_Time_Component.genericMillisecond)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.Time.Time", [ function ($dollarq) { return Data_Generic.toSpine(Data_Time_Component.genericHour)(v.value0); }, function ($dollarq) { return Data_Generic.toSpine(Data_Time_Component.genericMinute)(v.value1); }, function ($dollarq) { return Data_Generic.toSpine(Data_Time_Component.genericSecond)(v.value2); }, function ($dollarq) { return Data_Generic.toSpine(Data_Time_Component.genericMillisecond)(v.value3); } ]); }); var eqTime = new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(Data_Time_Component.eqHour)(x.value0)(y.value0) && Data_Eq.eq(Data_Time_Component.eqMinute)(x.value1)(y.value1) && Data_Eq.eq(Data_Time_Component.eqSecond)(x.value2)(y.value2) && Data_Eq.eq(Data_Time_Component.eqMillisecond)(x.value3)(y.value3); }; }); var ordTime = new Data_Ord.Ord(function () { return eqTime; }, function (x) { return function (y) { var v = Data_Ord.compare(Data_Time_Component.ordHour)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; var v1 = Data_Ord.compare(Data_Time_Component.ordMinute)(x.value1)(y.value1); if (v1 instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v1 instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; var v2 = Data_Ord.compare(Data_Time_Component.ordSecond)(x.value2)(y.value2); if (v2 instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v2 instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(Data_Time_Component.ordMillisecond)(x.value3)(y.value3); }; }); // | Calculates the difference between two times, returning the result as a // | duration. var diff = function (dictDuration) { return function (t1) { return function (t2) { return Data_Time_Duration.toDuration(dictDuration)(Data_Ring.sub(Data_Time_Duration.ringMilliseconds)(timeToMillis(t1))(timeToMillis(t2))); }; }; }; var boundedTime = new Data_Bounded.Bounded(function () { return ordTime; }, new Time(Data_Bounded.bottom(Data_Time_Component.boundedHour), Data_Bounded.bottom(Data_Time_Component.boundedMinute), Data_Bounded.bottom(Data_Time_Component.boundedSecond), Data_Bounded.bottom(Data_Time_Component.boundedMillisecond)), new Time(Data_Bounded.top(Data_Time_Component.boundedHour), Data_Bounded.top(Data_Time_Component.boundedMinute), Data_Bounded.top(Data_Time_Component.boundedSecond), Data_Bounded.top(Data_Time_Component.boundedMillisecond))); var maxTime = timeToMillis(Data_Bounded.top(boundedTime)); // | Adjusts a time value with a duration offset. The result includes a // | remainder value of the whole number of days involved in the adjustment, // | for example, if a time of 23:00:00:00 has a duration of +2 hours added to // | it, the result will be 1 day, and 01:00:00:00. Correspondingly, if the // | duration is negative, a negative number of days may also be returned as // | the remainder. var adjust = function (dictDuration) { return function (d) { return function (t) { var tLength = timeToMillis(t); var d$prime = Data_Time_Duration.fromDuration(dictDuration)(d); var wholeDays = Data_Time_Duration.Days($$Math.floor(Data_Newtype.unwrap(Data_Time_Duration.newtypeMilliseconds)(d$prime) / 8.64e7)); var msAdjust = Data_Ring.sub(Data_Time_Duration.ringMilliseconds)(d$prime)(Data_Time_Duration.fromDuration(Data_Time_Duration.durationDays)(wholeDays)); var msAdjusted = Data_Semiring.add(Data_Time_Duration.semiringMilliseconds)(tLength)(msAdjust); var wrap = (function () { var $134 = Data_Ord.greaterThan(Data_Time_Duration.ordMilliseconds)(msAdjusted)(maxTime); if ($134) { return 1.0; }; var $135 = Data_Ord.lessThan(Data_Time_Duration.ordMilliseconds)(msAdjusted)(Data_Ring.negate(Data_Time_Duration.ringMilliseconds)(maxTime)); if ($135) { return -1.0; }; return 0.0; })(); return new Data_Tuple.Tuple(Data_Semiring.add(Data_Time_Duration.semiringDays)(wholeDays)(wrap), millisToTime(Data_Ring.sub(Data_Time_Duration.ringMilliseconds)(msAdjusted)(8.64e7 * wrap))); }; }; }; exports["Time"] = Time; exports["adjust"] = adjust; exports["diff"] = diff; exports["hour"] = hour; exports["millisecond"] = millisecond; exports["minute"] = minute; exports["second"] = second; exports["setHour"] = setHour; exports["setMillisecond"] = setMillisecond; exports["setMinute"] = setMinute; exports["setSecond"] = setSecond; exports["eqTime"] = eqTime; exports["ordTime"] = ordTime; exports["genericTime"] = genericTime; exports["boundedTime"] = boundedTime; exports["showTime"] = showTime; })(PS["Data.Time"] = PS["Data.Time"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.DateTime"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Date = PS["Data.Date"]; var Data_Date_Component = PS["Data.Date.Component"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Functor = PS["Data.Functor"]; var Data_Generic = PS["Data.Generic"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Time = PS["Data.Time"]; var Data_Time_Component = PS["Data.Time.Component"]; var Data_Time_Duration = PS["Data.Time.Duration"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | A date/time value in the Gregorian calendar/UTC time zone. var DateTime = (function () { function DateTime(value0, value1) { this.value0 = value0; this.value1 = value1; }; DateTime.create = function (value0) { return function (value1) { return new DateTime(value0, value1); }; }; return DateTime; })(); var toRecord = function (v) { return { year: Data_Enum.fromEnum(Data_Date_Component.boundedEnumYear)(Data_Date.year(v.value0)), month: Data_Enum.fromEnum(Data_Date_Component.boundedEnumMonth)(Data_Date.month(v.value0)), day: Data_Enum.fromEnum(Data_Date_Component.boundedEnumDay)(Data_Date.day(v.value0)), hour: Data_Enum.fromEnum(Data_Time_Component.boundedEnumHour)(Data_Time.hour(v.value1)), minute: Data_Enum.fromEnum(Data_Time_Component.boundedEnumMinute)(Data_Time.minute(v.value1)), second: Data_Enum.fromEnum(Data_Time_Component.boundedEnumSecond)(Data_Time.second(v.value1)), millisecond: Data_Enum.fromEnum(Data_Time_Component.boundedEnumMillisecond)(Data_Time.millisecond(v.value1)) }; }; var time = function (v) { return v.value1; }; var showDateTime = new Data_Show.Show(function (v) { return "(DateTime " + (Data_Show.show(Data_Date.showDate)(v.value0) + (" " + (Data_Show.show(Data_Time.showTime)(v.value1) + ")"))); }); var modifyTimeF = function (dictFunctor) { return function (f) { return function (v) { return Data_Functor.map(dictFunctor)(DateTime.create(v.value0))(f(v.value1)); }; }; }; var modifyTime = function (f) { return function (v) { return new DateTime(v.value0, f(v.value1)); }; }; var modifyDateF = function (dictFunctor) { return function (f) { return function (v) { return Data_Functor.map(dictFunctor)(Data_Function.flip(DateTime.create)(v.value1))(f(v.value0)); }; }; }; var modifyDate = function (f) { return function (v) { return new DateTime(f(v.value0), v.value1); }; }; var genericDateTime = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.DateTime.DateTime" && v.value1.length === 2)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(DateTime.create))(Data_Generic.fromSpine(Data_Date.genericDate)(v["value1"][0](Data_Unit.unit))))(Data_Generic.fromSpine(Data_Time.genericTime)(v["value1"][1](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.DateTime.DateTime", [ { sigConstructor: "Data.DateTime.DateTime", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Date.genericDate)(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(Data_Time.genericTime)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.DateTime.DateTime", [ function ($dollarq) { return Data_Generic.toSpine(Data_Date.genericDate)(v.value0); }, function ($dollarq) { return Data_Generic.toSpine(Data_Time.genericTime)(v.value1); } ]); }); var eqDateTime = new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(Data_Date.eqDate)(x.value0)(y.value0) && Data_Eq.eq(Data_Time.eqTime)(x.value1)(y.value1); }; }); var ordDateTime = new Data_Ord.Ord(function () { return eqDateTime; }, function (x) { return function (y) { var v = Data_Ord.compare(Data_Date.ordDate)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(Data_Time.ordTime)(x.value1)(y.value1); }; }); // | Calculates the difference between two date/time values, returning the // | result as a duration. var diff = function (dictDuration) { return function (dt1) { return function (dt2) { return Data_Time_Duration.toDuration(dictDuration)($foreign.calcDiff(toRecord(dt1), toRecord(dt2))); }; }; }; var date = function (v) { return v.value0; }; var boundedDateTime = new Data_Bounded.Bounded(function () { return ordDateTime; }, new DateTime(Data_Bounded.bottom(Data_Date.boundedDate), Data_Bounded.bottom(Data_Time.boundedTime)), new DateTime(Data_Bounded.top(Data_Date.boundedDate), Data_Bounded.top(Data_Time.boundedTime))); // | Adjusts a date/time value with a duration offset. `Nothing` is returned // | if the resulting date would be outside of the range of valid dates. var adjust = function (dictDuration) { return function (d) { return function (dt) { return Control_Bind.bind(Data_Maybe.bindMaybe)($foreign.adjustImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value)(Data_Time_Duration.fromDuration(dictDuration)(d))(toRecord(dt)))(function (rec) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(DateTime.create)(Control_Bind.join(Data_Maybe.bindMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Date.exactDate)(Data_Enum.toEnum(Data_Date_Component.boundedEnumYear)(rec.year)))(Data_Enum.toEnum(Data_Date_Component.boundedEnumMonth)(rec.month)))(Data_Enum.toEnum(Data_Date_Component.boundedEnumDay)(rec.day)))))(Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Time.Time.create)(Data_Enum.toEnum(Data_Time_Component.boundedEnumHour)(rec.hour)))(Data_Enum.toEnum(Data_Time_Component.boundedEnumMinute)(rec.minute)))(Data_Enum.toEnum(Data_Time_Component.boundedEnumSecond)(rec.second)))(Data_Enum.toEnum(Data_Time_Component.boundedEnumMillisecond)(rec.millisecond))); }); }; }; }; exports["DateTime"] = DateTime; exports["adjust"] = adjust; exports["date"] = date; exports["diff"] = diff; exports["modifyDate"] = modifyDate; exports["modifyDateF"] = modifyDateF; exports["modifyTime"] = modifyTime; exports["modifyTimeF"] = modifyTimeF; exports["time"] = time; exports["eqDateTime"] = eqDateTime; exports["ordDateTime"] = ordDateTime; exports["genericDateTime"] = genericDateTime; exports["boundedDateTime"] = boundedDateTime; exports["showDateTime"] = showDateTime; })(PS["Data.DateTime"] = PS["Data.DateTime"] || {}); (function(exports) { "use strict"; var createDateTime = function (y, m, d, h, mi, s, ms) { var dateTime = new Date(Date.UTC(y, m, d, h, mi, s, ms)); if (y >= 0 && y < 100) { dateTime.setUTCFullYear(y); } return dateTime; }; exports.fromDateTimeImpl = function (y, mo, d, h, mi, s, ms) { return createDateTime(y, mo - 1, d, h, mi, s, ms).getTime(); }; exports.toDateTimeImpl = function (ctor) { return function (instant) { var dt = new Date(instant); return ctor (dt.getUTCFullYear())(dt.getUTCMonth() + 1)(dt.getUTCDate())(dt.getUTCHours())(dt.getUTCMinutes())(dt.getUTCSeconds())(dt.getUTCMilliseconds()); }; }; })(PS["Data.DateTime.Instant"] = PS["Data.DateTime.Instant"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.DateTime.Instant"]; var Control_Apply = PS["Control.Apply"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Date = PS["Data.Date"]; var Data_Date_Component = PS["Data.Date.Component"]; var Data_DateTime = PS["Data.DateTime"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Generic = PS["Data.Generic"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Time = PS["Data.Time"]; var Data_Time_Component = PS["Data.Time.Component"]; var Data_Time_Duration = PS["Data.Time.Duration"]; var Data_Unit = PS["Data.Unit"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; // | An instant is a duration in milliseconds relative to the Unix epoch // | (1970-01-01 00:00:00 UTC). // | // | The constructor is private as the `Instant` range matches that of the // | `DateTime` type. var Instant = function (x) { return x; }; // | Lowers an `Instant` to a `Milliseconds` duration. var unInstant = function (v) { return v; }; // | Creates a `DateTime` value from an `Instant`. var toDateTime = (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 Data_DateTime.DateTime(Data_Date.canonicalDate(y)(Data_Maybe.fromJust()(Data_Enum.toEnum(Data_Date_Component.boundedEnumMonth)(mo)))(d), new Data_Time.Time(h, mi, s, ms)); }; }; }; }; }; }; }; return $foreign.toDateTimeImpl(mkDateTime); })(); var showInstant = new Data_Show.Show(function (v) { return "(Instant " + (Data_Show.show(Data_Time_Duration.showMilliseconds)(v) + ")"); }); var ordDateTime = Data_Time_Duration.ordMilliseconds; // Unfortunately Instant cannot be made a `BoundedEnum` as it "should" be, // unless enum cardinality and from/to range is extended to use a numeric type // bigger than Int32 // | Attempts to create an `Instant` from a `Milliseconds` duration. The // | minimum acceptable value equates to the `bottom` `DateTime` and the maximum // | acceptable value equates to the `top` `DateTime`. var instant = function (v) { if (v >= -8.6399778816e15 && v <= 8.639977881599999e15) { return new Data_Maybe.Just(v); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.DateTime.Instant line 45, column 1 - line 45, column 41: " + [ v.constructor.name ]); }; var genericDateTime = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.DateTime.Instant.Instant" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Instant))(Data_Generic.fromSpine(Data_Time_Duration.genericMilliseconds)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.DateTime.Instant.Instant", [ { sigConstructor: "Data.DateTime.Instant.Instant", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Time_Duration.genericMilliseconds)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.DateTime.Instant.Instant", [ function ($dollarq) { return Data_Generic.toSpine(Data_Time_Duration.genericMilliseconds)(v); } ]); }); // | Creates an `Instant` from a `DateTime` value. var fromDateTime = function (v) { return $foreign.fromDateTimeImpl(Data_Date.year(v.value0), Data_Enum.fromEnum(Data_Date_Component.boundedEnumMonth)(Data_Date.month(v.value0)), Data_Date.day(v.value0), Data_Time.hour(v.value1), Data_Time.minute(v.value1), Data_Time.second(v.value1), Data_Time.millisecond(v.value1)); }; // | Creates an `Instant` from a `Date` value, using the assumed time 00:00:00. var fromDate = function (d) { return $foreign.fromDateTimeImpl(Data_Date.year(d), Data_Enum.fromEnum(Data_Date_Component.boundedEnumMonth)(Data_Date.month(d)), Data_Date.day(d), Data_Bounded.bottom(Data_Time_Component.boundedHour), Data_Bounded.bottom(Data_Time_Component.boundedMinute), Data_Bounded.bottom(Data_Time_Component.boundedSecond), Data_Bounded.bottom(Data_Time_Component.boundedMillisecond)); }; var eqDateTime = Data_Time_Duration.eqMilliseconds; var boundedInstant = new Data_Bounded.Bounded(function () { return ordDateTime; }, -8.6399778816e15, 8.639977881599999e15); exports["fromDateTime"] = fromDateTime; exports["instant"] = instant; exports["toDateTime"] = toDateTime; exports["unInstant"] = unInstant; exports["eqDateTime"] = eqDateTime; exports["ordDateTime"] = ordDateTime; exports["genericDateTime"] = genericDateTime; exports["boundedInstant"] = boundedInstant; exports["showInstant"] = showInstant; })(PS["Data.DateTime.Instant"] = PS["Data.DateTime.Instant"] || {}); (function(exports) { // | A module providing a type and operations for the native JavaScript `Date` // | object. // | // | The `JSDate` type and associated functions are provided for interop // | purposes with JavaScript, but for working with dates in PureScript it is // | recommended that `DateTime` representation is used instead - `DateTime` // | offers greater type safety, a more PureScript-friendly interface, and has // | a `Generic` instance. "use strict"; var $foreign = PS["Data.JSDate"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Date = PS["Data.Date"]; var Data_Date_Component = PS["Data.Date.Component"]; var Data_DateTime = PS["Data.DateTime"]; var Data_DateTime_Instant = PS["Data.DateTime.Instant"]; var Data_Enum = PS["Data.Enum"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Functor = PS["Data.Functor"]; var Data_Int = PS["Data.Int"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ring = PS["Data.Ring"]; var Data_Time = PS["Data.Time"]; var Data_Time_Component = PS["Data.Time.Component"]; var Data_Time_Duration = PS["Data.Time.Duration"]; var Prelude = PS["Prelude"]; // | Returns the date as a string using the UTC timezone. var toUTCString = function (dt) { return $foreign.dateMethod("toUTCString", dt); }; // | Returns the time portion of a date value as a human-readable string. var toTimeString = function (dt) { return $foreign.dateMethod("toTimeString", dt); }; // | Returns a string representing for a date value. var toString = function (dt) { return $foreign.dateMethod("toString", dt); }; // | Attempts to construct an `Instant` for a `JSDate`. `Nothing` is returned // | only when the date value is an invalid date. var toInstant = Control_Bind.composeKleisliFlipped(Data_Maybe.bindMaybe)(function ($4) { return Data_DateTime_Instant.instant(Data_Time_Duration.Milliseconds($4)); })($foreign.toInstantImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value)); // | Converts a date value to an ISO 8601 Extended format date string. var toISOString = function (dt) { return $foreign.dateMethodEff("toISOString", dt); }; // | Attempts to construct a `DateTime` value for a `JSDate`. `Nothing` is // | returned only when the date value is an invalid date. var toDateTime = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_DateTime_Instant.toDateTime))(toInstant); // | Returns the date portion of a date value as a human-readable string. var toDateString = function (dt) { return $foreign.dateMethod("toDateString", dt); }; // | Attempts to construct a `Date` value for a `JSDate`, ignoring any time // | component of the `JSDate`. `Nothing` is returned only when the date value // | is an invalid date. var toDate = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_DateTime.date))(toDateTime); // | Attempts to read a `Foreign` value as a `JSDate`. var readDate = Data_Foreign.unsafeReadTagged("Date"); // | Returns the seconds for a date, according to UTC. var getUTCSeconds = function (dt) { return $foreign.dateMethod("getUTCSeconds", dt); }; // | Returns the month for a date, according to UTC. var getUTCMonth = function (dt) { return $foreign.dateMethod("getUTCMonth", dt); }; // | Returns the minutes for a date, according to UTC. var getUTCMinutes = function (dt) { return $foreign.dateMethod("getUTCMinutes", dt); }; // | Returns the milliseconds for a date, according to UTC. var getUTCMilliseconds = function (dt) { return $foreign.dateMethod("getUTCMilliseconds", dt); }; // | Returns the hours for a date, according to UTC. var getUTCHours = function (dt) { return $foreign.dateMethod("getUTCHours", dt); }; // | Returns the year for a date, according to UTC. var getUTCFullYear = function (dt) { return $foreign.dateMethod("getUTCFullYear", dt); }; // | Returns the day of the week for a date, according to UTC. var getUTCDay = function (dt) { return $foreign.dateMethod("getUTCDay", dt); }; // | Returns the day of the month for a date, according to UTC. var getUTCDate = function (dt) { return $foreign.dateMethod("getUTCDate", dt); }; // | Returns the time-zone offset for a date, according to the current machine's // | date/time locale. var getTimezoneOffset = function (dt) { return $foreign.dateMethodEff("getTimezoneOffset", dt); }; // | Returns the date as a number of milliseconds since 1970-01-01 00:00:00 UTC. var getTime = function (dt) { return $foreign.dateMethod("getTime", dt); }; // | Returns the seconds for a date, according to the current machine's // | date/time locale. var getSeconds = function (dt) { return $foreign.dateMethodEff("getSeconds", dt); }; // | Returns the month for a date, according to the current machine's // | date/time locale. var getMonth = function (dt) { return $foreign.dateMethodEff("getMonth", dt); }; // | Returns the minutes for a date, according to the current machine's // | date/time locale. var getMinutes = function (dt) { return $foreign.dateMethodEff("getMinutes", dt); }; // | Returns the milliseconds for a date, according to the current machine's // | date/time locale. var getMilliseconds = function (dt) { return $foreign.dateMethodEff("getMilliseconds", dt); }; // | Returns the hour for a date, according to the current machine's date/time // | locale. var getHours = function (dt) { return $foreign.dateMethodEff("getHours", dt); }; // | Returns the year for a date, according to the current machine's date/time // | locale. var getFullYear = function (dt) { return $foreign.dateMethodEff("getFullYear", dt); }; // | Returns the day of the week for a date, according to the current // | machine's date/time locale. var getDay = function (dt) { return $foreign.dateMethodEff("getDay", dt); }; // | Returns the day of the month for a date, according to the current // | machine's date/time locale. var getDate = function (dt) { return $foreign.dateMethodEff("getDate", dt); }; // | Converts a `DateTime` value into a native JavaScript date object. The // | resulting date value is guaranteed to be valid. var fromDateTime = function (v) { return $foreign.jsdate({ year: Data_Int.toNumber(Data_Enum.fromEnum(Data_Date_Component.boundedEnumYear)(Data_Date.year(v.value0))), month: Data_Int.toNumber(Data_Enum.fromEnum(Data_Date_Component.boundedEnumMonth)(Data_Date.month(v.value0)) - 1 | 0), day: Data_Int.toNumber(Data_Enum.fromEnum(Data_Date_Component.boundedEnumDay)(Data_Date.day(v.value0))), hour: Data_Int.toNumber(Data_Enum.fromEnum(Data_Time_Component.boundedEnumHour)(Data_Time.hour(v.value1))), minute: Data_Int.toNumber(Data_Enum.fromEnum(Data_Time_Component.boundedEnumMinute)(Data_Time.minute(v.value1))), second: Data_Int.toNumber(Data_Enum.fromEnum(Data_Time_Component.boundedEnumSecond)(Data_Time.second(v.value1))), millisecond: Data_Int.toNumber(Data_Enum.fromEnum(Data_Time_Component.boundedEnumMillisecond)(Data_Time.millisecond(v.value1))) }); }; exports["fromDateTime"] = fromDateTime; exports["getDate"] = getDate; exports["getDay"] = getDay; exports["getFullYear"] = getFullYear; exports["getHours"] = getHours; exports["getMilliseconds"] = getMilliseconds; exports["getMinutes"] = getMinutes; exports["getMonth"] = getMonth; exports["getSeconds"] = getSeconds; exports["getTime"] = getTime; exports["getTimezoneOffset"] = getTimezoneOffset; exports["getUTCDate"] = getUTCDate; exports["getUTCDay"] = getUTCDay; exports["getUTCFullYear"] = getUTCFullYear; exports["getUTCHours"] = getUTCHours; exports["getUTCMilliseconds"] = getUTCMilliseconds; exports["getUTCMinutes"] = getUTCMinutes; exports["getUTCMonth"] = getUTCMonth; exports["getUTCSeconds"] = getUTCSeconds; exports["readDate"] = readDate; exports["toDate"] = toDate; exports["toDateString"] = toDateString; exports["toDateTime"] = toDateTime; exports["toISOString"] = toISOString; exports["toInstant"] = toInstant; exports["toString"] = toString; exports["toTimeString"] = toTimeString; exports["toUTCString"] = toUTCString; exports["isValid"] = $foreign.isValid; exports["jsdate"] = $foreign.jsdate; exports["jsdateLocal"] = $foreign.jsdateLocal; exports["parse"] = $foreign.parse; })(PS["Data.JSDate"] = PS["Data.JSDate"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLInputElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_File_Types = PS["DOM.File.Types"]; var DOM_HTML_SelectionMode = PS["DOM.HTML.SelectionMode"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_JSDate = PS["Data.JSDate"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var stepUp = $foreign["stepUp'"](1); var stepDown = $foreign["stepDown'"](1); var list = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._list($0)); }; var form = function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($1)); }; var files = function ($2) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._files($2)); }; exports["files"] = files; exports["form"] = form; exports["list"] = list; exports["accept"] = $foreign.accept; exports["alt"] = $foreign.alt; exports["autocomplete"] = $foreign.autocomplete; exports["autofocus"] = $foreign.autofocus; exports["checkValidity"] = $foreign.checkValidity; exports["checked"] = $foreign.checked; exports["defaultChecked"] = $foreign.defaultChecked; exports["defaultValue"] = $foreign.defaultValue; exports["dirName"] = $foreign.dirName; exports["disabled"] = $foreign.disabled; exports["formAction"] = $foreign.formAction; exports["formEnctype"] = $foreign.formEnctype; exports["formMethod"] = $foreign.formMethod; exports["formNoValidate"] = $foreign.formNoValidate; exports["formTarget"] = $foreign.formTarget; exports["height"] = $foreign.height; exports["indeterminate"] = $foreign.indeterminate; exports["labels"] = $foreign.labels; exports["max"] = $foreign.max; exports["maxLength"] = $foreign.maxLength; exports["min"] = $foreign.min; exports["minLength"] = $foreign.minLength; exports["multiple"] = $foreign.multiple; exports["name"] = $foreign.name; exports["pattern"] = $foreign.pattern; exports["placeholder"] = $foreign.placeholder; exports["readOnly"] = $foreign.readOnly; exports["required"] = $foreign.required; exports["select"] = $foreign.select; exports["selectionDirection"] = $foreign.selectionDirection; exports["selectionEnd"] = $foreign.selectionEnd; exports["selectionStart"] = $foreign.selectionStart; exports["setAccept"] = $foreign.setAccept; exports["setAlt"] = $foreign.setAlt; exports["setAutocomplete"] = $foreign.setAutocomplete; exports["setAutofocus"] = $foreign.setAutofocus; exports["setChecked"] = $foreign.setChecked; exports["setCustomValidity"] = $foreign.setCustomValidity; exports["setDefaultChecked"] = $foreign.setDefaultChecked; exports["setDefaultValue"] = $foreign.setDefaultValue; exports["setDirName"] = $foreign.setDirName; exports["setDisabled"] = $foreign.setDisabled; exports["setFormAction"] = $foreign.setFormAction; exports["setFormEnctype"] = $foreign.setFormEnctype; exports["setFormMethod"] = $foreign.setFormMethod; exports["setFormNoValidate"] = $foreign.setFormNoValidate; exports["setFormTarget"] = $foreign.setFormTarget; exports["setHeight"] = $foreign.setHeight; exports["setIndeterminate"] = $foreign.setIndeterminate; exports["setMax"] = $foreign.setMax; exports["setMaxLength"] = $foreign.setMaxLength; exports["setMin"] = $foreign.setMin; exports["setMinLength"] = $foreign.setMinLength; exports["setMultiple"] = $foreign.setMultiple; exports["setName"] = $foreign.setName; exports["setPattern"] = $foreign.setPattern; exports["setPlaceholder"] = $foreign.setPlaceholder; exports["setRangeText"] = $foreign.setRangeText; exports["setRangeText'"] = $foreign["setRangeText'"]; exports["setReadOnly"] = $foreign.setReadOnly; exports["setRequired"] = $foreign.setRequired; exports["setSelectionDirection"] = $foreign.setSelectionDirection; exports["setSelectionEnd"] = $foreign.setSelectionEnd; exports["setSelectionRange"] = $foreign.setSelectionRange; exports["setSelectionStart"] = $foreign.setSelectionStart; exports["setSize"] = $foreign.setSize; exports["setSrc"] = $foreign.setSrc; exports["setStep"] = $foreign.setStep; exports["setType"] = $foreign.setType; exports["setValue"] = $foreign.setValue; exports["setValueAsDate"] = $foreign.setValueAsDate; exports["setValueAsNumber"] = $foreign.setValueAsNumber; exports["setWidth"] = $foreign.setWidth; exports["size"] = $foreign.size; exports["src"] = $foreign.src; exports["step"] = $foreign.step; exports["stepDown'"] = $foreign["stepDown'"]; exports["stepUp'"] = $foreign["stepUp'"]; exports["type_"] = $foreign.type_; exports["validationMessage"] = $foreign.validationMessage; exports["validity"] = $foreign.validity; exports["value"] = $foreign.value; exports["valueAsDate"] = $foreign.valueAsDate; exports["valueAsNumber"] = $foreign.valueAsNumber; exports["width"] = $foreign.width; exports["willValidate"] = $foreign.willValidate; })(PS["DOM.HTML.HTMLInputElement"] = PS["DOM.HTML.HTMLInputElement"] || {}); (function(exports) { "use strict"; exports.autofocus = function (keygen) { return function () { return keygen.autofocus; }; }; exports.setAutofocus = function (autofocus) { return function (keygen) { return function () { keygen.autofocus = autofocus; }; }; }; // ---------------------------------------------------------------------------- exports.challenge = function (keygen) { return function () { return keygen.challenge; }; }; exports.setChallenge = function (challenge) { return function (keygen) { return function () { keygen.challenge = challenge; }; }; }; // ---------------------------------------------------------------------------- exports.disabled = function (keygen) { return function () { return keygen.disabled; }; }; exports.setDisabled = function (disabled) { return function (keygen) { return function () { keygen.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports._form = function (keygen) { return function () { return keygen.form; }; }; // ---------------------------------------------------------------------------- exports.keytype = function (keygen) { return function () { return keygen.keytype; }; }; exports.setKeytype = function (keytype) { return function (keygen) { return function () { keygen.keytype = keytype; }; }; }; // ---------------------------------------------------------------------------- exports.name = function (keygen) { return function () { return keygen.name; }; }; exports.setName = function (name) { return function (keygen) { return function () { keygen.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (keygen) { return function () { return keygen.type; }; }; // ---------------------------------------------------------------------------- exports.willValidate = function (keygen) { return function () { return keygen.willValidate; }; }; // ---------------------------------------------------------------------------- exports.validity = function (keygen) { return function () { return keygen.validity; }; }; // ---------------------------------------------------------------------------- exports.validationMessage = function (keygen) { return function () { return keygen.validationMessage; }; }; // ---------------------------------------------------------------------------- exports.checkValidity = function (keygen) { return function () { return keygen.checkValidity; }; }; // ---------------------------------------------------------------------------- exports.setCustomValidity = function (value) { return function (keygen) { return function () { keygen.setCustomValidity(value); }; }; }; // ---------------------------------------------------------------------------- exports.labels = function (keygen) { return function () { return keygen.labels; }; }; })(PS["DOM.HTML.HTMLKeygenElement"] = PS["DOM.HTML.HTMLKeygenElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLKeygenElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; exports["form"] = form; exports["autofocus"] = $foreign.autofocus; exports["challenge"] = $foreign.challenge; exports["checkValidity"] = $foreign.checkValidity; exports["disabled"] = $foreign.disabled; exports["keytype"] = $foreign.keytype; exports["labels"] = $foreign.labels; exports["name"] = $foreign.name; exports["setAutofocus"] = $foreign.setAutofocus; exports["setChallenge"] = $foreign.setChallenge; exports["setCustomValidity"] = $foreign.setCustomValidity; exports["setDisabled"] = $foreign.setDisabled; exports["setKeytype"] = $foreign.setKeytype; exports["setName"] = $foreign.setName; exports["type_"] = $foreign.type_; exports["validationMessage"] = $foreign.validationMessage; exports["validity"] = $foreign.validity; exports["willValidate"] = $foreign.willValidate; })(PS["DOM.HTML.HTMLKeygenElement"] = PS["DOM.HTML.HTMLKeygenElement"] || {}); (function(exports) { "use strict"; exports.value = function (li) { return function () { return li.value; }; }; exports.setValue = function (value) { return function (li) { return function () { li.value = value; }; }; }; })(PS["DOM.HTML.HTMLLIElement"] = PS["DOM.HTML.HTMLLIElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLLIElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["setValue"] = $foreign.setValue; exports["value"] = $foreign.value; })(PS["DOM.HTML.HTMLLIElement"] = PS["DOM.HTML.HTMLLIElement"] || {}); (function(exports) { "use strict"; exports._form = function (label) { return function () { return label.form; }; }; // ---------------------------------------------------------------------------- exports.htmlFor = function (label) { return function () { return label.htmlFor; }; }; exports.setHtmlFor = function (htmlFor) { return function (label) { return function () { label.htmlFor = htmlFor; }; }; }; // ---------------------------------------------------------------------------- exports._control = function (label) { return function () { return label.control; }; }; })(PS["DOM.HTML.HTMLLabelElement"] = PS["DOM.HTML.HTMLLabelElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLLabelElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; var control = function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._control($1)); }; exports["control"] = control; exports["form"] = form; exports["htmlFor"] = $foreign.htmlFor; exports["setHtmlFor"] = $foreign.setHtmlFor; })(PS["DOM.HTML.HTMLLabelElement"] = PS["DOM.HTML.HTMLLabelElement"] || {}); (function(exports) { "use strict"; exports._form = function (le) { return function () { return le.form; }; }; })(PS["DOM.HTML.HTMLLegendElement"] = PS["DOM.HTML.HTMLLegendElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLLegendElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; exports["form"] = form; })(PS["DOM.HTML.HTMLLegendElement"] = PS["DOM.HTML.HTMLLegendElement"] || {}); (function(exports) { "use strict"; exports.disabled = function (link) { return function () { return link.disabled; }; }; exports.setDisabled = function (disabled) { return function (link) { return function () { link.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports.href = function (link) { return function () { return link.href; }; }; exports.setHref = function (href) { return function (link) { return function () { link.href = href; }; }; }; // ---------------------------------------------------------------------------- exports.crossOrigin = function (link) { return function () { return link.crossOrigin; }; }; exports.setCrossOrigin = function (crossOrigin) { return function (link) { return function () { link.crossOrigin = crossOrigin; }; }; }; // ---------------------------------------------------------------------------- exports.rel = function (link) { return function () { return link.rel; }; }; exports.setRel = function (rel) { return function (link) { return function () { link.rel = rel; }; }; }; // ---------------------------------------------------------------------------- exports.rev = function (link) { return function () { return link.rev; }; }; exports.setRev = function (rev) { return function (link) { return function () { link.rev = rev; }; }; }; // ---------------------------------------------------------------------------- exports.relList = function (link) { return function () { return link.relList; }; }; // ---------------------------------------------------------------------------- exports.media = function (link) { return function () { return link.media; }; }; exports.setMedia = function (media) { return function (link) { return function () { link.media = media; }; }; }; // ---------------------------------------------------------------------------- exports.hreflang = function (link) { return function () { return link.hreflang; }; }; exports.setHreflang = function (hreflang) { return function (link) { return function () { link.hreflang = hreflang; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (link) { return function () { return link.type; }; }; exports.setType = function (type) { return function (link) { return function () { link.type = type; }; }; }; })(PS["DOM.HTML.HTMLLinkElement"] = PS["DOM.HTML.HTMLLinkElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLLinkElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Prelude = PS["Prelude"]; exports["crossOrigin"] = $foreign.crossOrigin; exports["disabled"] = $foreign.disabled; exports["href"] = $foreign.href; exports["hreflang"] = $foreign.hreflang; exports["media"] = $foreign.media; exports["rel"] = $foreign.rel; exports["relList"] = $foreign.relList; exports["rev"] = $foreign.rev; exports["setCrossOrigin"] = $foreign.setCrossOrigin; exports["setDisabled"] = $foreign.setDisabled; exports["setHref"] = $foreign.setHref; exports["setHreflang"] = $foreign.setHreflang; exports["setMedia"] = $foreign.setMedia; exports["setRel"] = $foreign.setRel; exports["setRev"] = $foreign.setRev; exports["setType"] = $foreign.setType; exports["type_"] = $foreign.type_; })(PS["DOM.HTML.HTMLLinkElement"] = PS["DOM.HTML.HTMLLinkElement"] || {}); (function(exports) { "use strict"; exports.name = function (map) { return function () { return map.name; }; }; exports.setName = function (name) { return function (map) { return function () { map.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.areas = function (map) { return function () { return map.areas; }; }; // ---------------------------------------------------------------------------- exports.images = function (map) { return function () { return map.images; }; }; })(PS["DOM.HTML.HTMLMapElement"] = PS["DOM.HTML.HTMLMapElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLMapElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Prelude = PS["Prelude"]; exports["areas"] = $foreign.areas; exports["images"] = $foreign.images; exports["name"] = $foreign.name; exports["setName"] = $foreign.setName; })(PS["DOM.HTML.HTMLMapElement"] = PS["DOM.HTML.HTMLMapElement"] || {}); (function(exports) { "use strict"; exports.src = function (media) { return function () { return media.src; }; }; exports.setSrc = function (src) { return function (media) { return function () { media.src = src; }; }; }; // ---------------------------------------------------------------------------- exports.currentSrc = function (media) { return function () { return media.currentSrc; }; }; // ---------------------------------------------------------------------------- exports.crossOrigin = function (media) { return function () { return media.crossOrigin; }; }; exports.setCrossOrigin = function (crossOrigin) { return function (media) { return function () { media.crossOrigin = crossOrigin; }; }; }; // ---------------------------------------------------------------------------- exports.networkStateIndex = function (media) { return function () { return media.networkState; }; }; // ---------------------------------------------------------------------------- exports.preload = function (media) { return function () { return media.preload; }; }; exports.setPreload = function (preload) { return function (media) { return function () { media.preload = preload; }; }; }; // ---------------------------------------------------------------------------- exports.load = function (media) { return function () { return media.load(); }; }; // ---------------------------------------------------------------------------- exports.canPlayType = function (type) { return function (media) { return function () { return media.canPlayType(type); }; }; }; // ---------------------------------------------------------------------------- exports.readyStateIndex = function (media) { return function () { return media.readyState; }; }; // ---------------------------------------------------------------------------- exports.seeking = function (media) { return function () { return media.seeking; }; }; // ---------------------------------------------------------------------------- exports.currentTime = function (media) { return function () { return media.currentTime; }; }; exports.setCurrentTime = function (currentTime) { return function (media) { return function () { media.currentTime = currentTime; }; }; }; // ---------------------------------------------------------------------------- exports.duration = function (media) { return function () { return media.duration; }; }; // ---------------------------------------------------------------------------- exports.getStartDate = function (media) { return function () { return media.getStartDate(); }; }; // ---------------------------------------------------------------------------- exports.paused = function (media) { return function () { return media.paused; }; }; // ---------------------------------------------------------------------------- exports.defaultPlaybackRate = function (media) { return function () { return media.defaultPlaybackRate; }; }; exports.setDefaultPlaybackRate = function (defaultPlaybackRate) { return function (media) { return function () { media.defaultPlaybackRate = defaultPlaybackRate; }; }; }; // ---------------------------------------------------------------------------- exports.playbackRate = function (media) { return function () { return media.playbackRate; }; }; exports.setPlaybackRate = function (playbackRate) { return function (media) { return function () { media.playbackRate = playbackRate; }; }; }; // ---------------------------------------------------------------------------- exports.ended = function (media) { return function () { return media.ended; }; }; // ---------------------------------------------------------------------------- exports.autoplay = function (media) { return function () { return media.autoplay; }; }; exports.setAutoplay = function (autoplay) { return function (media) { return function () { media.autoplay = autoplay; }; }; }; // ---------------------------------------------------------------------------- exports.loop = function (media) { return function () { return media.loop; }; }; exports.setLoop = function (loop) { return function (media) { return function () { media.loop = loop; }; }; }; // ---------------------------------------------------------------------------- exports.play = function (media) { return function () { media.play(); }; }; // ---------------------------------------------------------------------------- exports.pause = function (media) { return function () { media.pause(); }; }; // ---------------------------------------------------------------------------- exports.mediaGroup = function (media) { return function () { return media.mediaGroup; }; }; exports.setMediaGroup = function (mediaGroup) { return function (media) { return function () { media.mediaGroup = mediaGroup; }; }; }; // ---------------------------------------------------------------------------- exports.controls = function (media) { return function () { return media.controls; }; }; exports.setControls = function (controls) { return function (media) { return function () { media.controls = controls; }; }; }; // ---------------------------------------------------------------------------- exports.volume = function (media) { return function () { return media.volume; }; }; exports.setVolume = function (volume) { return function (media) { return function () { media.volume = volume; }; }; }; // ---------------------------------------------------------------------------- exports.muted = function (media) { return function () { return media.muted; }; }; exports.setMuted = function (muted) { return function (media) { return function () { media.muted = muted; }; }; }; // ---------------------------------------------------------------------------- exports.defaultMuted = function (media) { return function () { return media.defaultMuted; }; }; exports.setDefaultMuted = function (defaultMuted) { return function (media) { return function () { media.defaultMuted = defaultMuted; }; }; }; })(PS["DOM.HTML.HTMLMediaElement"] = PS["DOM.HTML.HTMLMediaElement"] || {}); (function(exports) { "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var CanPlayType = function (x) { return x; }; var unspecified = ""; var showCanPlayType = new Data_Show.Show(function (v) { return "(CanPlayType " + (Data_Show.show(Data_Show.showString)(v) + ")"); }); var runCanPlayType = function (v) { return v; }; var probably = "probably"; var maybe = "maybe"; var eqCanPlayType = new Data_Eq.Eq(function (x) { return function (y) { return x === y; }; }); var ordCanPlayType = new Data_Ord.Ord(function () { return eqCanPlayType; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordString)(x)(y); }; }); exports["maybe"] = maybe; exports["probably"] = probably; exports["runCanPlayType"] = runCanPlayType; exports["unspecified"] = unspecified; exports["eqCanPlayType"] = eqCanPlayType; exports["ordCanPlayType"] = ordCanPlayType; exports["showCanPlayType"] = showCanPlayType; })(PS["DOM.HTML.HTMLMediaElement.CanPlayType"] = PS["DOM.HTML.HTMLMediaElement.CanPlayType"] || {}); (function(exports) { "use strict"; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var NETWORK_EMPTY = (function () { function NETWORK_EMPTY() { }; NETWORK_EMPTY.value = new NETWORK_EMPTY(); return NETWORK_EMPTY; })(); var NETWORK_IDLE = (function () { function NETWORK_IDLE() { }; NETWORK_IDLE.value = new NETWORK_IDLE(); return NETWORK_IDLE; })(); var NETWORK_LOADING = (function () { function NETWORK_LOADING() { }; NETWORK_LOADING.value = new NETWORK_LOADING(); return NETWORK_LOADING; })(); var NETWORK_NO_SOURCE = (function () { function NETWORK_NO_SOURCE() { }; NETWORK_NO_SOURCE.value = new NETWORK_NO_SOURCE(); return NETWORK_NO_SOURCE; })(); var toEnumNetworkState = function (v) { if (v === 0) { return new Data_Maybe.Just(NETWORK_EMPTY.value); }; if (v === 1) { return new Data_Maybe.Just(NETWORK_IDLE.value); }; if (v === 2) { return new Data_Maybe.Just(NETWORK_LOADING.value); }; if (v === 3) { return new Data_Maybe.Just(NETWORK_NO_SOURCE.value); }; return Data_Maybe.Nothing.value; }; var showNetworkState = new Data_Show.Show(function (v) { if (v instanceof NETWORK_EMPTY) { return "NETWORK_EMPTY"; }; if (v instanceof NETWORK_IDLE) { return "NETWORK_IDLE"; }; if (v instanceof NETWORK_LOADING) { return "NETWORK_LOADING"; }; if (v instanceof NETWORK_NO_SOURCE) { return "NETWORK_NO_SOURCE"; }; throw new Error("Failed pattern match at DOM.HTML.HTMLMediaElement.NetworkState line 29, column 1 - line 29, column 47: " + [ v.constructor.name ]); }); var fromEnumNetworkState = function (v) { if (v instanceof NETWORK_EMPTY) { return 0; }; if (v instanceof NETWORK_IDLE) { return 1; }; if (v instanceof NETWORK_LOADING) { return 2; }; if (v instanceof NETWORK_NO_SOURCE) { return 3; }; throw new Error("Failed pattern match at DOM.HTML.HTMLMediaElement.NetworkState line 46, column 3 - line 50, column 26: " + [ v.constructor.name ]); }; var eqNetworkState = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof NETWORK_EMPTY && y instanceof NETWORK_EMPTY) { return true; }; if (x instanceof NETWORK_IDLE && y instanceof NETWORK_IDLE) { return true; }; if (x instanceof NETWORK_LOADING && y instanceof NETWORK_LOADING) { return true; }; if (x instanceof NETWORK_NO_SOURCE && y instanceof NETWORK_NO_SOURCE) { return true; }; return false; }; }); var ordNetworkState = new Data_Ord.Ord(function () { return eqNetworkState; }, function (x) { return function (y) { if (x instanceof NETWORK_EMPTY && y instanceof NETWORK_EMPTY) { return Data_Ordering.EQ.value; }; if (x instanceof NETWORK_EMPTY) { return Data_Ordering.LT.value; }; if (y instanceof NETWORK_EMPTY) { return Data_Ordering.GT.value; }; if (x instanceof NETWORK_IDLE && y instanceof NETWORK_IDLE) { return Data_Ordering.EQ.value; }; if (x instanceof NETWORK_IDLE) { return Data_Ordering.LT.value; }; if (y instanceof NETWORK_IDLE) { return Data_Ordering.GT.value; }; if (x instanceof NETWORK_LOADING && y instanceof NETWORK_LOADING) { return Data_Ordering.EQ.value; }; if (x instanceof NETWORK_LOADING) { return Data_Ordering.LT.value; }; if (y instanceof NETWORK_LOADING) { return Data_Ordering.GT.value; }; if (x instanceof NETWORK_NO_SOURCE && y instanceof NETWORK_NO_SOURCE) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at DOM.HTML.HTMLMediaElement.NetworkState line 14, column 8 - line 14, column 52: " + [ x.constructor.name, y.constructor.name ]); }; }); var enumNetworkState = new Data_Enum.Enum(function () { return ordNetworkState; }, Data_Enum.defaultPred(toEnumNetworkState)(fromEnumNetworkState), Data_Enum.defaultSucc(toEnumNetworkState)(fromEnumNetworkState)); var boundedNetworkState = new Data_Bounded.Bounded(function () { return ordNetworkState; }, NETWORK_EMPTY.value, NETWORK_NO_SOURCE.value); var boundedEnumNetworkState = new Data_Enum.BoundedEnum(function () { return boundedNetworkState; }, function () { return enumNetworkState; }, 4, fromEnumNetworkState, toEnumNetworkState); exports["NETWORK_EMPTY"] = NETWORK_EMPTY; exports["NETWORK_IDLE"] = NETWORK_IDLE; exports["NETWORK_LOADING"] = NETWORK_LOADING; exports["NETWORK_NO_SOURCE"] = NETWORK_NO_SOURCE; exports["eqNetworkState"] = eqNetworkState; exports["ordNetworkState"] = ordNetworkState; exports["boundedNetworkState"] = boundedNetworkState; exports["enumNetworkState"] = enumNetworkState; exports["boundedEnumNetworkState"] = boundedEnumNetworkState; exports["showNetworkState"] = showNetworkState; })(PS["DOM.HTML.HTMLMediaElement.NetworkState"] = PS["DOM.HTML.HTMLMediaElement.NetworkState"] || {}); (function(exports) { "use strict"; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var HAVE_NOTHING = (function () { function HAVE_NOTHING() { }; HAVE_NOTHING.value = new HAVE_NOTHING(); return HAVE_NOTHING; })(); var HAVE_METADATA = (function () { function HAVE_METADATA() { }; HAVE_METADATA.value = new HAVE_METADATA(); return HAVE_METADATA; })(); var HAVE_CURRENT_DATA = (function () { function HAVE_CURRENT_DATA() { }; HAVE_CURRENT_DATA.value = new HAVE_CURRENT_DATA(); return HAVE_CURRENT_DATA; })(); var HAVE_FUTURE_DATA = (function () { function HAVE_FUTURE_DATA() { }; HAVE_FUTURE_DATA.value = new HAVE_FUTURE_DATA(); return HAVE_FUTURE_DATA; })(); var HAVE_ENOUGH_DATA = (function () { function HAVE_ENOUGH_DATA() { }; HAVE_ENOUGH_DATA.value = new HAVE_ENOUGH_DATA(); return HAVE_ENOUGH_DATA; })(); var toEnumReadyState = function (v) { if (v === 0) { return new Data_Maybe.Just(HAVE_NOTHING.value); }; if (v === 1) { return new Data_Maybe.Just(HAVE_METADATA.value); }; if (v === 2) { return new Data_Maybe.Just(HAVE_CURRENT_DATA.value); }; if (v === 3) { return new Data_Maybe.Just(HAVE_FUTURE_DATA.value); }; if (v === 4) { return new Data_Maybe.Just(HAVE_ENOUGH_DATA.value); }; return Data_Maybe.Nothing.value; }; var showReadyState = new Data_Show.Show(function (v) { if (v instanceof HAVE_NOTHING) { return "HAVE_NOTHING"; }; if (v instanceof HAVE_METADATA) { return "HAVE_METADATA"; }; if (v instanceof HAVE_CURRENT_DATA) { return "HAVE_CURRENT_DATA"; }; if (v instanceof HAVE_FUTURE_DATA) { return "HAVE_FUTURE_DATA"; }; if (v instanceof HAVE_ENOUGH_DATA) { return "HAVE_ENOUGH_DATA"; }; throw new Error("Failed pattern match at DOM.HTML.HTMLMediaElement.ReadyState line 30, column 1 - line 30, column 43: " + [ v.constructor.name ]); }); var fromEnumReadyState = function (v) { if (v instanceof HAVE_NOTHING) { return 0; }; if (v instanceof HAVE_METADATA) { return 1; }; if (v instanceof HAVE_CURRENT_DATA) { return 2; }; if (v instanceof HAVE_FUTURE_DATA) { return 3; }; if (v instanceof HAVE_ENOUGH_DATA) { return 4; }; throw new Error("Failed pattern match at DOM.HTML.HTMLMediaElement.ReadyState line 49, column 3 - line 54, column 25: " + [ v.constructor.name ]); }; var eqReadyState = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof HAVE_NOTHING && y instanceof HAVE_NOTHING) { return true; }; if (x instanceof HAVE_METADATA && y instanceof HAVE_METADATA) { return true; }; if (x instanceof HAVE_CURRENT_DATA && y instanceof HAVE_CURRENT_DATA) { return true; }; if (x instanceof HAVE_FUTURE_DATA && y instanceof HAVE_FUTURE_DATA) { return true; }; if (x instanceof HAVE_ENOUGH_DATA && y instanceof HAVE_ENOUGH_DATA) { return true; }; return false; }; }); var ordReadyState = new Data_Ord.Ord(function () { return eqReadyState; }, function (x) { return function (y) { if (x instanceof HAVE_NOTHING && y instanceof HAVE_NOTHING) { return Data_Ordering.EQ.value; }; if (x instanceof HAVE_NOTHING) { return Data_Ordering.LT.value; }; if (y instanceof HAVE_NOTHING) { return Data_Ordering.GT.value; }; if (x instanceof HAVE_METADATA && y instanceof HAVE_METADATA) { return Data_Ordering.EQ.value; }; if (x instanceof HAVE_METADATA) { return Data_Ordering.LT.value; }; if (y instanceof HAVE_METADATA) { return Data_Ordering.GT.value; }; if (x instanceof HAVE_CURRENT_DATA && y instanceof HAVE_CURRENT_DATA) { return Data_Ordering.EQ.value; }; if (x instanceof HAVE_CURRENT_DATA) { return Data_Ordering.LT.value; }; if (y instanceof HAVE_CURRENT_DATA) { return Data_Ordering.GT.value; }; if (x instanceof HAVE_FUTURE_DATA && y instanceof HAVE_FUTURE_DATA) { return Data_Ordering.EQ.value; }; if (x instanceof HAVE_FUTURE_DATA) { return Data_Ordering.LT.value; }; if (y instanceof HAVE_FUTURE_DATA) { return Data_Ordering.GT.value; }; if (x instanceof HAVE_ENOUGH_DATA && y instanceof HAVE_ENOUGH_DATA) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at DOM.HTML.HTMLMediaElement.ReadyState line 15, column 8 - line 15, column 48: " + [ x.constructor.name, y.constructor.name ]); }; }); var enumReadyState = new Data_Enum.Enum(function () { return ordReadyState; }, Data_Enum.defaultPred(toEnumReadyState)(fromEnumReadyState), Data_Enum.defaultSucc(toEnumReadyState)(fromEnumReadyState)); var boundedReadyState = new Data_Bounded.Bounded(function () { return ordReadyState; }, HAVE_NOTHING.value, HAVE_ENOUGH_DATA.value); var boundedEnumReadyState = new Data_Enum.BoundedEnum(function () { return boundedReadyState; }, function () { return enumReadyState; }, 5, fromEnumReadyState, toEnumReadyState); exports["HAVE_NOTHING"] = HAVE_NOTHING; exports["HAVE_METADATA"] = HAVE_METADATA; exports["HAVE_CURRENT_DATA"] = HAVE_CURRENT_DATA; exports["HAVE_FUTURE_DATA"] = HAVE_FUTURE_DATA; exports["HAVE_ENOUGH_DATA"] = HAVE_ENOUGH_DATA; exports["eqReadyState"] = eqReadyState; exports["ordReadyState"] = ordReadyState; exports["boundedReadyState"] = boundedReadyState; exports["enumReadyState"] = enumReadyState; exports["boundedEnumReadyState"] = boundedEnumReadyState; exports["showReadyState"] = showReadyState; })(PS["DOM.HTML.HTMLMediaElement.ReadyState"] = PS["DOM.HTML.HTMLMediaElement.ReadyState"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLMediaElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_HTMLMediaElement_CanPlayType = PS["DOM.HTML.HTMLMediaElement.CanPlayType"]; var DOM_HTML_HTMLMediaElement_NetworkState = PS["DOM.HTML.HTMLMediaElement.NetworkState"]; var DOM_HTML_HTMLMediaElement_ReadyState = PS["DOM.HTML.HTMLMediaElement.ReadyState"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Enum = PS["Data.Enum"]; var Data_Functor = PS["Data.Functor"]; var Data_JSDate = PS["Data.JSDate"]; var Data_Maybe = PS["Data.Maybe"]; var Prelude = PS["Prelude"]; var readyState = function (dictPartial) { return function ($2) { return Data_Functor.map(Control_Monad_Eff.functorEff)(function ($3) { return Data_Maybe.fromJust(dictPartial)(Data_Enum.toEnum(DOM_HTML_HTMLMediaElement_ReadyState.boundedEnumReadyState)($3)); })($foreign.readyStateIndex($2)); }; }; var networkState = function (dictPartial) { return function ($4) { return Data_Functor.map(Control_Monad_Eff.functorEff)(function ($5) { return Data_Maybe.fromJust(dictPartial)(Data_Enum.toEnum(DOM_HTML_HTMLMediaElement_NetworkState.boundedEnumNetworkState)($5)); })($foreign.readyStateIndex($4)); }; }; exports["networkState"] = networkState; exports["readyState"] = readyState; exports["autoplay"] = $foreign.autoplay; exports["canPlayType"] = $foreign.canPlayType; exports["controls"] = $foreign.controls; exports["crossOrigin"] = $foreign.crossOrigin; exports["currentSrc"] = $foreign.currentSrc; exports["currentTime"] = $foreign.currentTime; exports["defaultMuted"] = $foreign.defaultMuted; exports["defaultPlaybackRate"] = $foreign.defaultPlaybackRate; exports["duration"] = $foreign.duration; exports["ended"] = $foreign.ended; exports["getStartDate"] = $foreign.getStartDate; exports["load"] = $foreign.load; exports["loop"] = $foreign.loop; exports["mediaGroup"] = $foreign.mediaGroup; exports["muted"] = $foreign.muted; exports["networkStateIndex"] = $foreign.networkStateIndex; exports["pause"] = $foreign.pause; exports["paused"] = $foreign.paused; exports["play"] = $foreign.play; exports["playbackRate"] = $foreign.playbackRate; exports["preload"] = $foreign.preload; exports["readyStateIndex"] = $foreign.readyStateIndex; exports["seeking"] = $foreign.seeking; exports["setAutoplay"] = $foreign.setAutoplay; exports["setControls"] = $foreign.setControls; exports["setCrossOrigin"] = $foreign.setCrossOrigin; exports["setCurrentTime"] = $foreign.setCurrentTime; exports["setDefaultMuted"] = $foreign.setDefaultMuted; exports["setDefaultPlaybackRate"] = $foreign.setDefaultPlaybackRate; exports["setLoop"] = $foreign.setLoop; exports["setMediaGroup"] = $foreign.setMediaGroup; exports["setMuted"] = $foreign.setMuted; exports["setPlaybackRate"] = $foreign.setPlaybackRate; exports["setPreload"] = $foreign.setPreload; exports["setSrc"] = $foreign.setSrc; exports["setVolume"] = $foreign.setVolume; exports["src"] = $foreign.src; exports["volume"] = $foreign.volume; })(PS["DOM.HTML.HTMLMediaElement"] = PS["DOM.HTML.HTMLMediaElement"] || {}); (function(exports) { "use strict"; exports.name = function (meta) { return function () { return meta.name; }; }; exports.setName = function (name) { return function (meta) { return function () { meta.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.httpEquiv = function (meta) { return function () { return meta.httpEquiv; }; }; exports.setHttpEquiv = function (httpEquiv) { return function (meta) { return function () { meta.httpEquiv = httpEquiv; }; }; }; // ---------------------------------------------------------------------------- exports.content = function (meta) { return function () { return meta.content; }; }; exports.setContent = function (content) { return function (meta) { return function () { meta.content = content; }; }; }; })(PS["DOM.HTML.HTMLMetaElement"] = PS["DOM.HTML.HTMLMetaElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLMetaElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["content"] = $foreign.content; exports["httpEquiv"] = $foreign.httpEquiv; exports["name"] = $foreign.name; exports["setContent"] = $foreign.setContent; exports["setHttpEquiv"] = $foreign.setHttpEquiv; exports["setName"] = $foreign.setName; })(PS["DOM.HTML.HTMLMetaElement"] = PS["DOM.HTML.HTMLMetaElement"] || {}); (function(exports) { "use strict"; exports.value = function (meter) { return function () { return meter.value; }; }; exports.setValue = function (value) { return function (meter) { return function () { meter.value = value; }; }; }; // ---------------------------------------------------------------------------- exports.min = function (meter) { return function () { return meter.min; }; }; exports.setMin = function (min) { return function (meter) { return function () { meter.min = min; }; }; }; // ---------------------------------------------------------------------------- exports.max = function (meter) { return function () { return meter.max; }; }; exports.setMax = function (max) { return function (meter) { return function () { meter.max = max; }; }; }; // ---------------------------------------------------------------------------- exports.low = function (meter) { return function () { return meter.low; }; }; exports.setLow = function (low) { return function (meter) { return function () { meter.low = low; }; }; }; // ---------------------------------------------------------------------------- exports.high = function (meter) { return function () { return meter.high; }; }; exports.setHigh = function (high) { return function (meter) { return function () { meter.high = high; }; }; }; // ---------------------------------------------------------------------------- exports.optimum = function (meter) { return function () { return meter.optimum; }; }; exports.setOptimum = function (optimum) { return function (meter) { return function () { meter.optimum = optimum; }; }; }; // ---------------------------------------------------------------------------- exports.labels = function (meter) { return function () { return meter.labels; }; }; })(PS["DOM.HTML.HTMLMeterElement"] = PS["DOM.HTML.HTMLMeterElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLMeterElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Prelude = PS["Prelude"]; exports["high"] = $foreign.high; exports["labels"] = $foreign.labels; exports["low"] = $foreign.low; exports["max"] = $foreign.max; exports["min"] = $foreign.min; exports["optimum"] = $foreign.optimum; exports["setHigh"] = $foreign.setHigh; exports["setLow"] = $foreign.setLow; exports["setMax"] = $foreign.setMax; exports["setMin"] = $foreign.setMin; exports["setOptimum"] = $foreign.setOptimum; exports["setValue"] = $foreign.setValue; exports["value"] = $foreign.value; })(PS["DOM.HTML.HTMLMeterElement"] = PS["DOM.HTML.HTMLMeterElement"] || {}); (function(exports) { "use strict"; exports.cite = function (mod) { return function () { return mod.cite; }; }; exports.setCite = function (cite) { return function (mod) { return function () { mod.cite = cite; }; }; }; // ---------------------------------------------------------------------------- exports.dateTime = function (mod) { return function () { return mod.dateTime; }; }; exports.setDateTime = function (dateTime) { return function (mod) { return function () { mod.dateTime = dateTime; }; }; }; })(PS["DOM.HTML.HTMLModElement"] = PS["DOM.HTML.HTMLModElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLModElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["cite"] = $foreign.cite; exports["dateTime"] = $foreign.dateTime; exports["setCite"] = $foreign.setCite; exports["setDateTime"] = $foreign.setDateTime; })(PS["DOM.HTML.HTMLModElement"] = PS["DOM.HTML.HTMLModElement"] || {}); (function(exports) { "use strict"; exports.reversed = function (ol) { return function () { return ol.reversed; }; }; exports.setReversed = function (reversed) { return function (ol) { return function () { ol.reversed = reversed; }; }; }; // ---------------------------------------------------------------------------- exports.start = function (ol) { return function () { return ol.start; }; }; exports.setStart = function (start) { return function (ol) { return function () { ol.start = start; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (ol) { return function () { return ol.type; }; }; exports.setType = function (type) { return function (ol) { return function () { ol.type = type; }; }; }; })(PS["DOM.HTML.HTMLOListElement"] = PS["DOM.HTML.HTMLOListElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLOListElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["reversed"] = $foreign.reversed; exports["setReversed"] = $foreign.setReversed; exports["setStart"] = $foreign.setStart; exports["setType"] = $foreign.setType; exports["start"] = $foreign.start; exports["type_"] = $foreign.type_; })(PS["DOM.HTML.HTMLOListElement"] = PS["DOM.HTML.HTMLOListElement"] || {}); (function(exports) { "use strict"; exports.data_ = function (object) { return function () { return object.data; }; }; exports.setData = function (data) { return function (object) { return function () { object.data = data; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (object) { return function () { return object.type; }; }; exports.setType = function (type) { return function (object) { return function () { object.type = type; }; }; }; // ---------------------------------------------------------------------------- exports.typeMustMatch = function (object) { return function () { return object.typeMustMatch; }; }; // ---------------------------------------------------------------------------- exports.name = function (object) { return function () { return object.name; }; }; exports.setName = function (name) { return function (object) { return function () { object.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.useMap = function (object) { return function () { return object.useMap; }; }; exports.setUseMap = function (useMap) { return function (object) { return function () { object.useMap = useMap; }; }; }; // ---------------------------------------------------------------------------- exports._form = function (object) { return function () { return object.form; }; }; // ---------------------------------------------------------------------------- exports.width = function (object) { return function () { return object.width; }; }; exports.setWidth = function (width) { return function (object) { return function () { object.width = width; }; }; }; // ---------------------------------------------------------------------------- exports.height = function (object) { return function () { return object.height; }; }; exports.setHeight = function (height) { return function (object) { return function () { object.height = height; }; }; }; // ---------------------------------------------------------------------------- exports._contentDocument = function (object) { return function () { return object.contentDocument; }; }; // ---------------------------------------------------------------------------- exports.willValidate = function (object) { return function () { return object.willValidate; }; }; // ---------------------------------------------------------------------------- exports.validity = function (object) { return function () { return object.validity; }; }; // ---------------------------------------------------------------------------- exports.validationMessage = function (object) { return function () { return object.validationMessage; }; }; // ---------------------------------------------------------------------------- exports.checkValidity = function (object) { return function () { return object.checkValidity; }; }; // ---------------------------------------------------------------------------- exports.setCustomValidity = function (value) { return function (object) { return function () { object.setCustomValidity(value); }; }; }; })(PS["DOM.HTML.HTMLObjectElement"] = PS["DOM.HTML.HTMLObjectElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLObjectElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; var contentDocument = function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._contentDocument($1)); }; exports["contentDocument"] = contentDocument; exports["form"] = form; exports["checkValidity"] = $foreign.checkValidity; exports["data_"] = $foreign.data_; exports["height"] = $foreign.height; exports["name"] = $foreign.name; exports["setCustomValidity"] = $foreign.setCustomValidity; exports["setData"] = $foreign.setData; exports["setHeight"] = $foreign.setHeight; exports["setName"] = $foreign.setName; exports["setType"] = $foreign.setType; exports["setUseMap"] = $foreign.setUseMap; exports["setWidth"] = $foreign.setWidth; exports["typeMustMatch"] = $foreign.typeMustMatch; exports["type_"] = $foreign.type_; exports["useMap"] = $foreign.useMap; exports["validationMessage"] = $foreign.validationMessage; exports["validity"] = $foreign.validity; exports["width"] = $foreign.width; exports["willValidate"] = $foreign.willValidate; })(PS["DOM.HTML.HTMLObjectElement"] = PS["DOM.HTML.HTMLObjectElement"] || {}); (function(exports) { "use strict"; exports.disabled = function (optgroup) { return function () { return optgroup.disabled; }; }; exports.setDisabled = function (disabled) { return function (optgroup) { return function () { optgroup.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports.label = function (optgroup) { return function () { return optgroup.label; }; }; exports.setLabel = function (label) { return function (optgroup) { return function () { optgroup.label = label; }; }; }; })(PS["DOM.HTML.HTMLOptGroupElement"] = PS["DOM.HTML.HTMLOptGroupElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLOptGroupElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["disabled"] = $foreign.disabled; exports["label"] = $foreign.label; exports["setDisabled"] = $foreign.setDisabled; exports["setLabel"] = $foreign.setLabel; })(PS["DOM.HTML.HTMLOptGroupElement"] = PS["DOM.HTML.HTMLOptGroupElement"] || {}); (function(exports) { "use strict"; exports.disabled = function (option) { return function () { return option.disabled; }; }; exports.setDisabled = function (disabled) { return function (option) { return function () { option.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports._form = function (option) { return function () { return option.form; }; }; // ---------------------------------------------------------------------------- exports.label = function (option) { return function () { return option.label; }; }; exports.setLabel = function (label) { return function (option) { return function () { option.label = label; }; }; }; // ---------------------------------------------------------------------------- exports.defaultSelected = function (option) { return function () { return option.defaultSelected; }; }; exports.setDefaultSelected = function (defaultSelected) { return function (option) { return function () { option.defaultSelected = defaultSelected; }; }; }; // ---------------------------------------------------------------------------- exports.selected = function (option) { return function () { return option.selected; }; }; exports.setSelected = function (selected) { return function (option) { return function () { option.selected = selected; }; }; }; // ---------------------------------------------------------------------------- exports.value = function (option) { return function () { return option.value; }; }; exports.setValue = function (value) { return function (option) { return function () { option.value = value; }; }; }; // ---------------------------------------------------------------------------- exports.text = function (option) { return function () { return option.text; }; }; exports.setText = function (text) { return function (option) { return function () { option.text = text; }; }; }; // ---------------------------------------------------------------------------- exports.index = function (option) { return function () { return option.index; }; }; })(PS["DOM.HTML.HTMLOptionElement"] = PS["DOM.HTML.HTMLOptionElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLOptionElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; exports["form"] = form; exports["defaultSelected"] = $foreign.defaultSelected; exports["disabled"] = $foreign.disabled; exports["index"] = $foreign.index; exports["label"] = $foreign.label; exports["selected"] = $foreign.selected; exports["setDefaultSelected"] = $foreign.setDefaultSelected; exports["setDisabled"] = $foreign.setDisabled; exports["setLabel"] = $foreign.setLabel; exports["setSelected"] = $foreign.setSelected; exports["setText"] = $foreign.setText; exports["setValue"] = $foreign.setValue; exports["text"] = $foreign.text; exports["value"] = $foreign.value; })(PS["DOM.HTML.HTMLOptionElement"] = PS["DOM.HTML.HTMLOptionElement"] || {}); (function(exports) { "use strict"; exports._form = function (output) { return function () { return output.form; }; }; // ---------------------------------------------------------------------------- exports.name = function (output) { return function () { return output.name; }; }; exports.setName = function (name) { return function (output) { return function () { output.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (output) { return function () { return output.type; }; }; // ---------------------------------------------------------------------------- exports.defaultValue = function (output) { return function () { return output.defaultValue; }; }; exports.setDefaultValue = function (defaultValue) { return function (output) { return function () { output.defaultValue = defaultValue; }; }; }; // ---------------------------------------------------------------------------- exports.value = function (output) { return function () { return output.value; }; }; exports.setValue = function (value) { return function (output) { return function () { output.value = value; }; }; }; // ---------------------------------------------------------------------------- exports.willValidate = function (output) { return function () { return output.willValidate; }; }; // ---------------------------------------------------------------------------- exports.validity = function (output) { return function () { return output.validity; }; }; // ---------------------------------------------------------------------------- exports.validationMessage = function (output) { return function () { return output.validationMessage; }; }; // ---------------------------------------------------------------------------- exports.checkValidity = function (output) { return function () { return output.checkValidity; }; }; // ---------------------------------------------------------------------------- exports.setCustomValidity = function (value) { return function (output) { return function () { output.setCustomValidity(value); }; }; }; // ---------------------------------------------------------------------------- exports.labels = function (output) { return function () { return output.labels; }; }; })(PS["DOM.HTML.HTMLOutputElement"] = PS["DOM.HTML.HTMLOutputElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLOutputElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; // [PutForwards=value] readonly attribute DOMSettableTokenList htmlFor; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; exports["form"] = form; exports["checkValidity"] = $foreign.checkValidity; exports["defaultValue"] = $foreign.defaultValue; exports["labels"] = $foreign.labels; exports["name"] = $foreign.name; exports["setCustomValidity"] = $foreign.setCustomValidity; exports["setDefaultValue"] = $foreign.setDefaultValue; exports["setName"] = $foreign.setName; exports["setValue"] = $foreign.setValue; exports["type_"] = $foreign.type_; exports["validationMessage"] = $foreign.validationMessage; exports["validity"] = $foreign.validity; exports["value"] = $foreign.value; exports["willValidate"] = $foreign.willValidate; })(PS["DOM.HTML.HTMLOutputElement"] = PS["DOM.HTML.HTMLOutputElement"] || {}); (function(exports) { "use strict"; exports.name = function (param) { return function () { return param.name; }; }; exports.setName = function (name) { return function (param) { return function () { param.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.value = function (param) { return function () { return param.value; }; }; exports.setValue = function (value) { return function (param) { return function () { param.value = value; }; }; }; })(PS["DOM.HTML.HTMLParamElement"] = PS["DOM.HTML.HTMLParamElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLParamElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["name"] = $foreign.name; exports["setName"] = $foreign.setName; exports["setValue"] = $foreign.setValue; exports["value"] = $foreign.value; })(PS["DOM.HTML.HTMLParamElement"] = PS["DOM.HTML.HTMLParamElement"] || {}); (function(exports) { "use strict"; exports.value = function (progress) { return function () { return progress.value; }; }; exports.setValue = function (value) { return function (progress) { return function () { progress.value = value; }; }; }; // ---------------------------------------------------------------------------- exports.max = function (progress) { return function () { return progress.max; }; }; exports.setMax = function (max) { return function (progress) { return function () { progress.max = max; }; }; }; // ---------------------------------------------------------------------------- exports.position = function (progress) { return function () { return progress.position; }; }; // ---------------------------------------------------------------------------- exports.labels = function (progress) { return function () { return progress.labels; }; }; })(PS["DOM.HTML.HTMLProgressElement"] = PS["DOM.HTML.HTMLProgressElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLProgressElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Prelude = PS["Prelude"]; exports["labels"] = $foreign.labels; exports["max"] = $foreign.max; exports["position"] = $foreign.position; exports["setMax"] = $foreign.setMax; exports["setValue"] = $foreign.setValue; exports["value"] = $foreign.value; })(PS["DOM.HTML.HTMLProgressElement"] = PS["DOM.HTML.HTMLProgressElement"] || {}); (function(exports) { "use strict"; exports.cite = function (quote) { return function () { return quote.cite; }; }; exports.setCite = function (cite) { return function (quote) { return function () { quote.cite = cite; }; }; }; })(PS["DOM.HTML.HTMLQuoteElement"] = PS["DOM.HTML.HTMLQuoteElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLQuoteElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["cite"] = $foreign.cite; exports["setCite"] = $foreign.setCite; })(PS["DOM.HTML.HTMLQuoteElement"] = PS["DOM.HTML.HTMLQuoteElement"] || {}); (function(exports) { "use strict"; exports.src = function (script) { return function () { return script.src; }; }; exports.setSrc = function (src) { return function (script) { return function () { script.src = src; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (script) { return function () { return script.type; }; }; exports.setType = function (type) { return function (script) { return function () { script.type = type; }; }; }; // ---------------------------------------------------------------------------- exports.charset = function (script) { return function () { return script.charset; }; }; exports.setCharset = function (charset) { return function (script) { return function () { script.charset = charset; }; }; }; // ---------------------------------------------------------------------------- exports.async = function (script) { return function () { return script.async; }; }; exports.setAsync = function (async) { return function (script) { return function () { script.async = async; }; }; }; // ---------------------------------------------------------------------------- exports.defer = function (script) { return function () { return script.defer; }; }; exports.setDefer = function (defer) { return function (script) { return function () { script.defer = defer; }; }; }; // ---------------------------------------------------------------------------- exports.crossOrigin = function (script) { return function () { return script.crossOrigin; }; }; exports.setCrossOrigin = function (crossOrigin) { return function (script) { return function () { script.crossOrigin = crossOrigin; }; }; }; // ---------------------------------------------------------------------------- exports.text = function (script) { return function () { return script.text; }; }; exports.setText = function (text) { return function (script) { return function () { script.text = text; }; }; }; })(PS["DOM.HTML.HTMLScriptElement"] = PS["DOM.HTML.HTMLScriptElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLScriptElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["async"] = $foreign.async; exports["charset"] = $foreign.charset; exports["crossOrigin"] = $foreign.crossOrigin; exports["defer"] = $foreign.defer; exports["setAsync"] = $foreign.setAsync; exports["setCharset"] = $foreign.setCharset; exports["setCrossOrigin"] = $foreign.setCrossOrigin; exports["setDefer"] = $foreign.setDefer; exports["setSrc"] = $foreign.setSrc; exports["setText"] = $foreign.setText; exports["setType"] = $foreign.setType; exports["src"] = $foreign.src; exports["text"] = $foreign.text; exports["type_"] = $foreign.type_; })(PS["DOM.HTML.HTMLScriptElement"] = PS["DOM.HTML.HTMLScriptElement"] || {}); (function(exports) { "use strict"; exports.autofocus = function (select) { return function () { return select.autofocus; }; }; exports.setAutofocus = function (autofocus) { return function (select) { return function () { select.autofocus = autofocus; }; }; }; // ---------------------------------------------------------------------------- exports.disabled = function (select) { return function () { return select.disabled; }; }; exports.setDisabled = function (disabled) { return function (select) { return function () { select.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports.multiple = function (select) { return function () { return select.multiple; }; }; exports.setMultiple = function (multiple) { return function (select) { return function () { select.multiple = multiple; }; }; }; // ---------------------------------------------------------------------------- exports._form = function (select) { return function () { return select.form; }; }; // ---------------------------------------------------------------------------- exports.name = function (select) { return function () { return select.name; }; }; exports.setName = function (name) { return function (select) { return function () { select.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.required = function (select) { return function () { return select.required; }; }; exports.setRequired = function (required) { return function (select) { return function () { select.required = required; }; }; }; // ---------------------------------------------------------------------------- exports.size = function (select) { return function () { return select.size; }; }; exports.setSize = function (size) { return function (select) { return function () { select.size = size; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (select) { return function () { return select.type; }; }; // ---------------------------------------------------------------------------- exports.length = function (select) { return function () { return select.length; }; }; exports.setLength = function (length) { return function (select) { return function () { select.length = length; }; }; }; // ---------------------------------------------------------------------------- exports.selectedOptions = function (select) { return function () { return select.selectedOptions; }; }; // ---------------------------------------------------------------------------- exports.selectedIndex = function (select) { return function () { return select.selectedIndex; }; }; exports.setSelectedIndex = function (selectedIndex) { return function (select) { return function () { select.selectedIndex = selectedIndex; }; }; }; // ---------------------------------------------------------------------------- exports.value = function (select) { return function () { return select.value; }; }; exports.setValue = function (value) { return function (select) { return function () { select.value = value; }; }; }; // ---------------------------------------------------------------------------- exports.willValidate = function (select) { return function () { return select.willValidate; }; }; // ---------------------------------------------------------------------------- exports.validity = function (select) { return function () { return select.validity; }; }; // ---------------------------------------------------------------------------- exports.validationMessage = function (select) { return function () { return select.validationMessage; }; }; // ---------------------------------------------------------------------------- exports.checkValidity = function (select) { return function () { return select.checkValidity; }; }; // ---------------------------------------------------------------------------- exports.setCustomValidity = function (value) { return function (select) { return function () { select.setCustomValidity(value); }; }; }; // ---------------------------------------------------------------------------- exports.labels = function (select) { return function () { return select.labels; }; }; })(PS["DOM.HTML.HTMLSelectElement"] = PS["DOM.HTML.HTMLSelectElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLSelectElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; exports["form"] = form; exports["autofocus"] = $foreign.autofocus; exports["checkValidity"] = $foreign.checkValidity; exports["disabled"] = $foreign.disabled; exports["labels"] = $foreign.labels; exports["length"] = $foreign.length; exports["multiple"] = $foreign.multiple; exports["name"] = $foreign.name; exports["required"] = $foreign.required; exports["selectedIndex"] = $foreign.selectedIndex; exports["selectedOptions"] = $foreign.selectedOptions; exports["setAutofocus"] = $foreign.setAutofocus; exports["setCustomValidity"] = $foreign.setCustomValidity; exports["setDisabled"] = $foreign.setDisabled; exports["setLength"] = $foreign.setLength; exports["setMultiple"] = $foreign.setMultiple; exports["setName"] = $foreign.setName; exports["setRequired"] = $foreign.setRequired; exports["setSelectedIndex"] = $foreign.setSelectedIndex; exports["setSize"] = $foreign.setSize; exports["setValue"] = $foreign.setValue; exports["size"] = $foreign.size; exports["type_"] = $foreign.type_; exports["validationMessage"] = $foreign.validationMessage; exports["validity"] = $foreign.validity; exports["value"] = $foreign.value; exports["willValidate"] = $foreign.willValidate; })(PS["DOM.HTML.HTMLSelectElement"] = PS["DOM.HTML.HTMLSelectElement"] || {}); (function(exports) { "use strict"; exports.src = function (source) { return function () { return source.src; }; }; exports.setSrc = function (src) { return function (source) { return function () { source.src = src; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (source) { return function () { return source.type; }; }; exports.setType = function (type) { return function (source) { return function () { source.type = type; }; }; }; // ---------------------------------------------------------------------------- exports.media = function (source) { return function () { return source.media; }; }; exports.setMedia = function (media) { return function (source) { return function () { source.media = media; }; }; }; })(PS["DOM.HTML.HTMLSourceElement"] = PS["DOM.HTML.HTMLSourceElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLSourceElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["media"] = $foreign.media; exports["setMedia"] = $foreign.setMedia; exports["setSrc"] = $foreign.setSrc; exports["setType"] = $foreign.setType; exports["src"] = $foreign.src; exports["type_"] = $foreign.type_; })(PS["DOM.HTML.HTMLSourceElement"] = PS["DOM.HTML.HTMLSourceElement"] || {}); (function(exports) { "use strict"; exports.disabled = function (style) { return function () { return style.disabled; }; }; exports.setDisabled = function (disabled) { return function (style) { return function () { style.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports.media = function (style) { return function () { return style.media; }; }; exports.setMedia = function (media) { return function (style) { return function () { style.media = media; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (style) { return function () { return style.type; }; }; exports.setType = function (type) { return function (style) { return function () { style.type = type; }; }; }; })(PS["DOM.HTML.HTMLStyleElement"] = PS["DOM.HTML.HTMLStyleElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLStyleElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["disabled"] = $foreign.disabled; exports["media"] = $foreign.media; exports["setDisabled"] = $foreign.setDisabled; exports["setMedia"] = $foreign.setMedia; exports["setType"] = $foreign.setType; exports["type_"] = $foreign.type_; })(PS["DOM.HTML.HTMLStyleElement"] = PS["DOM.HTML.HTMLStyleElement"] || {}); (function(exports) { "use strict"; exports.colSpan = function (cell) { return function () { return cell.colSpan; }; }; exports.setColSpan = function (colSpan) { return function (cell) { return function () { cell.colSpan = colSpan; }; }; }; // ---------------------------------------------------------------------------- exports.rowSpan = function (cell) { return function () { return cell.rowSpan; }; }; exports.setRowSpan = function (rowSpan) { return function (cell) { return function () { cell.rowSpan = rowSpan; }; }; }; // ---------------------------------------------------------------------------- exports.cellIndex = function (cell) { return function () { return cell.cellIndex; }; }; })(PS["DOM.HTML.HTMLTableCellElement"] = PS["DOM.HTML.HTMLTableCellElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTableCellElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["cellIndex"] = $foreign.cellIndex; exports["colSpan"] = $foreign.colSpan; exports["rowSpan"] = $foreign.rowSpan; exports["setColSpan"] = $foreign.setColSpan; exports["setRowSpan"] = $foreign.setRowSpan; })(PS["DOM.HTML.HTMLTableCellElement"] = PS["DOM.HTML.HTMLTableCellElement"] || {}); (function(exports) { "use strict"; exports.span = function (col) { return function () { return col.span; }; }; exports.setSpan = function (span) { return function (col) { return function () { col.span = span; }; }; }; })(PS["DOM.HTML.HTMLTableColElement"] = PS["DOM.HTML.HTMLTableColElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTableColElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["setSpan"] = $foreign.setSpan; exports["span"] = $foreign.span; })(PS["DOM.HTML.HTMLTableColElement"] = PS["DOM.HTML.HTMLTableColElement"] || {}); (function(exports) { "use strict"; exports._caption = function (table) { return function () { return table.caption; }; }; exports._setCaption = function (caption) { return function (table) { return function () { table.caption = caption; }; }; }; // ---------------------------------------------------------------------------- exports.createCaption = function (table) { return function () { return table.createCaption(); }; }; // ---------------------------------------------------------------------------- exports.deleteCaption = function (table) { return function () { table.deleteCaption(); }; }; // ---------------------------------------------------------------------------- exports._tHead = function (table) { return function () { return table.tHead; }; }; exports._setTHead = function (tHead) { return function (table) { return function () { table.tHead = tHead; }; }; }; // ---------------------------------------------------------------------------- exports.createTHead = function (table) { return function () { return table.createTHead(); }; }; // ---------------------------------------------------------------------------- exports.deleteTHead = function (table) { return function () { table.deleteTHead(); }; }; // ---------------------------------------------------------------------------- exports._tFoot = function (table) { return function () { return table.tFoot; }; }; exports._setTFoot = function (tFoot) { return function (table) { return function () { table.tFoot = tFoot; }; }; }; // ---------------------------------------------------------------------------- exports.createTFoot = function (table) { return function () { return table.createTFoot(); }; }; // ---------------------------------------------------------------------------- exports.deleteTFoot = function (table) { return function () { table.deleteTFoot(); }; }; // ---------------------------------------------------------------------------- exports.tBodies = function (table) { return function () { return table.tBodies; }; }; // ---------------------------------------------------------------------------- exports.createTBody = function (table) { return function () { return table.createTBody(); }; }; // ---------------------------------------------------------------------------- exports.rows = function (table) { return function () { return table.rows; }; }; // ---------------------------------------------------------------------------- exports["insertRow'"] = function (index) { return function (table) { return function () { return table.insertRow(index); }; }; }; // ---------------------------------------------------------------------------- exports.deleteRow = function (index) { return function (table) { return function () { table.deleteRow(index); }; }; }; // ---------------------------------------------------------------------------- exports.border = function (table) { return function () { return table.border; }; }; exports.setBorder = function (border) { return function (table) { return function () { table.border = border; }; }; }; })(PS["DOM.HTML.HTMLTableElement"] = PS["DOM.HTML.HTMLTableElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTableElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Data_Ring = PS["Data.Ring"]; var Prelude = PS["Prelude"]; var tHead = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._tHead($0)); }; var tFoot = function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._tFoot($1)); }; var setTHead = function ($2) { return $foreign._setTHead(Data_Nullable.toNullable($2)); }; var setTFoot = function ($3) { return $foreign._setTFoot(Data_Nullable.toNullable($3)); }; var setCaption = function ($4) { return $foreign._setCaption(Data_Nullable.toNullable($4)); }; var insertRow = $foreign["insertRow'"](-1 | 0); var caption = function ($5) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._caption($5)); }; exports["caption"] = caption; exports["insertRow"] = insertRow; exports["setCaption"] = setCaption; exports["setTFoot"] = setTFoot; exports["setTHead"] = setTHead; exports["tFoot"] = tFoot; exports["tHead"] = tHead; exports["border"] = $foreign.border; exports["createCaption"] = $foreign.createCaption; exports["createTBody"] = $foreign.createTBody; exports["createTFoot"] = $foreign.createTFoot; exports["createTHead"] = $foreign.createTHead; exports["deleteCaption"] = $foreign.deleteCaption; exports["deleteRow"] = $foreign.deleteRow; exports["deleteTFoot"] = $foreign.deleteTFoot; exports["deleteTHead"] = $foreign.deleteTHead; exports["insertRow'"] = $foreign["insertRow'"]; exports["rows"] = $foreign.rows; exports["setBorder"] = $foreign.setBorder; exports["tBodies"] = $foreign.tBodies; })(PS["DOM.HTML.HTMLTableElement"] = PS["DOM.HTML.HTMLTableElement"] || {}); (function(exports) { "use strict"; exports.scope = function (cell) { return function () { return cell.scope; }; }; exports.setScope = function (scope) { return function (cell) { return function () { cell.scope = scope; }; }; }; // ---------------------------------------------------------------------------- exports.abbr = function (cell) { return function () { return cell.abbr; }; }; exports.setAbbr = function (abbr) { return function (cell) { return function () { cell.abbr = abbr; }; }; }; })(PS["DOM.HTML.HTMLTableHeaderCellElement"] = PS["DOM.HTML.HTMLTableHeaderCellElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTableHeaderCellElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["abbr"] = $foreign.abbr; exports["scope"] = $foreign.scope; exports["setAbbr"] = $foreign.setAbbr; exports["setScope"] = $foreign.setScope; })(PS["DOM.HTML.HTMLTableHeaderCellElement"] = PS["DOM.HTML.HTMLTableHeaderCellElement"] || {}); (function(exports) { "use strict"; exports.rowIndex = function (row) { return function () { return row.rowIndex; }; }; // ---------------------------------------------------------------------------- exports.sectionRowIndex = function (row) { return function () { return row.sectionRowIndex; }; }; // ---------------------------------------------------------------------------- exports.cells = function (row) { return function () { return row.cells; }; }; // ---------------------------------------------------------------------------- exports.cells = function (row) { return function () { return row.cells; }; }; // ---------------------------------------------------------------------------- exports["insertCell'"] = function (index) { return function (row) { return function () { return row.insertCell(index); }; }; }; // ---------------------------------------------------------------------------- exports.deleteCell = function (index) { return function (row) { return function () { row.deleteCell(index); }; }; }; })(PS["DOM.HTML.HTMLTableRowElement"] = PS["DOM.HTML.HTMLTableRowElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTableRowElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Ring = PS["Data.Ring"]; var Prelude = PS["Prelude"]; var insertCell = $foreign["insertCell'"](-1 | 0); exports["insertCell"] = insertCell; exports["cells"] = $foreign.cells; exports["deleteCell"] = $foreign.deleteCell; exports["insertCell'"] = $foreign["insertCell'"]; exports["rowIndex"] = $foreign.rowIndex; exports["sectionRowIndex"] = $foreign.sectionRowIndex; })(PS["DOM.HTML.HTMLTableRowElement"] = PS["DOM.HTML.HTMLTableRowElement"] || {}); (function(exports) { "use strict"; exports.rows = function (section) { return function () { return section.rows; }; }; // ---------------------------------------------------------------------------- exports["insertRow'"] = function (index) { return function (section) { return function () { return section.insertRow(index); }; }; }; // ---------------------------------------------------------------------------- exports.deleteRow = function (index) { return function (section) { return function () { section.deleteRow(index); }; }; }; })(PS["DOM.HTML.HTMLTableSectionElement"] = PS["DOM.HTML.HTMLTableSectionElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTableSectionElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Ring = PS["Data.Ring"]; var Prelude = PS["Prelude"]; var insertRow = $foreign["insertRow'"](-1 | 0); exports["insertRow"] = insertRow; exports["deleteRow"] = $foreign.deleteRow; exports["insertRow'"] = $foreign["insertRow'"]; exports["rows"] = $foreign.rows; })(PS["DOM.HTML.HTMLTableSectionElement"] = PS["DOM.HTML.HTMLTableSectionElement"] || {}); (function(exports) { "use strict"; exports.content = function (template) { return function () { return template.content; }; }; })(PS["DOM.HTML.HTMLTemplateElement"] = PS["DOM.HTML.HTMLTemplateElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTemplateElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; exports["content"] = $foreign.content; })(PS["DOM.HTML.HTMLTemplateElement"] = PS["DOM.HTML.HTMLTemplateElement"] || {}); (function(exports) { "use strict"; exports.autocomplete = function (textarea) { return function () { return textarea.autocomplete; }; }; exports.setAutocomplete = function (autocomplete) { return function (textarea) { return function () { textarea.autocomplete = autocomplete; }; }; }; // ---------------------------------------------------------------------------- exports.autofocus = function (textarea) { return function () { return textarea.autofocus; }; }; exports.setAutofocus = function (autofocus) { return function (textarea) { return function () { textarea.autofocus = autofocus; }; }; }; // ---------------------------------------------------------------------------- exports.cols = function (textarea) { return function () { return textarea.cols; }; }; exports.setCols = function (cols) { return function (textarea) { return function () { textarea.cols = cols; }; }; }; // ---------------------------------------------------------------------------- exports.dirName = function (textarea) { return function () { return textarea.dirName; }; }; exports.setDirName = function (dirName) { return function (textarea) { return function () { textarea.dirName = dirName; }; }; }; // ---------------------------------------------------------------------------- exports.disabled = function (textarea) { return function () { return textarea.disabled; }; }; exports.setDisabled = function (disabled) { return function (textarea) { return function () { textarea.disabled = disabled; }; }; }; // ---------------------------------------------------------------------------- exports._form = function (textarea) { return function () { return textarea.form; }; }; // ---------------------------------------------------------------------------- exports.maxLength = function (textarea) { return function () { return textarea.maxLength; }; }; exports.setMaxLength = function (maxLength) { return function (textarea) { return function () { textarea.maxLength = maxLength; }; }; }; // ---------------------------------------------------------------------------- exports.minLength = function (textarea) { return function () { return textarea.minLength; }; }; exports.setMinLength = function (minLength) { return function (textarea) { return function () { textarea.minLength = minLength; }; }; }; // ---------------------------------------------------------------------------- exports.name = function (textarea) { return function () { return textarea.name; }; }; exports.setName = function (name) { return function (textarea) { return function () { textarea.name = name; }; }; }; // ---------------------------------------------------------------------------- exports.placeholder = function (textarea) { return function () { return textarea.placeholder; }; }; exports.setPlaceholder = function (placeholder) { return function (textarea) { return function () { textarea.placeholder = placeholder; }; }; }; // ---------------------------------------------------------------------------- exports.readOnly = function (textarea) { return function () { return textarea.readOnly; }; }; exports.setReadOnly = function (readOnly) { return function (textarea) { return function () { textarea.readOnly = readOnly; }; }; }; // ---------------------------------------------------------------------------- exports.required = function (textarea) { return function () { return textarea.required; }; }; exports.setRequired = function (required) { return function (textarea) { return function () { textarea.required = required; }; }; }; // ---------------------------------------------------------------------------- exports.rows = function (textarea) { return function () { return textarea.rows; }; }; exports.setRows = function (rows) { return function (textarea) { return function () { textarea.rows = rows; }; }; }; // ---------------------------------------------------------------------------- exports.wrap = function (textarea) { return function () { return textarea.wrap; }; }; exports.setWrap = function (wrap) { return function (textarea) { return function () { textarea.wrap = wrap; }; }; }; // ---------------------------------------------------------------------------- exports.type_ = function (textarea) { return function () { return textarea.type; }; }; // ---------------------------------------------------------------------------- exports.defaultValue = function (textarea) { return function () { return textarea.defaultValue; }; }; exports.setDefaultValue = function (defaultValue) { return function (textarea) { return function () { textarea.defaultValue = defaultValue; }; }; }; // ---------------------------------------------------------------------------- exports.value = function (textarea) { return function () { return textarea.value; }; }; exports.setValue = function (value) { return function (textarea) { return function () { textarea.value = value; }; }; }; // ---------------------------------------------------------------------------- exports.textLength = function (textarea) { return function () { return textarea.textLength; }; }; // ---------------------------------------------------------------------------- exports.willValidate = function (textarea) { return function () { return textarea.willValidate; }; }; // ---------------------------------------------------------------------------- exports.validity = function (textarea) { return function () { return textarea.validity; }; }; // ---------------------------------------------------------------------------- exports.validationMessage = function (textarea) { return function () { return textarea.validationMessage; }; }; // ---------------------------------------------------------------------------- exports.checkValidity = function (textarea) { return function () { return textarea.checkValidity; }; }; // ---------------------------------------------------------------------------- exports.setCustomValidity = function (value) { return function (textarea) { return function () { textarea.setCustomValidity(value); }; }; }; // ---------------------------------------------------------------------------- exports.labels = function (textarea) { return function () { return textarea.labels; }; }; // ---------------------------------------------------------------------------- exports.select = function (textarea) { return function () { textarea.select(); }; }; // ---------------------------------------------------------------------------- exports.selectionStart = function (textarea) { return function () { return textarea.selectionStart; }; }; exports.setSelectionStart = function (selectionStart) { return function (textarea) { return function () { textarea.selectionStart = selectionStart; }; }; }; // ---------------------------------------------------------------------------- exports.selectionEnd = function (textarea) { return function () { return textarea.selectionEnd; }; }; exports.setSelectionEnd = function (selectionEnd) { return function (textarea) { return function () { textarea.selectionEnd = selectionEnd; }; }; }; // ---------------------------------------------------------------------------- exports.selectionDirection = function (textarea) { return function () { return textarea.selectionDirection; }; }; exports.setSelectionDirection = function (selectionDirection) { return function (textarea) { return function () { textarea.selectionDirection = selectionDirection; }; }; }; // ---------------------------------------------------------------------------- exports.setRangeText = function (replacement) { return function (textarea) { return function () { textarea.setRangeText(replacement); }; }; }; exports["setRangeText'"] = function (replacement) { return function (start) { return function (end) { return function (selectionMode) { return function (textarea) { return function () { textarea.setRangeText(replacement, start, end, selectionMode); }; }; }; }; }; }; // ---------------------------------------------------------------------------- exports.setSelectionRange = function (start) { return function (end) { return function (direction) { return function (textarea) { return function () { textarea.setSelectionRange(start, end, direction); }; }; }; }; }; })(PS["DOM.HTML.HTMLTextAreaElement"] = PS["DOM.HTML.HTMLTextAreaElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTextAreaElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_SelectionMode = PS["DOM.HTML.SelectionMode"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var form = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._form($0)); }; exports["form"] = form; exports["autocomplete"] = $foreign.autocomplete; exports["autofocus"] = $foreign.autofocus; exports["checkValidity"] = $foreign.checkValidity; exports["cols"] = $foreign.cols; exports["defaultValue"] = $foreign.defaultValue; exports["dirName"] = $foreign.dirName; exports["disabled"] = $foreign.disabled; exports["labels"] = $foreign.labels; exports["maxLength"] = $foreign.maxLength; exports["minLength"] = $foreign.minLength; exports["name"] = $foreign.name; exports["placeholder"] = $foreign.placeholder; exports["readOnly"] = $foreign.readOnly; exports["required"] = $foreign.required; exports["rows"] = $foreign.rows; exports["select"] = $foreign.select; exports["selectionDirection"] = $foreign.selectionDirection; exports["selectionEnd"] = $foreign.selectionEnd; exports["selectionStart"] = $foreign.selectionStart; exports["setAutocomplete"] = $foreign.setAutocomplete; exports["setAutofocus"] = $foreign.setAutofocus; exports["setCols"] = $foreign.setCols; exports["setCustomValidity"] = $foreign.setCustomValidity; exports["setDefaultValue"] = $foreign.setDefaultValue; exports["setDirName"] = $foreign.setDirName; exports["setDisabled"] = $foreign.setDisabled; exports["setMaxLength"] = $foreign.setMaxLength; exports["setMinLength"] = $foreign.setMinLength; exports["setName"] = $foreign.setName; exports["setPlaceholder"] = $foreign.setPlaceholder; exports["setRangeText"] = $foreign.setRangeText; exports["setRangeText'"] = $foreign["setRangeText'"]; exports["setReadOnly"] = $foreign.setReadOnly; exports["setRequired"] = $foreign.setRequired; exports["setRows"] = $foreign.setRows; exports["setSelectionDirection"] = $foreign.setSelectionDirection; exports["setSelectionEnd"] = $foreign.setSelectionEnd; exports["setSelectionRange"] = $foreign.setSelectionRange; exports["setSelectionStart"] = $foreign.setSelectionStart; exports["setValue"] = $foreign.setValue; exports["setWrap"] = $foreign.setWrap; exports["textLength"] = $foreign.textLength; exports["type_"] = $foreign.type_; exports["validationMessage"] = $foreign.validationMessage; exports["validity"] = $foreign.validity; exports["value"] = $foreign.value; exports["willValidate"] = $foreign.willValidate; exports["wrap"] = $foreign.wrap; })(PS["DOM.HTML.HTMLTextAreaElement"] = PS["DOM.HTML.HTMLTextAreaElement"] || {}); (function(exports) { "use strict"; exports.dateTime = function (time) { return function () { return time.dateTime; }; }; exports.setDateTime = function (dateTime) { return function (time) { return function () { time.dateTime = dateTime; }; }; }; })(PS["DOM.HTML.HTMLTimeElement"] = PS["DOM.HTML.HTMLTimeElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTimeElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["dateTime"] = $foreign.dateTime; exports["setDateTime"] = $foreign.setDateTime; })(PS["DOM.HTML.HTMLTimeElement"] = PS["DOM.HTML.HTMLTimeElement"] || {}); (function(exports) { "use strict"; exports.text = function (title) { return function () { return title.text; }; }; exports.setText = function (text) { return function (title) { return function () { title.text = text; }; }; }; })(PS["DOM.HTML.HTMLTitleElement"] = PS["DOM.HTML.HTMLTitleElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTitleElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["setText"] = $foreign.setText; exports["text"] = $foreign.text; })(PS["DOM.HTML.HTMLTitleElement"] = PS["DOM.HTML.HTMLTitleElement"] || {}); (function(exports) { "use strict"; exports.kind = function (track) { return function () { return track.kind; }; }; exports.setKind = function (kind) { return function (track) { return function () { track.kind = kind; }; }; }; // ---------------------------------------------------------------------------- exports.src = function (track) { return function () { return track.src; }; }; exports.setSrc = function (src) { return function (track) { return function () { track.src = src; }; }; }; // ---------------------------------------------------------------------------- exports.srclang = function (track) { return function () { return track.srclang; }; }; exports.setSrclang = function (srclang) { return function (track) { return function () { track.srclang = srclang; }; }; }; // ---------------------------------------------------------------------------- exports.label = function (track) { return function () { return track.label; }; }; exports.setLabel = function (label) { return function (track) { return function () { track.label = label; }; }; }; // ---------------------------------------------------------------------------- exports["default"] = function (track) { return function () { return track["default"]; }; }; exports.setDefault = function (def) { return function (track) { return function () { track["default"] = def; }; }; }; // ---------------------------------------------------------------------------- exports.readyStateIndex = function (track) { return function () { return track.readyState; }; }; })(PS["DOM.HTML.HTMLTrackElement"] = PS["DOM.HTML.HTMLTrackElement"] || {}); (function(exports) { "use strict"; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var NONE = (function () { function NONE() { }; NONE.value = new NONE(); return NONE; })(); var LOADING = (function () { function LOADING() { }; LOADING.value = new LOADING(); return LOADING; })(); var LOADED = (function () { function LOADED() { }; LOADED.value = new LOADED(); return LOADED; })(); var ERROR = (function () { function ERROR() { }; ERROR.value = new ERROR(); return ERROR; })(); var toEnumReadyState = function (v) { if (v === 0) { return new Data_Maybe.Just(NONE.value); }; if (v === 1) { return new Data_Maybe.Just(LOADING.value); }; if (v === 2) { return new Data_Maybe.Just(LOADED.value); }; if (v === 3) { return new Data_Maybe.Just(ERROR.value); }; return Data_Maybe.Nothing.value; }; var showReadyState = new Data_Show.Show(function (v) { if (v instanceof NONE) { return "NONE"; }; if (v instanceof LOADING) { return "LOADING"; }; if (v instanceof LOADED) { return "LOADED"; }; if (v instanceof ERROR) { return "ERROR"; }; throw new Error("Failed pattern match at DOM.HTML.HTMLTrackElement.ReadyState line 29, column 1 - line 29, column 43: " + [ v.constructor.name ]); }); var fromEnumReadyState = function (v) { if (v instanceof NONE) { return 0; }; if (v instanceof LOADING) { return 1; }; if (v instanceof LOADED) { return 2; }; if (v instanceof ERROR) { return 3; }; throw new Error("Failed pattern match at DOM.HTML.HTMLTrackElement.ReadyState line 46, column 3 - line 50, column 14: " + [ v.constructor.name ]); }; var eqReadyState = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof NONE && y instanceof NONE) { return true; }; if (x instanceof LOADING && y instanceof LOADING) { return true; }; if (x instanceof LOADED && y instanceof LOADED) { return true; }; if (x instanceof ERROR && y instanceof ERROR) { return true; }; return false; }; }); var ordReadyState = new Data_Ord.Ord(function () { return eqReadyState; }, function (x) { return function (y) { if (x instanceof NONE && y instanceof NONE) { return Data_Ordering.EQ.value; }; if (x instanceof NONE) { return Data_Ordering.LT.value; }; if (y instanceof NONE) { return Data_Ordering.GT.value; }; if (x instanceof LOADING && y instanceof LOADING) { return Data_Ordering.EQ.value; }; if (x instanceof LOADING) { return Data_Ordering.LT.value; }; if (y instanceof LOADING) { return Data_Ordering.GT.value; }; if (x instanceof LOADED && y instanceof LOADED) { return Data_Ordering.EQ.value; }; if (x instanceof LOADED) { return Data_Ordering.LT.value; }; if (y instanceof LOADED) { return Data_Ordering.GT.value; }; if (x instanceof ERROR && y instanceof ERROR) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at DOM.HTML.HTMLTrackElement.ReadyState line 14, column 8 - line 14, column 48: " + [ x.constructor.name, y.constructor.name ]); }; }); var enumReadyState = new Data_Enum.Enum(function () { return ordReadyState; }, Data_Enum.defaultPred(toEnumReadyState)(fromEnumReadyState), Data_Enum.defaultSucc(toEnumReadyState)(fromEnumReadyState)); var boundedReadyState = new Data_Bounded.Bounded(function () { return ordReadyState; }, NONE.value, ERROR.value); var boundedEnumReadyState = new Data_Enum.BoundedEnum(function () { return boundedReadyState; }, function () { return enumReadyState; }, 4, fromEnumReadyState, toEnumReadyState); exports["NONE"] = NONE; exports["LOADING"] = LOADING; exports["LOADED"] = LOADED; exports["ERROR"] = ERROR; exports["fromEnumReadyState"] = fromEnumReadyState; exports["toEnumReadyState"] = toEnumReadyState; exports["eqReadyState"] = eqReadyState; exports["ordReadyState"] = ordReadyState; exports["boundedReadyState"] = boundedReadyState; exports["enumReadyState"] = enumReadyState; exports["boundedEnumReadyState"] = boundedEnumReadyState; exports["showReadyState"] = showReadyState; })(PS["DOM.HTML.HTMLTrackElement.ReadyState"] = PS["DOM.HTML.HTMLTrackElement.ReadyState"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLTrackElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_HTMLTrackElement_ReadyState = PS["DOM.HTML.HTMLTrackElement.ReadyState"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Enum = PS["Data.Enum"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Prelude = PS["Prelude"]; var readyState = function (dictPartial) { return function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(function ($2) { return Data_Maybe.fromJust(dictPartial)(Data_Enum.toEnum(DOM_HTML_HTMLTrackElement_ReadyState.boundedEnumReadyState)($2)); })($foreign.readyStateIndex($1)); }; }; exports["readyState"] = readyState; exports["default"] = $foreign["default"]; exports["kind"] = $foreign.kind; exports["label"] = $foreign.label; exports["readyStateIndex"] = $foreign.readyStateIndex; exports["setDefault"] = $foreign.setDefault; exports["setKind"] = $foreign.setKind; exports["setLabel"] = $foreign.setLabel; exports["setSrc"] = $foreign.setSrc; exports["setSrclang"] = $foreign.setSrclang; exports["src"] = $foreign.src; exports["srclang"] = $foreign.srclang; })(PS["DOM.HTML.HTMLTrackElement"] = PS["DOM.HTML.HTMLTrackElement"] || {}); (function(exports) { "use strict"; // ---------------------------------------------------------------------------- exports.width = function (video) { return function () { return video.width; }; }; exports.setWidth = function (width) { return function (video) { return function () { video.width = width; }; }; }; // ---------------------------------------------------------------------------- exports.height = function (video) { return function () { return video.height; }; }; exports.setHeight = function (height) { return function (video) { return function () { video.height = height; }; }; }; // ---------------------------------------------------------------------------- exports.videoWidth = function (video) { return function () { return video.videoWidth; }; }; // ---------------------------------------------------------------------------- exports.videoHeight = function (video) { return function () { return video.videoHeight; }; }; // ---------------------------------------------------------------------------- exports.poster = function (video) { return function () { return video.poster; }; }; exports.setPoster = function (poster) { return function (video) { return function () { video.poster = poster; }; }; }; })(PS["DOM.HTML.HTMLVideoElement"] = PS["DOM.HTML.HTMLVideoElement"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.HTMLVideoElement"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["height"] = $foreign.height; exports["poster"] = $foreign.poster; exports["setHeight"] = $foreign.setHeight; exports["setPoster"] = $foreign.setPoster; exports["setWidth"] = $foreign.setWidth; exports["videoHeight"] = $foreign.videoHeight; exports["videoWidth"] = $foreign.videoWidth; exports["width"] = $foreign.width; })(PS["DOM.HTML.HTMLVideoElement"] = PS["DOM.HTML.HTMLVideoElement"] || {}); (function(exports) { "use strict"; exports.back = function(history) { return function() { return history.back(); }; }; exports.forward = function(history) { return function() { return history.forward(); }; }; exports.go = function(delta) { return function(history) { return function() { return history.go(delta); }; }; }; exports.pushState = function(a) { return function(docTitle) { return function(url) { return function(history) { return function() { return history.pushState(a, docTitle, url); }; }; }; }; }; exports.replaceState = function(a) { return function(docTitle) { return function(url) { return function(history) { return function() { return history.replaceState(a, docTitle, url); }; }; }; }; }; exports.state = function(history) { return function() { return history.state; }; }; })(PS["DOM.HTML.History"] = PS["DOM.HTML.History"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.History"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; var URL = function (x) { return x; }; // DocumentTitle will set value of `document.title` var DocumentTitle = function (x) { return x; }; var Delta = function (x) { return x; }; var newtypeURL = new Data_Newtype.Newtype(function (n) { return n; }, URL); var newtypeDocumentTitle = new Data_Newtype.Newtype(function (n) { return n; }, DocumentTitle); var newtypeDelta = new Data_Newtype.Newtype(function (n) { return n; }, Delta); var eqURL = new Data_Eq.Eq(function (x) { return function (y) { return x === y; }; }); var ordURL = new Data_Ord.Ord(function () { return eqURL; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordString)(x)(y); }; }); var eqDocumentTitle = new Data_Eq.Eq(function (x) { return function (y) { return x === y; }; }); var ordDocumentTitle = new Data_Ord.Ord(function () { return eqDocumentTitle; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordString)(x)(y); }; }); var eqDelta = new Data_Eq.Eq(function (x) { return function (y) { return x === y; }; }); var ordDelta = new Data_Ord.Ord(function () { return eqDelta; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordInt)(x)(y); }; }); exports["Delta"] = Delta; exports["DocumentTitle"] = DocumentTitle; exports["URL"] = URL; exports["eqDocumentTitle"] = eqDocumentTitle; exports["ordDocumentTitle"] = ordDocumentTitle; exports["newtypeDocumentTitle"] = newtypeDocumentTitle; exports["eqDelta"] = eqDelta; exports["ordDelta"] = ordDelta; exports["newtypeDelta"] = newtypeDelta; exports["eqURL"] = eqURL; exports["ordURL"] = ordURL; exports["newtypeURL"] = newtypeURL; exports["back"] = $foreign.back; exports["forward"] = $foreign.forward; exports["go"] = $foreign.go; exports["pushState"] = $foreign.pushState; exports["replaceState"] = $foreign.replaceState; exports["state"] = $foreign.state; })(PS["DOM.HTML.History"] = PS["DOM.HTML.History"] || {}); (function(exports) { "use strict"; var ButtonButton = (function () { function ButtonButton() { }; ButtonButton.value = new ButtonButton(); return ButtonButton; })(); var ButtonSubmit = (function () { function ButtonSubmit() { }; ButtonSubmit.value = new ButtonSubmit(); return ButtonSubmit; })(); var ButtonReset = (function () { function ButtonReset() { }; ButtonReset.value = new ButtonReset(); return ButtonReset; })(); var renderButtonType = function (v) { if (v instanceof ButtonButton) { return "button"; }; if (v instanceof ButtonSubmit) { return "submit"; }; if (v instanceof ButtonReset) { return "reset"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.ButtonType line 9, column 20 - line 12, column 18: " + [ v.constructor.name ]); }; exports["ButtonButton"] = ButtonButton; exports["ButtonSubmit"] = ButtonSubmit; exports["ButtonReset"] = ButtonReset; exports["renderButtonType"] = renderButtonType; })(PS["DOM.HTML.Indexed.ButtonType"] = PS["DOM.HTML.Indexed.ButtonType"] || {}); (function(exports) { "use strict"; var Anonymous = (function () { function Anonymous() { }; Anonymous.value = new Anonymous(); return Anonymous; })(); var UseCredentials = (function () { function UseCredentials() { }; UseCredentials.value = new UseCredentials(); return UseCredentials; })(); var renderCrossOriginValue = function (v) { if (v instanceof Anonymous) { return "anonymous"; }; if (v instanceof UseCredentials) { return "use-credentials"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.CrossOriginValue line 8, column 26 - line 10, column 21: " + [ v.constructor.name ]); }; exports["Anonymous"] = Anonymous; exports["UseCredentials"] = UseCredentials; exports["renderCrossOriginValue"] = renderCrossOriginValue; })(PS["DOM.HTML.Indexed.CrossOriginValue"] = PS["DOM.HTML.Indexed.CrossOriginValue"] || {}); (function(exports) { "use strict"; var DirLTR = (function () { function DirLTR() { }; DirLTR.value = new DirLTR(); return DirLTR; })(); var DirRTL = (function () { function DirRTL() { }; DirRTL.value = new DirRTL(); return DirRTL; })(); var DirAuto = (function () { function DirAuto() { }; DirAuto.value = new DirAuto(); return DirAuto; })(); var renderDirValue = function (v) { if (v instanceof DirLTR) { return "ltr"; }; if (v instanceof DirRTL) { return "rtl"; }; if (v instanceof DirAuto) { return "auto"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.DirValue line 9, column 18 - line 12, column 14: " + [ v.constructor.name ]); }; exports["DirLTR"] = DirLTR; exports["DirRTL"] = DirRTL; exports["DirAuto"] = DirAuto; exports["renderDirValue"] = renderDirValue; })(PS["DOM.HTML.Indexed.DirValue"] = PS["DOM.HTML.Indexed.DirValue"] || {}); (function(exports) { "use strict"; var POST = (function () { function POST() { }; POST.value = new POST(); return POST; })(); var GET = (function () { function GET() { }; GET.value = new GET(); return GET; })(); var renderFormMethod = function (v) { if (v instanceof POST) { return "post"; }; if (v instanceof GET) { return "get"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.FormMethod line 8, column 20 - line 10, column 10: " + [ v.constructor.name ]); }; exports["POST"] = POST; exports["GET"] = GET; exports["renderFormMethod"] = renderFormMethod; })(PS["DOM.HTML.Indexed.FormMethod"] = PS["DOM.HTML.Indexed.FormMethod"] || {}); (function(exports) { "use strict"; var InputButton = (function () { function InputButton() { }; InputButton.value = new InputButton(); return InputButton; })(); var InputCheckbox = (function () { function InputCheckbox() { }; InputCheckbox.value = new InputCheckbox(); return InputCheckbox; })(); var InputColor = (function () { function InputColor() { }; InputColor.value = new InputColor(); return InputColor; })(); var InputDate = (function () { function InputDate() { }; InputDate.value = new InputDate(); return InputDate; })(); var InputDatetime = (function () { function InputDatetime() { }; InputDatetime.value = new InputDatetime(); return InputDatetime; })(); var InputDatetimeLocal = (function () { function InputDatetimeLocal() { }; InputDatetimeLocal.value = new InputDatetimeLocal(); return InputDatetimeLocal; })(); var InputEmail = (function () { function InputEmail() { }; InputEmail.value = new InputEmail(); return InputEmail; })(); var InputFile = (function () { function InputFile() { }; InputFile.value = new InputFile(); return InputFile; })(); var InputHidden = (function () { function InputHidden() { }; InputHidden.value = new InputHidden(); return InputHidden; })(); var InputImage = (function () { function InputImage() { }; InputImage.value = new InputImage(); return InputImage; })(); var InputMonth = (function () { function InputMonth() { }; InputMonth.value = new InputMonth(); return InputMonth; })(); var InputNumber = (function () { function InputNumber() { }; InputNumber.value = new InputNumber(); return InputNumber; })(); var InputPassword = (function () { function InputPassword() { }; InputPassword.value = new InputPassword(); return InputPassword; })(); var InputRadio = (function () { function InputRadio() { }; InputRadio.value = new InputRadio(); return InputRadio; })(); var InputRange = (function () { function InputRange() { }; InputRange.value = new InputRange(); return InputRange; })(); var InputReset = (function () { function InputReset() { }; InputReset.value = new InputReset(); return InputReset; })(); var InputSearch = (function () { function InputSearch() { }; InputSearch.value = new InputSearch(); return InputSearch; })(); var InputSubmit = (function () { function InputSubmit() { }; InputSubmit.value = new InputSubmit(); return InputSubmit; })(); var InputTel = (function () { function InputTel() { }; InputTel.value = new InputTel(); return InputTel; })(); var InputText = (function () { function InputText() { }; InputText.value = new InputText(); return InputText; })(); var InputTime = (function () { function InputTime() { }; InputTime.value = new InputTime(); return InputTime; })(); var InputUrl = (function () { function InputUrl() { }; InputUrl.value = new InputUrl(); return InputUrl; })(); var InputWeek = (function () { function InputWeek() { }; InputWeek.value = new InputWeek(); return InputWeek; })(); var renderInputType = function (v) { if (v instanceof InputButton) { return "button"; }; if (v instanceof InputCheckbox) { return "checkbox"; }; if (v instanceof InputColor) { return "color"; }; if (v instanceof InputDate) { return "date"; }; if (v instanceof InputDatetime) { return "datetime"; }; if (v instanceof InputDatetimeLocal) { return "datetime-local"; }; if (v instanceof InputEmail) { return "email"; }; if (v instanceof InputFile) { return "file"; }; if (v instanceof InputHidden) { return "hidden"; }; if (v instanceof InputImage) { return "image"; }; if (v instanceof InputMonth) { return "month"; }; if (v instanceof InputNumber) { return "number"; }; if (v instanceof InputPassword) { return "password"; }; if (v instanceof InputRadio) { return "radio"; }; if (v instanceof InputRange) { return "range"; }; if (v instanceof InputReset) { return "reset"; }; if (v instanceof InputSearch) { return "search"; }; if (v instanceof InputSubmit) { return "submit"; }; if (v instanceof InputTel) { return "tel"; }; if (v instanceof InputText) { return "text"; }; if (v instanceof InputTime) { return "time"; }; if (v instanceof InputUrl) { return "url"; }; if (v instanceof InputWeek) { return "week"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.InputType line 29, column 19 - line 52, column 16: " + [ v.constructor.name ]); }; exports["InputButton"] = InputButton; exports["InputCheckbox"] = InputCheckbox; exports["InputColor"] = InputColor; exports["InputDate"] = InputDate; exports["InputDatetime"] = InputDatetime; exports["InputDatetimeLocal"] = InputDatetimeLocal; exports["InputEmail"] = InputEmail; exports["InputFile"] = InputFile; exports["InputHidden"] = InputHidden; exports["InputImage"] = InputImage; exports["InputMonth"] = InputMonth; exports["InputNumber"] = InputNumber; exports["InputPassword"] = InputPassword; exports["InputRadio"] = InputRadio; exports["InputRange"] = InputRange; exports["InputReset"] = InputReset; exports["InputSearch"] = InputSearch; exports["InputSubmit"] = InputSubmit; exports["InputTel"] = InputTel; exports["InputText"] = InputText; exports["InputTime"] = InputTime; exports["InputUrl"] = InputUrl; exports["InputWeek"] = InputWeek; exports["renderInputType"] = renderInputType; })(PS["DOM.HTML.Indexed.InputType"] = PS["DOM.HTML.Indexed.InputType"] || {}); (function(exports) { "use strict"; var KindSubtitles = (function () { function KindSubtitles() { }; KindSubtitles.value = new KindSubtitles(); return KindSubtitles; })(); var KindCaptions = (function () { function KindCaptions() { }; KindCaptions.value = new KindCaptions(); return KindCaptions; })(); var KindDescriptions = (function () { function KindDescriptions() { }; KindDescriptions.value = new KindDescriptions(); return KindDescriptions; })(); var KindChapters = (function () { function KindChapters() { }; KindChapters.value = new KindChapters(); return KindChapters; })(); var KindMetadata = (function () { function KindMetadata() { }; KindMetadata.value = new KindMetadata(); return KindMetadata; })(); var renderKindValue = function (v) { if (v instanceof KindSubtitles) { return "subtitles"; }; if (v instanceof KindCaptions) { return "captions"; }; if (v instanceof KindDescriptions) { return "descriptions"; }; if (v instanceof KindChapters) { return "chapters"; }; if (v instanceof KindMetadata) { return "metadata"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.KindValue line 11, column 19 - line 16, column 19: " + [ v.constructor.name ]); }; exports["KindSubtitles"] = KindSubtitles; exports["KindCaptions"] = KindCaptions; exports["KindDescriptions"] = KindDescriptions; exports["KindChapters"] = KindChapters; exports["KindMetadata"] = KindMetadata; exports["renderKindValue"] = renderKindValue; })(PS["DOM.HTML.Indexed.KindValue"] = PS["DOM.HTML.Indexed.KindValue"] || {}); (function(exports) { "use strict"; var MenuList = (function () { function MenuList() { }; MenuList.value = new MenuList(); return MenuList; })(); var MenuContext = (function () { function MenuContext() { }; MenuContext.value = new MenuContext(); return MenuContext; })(); var MenuToolbar = (function () { function MenuToolbar() { }; MenuToolbar.value = new MenuToolbar(); return MenuToolbar; })(); var renderMenuType = function (v) { if (v instanceof MenuList) { return "list"; }; if (v instanceof MenuContext) { return "context"; }; if (v instanceof MenuToolbar) { return "toolbar"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.MenuType line 9, column 18 - line 12, column 18: " + [ v.constructor.name ]); }; exports["MenuList"] = MenuList; exports["MenuContext"] = MenuContext; exports["MenuToolbar"] = MenuToolbar; exports["renderMenuType"] = renderMenuType; })(PS["DOM.HTML.Indexed.MenuType"] = PS["DOM.HTML.Indexed.MenuType"] || {}); (function(exports) { "use strict"; var MenuitemCommand = (function () { function MenuitemCommand() { }; MenuitemCommand.value = new MenuitemCommand(); return MenuitemCommand; })(); var MenuitemCheckbox = (function () { function MenuitemCheckbox() { }; MenuitemCheckbox.value = new MenuitemCheckbox(); return MenuitemCheckbox; })(); var MenuitemRadio = (function () { function MenuitemRadio() { }; MenuitemRadio.value = new MenuitemRadio(); return MenuitemRadio; })(); var renderMenuitemType = function (v) { if (v instanceof MenuitemCommand) { return "command"; }; if (v instanceof MenuitemCheckbox) { return "checkbox"; }; if (v instanceof MenuitemRadio) { return "radio"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.MenuitemType line 9, column 22 - line 12, column 20: " + [ v.constructor.name ]); }; exports["MenuitemCommand"] = MenuitemCommand; exports["MenuitemCheckbox"] = MenuitemCheckbox; exports["MenuitemRadio"] = MenuitemRadio; exports["renderMenuitemType"] = renderMenuitemType; })(PS["DOM.HTML.Indexed.MenuitemType"] = PS["DOM.HTML.Indexed.MenuitemType"] || {}); (function(exports) { "use strict"; var On = (function () { function On() { }; On.value = new On(); return On; })(); var Off = (function () { function Off() { }; Off.value = new Off(); return Off; })(); var renderOnOff = function (v) { if (v instanceof On) { return "on"; }; if (v instanceof Off) { return "off"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.OnOff line 8, column 15 - line 10, column 10: " + [ v.constructor.name ]); }; exports["On"] = On; exports["Off"] = Off; exports["renderOnOff"] = renderOnOff; })(PS["DOM.HTML.Indexed.OnOff"] = PS["DOM.HTML.Indexed.OnOff"] || {}); (function(exports) { "use strict"; var Uppercase = (function () { function Uppercase() { }; Uppercase.value = new Uppercase(); return Uppercase; })(); var Lowercase = (function () { function Lowercase() { }; Lowercase.value = new Lowercase(); return Lowercase; })(); var NumeralDecimal = (function () { function NumeralDecimal() { }; NumeralDecimal.value = new NumeralDecimal(); return NumeralDecimal; })(); var NumeralRoman = (function () { function NumeralRoman(value0) { this.value0 = value0; }; NumeralRoman.create = function (value0) { return new NumeralRoman(value0); }; return NumeralRoman; })(); var OrderedListNumeric = (function () { function OrderedListNumeric(value0) { this.value0 = value0; }; OrderedListNumeric.create = function (value0) { return new OrderedListNumeric(value0); }; return OrderedListNumeric; })(); var OrderedListAlphabetic = (function () { function OrderedListAlphabetic(value0) { this.value0 = value0; }; OrderedListAlphabetic.create = function (value0) { return new OrderedListAlphabetic(value0); }; return OrderedListAlphabetic; })(); var renderOrderedListType = function (v) { if (v instanceof OrderedListNumeric && v.value0 instanceof NumeralDecimal) { return "1"; }; if (v instanceof OrderedListNumeric && (v.value0 instanceof NumeralRoman && v.value0.value0 instanceof Lowercase)) { return "i"; }; if (v instanceof OrderedListNumeric && (v.value0 instanceof NumeralRoman && v.value0.value0 instanceof Uppercase)) { return "I"; }; if (v instanceof OrderedListAlphabetic && v.value0 instanceof Lowercase) { return "a"; }; if (v instanceof OrderedListAlphabetic && v.value0 instanceof Uppercase) { return "A"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.OrderedListType line 16, column 25 - line 21, column 38: " + [ v.constructor.name ]); }; exports["Uppercase"] = Uppercase; exports["Lowercase"] = Lowercase; exports["NumeralDecimal"] = NumeralDecimal; exports["NumeralRoman"] = NumeralRoman; exports["OrderedListNumeric"] = OrderedListNumeric; exports["OrderedListAlphabetic"] = OrderedListAlphabetic; exports["renderOrderedListType"] = renderOrderedListType; })(PS["DOM.HTML.Indexed.OrderedListType"] = PS["DOM.HTML.Indexed.OrderedListType"] || {}); (function(exports) { "use strict"; var PreloadNone = (function () { function PreloadNone() { }; PreloadNone.value = new PreloadNone(); return PreloadNone; })(); var PreloadAuto = (function () { function PreloadAuto() { }; PreloadAuto.value = new PreloadAuto(); return PreloadAuto; })(); var PreloadMetadata = (function () { function PreloadMetadata() { }; PreloadMetadata.value = new PreloadMetadata(); return PreloadMetadata; })(); var renderPreloadValue = function (v) { if (v instanceof PreloadNone) { return "none"; }; if (v instanceof PreloadAuto) { return "auto"; }; if (v instanceof PreloadMetadata) { return "metadata"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.PreloadValue line 9, column 22 - line 12, column 22: " + [ v.constructor.name ]); }; exports["PreloadNone"] = PreloadNone; exports["PreloadAuto"] = PreloadAuto; exports["PreloadMetadata"] = PreloadMetadata; exports["renderPreloadValue"] = renderPreloadValue; })(PS["DOM.HTML.Indexed.PreloadValue"] = PS["DOM.HTML.Indexed.PreloadValue"] || {}); (function(exports) { "use strict"; var ScopeRow = (function () { function ScopeRow() { }; ScopeRow.value = new ScopeRow(); return ScopeRow; })(); var ScopeCol = (function () { function ScopeCol() { }; ScopeCol.value = new ScopeCol(); return ScopeCol; })(); var ScopeRowGroup = (function () { function ScopeRowGroup() { }; ScopeRowGroup.value = new ScopeRowGroup(); return ScopeRowGroup; })(); var ScopeColGroup = (function () { function ScopeColGroup() { }; ScopeColGroup.value = new ScopeColGroup(); return ScopeColGroup; })(); var ScopeAuto = (function () { function ScopeAuto() { }; ScopeAuto.value = new ScopeAuto(); return ScopeAuto; })(); var renderScopeValue = function (v) { if (v instanceof ScopeRow) { return "row"; }; if (v instanceof ScopeCol) { return "col"; }; if (v instanceof ScopeRowGroup) { return "rowgroup"; }; if (v instanceof ScopeColGroup) { return "colgroup"; }; if (v instanceof ScopeAuto) { return "auto"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.ScopeValue line 11, column 20 - line 16, column 16: " + [ v.constructor.name ]); }; exports["ScopeRow"] = ScopeRow; exports["ScopeCol"] = ScopeCol; exports["ScopeRowGroup"] = ScopeRowGroup; exports["ScopeColGroup"] = ScopeColGroup; exports["ScopeAuto"] = ScopeAuto; exports["renderScopeValue"] = renderScopeValue; })(PS["DOM.HTML.Indexed.ScopeValue"] = PS["DOM.HTML.Indexed.ScopeValue"] || {}); (function(exports) { "use strict"; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var Any = (function () { function Any() { }; Any.value = new Any(); return Any; })(); var Step = (function () { function Step(value0) { this.value0 = value0; }; Step.create = function (value0) { return new Step(value0); }; return Step; })(); var renderStepValue = function (v) { if (v instanceof Any) { return "any"; }; if (v instanceof Step) { return Data_Show.show(Data_Show.showNumber)(v.value0); }; throw new Error("Failed pattern match at DOM.HTML.Indexed.StepValue line 10, column 19 - line 12, column 18: " + [ v.constructor.name ]); }; exports["Any"] = Any; exports["Step"] = Step; exports["renderStepValue"] = renderStepValue; })(PS["DOM.HTML.Indexed.StepValue"] = PS["DOM.HTML.Indexed.StepValue"] || {}); (function(exports) { "use strict"; var Hard = (function () { function Hard() { }; Hard.value = new Hard(); return Hard; })(); var Soft = (function () { function Soft() { }; Soft.value = new Soft(); return Soft; })(); var renderWrapValue = function (v) { if (v instanceof Hard) { return "hard"; }; if (v instanceof Soft) { return "soft"; }; throw new Error("Failed pattern match at DOM.HTML.Indexed.WrapValue line 8, column 19 - line 10, column 11: " + [ v.constructor.name ]); }; exports["Hard"] = Hard; exports["Soft"] = Soft; exports["renderWrapValue"] = renderWrapValue; })(PS["DOM.HTML.Indexed.WrapValue"] = PS["DOM.HTML.Indexed.WrapValue"] || {}); (function(exports) { "use strict"; exports.hash = function (location) { return function () { return location.hash; }; }; exports.setHash = function (hash) { return function (location) { return function () { location.hash = hash; }; }; }; // ---------------------------------------------------------------------------- exports.host = function (location) { return function () { return location.host; }; }; exports.setHost = function (host) { return function (location) { return function () { location.host = host; }; }; }; // ---------------------------------------------------------------------------- exports.hostname = function (location) { return function () { return location.hostname; }; }; exports.setHostname = function (hostname) { return function (location) { return function () { location.hostname = hostname; }; }; }; // ---------------------------------------------------------------------------- exports.href = function (location) { return function () { return location.href; }; }; exports.setHref = function (href) { return function (location) { return function () { location.href = href; }; }; }; // ---------------------------------------------------------------------------- exports.origin = function (location) { return function () { return location.origin; }; }; exports.setOrigin = function (origin) { return function (location) { return function () { location.origin = origin; }; }; }; // ---------------------------------------------------------------------------- exports.pathname = function (location) { return function () { return location.pathname; }; }; exports.setPathname = function (pathname) { return function (location) { return function () { location.pathname = pathname; }; }; }; // ---------------------------------------------------------------------------- exports.port = function (location) { return function () { return location.port; }; }; exports.setPort = function (port) { return function (location) { return function () { location.port = port; }; }; }; // ---------------------------------------------------------------------------- exports.protocol = function (location) { return function () { return location.protocol; }; }; exports.setProtocol = function (protocol) { return function (location) { return function () { location.protocol = protocol; }; }; }; // ---------------------------------------------------------------------------- exports.search = function (location) { return function () { return location.search; }; }; exports.setSearch = function (search) { return function (location) { return function () { location.search = search; }; }; }; // ---------------------------------------------------------------------------- exports.assign = function (url) { return function (location) { return function () { location.assign(url); }; }; }; // ---------------------------------------------------------------------------- exports.replace = function (url) { return function (location) { return function () { location.replace(url); }; }; }; // ---------------------------------------------------------------------------- exports.reload = function (location) { return function () { location.reload(); }; }; })(PS["DOM.HTML.Location"] = PS["DOM.HTML.Location"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.Location"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Prelude = PS["Prelude"]; exports["assign"] = $foreign.assign; exports["hash"] = $foreign.hash; exports["host"] = $foreign.host; exports["hostname"] = $foreign.hostname; exports["href"] = $foreign.href; exports["origin"] = $foreign.origin; exports["pathname"] = $foreign.pathname; exports["port"] = $foreign.port; exports["protocol"] = $foreign.protocol; exports["reload"] = $foreign.reload; exports["replace"] = $foreign.replace; exports["search"] = $foreign.search; exports["setHash"] = $foreign.setHash; exports["setHost"] = $foreign.setHost; exports["setHostname"] = $foreign.setHostname; exports["setHref"] = $foreign.setHref; exports["setOrigin"] = $foreign.setOrigin; exports["setPathname"] = $foreign.setPathname; exports["setPort"] = $foreign.setPort; exports["setProtocol"] = $foreign.setProtocol; exports["setSearch"] = $foreign.setSearch; })(PS["DOM.HTML.Location"] = PS["DOM.HTML.Location"] || {}); (function(exports) { "use strict"; exports.platform = function (navigator) { return function () { return navigator.platform; }; }; })(PS["DOM.HTML.Navigator"] = PS["DOM.HTML.Navigator"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.Navigator"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; exports["platform"] = $foreign.platform; })(PS["DOM.HTML.Navigator"] = PS["DOM.HTML.Navigator"] || {}); (function(exports) { "use strict"; exports.createObjectURL = function (fileOrBlob) { return function (URL) { return function () { return URL.createObjectURL(fileOrBlob); }; }; }; exports.revokeObjectURL = function (objectURL) { return function (URL) { return function () { return URL.revokeObjectURL(objectURL); }; }; }; })(PS["DOM.HTML.URL"] = PS["DOM.HTML.URL"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.URL"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_File_Types = PS["DOM.File.Types"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Unit = PS["Data.Unit"]; exports["createObjectURL"] = $foreign.createObjectURL; exports["revokeObjectURL"] = $foreign.revokeObjectURL; })(PS["DOM.HTML.URL"] = PS["DOM.HTML.URL"] || {}); (function(exports) { "use strict"; exports.document = function (window) { return function () { return window.document; }; }; exports.navigator = function (window) { return function () { return window.navigator; }; }; exports.location = function (window) { return function () { return window.location; }; }; exports.history = function(window) { return function() { return window.history; }; }; exports.innerWidth = function (window) { return function () { return window.innerWidth; }; }; exports.innerHeight = function (window) { return function () { return window.innerHeight; }; }; exports.alert = function (str) { return function (window) { return function () { window.alert(str); return {}; }; }; }; exports.confirm = function (str) { return function (window) { return function () { return window.confirm(str); }; }; }; exports.moveBy = function (xDelta) { return function (yDelta) { return function (window) { return function () { window.moveBy(xDelta, yDelta); return {}; }; }; }; }; exports.moveTo = function (width) { return function (height) { return function (window) { return function () { window.moveTo(width, height); return {}; }; }; }; }; exports._open = function (url) { return function (name) { return function (features) { return function (window) { return function () { return window.open(url, name, features); }; }; }; }; }; exports.outerHeight = function (window) { return function () { return window.outerHeight; }; }; exports.outerWidth = function (window) { return function () { return window.outerWidth; }; }; exports.print = function (window) { return function () { window.print(); return {}; }; }; exports._prompt = function (str) { return function (defaultText) { return function (window) { return function () { return window.prompt(str, defaultText); }; }; }; }; exports.resizeBy = function (xDelta) { return function (yDelta) { return function (window) { return function () { window.resizeBy(xDelta, yDelta); return {}; }; }; }; }; exports.resizeTo = function (width) { return function (height) { return function (window) { return function () { window.resizeTo(width, height); return {}; }; }; }; }; exports.screenX = function (window) { return function () { return window.screenX; }; }; exports.screenY = function (window) { return function () { return window.screenY; }; }; exports.scroll = function (xCoord) { return function (yCoord) { return function (window) { return function () { window.scroll(xCoord, yCoord); return {}; }; }; }; }; exports.scrollBy = function (xCoord) { return function (yCoord) { return function (window) { return function () { window.scrollBy(xCoord, yCoord); return {}; }; }; }; }; exports.scrollX = function (window) { return function () { return window.scrollX; }; }; exports.scrollY = function (window) { return function () { return window.scrollY; }; }; exports.url = function (window) { return function () { return window.URL; }; }; exports.localStorage = function (window) { return function () { return window.localStorage; }; }; exports.sessionStorage = function (window) { return function () { return window.sessionStorage; }; }; exports._requestAnimationFrame = function(fn) { return function(window) { return function() { return window.requestAnimationFrame(fn); }; }; }; exports._cancelAnimationFrame = function(id) { return function(window) { return function() { return window.cancelAnimationFrame(id); }; }; }; exports._requestIdleCallback = function(opts) { return function(fn) { return function(window) { return function() { return window.requestIdleCallback(fn, opts); }; }; }; }; exports._cancelIdleCallback = function(id) { return function(window) { return function() { return window.cancelIdleCallback(id); }; }; }; })(PS["DOM.HTML.Window"] = PS["DOM.HTML.Window"] || {}); (function(exports) { "use strict"; var Data_Foreign = PS["Data.Foreign"]; var readStorage = Data_Foreign.unsafeReadTagged("Storage"); exports["readStorage"] = readStorage; })(PS["DOM.WebStorage.Types"] = PS["DOM.WebStorage.Types"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.HTML.Window"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_WebStorage_Types = PS["DOM.WebStorage.Types"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Nullable = PS["Data.Nullable"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; var RequestIdleCallbackId = function (x) { return x; }; var RequestAnimationFrameId = function (x) { return x; }; // | Set timeout to `0` to get the same behaviour as when it is `undefined` in // | [JavaScript](https://w3c.github.io/requestidlecallback/#h-the-requestidle-callback-method). var requestIdleCallback = function (opts) { return function (fn) { return function ($30) { return Data_Functor.map(Control_Monad_Eff.functorEff)(RequestIdleCallbackId)($foreign._requestIdleCallback(opts)(fn)($30)); }; }; }; var requestAnimationFrame = function (fn) { return function ($31) { return Data_Functor.map(Control_Monad_Eff.functorEff)(RequestAnimationFrameId)($foreign._requestAnimationFrame(fn)($31)); }; }; var promptDefault = function (msg) { return function (defaultText) { return function (window) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._prompt(msg)(defaultText)(window)); }; }; }; var prompt = function (msg) { return function (window) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._prompt(msg)("")(window)); }; }; var open = function (window) { return function (url$prime) { return function (name) { return function (features) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._open(window)(url$prime)(name)(features)); }; }; }; }; var newtypeRequestIdleCallbackId = new Data_Newtype.Newtype(function (n) { return n; }, RequestIdleCallbackId); var newtypeRequestAnimationFrameId = new Data_Newtype.Newtype(function (n) { return n; }, RequestAnimationFrameId); var eqRequestIdleCallbackId = new Data_Eq.Eq(function (x) { return function (y) { return x === y; }; }); var ordRequestIdleCallbackId = new Data_Ord.Ord(function () { return eqRequestIdleCallbackId; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordInt)(x)(y); }; }); var eqRequestAnimationFrameId = new Data_Eq.Eq(function (x) { return function (y) { return x === y; }; }); var ordRequestAnimationFrameId = new Data_Ord.Ord(function () { return eqRequestAnimationFrameId; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordInt)(x)(y); }; }); var cancelIdleCallback = function (idAF) { return $foreign._cancelIdleCallback(Data_Newtype.unwrap(newtypeRequestIdleCallbackId)(idAF)); }; var cancelAnimationFrame = function (idAF) { return $foreign._cancelAnimationFrame(Data_Newtype.unwrap(newtypeRequestAnimationFrameId)(idAF)); }; exports["cancelAnimationFrame"] = cancelAnimationFrame; exports["cancelIdleCallback"] = cancelIdleCallback; exports["open"] = open; exports["prompt"] = prompt; exports["promptDefault"] = promptDefault; exports["requestAnimationFrame"] = requestAnimationFrame; exports["requestIdleCallback"] = requestIdleCallback; exports["newtypeRequestAnimationFrameId"] = newtypeRequestAnimationFrameId; exports["eqRequestAnimationFrameId"] = eqRequestAnimationFrameId; exports["ordRequestAnimationFrameId"] = ordRequestAnimationFrameId; exports["newtypeRequestIdleCallbackId"] = newtypeRequestIdleCallbackId; exports["eqRequestIdleCallbackId"] = eqRequestIdleCallbackId; exports["ordRequestIdleCallbackId"] = ordRequestIdleCallbackId; exports["alert"] = $foreign.alert; exports["confirm"] = $foreign.confirm; exports["document"] = $foreign.document; exports["history"] = $foreign.history; exports["innerHeight"] = $foreign.innerHeight; exports["innerWidth"] = $foreign.innerWidth; exports["localStorage"] = $foreign.localStorage; exports["location"] = $foreign.location; exports["moveBy"] = $foreign.moveBy; exports["moveTo"] = $foreign.moveTo; exports["navigator"] = $foreign.navigator; exports["outerHeight"] = $foreign.outerHeight; exports["outerWidth"] = $foreign.outerWidth; exports["print"] = $foreign.print; exports["resizeBy"] = $foreign.resizeBy; exports["resizeTo"] = $foreign.resizeTo; exports["screenX"] = $foreign.screenX; exports["screenY"] = $foreign.screenY; exports["scroll"] = $foreign.scroll; exports["scrollBy"] = $foreign.scrollBy; exports["scrollX"] = $foreign.scrollX; exports["scrollY"] = $foreign.scrollY; exports["sessionStorage"] = $foreign.sessionStorage; exports["url"] = $foreign.url; })(PS["DOM.HTML.Window"] = PS["DOM.HTML.Window"] || {}); (function(exports) { "use strict"; exports.remove = function (node) { return function () { return node.remove(); }; }; })(PS["DOM.Node.ChildNode"] = PS["DOM.Node.ChildNode"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.ChildNode"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Prelude = PS["Prelude"]; exports["remove"] = $foreign.remove; })(PS["DOM.Node.ChildNode"] = PS["DOM.Node.ChildNode"] || {}); (function(exports) { "use strict"; exports.add = function(list) { return function(token) { return function() { return list.add(token); }; }; }; exports.remove = function(list) { return function(token) { return function() { return list.remove(token); }; }; }; exports.contains = function(list) { return function(token) { return function() { return list.contains(token); }; }; }; exports.toggle = function(list) { return function(token) { return function() { return list.toggle(token); }; }; }; exports.toggleForce = function(list) { return function(token) { return function(force) { return function() { return list.toggle(token, force); }; }; }; }; exports._item = function(list) { return function(index) { return function() { return list.item(index); }; }; }; })(PS["DOM.Node.ClassList"] = PS["DOM.Node.ClassList"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.ClassList"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var item = function (index) { return function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._item(index)($0)); }; }; exports["item"] = item; exports["add"] = $foreign.add; exports["contains"] = $foreign.contains; exports["remove"] = $foreign.remove; exports["toggle"] = $foreign.toggle; exports["toggleForce"] = $foreign.toggleForce; })(PS["DOM.Node.ClassList"] = PS["DOM.Node.ClassList"] || {}); (function(exports) { "use strict"; var getEffProp = function (name) { return function (doc) { return function () { return doc[name]; }; }; }; exports.url = getEffProp("URL"); exports.documentURI = getEffProp("documentURI"); exports.origin = getEffProp("origin"); exports.compatMode = getEffProp("compatMode"); exports.characterSet = getEffProp("characterSet"); exports.contentType = getEffProp("contentType"); exports._doctype = getEffProp("doctype"); exports._documentElement = getEffProp("documentElement"); exports.getElementsByTagName = function (localName) { return function (doc) { return function () { return doc.getElementsByTagName(localName); }; }; }; exports._getElementsByTagNameNS = function (ns) { return function (localName) { return function (doc) { return function () { return doc.getElementsByTagNameNS(ns, localName); }; }; }; }; exports.getElementsByClassName = function (classNames) { return function (doc) { return function () { return doc.getElementsByClassName(classNames); }; }; }; exports.createElement = function (localName) { return function (doc) { return function () { return doc.createElement(localName); }; }; }; exports._createElementNS = function (ns) { return function (qualifiedName) { return function (doc) { return function () { return doc.createElementNS(ns, qualifiedName); }; }; }; }; exports.createDocumentFragment = function (doc) { return function () { return doc.createDocumentFragment(); }; }; exports.createTextNode = function (data) { return function (doc) { return function () { return doc.createTextNode(data); }; }; }; exports.createComment = function (data) { return function (doc) { return function () { return doc.createComment(data); }; }; }; exports.createProcessingInstruction = function (target) { return function (data) { return function (doc) { return function () { return doc.createProcessingInstruction(target, data); }; }; }; }; exports.importNode = function (node) { return function (deep) { return function (doc) { return function () { return doc.importNode(node, deep); }; }; }; }; exports.adoptNode = function (node) { return function (doc) { return function () { return doc.adoptNode(node); }; }; }; })(PS["DOM.Node.Document"] = PS["DOM.Node.Document"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.Document"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var getElementsByTagNameNS = function ($0) { return $foreign._getElementsByTagNameNS(Data_Nullable.toNullable($0)); }; var documentElement = function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._documentElement($1)); }; var doctype = function ($2) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._doctype($2)); }; var createElementNS = function ($3) { return $foreign._createElementNS(Data_Nullable.toNullable($3)); }; exports["createElementNS"] = createElementNS; exports["doctype"] = doctype; exports["documentElement"] = documentElement; exports["getElementsByTagNameNS"] = getElementsByTagNameNS; exports["adoptNode"] = $foreign.adoptNode; exports["characterSet"] = $foreign.characterSet; exports["compatMode"] = $foreign.compatMode; exports["contentType"] = $foreign.contentType; exports["createComment"] = $foreign.createComment; exports["createDocumentFragment"] = $foreign.createDocumentFragment; exports["createElement"] = $foreign.createElement; exports["createProcessingInstruction"] = $foreign.createProcessingInstruction; exports["createTextNode"] = $foreign.createTextNode; exports["documentURI"] = $foreign.documentURI; exports["getElementsByClassName"] = $foreign.getElementsByClassName; exports["getElementsByTagName"] = $foreign.getElementsByTagName; exports["importNode"] = $foreign.importNode; exports["origin"] = $foreign.origin; exports["url"] = $foreign.url; })(PS["DOM.Node.Document"] = PS["DOM.Node.Document"] || {}); (function(exports) { "use strict"; var getProp = function (name) { return function (doctype) { return doctype[name]; }; }; exports.name = getProp("name"); exports.publicId = getProp("publicId"); exports.systemId = getProp("systemId"); })(PS["DOM.Node.DocumentType"] = PS["DOM.Node.DocumentType"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.DocumentType"]; var DOM_Node_Types = PS["DOM.Node.Types"]; exports["name"] = $foreign.name; exports["publicId"] = $foreign.publicId; exports["systemId"] = $foreign.systemId; })(PS["DOM.Node.DocumentType"] = PS["DOM.Node.DocumentType"] || {}); (function(exports) { "use strict"; var getProp = function (name) { return function (doctype) { return doctype[name]; }; }; exports._namespaceURI = getProp("namespaceURI"); exports._prefix = getProp("prefix"); exports.localName = getProp("localName"); exports.tagName = getProp("tagName"); exports.id = function (node) { return function () { return node.id; }; }; exports.setId = function (id) { return function (node) { return function () { node.id = id; return {}; }; }; }; exports.className = function (node) { return function () { return node.className; }; }; exports.setClassName = function (className) { return function (node) { return function () { node.className = className; return {}; }; }; }; exports.getElementsByTagName = function (localName) { return function (doc) { return function () { return doc.getElementsByTagName(localName); }; }; }; exports._getElementsByTagNameNS = function (ns) { return function (localName) { return function (doc) { return function () { return doc.getElementsByTagNameNS(ns, localName); }; }; }; }; exports.getElementsByClassName = function (classNames) { return function (doc) { return function () { return doc.getElementsByClassName(classNames); }; }; }; exports.setAttribute = function (name) { return function (value) { return function (element) { return function () { element.setAttribute(name, value); return {}; }; }; }; }; exports._getAttribute = function (name) { return function (element) { return function () { return element.getAttribute(name); }; }; }; exports.removeAttribute = function (name) { return function (element) { return function () { element.removeAttribute(name); return {}; }; }; }; // - CSSOM --------------------------------------------------------------------- exports.scrollTop = function (node) { return function () { return node.scrollTop; }; }; exports.setScrollTop = function (scrollTop) { return function (node) { return function () { node.scrollTop = scrollTop; return {}; }; }; }; exports.scrollLeft = function (node) { return function () { return node.scrollLeft; }; }; exports.setScrollLeft = function (scrollLeft) { return function (node) { return function () { node.scrollLeft = scrollLeft; return {}; }; }; }; exports.scrollWidth = function (el) { return function () { return el.scrollWidth; }; }; exports.scrollHeight = function (el) { return function () { return el.scrollHeight; }; }; exports.clientTop = function (el) { return function () { return el.clientTop; }; }; exports.clientLeft = function (el) { return function () { return el.clientLeft; }; }; exports.clientWidth = function (el) { return function () { return el.clientWidth; }; }; exports.clientHeight = function (el) { return function () { return el.clientHeight; }; }; })(PS["DOM.Node.Element"] = PS["DOM.Node.Element"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.Element"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var prefix = function ($0) { return Data_Nullable.toMaybe($foreign._prefix($0)); }; var namespaceURI = function ($1) { return Data_Nullable.toMaybe($foreign._namespaceURI($1)); }; var getElementsByTagNameNS = function ($2) { return $foreign._getElementsByTagNameNS(Data_Nullable.toNullable($2)); }; var getAttribute = function (attr) { return function ($3) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._getAttribute(attr)($3)); }; }; exports["getAttribute"] = getAttribute; exports["getElementsByTagNameNS"] = getElementsByTagNameNS; exports["namespaceURI"] = namespaceURI; exports["prefix"] = prefix; exports["className"] = $foreign.className; exports["clientHeight"] = $foreign.clientHeight; exports["clientLeft"] = $foreign.clientLeft; exports["clientTop"] = $foreign.clientTop; exports["clientWidth"] = $foreign.clientWidth; exports["getElementsByClassName"] = $foreign.getElementsByClassName; exports["getElementsByTagName"] = $foreign.getElementsByTagName; exports["id"] = $foreign.id; exports["localName"] = $foreign.localName; exports["removeAttribute"] = $foreign.removeAttribute; exports["scrollHeight"] = $foreign.scrollHeight; exports["scrollLeft"] = $foreign.scrollLeft; exports["scrollTop"] = $foreign.scrollTop; exports["scrollWidth"] = $foreign.scrollWidth; exports["setAttribute"] = $foreign.setAttribute; exports["setClassName"] = $foreign.setClassName; exports["setId"] = $foreign.setId; exports["setScrollLeft"] = $foreign.setScrollLeft; exports["setScrollTop"] = $foreign.setScrollTop; exports["tagName"] = $foreign.tagName; })(PS["DOM.Node.Element"] = PS["DOM.Node.Element"] || {}); (function(exports) { "use strict"; exports.length = function (list) { return function () { return list.length; }; }; exports._item = function (index) { return function (list) { return function () { return list.item(index); }; }; }; exports._namedItem = function (name) { return function (list) { return function () { return list.namedItem(name); }; }; }; })(PS["DOM.Node.HTMLCollection"] = PS["DOM.Node.HTMLCollection"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.HTMLCollection"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; // | The first element with the specified name or ID in a HTMLCollection, or // | Nothing if no such element exists. var namedItem = function (id) { return function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._namedItem(id)($0)); }; }; // | The element in a HTMLCollection at the specified index, or Nothing if no such // | element exists. var item = function (i) { return function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._item(i)($1)); }; }; exports["item"] = item; exports["namedItem"] = namedItem; exports["length"] = $foreign.length; })(PS["DOM.Node.HTMLCollection"] = PS["DOM.Node.HTMLCollection"] || {}); (function(exports) { "use strict"; var getEffProp = function (name) { return function (node) { return function () { return node[name]; }; }; }; exports.nodeTypeIndex = function (node) { return node.nodeType; }; exports.nodeName = function (node) { return node.nodeName; }; exports.baseURI = getEffProp("baseURI"); exports._ownerDocument = getEffProp("ownerDocument"); exports._parentNode = getEffProp("parentNode"); exports._parentElement = getEffProp("parentElement"); exports.hasChildNodes = function (node) { return function () { return node.hasChildNodes(); }; }; exports.childNodes = getEffProp("childNodes"); exports._firstChild = getEffProp("firstChild"); exports._lastChild = getEffProp("lastChild"); exports._previousSibling = getEffProp("previousSibling"); exports._nextSibling = getEffProp("nextSibling"); exports.nodeValue = getEffProp("nodeValue"); exports.setNodeValue = function (value) { return function (node) { return function () { node.nodeValue = value; return {}; }; }; }; exports.textContent = getEffProp("textContent"); exports.setTextContent = function (value) { return function (node) { return function () { node.textContent = value; return {}; }; }; }; exports.normalize = function (node) { return function () { node.normalize(); return {}; }; }; exports.clone = function (node) { return function () { return node.cloneNode(false); }; }; exports.deepClone = function (node) { return function () { return node.cloneNode(true); }; }; exports.isEqualNode = function (node1) { return function (node2) { return function () { return node1.isEqualNode(node2); }; }; }; exports.compareDocumentPositionBits = function (node1) { return function (node2) { return function () { return node1.compareDocumentPosition(node2); }; }; }; exports.contains = function (node1) { return function (node2) { return function () { return node1.contains(node2); }; }; }; exports._lookupPrefix = function (prefix) { return function (node) { return function () { return node.lookupPrefix(prefix); }; }; }; exports._lookupNamespaceURI = function (ns) { return function (node) { return function () { return node.lookupNamespaceURI(ns); }; }; }; exports.isDefaultNamespace = function (ns) { return function (node) { return function () { return node.isDefaultNamespace(ns); }; }; }; exports.insertBefore = function (node1) { return function (node2) { return function (parent) { return function () { return parent.insertBefore(node1, node2); }; }; }; }; exports.appendChild = function (node) { return function (parent) { return function () { return parent.appendChild(node); }; }; }; exports.replaceChild = function (newChild) { return function (oldChild) { return function (parent) { return function () { return parent.replaceChild(newChild, oldChild); }; }; }; }; exports.removeChild = function (node) { return function (parent) { return function () { return parent.removeChild(node); }; }; }; })(PS["DOM.Node.Node"] = PS["DOM.Node.Node"] || {}); (function(exports) { "use strict"; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; var ElementNode = (function () { function ElementNode() { }; ElementNode.value = new ElementNode(); return ElementNode; })(); var AttributeNode = (function () { function AttributeNode() { }; AttributeNode.value = new AttributeNode(); return AttributeNode; })(); var TextNode = (function () { function TextNode() { }; TextNode.value = new TextNode(); return TextNode; })(); var CDATASectionNode = (function () { function CDATASectionNode() { }; CDATASectionNode.value = new CDATASectionNode(); return CDATASectionNode; })(); var EntityReferenceNode = (function () { function EntityReferenceNode() { }; EntityReferenceNode.value = new EntityReferenceNode(); return EntityReferenceNode; })(); var EntityNode = (function () { function EntityNode() { }; EntityNode.value = new EntityNode(); return EntityNode; })(); var ProcessingInstructionNode = (function () { function ProcessingInstructionNode() { }; ProcessingInstructionNode.value = new ProcessingInstructionNode(); return ProcessingInstructionNode; })(); var CommentNode = (function () { function CommentNode() { }; CommentNode.value = new CommentNode(); return CommentNode; })(); var DocumentNode = (function () { function DocumentNode() { }; DocumentNode.value = new DocumentNode(); return DocumentNode; })(); var DocumentTypeNode = (function () { function DocumentTypeNode() { }; DocumentTypeNode.value = new DocumentTypeNode(); return DocumentTypeNode; })(); var DocumentFragmentNode = (function () { function DocumentFragmentNode() { }; DocumentFragmentNode.value = new DocumentFragmentNode(); return DocumentFragmentNode; })(); var NotationNode = (function () { function NotationNode() { }; NotationNode.value = new NotationNode(); return NotationNode; })(); var toEnumNodeType = function (v) { if (v === 1) { return new Data_Maybe.Just(ElementNode.value); }; if (v === 2) { return new Data_Maybe.Just(AttributeNode.value); }; if (v === 3) { return new Data_Maybe.Just(TextNode.value); }; if (v === 4) { return new Data_Maybe.Just(CDATASectionNode.value); }; if (v === 5) { return new Data_Maybe.Just(EntityReferenceNode.value); }; if (v === 6) { return new Data_Maybe.Just(EntityNode.value); }; if (v === 7) { return new Data_Maybe.Just(ProcessingInstructionNode.value); }; if (v === 8) { return new Data_Maybe.Just(CommentNode.value); }; if (v === 9) { return new Data_Maybe.Just(DocumentNode.value); }; if (v === 10) { return new Data_Maybe.Just(DocumentTypeNode.value); }; if (v === 11) { return new Data_Maybe.Just(DocumentFragmentNode.value); }; if (v === 12) { return new Data_Maybe.Just(NotationNode.value); }; return Data_Maybe.Nothing.value; }; var fromEnumNodeType = function (v) { if (v instanceof ElementNode) { return 1; }; if (v instanceof AttributeNode) { return 2; }; if (v instanceof TextNode) { return 3; }; if (v instanceof CDATASectionNode) { return 4; }; if (v instanceof EntityReferenceNode) { return 5; }; if (v instanceof EntityNode) { return 6; }; if (v instanceof ProcessingInstructionNode) { return 7; }; if (v instanceof CommentNode) { return 8; }; if (v instanceof DocumentNode) { return 9; }; if (v instanceof DocumentTypeNode) { return 10; }; if (v instanceof DocumentFragmentNode) { return 11; }; if (v instanceof NotationNode) { return 12; }; throw new Error("Failed pattern match at DOM.Node.NodeType line 54, column 1 - line 54, column 36: " + [ v.constructor.name ]); }; var eqNodeType = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof ElementNode && y instanceof ElementNode) { return true; }; if (x instanceof AttributeNode && y instanceof AttributeNode) { return true; }; if (x instanceof TextNode && y instanceof TextNode) { return true; }; if (x instanceof CDATASectionNode && y instanceof CDATASectionNode) { return true; }; if (x instanceof EntityReferenceNode && y instanceof EntityReferenceNode) { return true; }; if (x instanceof EntityNode && y instanceof EntityNode) { return true; }; if (x instanceof ProcessingInstructionNode && y instanceof ProcessingInstructionNode) { return true; }; if (x instanceof CommentNode && y instanceof CommentNode) { return true; }; if (x instanceof DocumentNode && y instanceof DocumentNode) { return true; }; if (x instanceof DocumentTypeNode && y instanceof DocumentTypeNode) { return true; }; if (x instanceof DocumentFragmentNode && y instanceof DocumentFragmentNode) { return true; }; if (x instanceof NotationNode && y instanceof NotationNode) { return true; }; return false; }; }); var ordNodeType = new Data_Ord.Ord(function () { return eqNodeType; }, function (x) { return function (y) { return Data_Ord.compare(Data_Ord.ordInt)(fromEnumNodeType(x))(fromEnumNodeType(y)); }; }); var enumNodeType = new Data_Enum.Enum(function () { return ordNodeType; }, Data_Enum.defaultPred(toEnumNodeType)(fromEnumNodeType), Data_Enum.defaultSucc(toEnumNodeType)(fromEnumNodeType)); var boundedNodeType = new Data_Bounded.Bounded(function () { return ordNodeType; }, ElementNode.value, NotationNode.value); var boundedEnumNodeType = new Data_Enum.BoundedEnum(function () { return boundedNodeType; }, function () { return enumNodeType; }, 12, fromEnumNodeType, toEnumNodeType); exports["ElementNode"] = ElementNode; exports["AttributeNode"] = AttributeNode; exports["TextNode"] = TextNode; exports["CDATASectionNode"] = CDATASectionNode; exports["EntityReferenceNode"] = EntityReferenceNode; exports["EntityNode"] = EntityNode; exports["ProcessingInstructionNode"] = ProcessingInstructionNode; exports["CommentNode"] = CommentNode; exports["DocumentNode"] = DocumentNode; exports["DocumentTypeNode"] = DocumentTypeNode; exports["DocumentFragmentNode"] = DocumentFragmentNode; exports["NotationNode"] = NotationNode; exports["eqNodeType"] = eqNodeType; exports["ordNodeType"] = ordNodeType; exports["boundedNodeType"] = boundedNodeType; exports["enumNodeType"] = enumNodeType; exports["boundedEnumNodeType"] = boundedEnumNodeType; })(PS["DOM.Node.NodeType"] = PS["DOM.Node.NodeType"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.Node"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Node_NodeType = PS["DOM.Node.NodeType"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Enum = PS["Data.Enum"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; // | The previous sibling node, or Nothing if there is no previous sibling. var previousSibling = function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._previousSibling($1)); }; // | The parent node of the node. var parentNode = function ($2) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._parentNode($2)); }; // | The parent element of the node. var parentElement = function ($3) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._parentElement($3)); }; // | The document the node belongs to, unless the node is a document in which // | case the value is Nothing. var ownerDocument = function ($4) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._ownerDocument($4)); }; // | The type of a node. var nodeType = function (dictPartial) { return function ($5) { return Data_Maybe.fromJust(dictPartial)(Data_Enum.toEnum(DOM_Node_NodeType.boundedEnumNodeType)($foreign.nodeTypeIndex($5))); }; }; // | The next sibling node, or Nothing if there is no next sibling. var nextSibling = function ($6) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._nextSibling($6)); }; var lookupPrefix = function (p) { return function ($7) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._lookupPrefix(p)($7)); }; }; var lookupNamespaceURI = function (ns) { return function ($8) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._lookupNamespaceURI(ns)($8)); }; }; // | The last child of the node, or Nothing if the node has no children. var lastChild = function ($9) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._lastChild($9)); }; // | The first child of the node, or Nothing if the node has no children. var firstChild = function ($10) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._firstChild($10)); }; exports["firstChild"] = firstChild; exports["lastChild"] = lastChild; exports["lookupNamespaceURI"] = lookupNamespaceURI; exports["lookupPrefix"] = lookupPrefix; exports["nextSibling"] = nextSibling; exports["nodeType"] = nodeType; exports["ownerDocument"] = ownerDocument; exports["parentElement"] = parentElement; exports["parentNode"] = parentNode; exports["previousSibling"] = previousSibling; exports["appendChild"] = $foreign.appendChild; exports["baseURI"] = $foreign.baseURI; exports["childNodes"] = $foreign.childNodes; exports["clone"] = $foreign.clone; exports["compareDocumentPositionBits"] = $foreign.compareDocumentPositionBits; exports["contains"] = $foreign.contains; exports["deepClone"] = $foreign.deepClone; exports["hasChildNodes"] = $foreign.hasChildNodes; exports["insertBefore"] = $foreign.insertBefore; exports["isDefaultNamespace"] = $foreign.isDefaultNamespace; exports["isEqualNode"] = $foreign.isEqualNode; exports["nodeName"] = $foreign.nodeName; exports["nodeTypeIndex"] = $foreign.nodeTypeIndex; exports["nodeValue"] = $foreign.nodeValue; exports["normalize"] = $foreign.normalize; exports["removeChild"] = $foreign.removeChild; exports["replaceChild"] = $foreign.replaceChild; exports["setNodeValue"] = $foreign.setNodeValue; exports["setTextContent"] = $foreign.setTextContent; exports["textContent"] = $foreign.textContent; })(PS["DOM.Node.Node"] = PS["DOM.Node.Node"] || {}); (function(exports) { "use strict"; exports.length = function (list) { return function () { return list.length; }; }; exports._item = function (index) { return function (list) { return function () { return list.item(index); }; }; }; })(PS["DOM.Node.NodeList"] = PS["DOM.Node.NodeList"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.NodeList"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; // | The item in a NodeList at the specified index, or Nothing if no such node // | exists. var item = function (i) { return function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._item(i)($0)); }; }; exports["item"] = item; exports["length"] = $foreign.length; })(PS["DOM.Node.NodeList"] = PS["DOM.Node.NodeList"] || {}); (function(exports) { "use strict"; exports._previousElementSibling = function (node) { return function () { return node.previousElementSibling; }; }; exports._nextElementSibling = function (node) { return function () { return node.nextElementSibling; }; }; })(PS["DOM.Node.NonDocumentTypeChildNode"] = PS["DOM.Node.NonDocumentTypeChildNode"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.NonDocumentTypeChildNode"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; // | The previous sibling that is an element, or Nothing if no such element exists. var previousElementSibling = function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._previousElementSibling($0)); }; // | The next sibling that is an element, or Nothing if no such element exists. var nextElementSibling = function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._nextElementSibling($1)); }; exports["nextElementSibling"] = nextElementSibling; exports["previousElementSibling"] = previousElementSibling; })(PS["DOM.Node.NonDocumentTypeChildNode"] = PS["DOM.Node.NonDocumentTypeChildNode"] || {}); (function(exports) { "use strict"; exports._getElementById = function (id) { return function (node) { return function () { return node.getElementById(id); }; }; }; })(PS["DOM.Node.NonElementParentNode"] = PS["DOM.Node.NonElementParentNode"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.NonElementParentNode"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var getElementById = function (eid) { return function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._getElementById(eid)($0)); }; }; exports["getElementById"] = getElementById; })(PS["DOM.Node.NonElementParentNode"] = PS["DOM.Node.NonElementParentNode"] || {}); (function(exports) { "use strict"; var getEffProp = function (name) { return function (node) { return function () { return node[name]; }; }; }; exports.children = getEffProp("children"); exports._firstElementChild = getEffProp("firstElementChild"); exports._lastElementChild = getEffProp("lastElementChild"); exports.childElementCount = getEffProp("childElementCount"); exports._querySelector = function (selector) { return function (node) { return function () { return node.querySelector(selector); }; }; }; exports.querySelectorAll = function (selector) { return function (node) { return function () { return node.querySelectorAll(selector); }; }; }; })(PS["DOM.Node.ParentNode"] = PS["DOM.Node.ParentNode"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Node.ParentNode"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Nullable = PS["Data.Nullable"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; var QuerySelector = function (x) { return x; }; // | Finds the first child that is an element that matches the selector(s), or // | Nothing if no such element exists. var querySelector = function (qs) { return function ($3) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._querySelector(qs)($3)); }; }; var ordQuerySelector = Data_Ord.ordString; var newtypeQuerySelector = new Data_Newtype.Newtype(function (n) { return n; }, QuerySelector); // | The last child that is an element, or Nothing if no such element exists. var lastElementChild = function ($4) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._lastElementChild($4)); }; // | The first child that is an element, or Nothing if no such element exists. var firstElementChild = function ($5) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._firstElementChild($5)); }; var eqQuerySelector = Data_Eq.eqString; exports["QuerySelector"] = QuerySelector; exports["firstElementChild"] = firstElementChild; exports["lastElementChild"] = lastElementChild; exports["querySelector"] = querySelector; exports["eqQuerySelector"] = eqQuerySelector; exports["ordQuerySelector"] = ordQuerySelector; exports["newtypeQuerySelector"] = newtypeQuerySelector; exports["childElementCount"] = $foreign.childElementCount; exports["children"] = $foreign.children; exports["querySelectorAll"] = $foreign.querySelectorAll; })(PS["DOM.Node.ParentNode"] = PS["DOM.Node.ParentNode"] || {}); (function(exports) { "use strict"; exports._key = function (storage) { return storage.key; }; exports._oldValue = function (storage) { return storage.oldValue; }; exports._newValue = function (storage) { return storage.newValue; }; exports.url = function (storage) { return storage.url; }; exports._storageArea = function (storage) { return storage.storageArea; }; })(PS["DOM.WebStorage.Event.StorageEvent"] = PS["DOM.WebStorage.Event.StorageEvent"] || {}); (function(exports) { "use strict"; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var storageEventToEvent = Unsafe_Coerce.unsafeCoerce; var readStorageEvent = Data_Foreign.unsafeReadTagged("StorageEvent"); exports["readStorageEvent"] = readStorageEvent; exports["storageEventToEvent"] = storageEventToEvent; })(PS["DOM.WebStorage.Event.Types"] = PS["DOM.WebStorage.Event.Types"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.WebStorage.Event.StorageEvent"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_WebStorage_Event_Types = PS["DOM.WebStorage.Event.Types"]; var DOM_WebStorage_Types = PS["DOM.WebStorage.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var storageArea = function ($0) { return Data_Nullable.toMaybe($foreign._storageArea($0)); }; var oldValue = function ($1) { return Data_Nullable.toMaybe($foreign._oldValue($1)); }; var newValue = function ($2) { return Data_Nullable.toMaybe($foreign._newValue($2)); }; var key = function ($3) { return Data_Nullable.toMaybe($foreign._key($3)); }; exports["key"] = key; exports["newValue"] = newValue; exports["oldValue"] = oldValue; exports["storageArea"] = storageArea; exports["url"] = $foreign.url; })(PS["DOM.WebStorage.Event.StorageEvent"] = PS["DOM.WebStorage.Event.StorageEvent"] || {}); (function(exports) { "use strict"; exports.length = function (storage) { return function () { return storage.length; }; }; exports._key = function (index) { return function (storage) { return function () { return storage.key(index); }; }; }; exports._getItem = function (key) { return function (storage) { return function () { return storage.getItem(key); }; }; }; exports.setItem = function (key) { return function (value) { return function (storage) { return function () { storage.setItem(key, value); }; }; }; }; exports.removeItem = function (key) { return function (storage) { return function () { storage.removeItem(key); }; }; }; exports.clear = function (storage) { return function () { storage.clear(); }; }; })(PS["DOM.WebStorage.Storage"] = PS["DOM.WebStorage.Storage"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.WebStorage.Storage"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_WebStorage_Types = PS["DOM.WebStorage.Types"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Prelude = PS["Prelude"]; var key = function (i) { return function ($0) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._key(i)($0)); }; }; var getItem = function (s) { return function ($1) { return Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Nullable.toMaybe)($foreign._getItem(s)($1)); }; }; exports["getItem"] = getItem; exports["key"] = key; exports["clear"] = $foreign.clear; exports["length"] = $foreign.length; exports["removeItem"] = $foreign.removeItem; exports["setItem"] = $foreign.setItem; })(PS["DOM.WebStorage.Storage"] = PS["DOM.WebStorage.Storage"] || {}); (function(exports) { "use strict"; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var Blob = (function () { function Blob() { }; Blob.value = new Blob(); return Blob; })(); var $$ArrayBuffer = (function () { function $$ArrayBuffer() { }; $$ArrayBuffer.value = new $$ArrayBuffer(); return $$ArrayBuffer; })(); var toEnumBinaryType = function (v) { if (v === 0) { return new Data_Maybe.Just(Blob.value); }; if (v === 1) { return new Data_Maybe.Just($$ArrayBuffer.value); }; return Data_Maybe.Nothing.value; }; var showBinaryType = new Data_Show.Show(function (v) { if (v instanceof Blob) { return "Blob"; }; if (v instanceof $$ArrayBuffer) { return "ArrayBuffer"; }; throw new Error("Failed pattern match at DOM.Websocket.BinaryType line 27, column 1 - line 27, column 43: " + [ v.constructor.name ]); }); var printBinaryType = function (v) { if (v instanceof Blob) { return "blob"; }; if (v instanceof $$ArrayBuffer) { return "arraybuffer"; }; throw new Error("Failed pattern match at DOM.Websocket.BinaryType line 46, column 3 - line 48, column 20: " + [ v.constructor.name ]); }; var fromEnumBinaryType = function (v) { if (v instanceof Blob) { return 0; }; if (v instanceof $$ArrayBuffer) { return 1; }; throw new Error("Failed pattern match at DOM.Websocket.BinaryType line 40, column 3 - line 44, column 1: " + [ v.constructor.name ]); }; var eqBinaryType = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof Blob && y instanceof Blob) { return true; }; if (x instanceof $$ArrayBuffer && y instanceof $$ArrayBuffer) { return true; }; return false; }; }); var ordBinaryType = new Data_Ord.Ord(function () { return eqBinaryType; }, function (x) { return function (y) { if (x instanceof Blob && y instanceof Blob) { return Data_Ordering.EQ.value; }; if (x instanceof Blob) { return Data_Ordering.LT.value; }; if (y instanceof Blob) { return Data_Ordering.GT.value; }; if (x instanceof $$ArrayBuffer && y instanceof $$ArrayBuffer) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at DOM.Websocket.BinaryType line 12, column 8 - line 12, column 48: " + [ x.constructor.name, y.constructor.name ]); }; }); var enumBinaryType = new Data_Enum.Enum(function () { return ordBinaryType; }, Data_Enum.defaultPred(toEnumBinaryType)(fromEnumBinaryType), Data_Enum.defaultSucc(toEnumBinaryType)(fromEnumBinaryType)); var boundedBinaryType = new Data_Bounded.Bounded(function () { return ordBinaryType; }, Blob.value, $$ArrayBuffer.value); var boundedEnumBinaryType = new Data_Enum.BoundedEnum(function () { return boundedBinaryType; }, function () { return enumBinaryType; }, 2, fromEnumBinaryType, toEnumBinaryType); exports["Blob"] = Blob; exports["ArrayBuffer"] = $$ArrayBuffer; exports["fromEnumBinaryType"] = fromEnumBinaryType; exports["printBinaryType"] = printBinaryType; exports["toEnumBinaryType"] = toEnumBinaryType; exports["eqBinaryType"] = eqBinaryType; exports["ordBinaryType"] = ordBinaryType; exports["boundedBinaryType"] = boundedBinaryType; exports["enumBinaryType"] = enumBinaryType; exports["boundedEnumBinaryType"] = boundedEnumBinaryType; exports["showBinaryType"] = showBinaryType; })(PS["DOM.Websocket.BinaryType"] = PS["DOM.Websocket.BinaryType"] || {}); (function(exports) { "use strict"; exports.code = function (e) { return e.code; }; exports.reason = function (e) { return e.reason; }; exports.wasClean = function (e) { return e.wasClean; }; })(PS["DOM.Websocket.Event.CloseEvent"] = PS["DOM.Websocket.Event.CloseEvent"] || {}); (function(exports) { "use strict"; var DOM_Event_Types = PS["DOM.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var readMessageEvent = Data_Foreign.unsafeReadTagged("MessageEvent"); var readCloseEvent = Data_Foreign.unsafeReadTagged("CloseEvent"); var messageEventToEvent = Unsafe_Coerce.unsafeCoerce; var closeEventToEvent = Unsafe_Coerce.unsafeCoerce; exports["closeEventToEvent"] = closeEventToEvent; exports["messageEventToEvent"] = messageEventToEvent; exports["readCloseEvent"] = readCloseEvent; exports["readMessageEvent"] = readMessageEvent; })(PS["DOM.Websocket.Event.Types"] = PS["DOM.Websocket.Event.Types"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Websocket.Event.CloseEvent"]; var DOM_Websocket_Event_Types = PS["DOM.Websocket.Event.Types"]; exports["code"] = $foreign.code; exports["reason"] = $foreign.reason; exports["wasClean"] = $foreign.wasClean; })(PS["DOM.Websocket.Event.CloseEvent"] = PS["DOM.Websocket.Event.CloseEvent"] || {}); (function(exports) { "use strict"; var DOM_Event_Types = PS["DOM.Event.Types"]; var onOpen = "open"; var onMessage = "message"; var onError = "error"; var onClose = "close"; exports["onClose"] = onClose; exports["onError"] = onError; exports["onMessage"] = onMessage; exports["onOpen"] = onOpen; })(PS["DOM.Websocket.Event.EventTypes"] = PS["DOM.Websocket.Event.EventTypes"] || {}); (function(exports) { "use strict"; exports.data_ = function (e) { return e.data; }; exports.origin = function (e) { return e.origin; }; exports.lastEventId = function (e) { return e.lastEventId; }; })(PS["DOM.Websocket.Event.MessageEvent"] = PS["DOM.Websocket.Event.MessageEvent"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Websocket.Event.MessageEvent"]; var DOM_Websocket_Event_Types = PS["DOM.Websocket.Event.Types"]; var Data_Foreign = PS["Data.Foreign"]; exports["data_"] = $foreign.data_; exports["lastEventId"] = $foreign.lastEventId; exports["origin"] = $foreign.origin; })(PS["DOM.Websocket.Event.MessageEvent"] = PS["DOM.Websocket.Event.MessageEvent"] || {}); (function(exports) { "use strict"; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Eq = PS["Data.Eq"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var Connecting = (function () { function Connecting() { }; Connecting.value = new Connecting(); return Connecting; })(); var Open = (function () { function Open() { }; Open.value = new Open(); return Open; })(); var Closing = (function () { function Closing() { }; Closing.value = new Closing(); return Closing; })(); var Closed = (function () { function Closed() { }; Closed.value = new Closed(); return Closed; })(); var toEnumReadyState = function (v) { if (v === 0) { return new Data_Maybe.Just(Connecting.value); }; if (v === 1) { return new Data_Maybe.Just(Open.value); }; if (v === 2) { return new Data_Maybe.Just(Closing.value); }; if (v === 3) { return new Data_Maybe.Just(Closed.value); }; return Data_Maybe.Nothing.value; }; var showReadyState = new Data_Show.Show(function (v) { if (v instanceof Connecting) { return "Connecting"; }; if (v instanceof Open) { return "Open"; }; if (v instanceof Closing) { return "Closing"; }; if (v instanceof Closed) { return "Closed"; }; throw new Error("Failed pattern match at DOM.Websocket.ReadyState line 29, column 1 - line 29, column 43: " + [ v.constructor.name ]); }); var fromEnumReadyState = function (v) { if (v instanceof Connecting) { return 0; }; if (v instanceof Open) { return 1; }; if (v instanceof Closing) { return 2; }; if (v instanceof Closed) { return 3; }; throw new Error("Failed pattern match at DOM.Websocket.ReadyState line 46, column 3 - line 50, column 15: " + [ v.constructor.name ]); }; var eqReadyState = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof Connecting && y instanceof Connecting) { return true; }; if (x instanceof Open && y instanceof Open) { return true; }; if (x instanceof Closing && y instanceof Closing) { return true; }; if (x instanceof Closed && y instanceof Closed) { return true; }; return false; }; }); var ordReadyState = new Data_Ord.Ord(function () { return eqReadyState; }, function (x) { return function (y) { if (x instanceof Connecting && y instanceof Connecting) { return Data_Ordering.EQ.value; }; if (x instanceof Connecting) { return Data_Ordering.LT.value; }; if (y instanceof Connecting) { return Data_Ordering.GT.value; }; if (x instanceof Open && y instanceof Open) { return Data_Ordering.EQ.value; }; if (x instanceof Open) { return Data_Ordering.LT.value; }; if (y instanceof Open) { return Data_Ordering.GT.value; }; if (x instanceof Closing && y instanceof Closing) { return Data_Ordering.EQ.value; }; if (x instanceof Closing) { return Data_Ordering.LT.value; }; if (y instanceof Closing) { return Data_Ordering.GT.value; }; if (x instanceof Closed && y instanceof Closed) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at DOM.Websocket.ReadyState line 14, column 8 - line 14, column 48: " + [ x.constructor.name, y.constructor.name ]); }; }); var enumReadyState = new Data_Enum.Enum(function () { return ordReadyState; }, Data_Enum.defaultPred(toEnumReadyState)(fromEnumReadyState), Data_Enum.defaultSucc(toEnumReadyState)(fromEnumReadyState)); var boundedReadyState = new Data_Bounded.Bounded(function () { return ordReadyState; }, Connecting.value, Closed.value); var boundedEnumReadyState = new Data_Enum.BoundedEnum(function () { return boundedReadyState; }, function () { return enumReadyState; }, 4, fromEnumReadyState, toEnumReadyState); exports["Connecting"] = Connecting; exports["Open"] = Open; exports["Closing"] = Closing; exports["Closed"] = Closed; exports["fromEnumReadyState"] = fromEnumReadyState; exports["toEnumReadyState"] = toEnumReadyState; exports["eqReadyState"] = eqReadyState; exports["ordReadyState"] = ordReadyState; exports["boundedReadyState"] = boundedReadyState; exports["enumReadyState"] = enumReadyState; exports["boundedEnumReadyState"] = boundedEnumReadyState; exports["showReadyState"] = showReadyState; })(PS["DOM.Websocket.ReadyState"] = PS["DOM.Websocket.ReadyState"] || {}); (function(exports) { "use strict"; var DOM_Event_Types = PS["DOM.Event.Types"]; var DOM_HTML_History = PS["DOM.HTML.History"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var Protocol = function (x) { return x; }; var socketToEventTarget = Unsafe_Coerce.unsafeCoerce; var readWebSocket = Data_Foreign.unsafeReadTagged("WebSocket"); var ordProtocol = Data_Ord.ordString; var newtypeProtocol = new Data_Newtype.Newtype(function (n) { return n; }, Protocol); var eqProtocol = Data_Eq.eqString; exports["Protocol"] = Protocol; exports["readWebSocket"] = readWebSocket; exports["socketToEventTarget"] = socketToEventTarget; exports["eqProtocol"] = eqProtocol; exports["ordProtocol"] = ordProtocol; exports["newtypeProtocol"] = newtypeProtocol; })(PS["DOM.Websocket.Types"] = PS["DOM.Websocket.Types"] || {}); (function(exports) { "use strict"; exports.create = function (url) { return function (protocols) { return function () { return new WebSocket(url, protocols); }; }; }; exports.url = function (ws) { return function () { return ws.url; }; }; exports.readyStateImpl = function (ws) { return function () { return ws.readyStateImpl; }; }; exports.bufferedAmount = function (ws) { return function () { return ws.bufferedAmount; }; }; exports.extensions = function (ws) { return function () { return ws.extensions; }; }; exports.protocol = function (ws) { return function () { return ws.protocol; }; }; exports.close = function (ws) { return function () { return ws.close(); }; }; exports.getBinaryTypeImpl = function (ws) { return function () { return ws.binaryType; }; }; exports.setBinaryTypeImpl = function (ws) { return function (bt) { return function () { ws.binaryType = bt; }; }; }; exports.sendImpl = function (ws) { return function (value) { return function () { ws.send(value); }; }; }; })(PS["DOM.Websocket.WebSocket"] = PS["DOM.Websocket.WebSocket"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.Websocket.WebSocket"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_File_Types = PS["DOM.File.Types"]; var DOM_Websocket_BinaryType = PS["DOM.Websocket.BinaryType"]; var DOM_Websocket_Event_Types = PS["DOM.Websocket.Event.Types"]; var DOM_Websocket_ReadyState = PS["DOM.Websocket.ReadyState"]; var DOM_Websocket_Types = PS["DOM.Websocket.Types"]; var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; var setBinaryType = function (ws) { return function ($9) { return $foreign.setBinaryTypeImpl(ws)(DOM_Websocket_BinaryType.printBinaryType($9)); }; }; var sendString = function (ws) { return function ($10) { return $foreign.sendImpl(ws)(Data_Foreign.toForeign($10)); }; }; var sendBlob = function (ws) { return function ($11) { return $foreign.sendImpl(ws)(Data_Foreign.toForeign($11)); }; }; var sendArrayBufferView = function (ws) { return function ($12) { return $foreign.sendImpl(ws)(Data_Foreign.toForeign($12)); }; }; var sendArrayBuffer = function (ws) { return function ($13) { return $foreign.sendImpl(ws)(Data_Foreign.toForeign($13)); }; }; var readyState = function (ws) { return function __do() { var v = $foreign.readyStateImpl(ws)(); return Data_Maybe.fromJust()(DOM_Websocket_ReadyState.toEnumReadyState(v)); }; }; var getBinaryType = function (ws) { return Data_Functor.mapFlipped(Control_Monad_Eff.functorEff)($foreign.getBinaryTypeImpl(ws))(function (v) { var __unused = function (dictPartial1) { return function ($dollar4) { return $dollar4; }; }; return __unused()((function () { if (v === "blob") { return DOM_Websocket_BinaryType.Blob.value; }; if (v === "arraybuffer") { return DOM_Websocket_BinaryType["ArrayBuffer"].value; }; throw new Error("Failed pattern match at DOM.Websocket.WebSocket line 61, column 28 - line 63, column 33: " + [ v.constructor.name ]); })()); }); }; exports["getBinaryType"] = getBinaryType; exports["readyState"] = readyState; exports["sendArrayBuffer"] = sendArrayBuffer; exports["sendArrayBufferView"] = sendArrayBufferView; exports["sendBlob"] = sendBlob; exports["sendString"] = sendString; exports["setBinaryType"] = setBinaryType; exports["bufferedAmount"] = $foreign.bufferedAmount; exports["close"] = $foreign.close; exports["create"] = $foreign.create; exports["extensions"] = $foreign.extensions; exports["protocol"] = $foreign.protocol; exports["url"] = $foreign.url; })(PS["DOM.Websocket.WebSocket"] = PS["DOM.Websocket.WebSocket"] || {}); (function(exports) { /* global FormData */ "use strict"; exports.newFormData = function () { return new FormData(); }; exports.appendString = function (form) { return function (key) { return function (val) { form.append(key, val); return {}; }; }; }; exports.appendWithName = function (form) { return function (key) { return function (val) { return function (name) { form.append(key, val, name); return {}; }; }; }; }; })(PS["DOM.XHR.FormData"] = PS["DOM.XHR.FormData"] || {}); (function(exports) { "use strict"; var $foreign = PS["DOM.XHR.FormData"]; var DOM_File_Types = PS["DOM.File.Types"]; var DOM_XHR_Types = PS["DOM.XHR.Types"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | Possible values of a `FormData`. var FormDataString = (function () { function FormDataString(value0) { this.value0 = value0; }; FormDataString.create = function (value0) { return new FormDataString(value0); }; return FormDataString; })(); // | Possible values of a `FormData`. var FormDataFile = (function () { function FormDataFile(value0, value1) { this.value0 = value0; this.value1 = value1; }; FormDataFile.create = function (value0) { return function (value1) { return new FormDataFile(value0, value1); }; }; return FormDataFile; })(); // | Possible values of a `FormData`. var FormDataBlob = (function () { function FormDataBlob(value0, value1) { this.value0 = value0; this.value1 = value1; }; FormDataBlob.create = function (value0) { return function (value1) { return new FormDataBlob(value0, value1); }; }; return FormDataBlob; })(); // ^ Blob name and `Blob` object. // | Convert an associated array of keys and values to a `FormData`. var toFormData = function (dictFoldable) { return function (dat) { var appendData = function (form) { return function (v) { if (v.value1 instanceof FormDataString) { return $foreign.appendString(form)(v.value0)(v.value1.value0); }; if (v.value1 instanceof FormDataFile) { return $foreign.appendWithName(form)(v.value0)(v.value1.value1)(v.value1.value0); }; if (v.value1 instanceof FormDataBlob) { return $foreign.appendWithName(form)(v.value0)(v.value1.value1)(v.value1.value0); }; throw new Error("Failed pattern match at DOM.XHR.FormData line 23, column 17 - line 23, column 93: " + [ form.constructor.name, v.constructor.name ]); }; }; var form = $foreign.newFormData(Data_Unit.unit); var _unit = Data_Foldable.foldMap(dictFoldable)(Data_Monoid.monoidUnit)(appendData(form))(dat); return form; }; }; exports["FormDataString"] = FormDataString; exports["FormDataFile"] = FormDataFile; exports["FormDataBlob"] = FormDataBlob; exports["toFormData"] = toFormData; })(PS["DOM.XHR.FormData"] = PS["DOM.XHR.FormData"] || {}); (function(exports) { // | Partial helper functions for working with immutable arrays. "use strict"; var Data_Array = PS["Data.Array"]; var Data_Ring = PS["Data.Ring"]; var Prelude = PS["Prelude"]; // | Get all but the first element of a non-empty array. // | // | Running time: `O(n)`, where `n` is the length of the array. var tail = function (dictPartial) { return function (xs) { return Data_Array.slice(1)(Data_Array.length(xs))(xs); }; }; // | Get the last element of a non-empty array. // | // | Running time: `O(1)`. var last = function (dictPartial) { return function (xs) { return xs[Data_Array.length(xs) - 1 | 0]; }; }; // | Get all but the last element of a non-empty array. // | // | Running time: `O(n)`, where `n` is the length of the array. var init = function (dictPartial) { return function (xs) { return Data_Array.slice(0)(Data_Array.length(xs) - 1 | 0)(xs); }; }; // | Get the first element of a non-empty array. // | // | Running time: `O(1)`. var head = function (dictPartial) { return function (xs) { return xs[0]; }; }; exports["head"] = head; exports["init"] = init; exports["last"] = last; exports["tail"] = tail; })(PS["Data.Array.Partial"] = PS["Data.Array.Partial"] || {}); (function(exports) { "use strict"; exports.peekSTArrayImpl = function (xs) { return function (i) { return function () { return xs[i]; }; }; }; exports.pokeSTArrayImpl = function (xs) { return function (i) { return function (a) { return function () { xs[i] = a; return {}; }; }; }; }; })(PS["Data.Array.ST.Partial"] = PS["Data.Array.ST.Partial"] || {}); (function(exports) { // | Partial functions for working with mutable arrays using the `ST` effect. // | // | This module is particularly helpful when performance is very important. "use strict"; var $foreign = PS["Data.Array.ST.Partial"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_ST = PS["Control.Monad.ST"]; var Data_Array_ST = PS["Data.Array.ST"]; var Data_Unit = PS["Data.Unit"]; // | Change the value at the specified index in a mutable array. var pokeSTArray = function (dictPartial) { return $foreign.pokeSTArrayImpl; }; // | Read the value at the specified index in a mutable array. var peekSTArray = function (dictPartial) { return $foreign.peekSTArrayImpl; }; exports["peekSTArray"] = peekSTArray; exports["pokeSTArray"] = pokeSTArray; })(PS["Data.Array.ST.Partial"] = PS["Data.Array.ST.Partial"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Biapplicative = PS["Control.Biapplicative"]; var Control_Biapply = PS["Control.Biapply"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Turns a `Bifunctor` into a `Functor` by equating the two type arguments. var Join = function (x) { return x; }; var showJoin = function (dictShow) { return new Data_Show.Show(function (v) { return "(Join " + (Data_Show.show(dictShow)(v) + ")"); }); }; var ordJoin = function (dictOrd) { return dictOrd; }; var newtypeJoin = new Data_Newtype.Newtype(function (n) { return n; }, Join); var eqJoin = function (dictEq) { return dictEq; }; var bifunctorJoin = function (dictBifunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Bifunctor.bimap(dictBifunctor)(f)(f)(v); }; }); }; var biapplyJoin = function (dictBiapply) { return new Control_Apply.Apply(function () { return bifunctorJoin(dictBiapply.Bifunctor0()); }, function (v) { return function (v1) { return Control_Biapply.biapply(dictBiapply)(v)(v1); }; }); }; var biapplicativeJoin = function (dictBiapplicative) { return new Control_Applicative.Applicative(function () { return biapplyJoin(dictBiapplicative.Biapply0()); }, function (a) { return Control_Biapplicative.bipure(dictBiapplicative)(a)(a); }); }; exports["Join"] = Join; exports["newtypeJoin"] = newtypeJoin; exports["eqJoin"] = eqJoin; exports["ordJoin"] = ordJoin; exports["showJoin"] = showJoin; exports["bifunctorJoin"] = bifunctorJoin; exports["biapplyJoin"] = biapplyJoin; exports["biapplicativeJoin"] = biapplicativeJoin; })(PS["Data.Bifunctor.Join"] = PS["Data.Bifunctor.Join"] || {}); (function(exports) { "use strict"; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Control_Monad_Gen_Class = PS["Control.Monad.Gen.Class"]; var Data_Char = PS["Data.Char"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Functor = PS["Data.Functor"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Prelude = PS["Prelude"]; // | Generates a character of the Unicode basic multilingual plain. var genUnicodeChar = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Char.fromCharCode)(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(0)(65536)); }; // | Generates a character that is a numeric digit. var genDigitChar = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Char.fromCharCode)(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(48)(57)); }; // | Generates a character in the ASCII character set. var genAsciiChar$prime = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Char.fromCharCode)(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(0)(127)); }; // | Generates a character in the ASCII character set, excluding control codes. var genAsciiChar = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Char.fromCharCode)(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(32)(127)); }; // | Generates an uppercase character from the basic latin alphabet. var genAlphaUppercase = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Char.fromCharCode)(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(65)(90)); }; // | Generates a lowercase character from the basic latin alphabet. var genAlphaLowercase = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Char.fromCharCode)(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(97)(122)); }; // | Generates a character from the basic latin alphabet. var genAlpha = function (dictMonadGen) { return Control_Monad_Gen.oneOf(dictMonadGen)(Data_Foldable.foldableArray)(new Data_NonEmpty.NonEmpty(genAlphaLowercase(dictMonadGen), [ genAlphaUppercase(dictMonadGen) ])); }; exports["genAlpha"] = genAlpha; exports["genAlphaLowercase"] = genAlphaLowercase; exports["genAlphaUppercase"] = genAlphaUppercase; exports["genAsciiChar"] = genAsciiChar; exports["genAsciiChar'"] = genAsciiChar$prime; exports["genDigitChar"] = genDigitChar; exports["genUnicodeChar"] = genUnicodeChar; })(PS["Data.Char.Gen"] = PS["Data.Char.Gen"] || {}); (function(exports) { "use strict"; var Data_Function = PS["Data.Function"]; var Data_Functor_Contravariant = PS["Data.Functor.Contravariant"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Prelude = PS["Prelude"]; // | An adaptor allowing `>$<` to map over the inputs of a comparison function. var Comparison = function (x) { return x; }; var semigroupComparison = new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Data_Semigroup.append(Data_Semigroup.semigroupFn(Data_Semigroup.semigroupFn(Data_Ordering.semigroupOrdering)))(v)(v1); }; }); var newtypeComparison = new Data_Newtype.Newtype(function (n) { return n; }, Comparison); var monoidComparison = new Data_Monoid.Monoid(function () { return semigroupComparison; }, function (v) { return function (v1) { return Data_Ordering.EQ.value; }; }); // | The default comparison for any values with an `Ord` instance. var defaultComparison = function (dictOrd) { return Data_Ord.compare(dictOrd); }; var contravariantComparison = new Data_Functor_Contravariant.Contravariant(function (f) { return function (v) { return Data_Function.on(v)(f); }; }); exports["Comparison"] = Comparison; exports["defaultComparison"] = defaultComparison; exports["newtypeComparison"] = newtypeComparison; exports["contravariantComparison"] = contravariantComparison; exports["semigroupComparison"] = semigroupComparison; exports["monoidComparison"] = monoidComparison; })(PS["Data.Comparison"] = PS["Data.Comparison"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Exists = PS["Data.Exists"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; // | `Coyoneda` is encoded as an existential type using `Data.Exists`. // | // | This type constructor encodes the contents of the existential package. var CoyonedaF = (function () { function CoyonedaF(value0, value1) { this.value0 = value0; this.value1 = value1; }; CoyonedaF.create = function (value0) { return function (value1) { return new CoyonedaF(value0, value1); }; }; return CoyonedaF; })(); // | The `Coyoneda` `Functor`. // | // | `Coyoneda f` is a `Functor` for any type constructor `f`. In fact, // | it is the _free_ `Functor` for `f`, i.e. any natural transformation // | `nat :: f ~> g`, can be factor through `liftCoyoneda`. The natural // | transformation from `Coyoneda f ~> g` is given by `lowerCoyoneda <<< // | hoistCoyoneda nat`: // | ```purescript // | lowerCoyoneda <<< hoistCoyoneda nat <<< liftCoyoneda $ fi // | = lowerCoyoneda (hoistCoyoneda nat (Coyoneda $ mkExists $ CoyonedaF id fi)) (by definition of liftCoyoneda) // | = lowerCoyoneda (coyoneda id (nat fi)) (by definition of hoistCoyoneda) // | = unCoyoneda map (coyoneda id (nat fi)) (by definition of lowerCoyoneda) // | = unCoyoneda map (Coyoneda $ mkExists $ CoyonedaF id (nat fi)) (by definition of coyoneda) // | = map id (nat fi) (by definition of unCoyoneda) // | = nat fi (since g is a Functor) // | ``` var Coyoneda = function (x) { return x; }; // | Deconstruct a value of `Coyoneda a` to retrieve the mapping function and // | original value. var unCoyoneda = function (f) { return function (v) { return Data_Exists.runExists(function (v1) { return f(v1.value0)(v1.value1); })(v); }; }; // | Lower a value of type `Coyoneda f a` to the `Functor` `f`. var lowerCoyoneda = function (dictFunctor) { return unCoyoneda(Data_Functor.map(dictFunctor)); }; var eqCoyoneda = function (dictFunctor) { return function (dictEq1) { return function (dictEq) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq1(dictEq1)(dictEq)(lowerCoyoneda(dictFunctor)(x))(lowerCoyoneda(dictFunctor)(y)); }; }); }; }; }; var ordCoyoneda = function (dictFunctor) { return function (dictOrd1) { return function (dictOrd) { return new Data_Ord.Ord(function () { return eqCoyoneda(dictFunctor)(dictOrd1.Eq10())(dictOrd.Eq0()); }, function (x) { return function (y) { return Data_Ord.compare1(dictOrd1)(dictOrd)(lowerCoyoneda(dictFunctor)(x))(lowerCoyoneda(dictFunctor)(y)); }; }); }; }; }; var eq1Coyoneda = function (dictFunctor) { return function (dictEq1) { return new Data_Eq.Eq1(function (dictEq) { return Data_Eq.eq(eqCoyoneda(dictFunctor)(dictEq1)(dictEq)); }); }; }; var ord1Coyoneda = function (dictFunctor) { return function (dictOrd1) { return new Data_Ord.Ord1(function () { return eq1Coyoneda(dictFunctor)(dictOrd1.Eq10()); }, function (dictOrd) { return Data_Ord.compare(ordCoyoneda(dictFunctor)(dictOrd1)(dictOrd)); }); }; }; // | Construct a value of type `Coyoneda f b` from a mapping function and a // | value of type `f a`. var coyoneda = function (k) { return function (fi) { return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi))); }; }; var functorCoyoneda = new Data_Functor.Functor(function (f) { return function (v) { return Data_Exists.runExists(function (v1) { return coyoneda(function ($61) { return f(v1.value0($61)); })(v1.value1); })(v); }; }); // | Use a natural transformation to change the generating type constructor of a // | `Coyoneda`. var hoistCoyoneda = function (nat) { return function (v) { return Data_Exists.runExists(function (v1) { return coyoneda(v1.value0)(nat(v1.value1)); })(v); }; }; // | Lift a value described by the type constructor `f` to `Coyoneda f`. // | // | Note that for any functor `f` `liftCoyoneda` has a right inverse // | `lowerCoyoneda`: // | ```purescript // | liftCoyoneda <<< lowerCoyoneda $ (Coyoneda e) // | = liftCoyoneda <<< unCoyoneda map $ (Coyoneda e) // | = liftCoyonead (runExists (\(CoyonedaF k fi) -> map k fi) e) // | = liftCoyonead (Coyoneda e) // | = coyoneda id (Coyoneda e) // | = Coyoneda e // | ``` // | Moreover if `f` is a `Functor` then `liftCoyoneda` is an isomorphism of // | functors with inverse `lowerCoyoneda`: we already showed that // | `lowerCoyoneda <<< hoistCoyoneda id = lowerCoyoneda` is its left inverse // | whenever `f` is a functor. var liftCoyoneda = coyoneda(Control_Category.id(Control_Category.categoryFn)); var extendCoyoneda = function (dictExtend) { return new Control_Extend.Extend(function () { return functorCoyoneda; }, function (f) { return function (v) { return Data_Exists.runExists(function (v1) { return liftCoyoneda(Control_Extend.extend(dictExtend)(function ($62) { return f(coyoneda(v1.value0)($62)); })(v1.value1)); })(v); }; }); }; var monadTransCoyoneda = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return liftCoyoneda; }); // | As in the monad case: if `w` is a comonad, then it is a functor, thus // | `liftCoyoneda` is an iso of functors, but moreover it is an iso of // | comonads, i.e. the following law holds: // | ```purescript // | g <<= liftCoyoneda w = liftCoyoneda $ g <<< liftCoyoneda <<= w // | ``` var comonadCoyoneda = function (dictComonad) { return new Control_Comonad.Comonad(function () { return extendCoyoneda(dictComonad.Extend0()); }, function (v) { return Data_Exists.runExists(function (v1) { return v1.value0(Control_Comonad.extract(dictComonad)(v1.value1)); })(v); }); }; var applyCoyoneda = function (dictApply) { return new Control_Apply.Apply(function () { return functorCoyoneda; }, function (f) { return function (g) { return liftCoyoneda(Control_Apply.apply(dictApply)(lowerCoyoneda(dictApply.Functor0())(f))(lowerCoyoneda(dictApply.Functor0())(g))); }; }); }; var bindCoyoneda = function (dictBind) { return new Control_Bind.Bind(function () { return applyCoyoneda(dictBind.Apply0()); }, function (v) { return function (f) { return liftCoyoneda(Data_Exists.runExists(function (v1) { return Control_Bind.bindFlipped(dictBind)(function ($63) { return lowerCoyoneda((dictBind.Apply0()).Functor0())(f(v1.value0($63))); })(v1.value1); })(v)); }; }); }; var applicativeCoyoneda = function (dictApplicative) { return new Control_Applicative.Applicative(function () { return applyCoyoneda(dictApplicative.Apply0()); }, function ($64) { return liftCoyoneda(Control_Applicative.pure(dictApplicative)($64)); }); }; // | When `f` is a Monad then it is a functor as well. In this case // | `liftCoyoneda` is not only a functor isomorphism but also a monad // | isomorphism, i.e. the following law holds // | ```purescript // | liftCoyoneda fa >>= liftCoyoneda <<< g = liftCoyoneda $ fa >>= g // | ``` var monadCoyoneda = function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeCoyoneda(dictMonad.Applicative0()); }, function () { return bindCoyoneda(dictMonad.Bind1()); }); }; exports["Coyoneda"] = Coyoneda; exports["coyoneda"] = coyoneda; exports["hoistCoyoneda"] = hoistCoyoneda; exports["liftCoyoneda"] = liftCoyoneda; exports["lowerCoyoneda"] = lowerCoyoneda; exports["unCoyoneda"] = unCoyoneda; exports["eqCoyoneda"] = eqCoyoneda; exports["eq1Coyoneda"] = eq1Coyoneda; exports["ordCoyoneda"] = ordCoyoneda; exports["ord1Coyoneda"] = ord1Coyoneda; exports["functorCoyoneda"] = functorCoyoneda; exports["applyCoyoneda"] = applyCoyoneda; exports["applicativeCoyoneda"] = applicativeCoyoneda; exports["bindCoyoneda"] = bindCoyoneda; exports["monadCoyoneda"] = monadCoyoneda; exports["monadTransCoyoneda"] = monadTransCoyoneda; exports["extendCoyoneda"] = extendCoyoneda; exports["comonadCoyoneda"] = comonadCoyoneda; })(PS["Data.Coyoneda"] = PS["Data.Coyoneda"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Enum = PS["Data.Enum"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Maybe = PS["Data.Maybe"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Prelude = PS["Prelude"]; // | Create a random generator for a finite enumeration. var genBoundedEnum = function (dictMonadGen) { return function (dictBoundedEnum) { var v = Data_Enum.succ(dictBoundedEnum.Enum1())(Data_Bounded.bottom(dictBoundedEnum.Bounded0())); if (v instanceof Data_Maybe.Just) { var possibilities = Data_Enum.enumFromTo(dictBoundedEnum.Enum1())(Data_Unfoldable.unfoldableArray)(v.value0)(Data_Bounded.top(dictBoundedEnum.Bounded0())); return Control_Monad_Gen.elements(dictMonadGen)(Data_Foldable.foldableArray)(new Data_NonEmpty.NonEmpty(Data_Bounded.bottom(dictBoundedEnum.Bounded0()), possibilities)); }; if (v instanceof Data_Maybe.Nothing) { return Control_Applicative.pure((dictMonadGen.Monad0()).Applicative0())(Data_Bounded.bottom(dictBoundedEnum.Bounded0())); }; throw new Error("Failed pattern match at Data.Enum.Gen line 13, column 3 - line 18, column 12: " + [ v.constructor.name ]); }; }; exports["genBoundedEnum"] = genBoundedEnum; })(PS["Data.Enum.Gen"] = PS["Data.Enum.Gen"] || {}); (function(exports) { "use strict"; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Control_Monad_Gen_Class = PS["Control.Monad.Gen.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Date_Component = PS["Data.Date.Component"]; var Data_Enum = PS["Data.Enum"]; var Data_Enum_Gen = PS["Data.Enum.Gen"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; // | Generates a random `Year` in the range 1900-2100, inclusive. var genYear = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(function ($5) { return Data_Maybe.fromJust()(Data_Enum.toEnum(Data_Date_Component.boundedEnumYear)($5)); })(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(1900)(2100)); }; // | Generates a random `Weekday` component. var genWeekday = function (dictMonadGen) { return Data_Enum_Gen.genBoundedEnum(dictMonadGen)(Data_Date_Component.boundedEnumWeekday); }; // | Generates a random `Month` component. var genMonth = function (dictMonadGen) { return Data_Enum_Gen.genBoundedEnum(dictMonadGen)(Data_Date_Component.boundedEnumMonth); }; // | Generates a random `Day` component. var genDay = function (dictMonadGen) { return Data_Enum_Gen.genBoundedEnum(dictMonadGen)(Data_Date_Component.boundedEnumDay); }; exports["genDay"] = genDay; exports["genMonth"] = genMonth; exports["genWeekday"] = genWeekday; exports["genYear"] = genYear; })(PS["Data.Date.Component.Gen"] = PS["Data.Date.Component.Gen"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Data_Date = PS["Data.Date"]; var Data_Date_Component_Gen = PS["Data.Date.Component.Gen"]; var Data_Functor = PS["Data.Functor"]; var Prelude = PS["Prelude"]; // | Generates a random `Date` between 1st Jan 1900 and 31st Dec 2100, // | inclusive. var genDate = function (dictMonadGen) { return Control_Apply.apply(((dictMonadGen.Monad0()).Bind1()).Apply0())(Control_Apply.apply(((dictMonadGen.Monad0()).Bind1()).Apply0())(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Date.canonicalDate)(Data_Date_Component_Gen.genYear(dictMonadGen)))(Data_Date_Component_Gen.genMonth(dictMonadGen)))(Data_Date_Component_Gen.genDay(dictMonadGen)); }; exports["genDate"] = genDate; })(PS["Data.Date.Gen"] = PS["Data.Date.Gen"] || {}); (function(exports) { "use strict"; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Data_Enum_Gen = PS["Data.Enum.Gen"]; var Data_Time_Component = PS["Data.Time.Component"]; // | Generates a random `Second` component. var genSecond = function (dictMonadGen) { return Data_Enum_Gen.genBoundedEnum(dictMonadGen)(Data_Time_Component.boundedEnumSecond); }; // | Generates a random `Minute` component. var genMinute = function (dictMonadGen) { return Data_Enum_Gen.genBoundedEnum(dictMonadGen)(Data_Time_Component.boundedEnumMinute); }; // | Generates a random `Millisecond` component. var genMillisecond = function (dictMonadGen) { return Data_Enum_Gen.genBoundedEnum(dictMonadGen)(Data_Time_Component.boundedEnumMillisecond); }; // | Generates a random `Hour` component. var genHour = function (dictMonadGen) { return Data_Enum_Gen.genBoundedEnum(dictMonadGen)(Data_Time_Component.boundedEnumHour); }; exports["genHour"] = genHour; exports["genMillisecond"] = genMillisecond; exports["genMinute"] = genMinute; exports["genSecond"] = genSecond; })(PS["Data.Time.Component.Gen"] = PS["Data.Time.Component.Gen"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Data_Functor = PS["Data.Functor"]; var Data_Time = PS["Data.Time"]; var Data_Time_Component_Gen = PS["Data.Time.Component.Gen"]; var Prelude = PS["Prelude"]; // | Generates a random `Time` between 00:00:00 and 23:59:59, inclusive. var genTime = function (dictMonadGen) { return Control_Apply.apply(((dictMonadGen.Monad0()).Bind1()).Apply0())(Control_Apply.apply(((dictMonadGen.Monad0()).Bind1()).Apply0())(Control_Apply.apply(((dictMonadGen.Monad0()).Bind1()).Apply0())(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Time.Time.create)(Data_Time_Component_Gen.genHour(dictMonadGen)))(Data_Time_Component_Gen.genMinute(dictMonadGen)))(Data_Time_Component_Gen.genSecond(dictMonadGen)))(Data_Time_Component_Gen.genMillisecond(dictMonadGen)); }; exports["genTime"] = genTime; })(PS["Data.Time.Gen"] = PS["Data.Time.Gen"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Data_Date_Gen = PS["Data.Date.Gen"]; var Data_DateTime = PS["Data.DateTime"]; var Data_Functor = PS["Data.Functor"]; var Data_Time_Gen = PS["Data.Time.Gen"]; var Prelude = PS["Prelude"]; // | Generates a random `DateTime` between 1st Jan 1900 00:00:00 and // | 31st Dec 2100 23:59:59, inclusive. var genDateTime = function (dictMonadGen) { return Control_Apply.apply(((dictMonadGen.Monad0()).Bind1()).Apply0())(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_DateTime.DateTime.create)(Data_Date_Gen.genDate(dictMonadGen)))(Data_Time_Gen.genTime(dictMonadGen)); }; exports["genDateTime"] = genDateTime; })(PS["Data.DateTime.Gen"] = PS["Data.DateTime.Gen"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Data_DateTime = PS["Data.DateTime"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Functor = PS["Data.Functor"]; var Data_Generic = PS["Data.Generic"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Time_Duration = PS["Data.Time.Duration"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | The name of a date/time locale. For example: "GMT", "MDT", "CET", etc. var LocaleName = function (x) { return x; }; // | A date/time locale specifying an offset in minutes and an optional name for // | the locale. var Locale = (function () { function Locale(value0, value1) { this.value0 = value0; this.value1 = value1; }; Locale.create = function (value0) { return function (value1) { return new Locale(value0, value1); }; }; return Locale; })(); // | A value that is subject to a `Locale`. // | // | There are `Functor`, `Extend`, and `Comonad` instances for `LocalValue` to // | enable the inner non-localised value to be manipulated while maintaining // | the locale. var LocalValue = (function () { function LocalValue(value0, value1) { this.value0 = value0; this.value1 = value1; }; LocalValue.create = function (value0) { return function (value1) { return new LocalValue(value0, value1); }; }; return LocalValue; })(); var showLocaleName = new Data_Show.Show(function (v) { return "(LocaleName " + (Data_Show.show(Data_Show.showString)(v) + ")"); }); var showLocale = new Data_Show.Show(function (v) { return "(Locale " + (Data_Show.show(Data_Maybe.showMaybe(showLocaleName))(v.value0) + (" " + (Data_Show.show(Data_Time_Duration.showMinutes)(v.value1) + ")"))); }); var showLocalValue = function (dictShow) { return new Data_Show.Show(function (v) { return "(LocalValue " + (Data_Show.show(showLocale)(v.value0) + (" " + (Data_Show.show(dictShow)(v.value1) + ")"))); }); }; var ordLocaleName = Data_Ord.ordString; var newtypeLocaleName = new Data_Newtype.Newtype(function (n) { return n; }, LocaleName); var genericLocaleName = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.DateTime.Locale.LocaleName" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(LocaleName))(Data_Generic.fromSpine(Data_Generic.genericString)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.DateTime.Locale.LocaleName", [ { sigConstructor: "Data.DateTime.Locale.LocaleName", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericString)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.DateTime.Locale.LocaleName", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericString)(v); } ]); }); var genericLocale = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.DateTime.Locale.Locale" && v.value1.length === 2)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Locale.create))(Data_Generic.fromSpine(Data_Generic.genericMaybe(genericLocaleName))(v["value1"][0](Data_Unit.unit))))(Data_Generic.fromSpine(Data_Time_Duration.genericMinutes)(v["value1"][1](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.DateTime.Locale.Locale", [ { sigConstructor: "Data.DateTime.Locale.Locale", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericMaybe(genericLocaleName))(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(Data_Time_Duration.genericMinutes)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.DateTime.Locale.Locale", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericMaybe(genericLocaleName))(v.value0); }, function ($dollarq) { return Data_Generic.toSpine(Data_Time_Duration.genericMinutes)(v.value1); } ]); }); var genericLocalValue = function (dictGeneric) { return new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Data.DateTime.Locale.LocalValue" && v.value1.length === 2)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(LocalValue.create))(Data_Generic.fromSpine(genericLocale)(v["value1"][0](Data_Unit.unit))))(Data_Generic.fromSpine(dictGeneric)(v["value1"][1](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Data.DateTime.Locale.LocalValue", [ { sigConstructor: "Data.DateTime.Locale.LocalValue", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(genericLocale)(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(dictGeneric)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Data.DateTime.Locale.LocalValue", [ function ($dollarq) { return Data_Generic.toSpine(genericLocale)(v.value0); }, function ($dollarq) { return Data_Generic.toSpine(dictGeneric)(v.value1); } ]); }); }; var functorLocalValue = new Data_Functor.Functor(function (f) { return function (v) { return new LocalValue(v.value0, f(v.value1)); }; }); var foldableLocalValue = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (v) { return f(v.value1); }; }; }, function (f) { return function (b) { return function (v) { return f(b)(v.value1); }; }; }, function (f) { return function (b) { return function (v) { return f(v.value1)(b); }; }; }); var traversableLocalValue = new Data_Traversable.Traversable(function () { return foldableLocalValue; }, function () { return functorLocalValue; }, function (dictApplicative) { return Data_Traversable.traverse(traversableLocalValue)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); }, function (dictApplicative) { return function (f) { return function (v) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(LocalValue.create)(Control_Applicative.pure(dictApplicative)(v.value0)))(f(v.value1)); }; }; }); var extendLocalValue = new Control_Extend.Extend(function () { return functorLocalValue; }, function (f) { return function (v) { return new LocalValue(v.value0, f(v)); }; }); var eqLocaleName = Data_Eq.eqString; var eqLocale = new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(Data_Maybe.eqMaybe(eqLocaleName))(x.value0)(y.value0) && Data_Eq.eq(Data_Time_Duration.eqMinutes)(x.value1)(y.value1); }; }); var ordLocale = new Data_Ord.Ord(function () { return eqLocale; }, function (x) { return function (y) { var v = Data_Ord.compare(Data_Maybe.ordMaybe(ordLocaleName))(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(Data_Time_Duration.ordMinutes)(x.value1)(y.value1); }; }); var eqLocalValue = function (dictEq) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(eqLocale)(x.value0)(y.value0) && Data_Eq.eq(dictEq)(x.value1)(y.value1); }; }); }; var ordLocalValue = function (dictOrd) { return new Data_Ord.Ord(function () { return eqLocalValue(dictOrd.Eq0()); }, function (x) { return function (y) { var v = Data_Ord.compare(ordLocale)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(dictOrd)(x.value1)(y.value1); }; }); }; var comonadLocalValue = new Control_Comonad.Comonad(function () { return extendLocalValue; }, function (v) { return v.value1; }); exports["LocalValue"] = LocalValue; exports["Locale"] = Locale; exports["LocaleName"] = LocaleName; exports["eqLocale"] = eqLocale; exports["ordLocale"] = ordLocale; exports["genericLocale"] = genericLocale; exports["showLocale"] = showLocale; exports["newtypeLocaleName"] = newtypeLocaleName; exports["eqLocaleName"] = eqLocaleName; exports["ordLocaleName"] = ordLocaleName; exports["genericLocaleName"] = genericLocaleName; exports["showLocaleName"] = showLocaleName; exports["eqLocalValue"] = eqLocalValue; exports["ordLocalValue"] = ordLocalValue; exports["genericLocalValue"] = genericLocalValue; exports["showLocalValue"] = showLocalValue; exports["functorLocalValue"] = functorLocalValue; exports["extendLocalValue"] = extendLocalValue; exports["comonadLocalValue"] = comonadLocalValue; exports["foldableLocalValue"] = foldableLocalValue; exports["traversableLocalValue"] = traversableLocalValue; })(PS["Data.DateTime.Locale"] = PS["Data.DateTime.Locale"] || {}); (function(exports) { "use strict"; var Data_Comparison = PS["Data.Comparison"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Functor_Contravariant = PS["Data.Functor.Contravariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Prelude = PS["Prelude"]; // | An adaptor allowing `>$<` to map over the inputs of an equivalence // | relation. var Equivalence = function (x) { return x; }; var semigroupEquivalence = new Data_Semigroup.Semigroup(function (v) { return function (v1) { return function (a) { return function (b) { return v(a)(b) && v1(a)(b); }; }; }; }); var newtypeEquivalence = new Data_Newtype.Newtype(function (n) { return n; }, Equivalence); var monoidEquivalence = new Data_Monoid.Monoid(function () { return semigroupEquivalence; }, function (v) { return function (v1) { return true; }; }); // | The default equivalence relation for any values with an `Eq` instance. var defaultEquivalence = function (dictEq) { return Data_Eq.eq(dictEq); }; var contravariantEquivalence = new Data_Functor_Contravariant.Contravariant(function (f) { return function (v) { return Data_Function.on(v)(f); }; }); // | An equivalence relation for any `Comparison`. var comparisonEquivalence = function (v) { return function (a) { return function (b) { return Data_Eq.eq(Data_Ordering.eqOrdering)(v(a)(b))(Data_Ordering.EQ.value); }; }; }; exports["Equivalence"] = Equivalence; exports["comparisonEquivalence"] = comparisonEquivalence; exports["defaultEquivalence"] = defaultEquivalence; exports["newtypeEquivalence"] = newtypeEquivalence; exports["contravariantEquivalence"] = contravariantEquivalence; exports["semigroupEquivalence"] = semigroupEquivalence; exports["monoidEquivalence"] = monoidEquivalence; })(PS["Data.Equivalence"] = PS["Data.Equivalence"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor_Contravariant = PS["Data.Functor.Contravariant"]; var Data_Newtype = PS["Data.Newtype"]; var Prelude = PS["Prelude"]; // | The opposite of the function category. var Op = function (x) { return x; }; var semigroupoidOp = new Control_Semigroupoid.Semigroupoid(function (v) { return function (v1) { return function ($10) { return v1(v($10)); }; }; }); var newtypeOp = new Data_Newtype.Newtype(function (n) { return n; }, Op); var contravariantOp = new Data_Functor_Contravariant.Contravariant(function (f) { return function (v) { return function ($11) { return v(f($11)); }; }; }); var categoryOp = new Control_Category.Category(function () { return semigroupoidOp; }, Control_Category.id(Control_Category.categoryFn)); exports["Op"] = Op; exports["newtypeOp"] = newtypeOp; exports["semigroupoidOp"] = semigroupoidOp; exports["categoryOp"] = categoryOp; exports["contravariantOp"] = contravariantOp; })(PS["Data.Op"] = PS["Data.Op"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor_Contravariant = PS["Data.Functor.Contravariant"]; var Data_Newtype = PS["Data.Newtype"]; var Prelude = PS["Prelude"]; // | An adaptor allowing `>$<` to map over the inputs of a predicate. var Predicate = function (x) { return x; }; var newtypePredicate = new Data_Newtype.Newtype(function (n) { return n; }, Predicate); var contravariantPredicate = new Data_Functor_Contravariant.Contravariant(function (f) { return function (v) { return function ($6) { return v(f($6)); }; }; }); exports["Predicate"] = Predicate; exports["newtypePredicate"] = newtypePredicate; exports["contravariantPredicate"] = contravariantPredicate; })(PS["Data.Predicate"] = PS["Data.Predicate"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Data_Comparison = PS["Data.Comparison"]; var Data_Equivalence = PS["Data.Equivalence"]; var Data_Functor_Contravariant = PS["Data.Functor.Contravariant"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Op = PS["Data.Op"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Predicate = PS["Data.Predicate"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | `Divide` is the contravariant analogue of `Apply`. // | // | For example, to test equality of `Point`s, we can use the `Divide` instance // | for `Equivalence`: // | // | ```purescript // | type Point = Tuple Int Int // | // | pointEquiv :: Equivalence Point // | pointEquiv = divided defaultEquivalence defaultEquivalence // | ``` var Divide = function (Contravariant0, divide) { this.Contravariant0 = Contravariant0; this.divide = divide; }; var dividePredicate = new Divide(function () { return Data_Predicate.contravariantPredicate; }, function (f) { return function (v) { return function (v1) { return function (a) { var v2 = f(a); return v(v2.value0) && v1(v2.value1); }; }; }; }); var divideOp = function (dictSemigroup) { return new Divide(function () { return Data_Op.contravariantOp; }, function (f) { return function (v) { return function (v1) { return function (a) { var v2 = f(a); return Data_Semigroup.append(dictSemigroup)(v(v2.value0))(v1(v2.value1)); }; }; }; }); }; var divideEquivalence = new Divide(function () { return Data_Equivalence.contravariantEquivalence; }, function (f) { return function (v) { return function (v1) { return function (a) { return function (b) { var v2 = f(a); var v3 = f(b); return v(v2.value0)(v3.value0) && v1(v2.value1)(v3.value1); }; }; }; }; }); var divideComparison = new Divide(function () { return Data_Comparison.contravariantComparison; }, function (f) { return function (v) { return function (v1) { return function (a) { return function (b) { var v2 = f(a); var v3 = f(b); return Data_Semigroup.append(Data_Ordering.semigroupOrdering)(v(v2.value0)(v3.value0))(v1(v2.value1)(v3.value1)); }; }; }; }; }); var divide = function (dict) { return dict.divide; }; // | `divided = divide id` var divided = function (dictDivide) { return divide(dictDivide)(Control_Category.id(Control_Category.categoryFn)); }; exports["Divide"] = Divide; exports["divide"] = divide; exports["divided"] = divided; exports["divideComparison"] = divideComparison; exports["divideEquivalence"] = divideEquivalence; exports["dividePredicate"] = dividePredicate; exports["divideOp"] = divideOp; })(PS["Data.Divide"] = PS["Data.Divide"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Comparison = PS["Data.Comparison"]; var Data_Divide = PS["Data.Divide"]; var Data_Either = PS["Data.Either"]; var Data_Equivalence = PS["Data.Equivalence"]; var Data_Op = PS["Data.Op"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Predicate = PS["Data.Predicate"]; var Prelude = PS["Prelude"]; // | `Decide` is the contravariant analogue of `Alt`. var Decide = function (Divide0, choose) { this.Divide0 = Divide0; this.choose = choose; }; var choosePredicate = new Decide(function () { return Data_Divide.dividePredicate; }, function (f) { return function (v) { return function (v1) { return function ($52) { return Data_Either.either(v)(v1)(f($52)); }; }; }; }); var chooseOp = function (dictSemigroup) { return new Decide(function () { return Data_Divide.divideOp(dictSemigroup); }, function (f) { return function (v) { return function (v1) { return function ($53) { return Data_Either.either(v)(v1)(f($53)); }; }; }; }); }; var chooseEquivalence = new Decide(function () { return Data_Divide.divideEquivalence; }, function (f) { return function (v) { return function (v1) { return function (a) { return function (b) { var v2 = f(a); if (v2 instanceof Data_Either.Left) { var v3 = f(b); if (v3 instanceof Data_Either.Left) { return v(v2.value0)(v3.value0); }; if (v3 instanceof Data_Either.Right) { return false; }; throw new Error("Failed pattern match at Data.Decide line 27, column 15 - line 29, column 23: " + [ v3.constructor.name ]); }; if (v2 instanceof Data_Either.Right) { var v3 = f(b); if (v3 instanceof Data_Either.Left) { return false; }; if (v3 instanceof Data_Either.Right) { return v1(v2.value0)(v3.value0); }; throw new Error("Failed pattern match at Data.Decide line 30, column 16 - line 32, column 23: " + [ v3.constructor.name ]); }; throw new Error("Failed pattern match at Data.Decide line 26, column 66 - line 32, column 23: " + [ v2.constructor.name ]); }; }; }; }; }); var chooseComparison = new Decide(function () { return Data_Divide.divideComparison; }, function (f) { return function (v) { return function (v1) { return function (a) { return function (b) { var v2 = f(a); if (v2 instanceof Data_Either.Left) { var v3 = f(b); if (v3 instanceof Data_Either.Left) { return v(v2.value0)(v3.value0); }; if (v3 instanceof Data_Either.Right) { return Data_Ordering.LT.value; }; throw new Error("Failed pattern match at Data.Decide line 18, column 15 - line 20, column 20: " + [ v3.constructor.name ]); }; if (v2 instanceof Data_Either.Right) { var v3 = f(b); if (v3 instanceof Data_Either.Left) { return Data_Ordering.GT.value; }; if (v3 instanceof Data_Either.Right) { return v1(v2.value0)(v3.value0); }; throw new Error("Failed pattern match at Data.Decide line 21, column 16 - line 23, column 23: " + [ v3.constructor.name ]); }; throw new Error("Failed pattern match at Data.Decide line 17, column 63 - line 23, column 23: " + [ v2.constructor.name ]); }; }; }; }; }); var choose = function (dict) { return dict.choose; }; // | `chosen = choose id` var chosen = function (dictDecide) { return choose(dictDecide)(Control_Category.id(Control_Category.categoryFn)); }; exports["Decide"] = Decide; exports["choose"] = choose; exports["chosen"] = chosen; exports["chooseComparison"] = chooseComparison; exports["chooseEquivalence"] = chooseEquivalence; exports["choosePredicate"] = choosePredicate; exports["chooseOp"] = chooseOp; })(PS["Data.Decide"] = PS["Data.Decide"] || {}); (function(exports) { "use strict"; var Data_Comparison = PS["Data.Comparison"]; var Data_Divide = PS["Data.Divide"]; var Data_Equivalence = PS["Data.Equivalence"]; var Data_Function = PS["Data.Function"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Op = PS["Data.Op"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Predicate = PS["Data.Predicate"]; var Prelude = PS["Prelude"]; // | `Divisible` is the contravariant analogue of `Applicative`. var Divisible = function (Divide0, conquer) { this.Divide0 = Divide0; this.conquer = conquer; }; var divisiblePredicate = new Divisible(function () { return Data_Divide.dividePredicate; }, Data_Function["const"](true)); var divisibleOp = function (dictMonoid) { return new Divisible(function () { return Data_Divide.divideOp(dictMonoid.Semigroup0()); }, Data_Op.Op(Data_Function["const"](Data_Monoid.mempty(dictMonoid)))); }; var divisibleEquivalence = new Divisible(function () { return Data_Divide.divideEquivalence; }, Data_Equivalence.Equivalence(function (v) { return function (v1) { return true; }; })); var divisibleComparison = new Divisible(function () { return Data_Divide.divideComparison; }, Data_Comparison.Comparison(function (v) { return function (v1) { return Data_Ordering.EQ.value; }; })); var conquer = function (dict) { return dict.conquer; }; exports["Divisible"] = Divisible; exports["conquer"] = conquer; exports["divisibleComparison"] = divisibleComparison; exports["divisibleEquivalence"] = divisibleEquivalence; exports["divisiblePredicate"] = divisiblePredicate; exports["divisibleOp"] = divisibleOp; })(PS["Data.Divisible"] = PS["Data.Divisible"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Data_Comparison = PS["Data.Comparison"]; var Data_Decide = PS["Data.Decide"]; var Data_Divisible = PS["Data.Divisible"]; var Data_Equivalence = PS["Data.Equivalence"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Op = PS["Data.Op"]; var Data_Predicate = PS["Data.Predicate"]; var Data_Void = PS["Data.Void"]; var Prelude = PS["Prelude"]; // | `Decidable` is the contravariant analogue of `Alternative`. var Decidable = function (Decide0, Divisible1, lose) { this.Decide0 = Decide0; this.Divisible1 = Divisible1; this.lose = lose; }; var lose = function (dict) { return dict.lose; }; var lost = function (dictDecidable) { return lose(dictDecidable)(Control_Category.id(Control_Category.categoryFn)); }; var decidablePredicate = new Decidable(function () { return Data_Decide.choosePredicate; }, function () { return Data_Divisible.divisiblePredicate; }, function (f) { return function (a) { return Data_Void.absurd(f(a)); }; }); var decidableOp = function (dictMonoid) { return new Decidable(function () { return Data_Decide.chooseOp(dictMonoid.Semigroup0()); }, function () { return Data_Divisible.divisibleOp(dictMonoid); }, function (f) { return function (a) { return Data_Void.absurd(f(a)); }; }); }; var decidableEquivalence = new Decidable(function () { return Data_Decide.chooseEquivalence; }, function () { return Data_Divisible.divisibleEquivalence; }, function (f) { return function (a) { return Data_Void.absurd(f(a)); }; }); var decidableComparison = new Decidable(function () { return Data_Decide.chooseComparison; }, function () { return Data_Divisible.divisibleComparison; }, function (f) { return function (a) { return function (v) { return Data_Void.absurd(f(a)); }; }; }); exports["Decidable"] = Decidable; exports["lose"] = lose; exports["lost"] = lost; exports["decidableComparison"] = decidableComparison; exports["decidableEquivalence"] = decidableEquivalence; exports["decidablePredicate"] = decidablePredicate; exports["decidableOp"] = decidableOp; })(PS["Data.Decidable"] = PS["Data.Decidable"] || {}); (function(exports) { // | Utilities for n-eithers: sums types with more than two terms built from nested eithers. // | // | Nested eithers arise naturally in sum combinators. You shouldn't // | represent sum data using nested eithers, but if combinators you're working with // | create them, utilities in this module will allow to to more easily work // | with them, including translating to and from more traditional sum types. // | // | ```purescript // | data Color = Red Number | Green Number | Blue Number // | // | fromEither3 :: Either3 Number Number Number -> Color // | fromEither3 = either3 Red Green Blue // | // | toEither3 :: Color -> Either3 Number Number Number // | toEither3 (Red v) = in1 v // | toEither3 (Green v) = in2 v // | toEither3 (Blue v) = in3 v // | ``` "use strict"; var Data_Either = PS["Data.Either"]; var Data_Void = PS["Data.Void"]; var in9 = function (v) { return new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Left(v))))))))); }; var in8 = function (v) { return new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Left(v)))))))); }; var in7 = function (v) { return new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Left(v))))))); }; var in6 = function (v) { return new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Left(v)))))); }; var in5 = function (v) { return new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Left(v))))); }; var in4 = function (v) { return new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Left(v)))); }; var in3 = function (v) { return new Data_Either.Right(new Data_Either.Right(new Data_Either.Left(v))); }; var in2 = function (v) { return new Data_Either.Right(new Data_Either.Left(v)); }; var in10 = function (v) { return new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Right(new Data_Either.Left(v)))))))))); }; var in1 = Data_Either.Left.create; var either9 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return g(y.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return h(y.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return i(y.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(y.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 245, column 29 - line 247, column 40: " + [ y.value0.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 243, column 27 - line 247, column 40: " + [ y.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 241, column 25 - line 247, column 40: " + [ y.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 239, column 23 - line 247, column 40: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 237, column 21 - line 247, column 40: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 235, column 19 - line 247, column 40: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 233, column 17 - line 247, column 40: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 231, column 15 - line 247, column 40: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 229, column 31 - line 247, column 40: " + [ y.constructor.name ]); }; }; }; }; }; }; }; }; }; }; var either8 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return g(y.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return h(y.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(y.value0.value0.value0.value0.value0.value0.value0.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 224, column 27 - line 226, column 38: " + [ y.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 222, column 25 - line 226, column 38: " + [ y.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 220, column 23 - line 226, column 38: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 218, column 21 - line 226, column 38: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 216, column 19 - line 226, column 38: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 214, column 17 - line 226, column 38: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 212, column 15 - line 226, column 38: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 210, column 29 - line 226, column 38: " + [ y.constructor.name ]); }; }; }; }; }; }; }; }; }; var either7 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return g(y.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(y.value0.value0.value0.value0.value0.value0.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 205, column 25 - line 207, column 36: " + [ y.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 203, column 23 - line 207, column 36: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 201, column 21 - line 207, column 36: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 199, column 19 - line 207, column 36: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 197, column 17 - line 207, column 36: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 195, column 15 - line 207, column 36: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 193, column 27 - line 207, column 36: " + [ y.constructor.name ]); }; }; }; }; }; }; }; }; var either6 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(y.value0.value0.value0.value0.value0.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 188, column 23 - line 190, column 34: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 186, column 21 - line 190, column 34: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 184, column 19 - line 190, column 34: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 182, column 17 - line 190, column 34: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 180, column 15 - line 190, column 34: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 178, column 25 - line 190, column 34: " + [ y.constructor.name ]); }; }; }; }; }; }; }; var either5 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(y.value0.value0.value0.value0.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 173, column 21 - line 175, column 32: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 171, column 19 - line 175, column 32: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 169, column 17 - line 175, column 32: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 167, column 15 - line 175, column 32: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 165, column 23 - line 175, column 32: " + [ y.constructor.name ]); }; }; }; }; }; }; var either4 = function (a) { return function (b) { return function (c) { return function (d) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(y.value0.value0.value0.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 160, column 19 - line 162, column 30: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 158, column 17 - line 162, column 30: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 156, column 15 - line 162, column 30: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 154, column 21 - line 162, column 30: " + [ y.constructor.name ]); }; }; }; }; }; var either3 = function (a) { return function (b) { return function (c) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(y.value0.value0.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 149, column 17 - line 151, column 28: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 147, column 15 - line 151, column 28: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 145, column 19 - line 151, column 28: " + [ y.constructor.name ]); }; }; }; }; var either2 = function (a) { return function (b) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { return Data_Void.absurd(y.value0.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 140, column 15 - line 142, column 26: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 138, column 17 - line 142, column 26: " + [ y.constructor.name ]); }; }; }; var either10 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return function (j) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return g(y.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return h(y.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return i(y.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return j(y.value0.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(y.value0.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 268, column 31 - line 270, column 41: " + [ y.value0.value0.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 266, column 29 - line 270, column 41: " + [ y.value0.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 264, column 27 - line 270, column 41: " + [ y.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 262, column 25 - line 270, column 41: " + [ y.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 260, column 23 - line 270, column 41: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 258, column 21 - line 270, column 41: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 256, column 19 - line 270, column 41: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 254, column 17 - line 270, column 41: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 252, column 15 - line 270, column 41: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Either.Nested line 250, column 34 - line 270, column 41: " + [ y.constructor.name ]); }; }; }; }; }; }; }; }; }; }; }; var either1 = function (y) { if (y instanceof Data_Either.Left) { return y.value0; }; if (y instanceof Data_Either.Right) { return Data_Void.absurd(y.value0); }; throw new Error("Failed pattern match at Data.Either.Nested line 133, column 13 - line 135, column 24: " + [ y.constructor.name ]); }; var at9 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left)))))))) { return f(y.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at8 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left))))))) { return f(y.value0.value0.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at7 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left)))))) { return f(y.value0.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at6 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0 instanceof Data_Either.Left))))) { return f(y.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at5 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0 instanceof Data_Either.Left)))) { return f(y.value0.value0.value0.value0.value0); }; return b; }; }; }; var at4 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0 instanceof Data_Either.Left))) { return f(y.value0.value0.value0.value0); }; return b; }; }; }; var at3 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && y.value0.value0 instanceof Data_Either.Left)) { return f(y.value0.value0.value0); }; return b; }; }; }; var at2 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && y.value0 instanceof Data_Either.Left) { return f(y.value0.value0); }; return b; }; }; }; var at10 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left))))))))) { return f(y.value0.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at1 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Left) { return f(y.value0); }; return b; }; }; }; exports["at1"] = at1; exports["at10"] = at10; exports["at2"] = at2; exports["at3"] = at3; exports["at4"] = at4; exports["at5"] = at5; exports["at6"] = at6; exports["at7"] = at7; exports["at8"] = at8; exports["at9"] = at9; exports["either1"] = either1; exports["either10"] = either10; exports["either2"] = either2; exports["either3"] = either3; exports["either4"] = either4; exports["either5"] = either5; exports["either6"] = either6; exports["either7"] = either7; exports["either8"] = either8; exports["either9"] = either9; exports["in1"] = in1; exports["in10"] = in10; exports["in2"] = in2; exports["in3"] = in3; exports["in4"] = in4; exports["in5"] = in5; exports["in6"] = in6; exports["in7"] = in7; exports["in8"] = in8; exports["in9"] = in9; })(PS["Data.Either.Nested"] = PS["Data.Either.Nested"] || {}); (function(exports) { "use strict"; exports.unsafeReadPropImpl = function (f, s, key, value) { return value == null ? f : s(value[key]); }; exports.unsafeHasOwnProperty = function (prop, value) { return Object.prototype.hasOwnProperty.call(value, prop); }; exports.unsafeHasProperty = function (prop, value) { return prop in value; }; })(PS["Data.Foreign.Index"] = PS["Data.Foreign.Index"] || {}); (function(exports) { // | This module defines a type class for types which act like // | _property indices_. "use strict"; var $foreign = PS["Data.Foreign.Index"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Identity = PS["Data.Identity"]; var Data_List_NonEmpty = PS["Data.List.NonEmpty"]; var Prelude = PS["Prelude"]; // | This type class identifies types that act like _property indices_. // | // | The canonical instances are for `String`s and `Int`s. var Index = function (errorAt, hasOwnProperty, hasProperty, index) { this.errorAt = errorAt; this.hasOwnProperty = hasOwnProperty; this.hasProperty = hasProperty; this.index = index; }; var Indexable = function (ix) { this.ix = ix; }; var unsafeReadProp = function (k) { return function (value) { return $foreign.unsafeReadPropImpl(Data_Foreign.fail(new Data_Foreign.TypeMismatch("object", Data_Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value); }; }; // | Attempt to read a value from a foreign value property var readProp = unsafeReadProp; // | Attempt to read a value from a foreign value at the specified numeric index var readIndex = unsafeReadProp; var ix = function (dict) { return dict.ix; }; var index = function (dict) { return dict.index; }; var indexableExceptT = new Indexable(function (dictIndex) { return function (f) { return function (i) { return Control_Bind.bindFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(Data_Function.flip(index(dictIndex))(i))(f); }; }; }); var indexableForeign = new Indexable(function (dictIndex) { return index(dictIndex); }); var hasPropertyImpl = function (v) { return function (value) { if (Data_Foreign.isNull(value)) { return false; }; if (Data_Foreign.isUndefined(value)) { return false; }; if (Data_Foreign.typeOf(value) === "object" || Data_Foreign.typeOf(value) === "function") { return $foreign.unsafeHasProperty(v, value); }; return false; }; }; var hasProperty = function (dict) { return dict.hasProperty; }; var hasOwnPropertyImpl = function (v) { return function (value) { if (Data_Foreign.isNull(value)) { return false; }; if (Data_Foreign.isUndefined(value)) { return false; }; if (Data_Foreign.typeOf(value) === "object" || Data_Foreign.typeOf(value) === "function") { return $foreign.unsafeHasOwnProperty(v, value); }; return false; }; }; var indexInt = new Index(Data_Foreign.ErrorAtIndex.create, hasOwnPropertyImpl, hasPropertyImpl, Data_Function.flip(readIndex)); var indexString = new Index(Data_Foreign.ErrorAtProperty.create, hasOwnPropertyImpl, hasPropertyImpl, Data_Function.flip(readProp)); var hasOwnProperty = function (dict) { return dict.hasOwnProperty; }; var errorAt = function (dict) { return dict.errorAt; }; exports["Index"] = Index; exports["Indexable"] = Indexable; exports["errorAt"] = errorAt; exports["hasOwnProperty"] = hasOwnProperty; exports["hasProperty"] = hasProperty; exports["index"] = index; exports["ix"] = ix; exports["readIndex"] = readIndex; exports["readProp"] = readProp; exports["indexString"] = indexString; exports["indexInt"] = indexInt; exports["indexableForeign"] = indexableForeign; exports["indexableExceptT"] = indexableExceptT; })(PS["Data.Foreign.Index"] = PS["Data.Foreign.Index"] || {}); (function(exports) { "use strict"; exports.unsafeKeys = Object.keys || function (value) { var keys = []; for (var prop in value) { if (Object.prototype.hasOwnProperty.call(value, prop)) { keys.push(prop); } } return keys; }; })(PS["Data.Foreign.Keys"] = PS["Data.Foreign.Keys"] || {}); (function(exports) { // | This module provides functions for working with object properties // | of Javascript objects. "use strict"; var $foreign = PS["Data.Foreign.Keys"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Identity = PS["Data.Identity"]; var Prelude = PS["Prelude"]; // | Get an array of the properties defined on a foreign value var keys = function (value) { if (Data_Foreign.isNull(value)) { return Data_Foreign.fail(new Data_Foreign.TypeMismatch("object", "null")); }; if (Data_Foreign.isUndefined(value)) { return Data_Foreign.fail(new Data_Foreign.TypeMismatch("object", "undefined")); }; if (Data_Foreign.typeOf(value) === "object") { return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeKeys(value)); }; if (Data_Boolean.otherwise) { return Data_Foreign.fail(new Data_Foreign.TypeMismatch("object", Data_Foreign.typeOf(value))); }; throw new Error("Failed pattern match at Data.Foreign.Keys line 15, column 1 - line 15, column 36: " + [ value.constructor.name ]); }; exports["keys"] = keys; })(PS["Data.Foreign.Keys"] = PS["Data.Foreign.Keys"] || {}); (function(exports) { "use strict"; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; // | `Coproduct f g` is the coproduct of two functors `f` and `g` var Coproduct = function (x) { return x; }; var showCoproduct = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (v) { if (v instanceof Data_Either.Left) { return "(left " + (Data_Show.show(dictShow)(v.value0) + ")"); }; if (v instanceof Data_Either.Right) { return "(right " + (Data_Show.show(dictShow1)(v.value0) + ")"); }; throw new Error("Failed pattern match at Data.Functor.Coproduct line 65, column 1 - line 65, column 77: " + [ v.constructor.name ]); }); }; }; // | Right injection var right = function (ga) { return new Data_Either.Right(ga); }; var newtypeCoproduct = new Data_Newtype.Newtype(function (n) { return n; }, Coproduct); // | Left injection var left = function (fa) { return new Data_Either.Left(fa); }; var functorCoproduct = function (dictFunctor) { return function (dictFunctor1) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Bifunctor.bimap(Data_Either.bifunctorEither)(Data_Functor.map(dictFunctor)(f))(Data_Functor.map(dictFunctor1)(f))(v); }; }); }; }; var eq1Coproduct = function (dictEq1) { return function (dictEq11) { return new Data_Eq.Eq1(function (dictEq) { return function (v) { return function (v1) { if (v instanceof Data_Either.Left && v1 instanceof Data_Either.Left) { return Data_Eq.eq1(dictEq1)(dictEq)(v.value0)(v1.value0); }; if (v instanceof Data_Either.Right && v1 instanceof Data_Either.Right) { return Data_Eq.eq1(dictEq11)(dictEq)(v.value0)(v1.value0); }; return false; }; }; }); }; }; var eqCoproduct = function (dictEq1) { return function (dictEq11) { return function (dictEq) { return new Data_Eq.Eq(Data_Eq.eq1(eq1Coproduct(dictEq1)(dictEq11))(dictEq)); }; }; }; var ord1Coproduct = function (dictOrd1) { return function (dictOrd11) { return new Data_Ord.Ord1(function () { return eq1Coproduct(dictOrd1.Eq10())(dictOrd11.Eq10()); }, function (dictOrd) { return function (v) { return function (v1) { if (v instanceof Data_Either.Left && v1 instanceof Data_Either.Left) { return Data_Ord.compare1(dictOrd1)(dictOrd)(v.value0)(v1.value0); }; if (v instanceof Data_Either.Left) { return Data_Ordering.LT.value; }; if (v1 instanceof Data_Either.Left) { return Data_Ordering.GT.value; }; if (v instanceof Data_Either.Right && v1 instanceof Data_Either.Right) { return Data_Ord.compare1(dictOrd11)(dictOrd)(v.value0)(v1.value0); }; throw new Error("Failed pattern match at Data.Functor.Coproduct line 59, column 5 - line 63, column 43: " + [ v.constructor.name, v1.constructor.name ]); }; }; }); }; }; var ordCoproduct = function (dictOrd1) { return function (dictOrd11) { return function (dictOrd) { return new Data_Ord.Ord(function () { return eqCoproduct(dictOrd1.Eq10())(dictOrd11.Eq10())(dictOrd.Eq0()); }, Data_Ord.compare1(ord1Coproduct(dictOrd1)(dictOrd11))(dictOrd)); }; }; }; // | Eliminate a coproduct by providing eliminators for the left and // | right components var coproduct = function (v) { return function (v1) { return function (v2) { if (v2 instanceof Data_Either.Left) { return v(v2.value0); }; if (v2 instanceof Data_Either.Right) { return v1(v2.value0); }; throw new Error("Failed pattern match at Data.Functor.Coproduct line 29, column 1 - line 29, column 78: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; var extendCoproduct = function (dictExtend) { return function (dictExtend1) { return new Control_Extend.Extend(function () { return functorCoproduct(dictExtend.Functor0())(dictExtend1.Functor0()); }, function (f) { return function ($71) { return Coproduct(coproduct(function ($72) { return Data_Either.Left.create(Control_Extend.extend(dictExtend)(function ($73) { return f(Coproduct(Data_Either.Left.create($73))); })($72)); })(function ($74) { return Data_Either.Right.create(Control_Extend.extend(dictExtend1)(function ($75) { return f(Coproduct(Data_Either.Right.create($75))); })($74)); })($71)); }; }); }; }; var foldableCoproduct = function (dictFoldable) { return function (dictFoldable1) { return new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return coproduct(Data_Foldable.foldMap(dictFoldable)(dictMonoid)(f))(Data_Foldable.foldMap(dictFoldable1)(dictMonoid)(f)); }; }, function (f) { return function (z) { return coproduct(Data_Foldable.foldl(dictFoldable)(f)(z))(Data_Foldable.foldl(dictFoldable1)(f)(z)); }; }, function (f) { return function (z) { return coproduct(Data_Foldable.foldr(dictFoldable)(f)(z))(Data_Foldable.foldr(dictFoldable1)(f)(z)); }; }); }; }; var traversableCoproduct = function (dictTraversable) { return function (dictTraversable1) { return new Data_Traversable.Traversable(function () { return foldableCoproduct(dictTraversable.Foldable1())(dictTraversable1.Foldable1()); }, function () { return functorCoproduct(dictTraversable.Functor0())(dictTraversable1.Functor0()); }, function (dictApplicative) { return coproduct(function ($76) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($77) { return Coproduct(Data_Either.Left.create($77)); })(Data_Traversable.sequence(dictTraversable)(dictApplicative)($76)); })(function ($78) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($79) { return Coproduct(Data_Either.Right.create($79)); })(Data_Traversable.sequence(dictTraversable1)(dictApplicative)($78)); }); }, function (dictApplicative) { return function (f) { return coproduct(function ($80) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($81) { return Coproduct(Data_Either.Left.create($81)); })(Data_Traversable.traverse(dictTraversable)(dictApplicative)(f)($80)); })(function ($82) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function ($83) { return Coproduct(Data_Either.Right.create($83)); })(Data_Traversable.traverse(dictTraversable1)(dictApplicative)(f)($82)); }); }; }); }; }; var comonadCoproduct = function (dictComonad) { return function (dictComonad1) { return new Control_Comonad.Comonad(function () { return extendCoproduct(dictComonad.Extend0())(dictComonad1.Extend0()); }, coproduct(Control_Comonad.extract(dictComonad))(Control_Comonad.extract(dictComonad1))); }; }; // | Change the underlying functors in a coproduct var bihoistCoproduct = function (natF) { return function (natG) { return function (v) { return Data_Bifunctor.bimap(Data_Either.bifunctorEither)(natF)(natG)(v); }; }; }; exports["Coproduct"] = Coproduct; exports["bihoistCoproduct"] = bihoistCoproduct; exports["coproduct"] = coproduct; exports["left"] = left; exports["right"] = right; exports["newtypeCoproduct"] = newtypeCoproduct; exports["eqCoproduct"] = eqCoproduct; exports["eq1Coproduct"] = eq1Coproduct; exports["ordCoproduct"] = ordCoproduct; exports["ord1Coproduct"] = ord1Coproduct; exports["showCoproduct"] = showCoproduct; exports["functorCoproduct"] = functorCoproduct; exports["extendCoproduct"] = extendCoproduct; exports["comonadCoproduct"] = comonadCoproduct; exports["foldableCoproduct"] = foldableCoproduct; exports["traversableCoproduct"] = traversableCoproduct; })(PS["Data.Functor.Coproduct"] = PS["Data.Functor.Coproduct"] || {}); (function(exports) { "use strict"; var Data_Const = PS["Data.Const"]; var Data_Either = PS["Data.Either"]; var Data_Functor_Coproduct = PS["Data.Functor.Coproduct"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Void = PS["Data.Void"]; var Prelude = PS["Prelude"]; var in9 = function (v) { return Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.left(v))))))))); }; var in8 = function (v) { return Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.left(v)))))))); }; var in7 = function (v) { return Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.left(v))))))); }; var in6 = function (v) { return Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.left(v)))))); }; var in5 = function (v) { return Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.left(v))))); }; var in4 = function (v) { return Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.left(v)))); }; var in3 = function (v) { return Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.left(v))); }; var in2 = function (v) { return Data_Functor_Coproduct.right(Data_Functor_Coproduct.left(v)); }; var in10 = function (v) { return Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.right(Data_Functor_Coproduct.left(v)))))))))); }; var in1 = Data_Functor_Coproduct.left; var coproduct9 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return g(y.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return h(y.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return i(y.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0.value0.value0.value0.value0.value0.value0.value0.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 228, column 41 - line 230, column 61: " + [ y.value0.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 226, column 39 - line 230, column 61: " + [ y.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 224, column 37 - line 230, column 61: " + [ y.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 222, column 35 - line 230, column 61: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 220, column 33 - line 230, column 61: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 218, column 31 - line 230, column 61: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 216, column 29 - line 230, column 61: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 214, column 27 - line 230, column 61: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 212, column 34 - line 230, column 61: " + [ y.constructor.name ]); }; }; }; }; }; }; }; }; }; }; var coproduct8 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return g(y.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return h(y.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0.value0.value0.value0.value0.value0.value0.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 207, column 39 - line 209, column 59: " + [ y.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 205, column 37 - line 209, column 59: " + [ y.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 203, column 35 - line 209, column 59: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 201, column 33 - line 209, column 59: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 199, column 31 - line 209, column 59: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 197, column 29 - line 209, column 59: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 195, column 27 - line 209, column 59: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 193, column 32 - line 209, column 59: " + [ y.constructor.name ]); }; }; }; }; }; }; }; }; }; var coproduct7 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return g(y.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0.value0.value0.value0.value0.value0.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 188, column 37 - line 190, column 57: " + [ y.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 186, column 35 - line 190, column 57: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 184, column 33 - line 190, column 57: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 182, column 31 - line 190, column 57: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 180, column 29 - line 190, column 57: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 178, column 27 - line 190, column 57: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 176, column 30 - line 190, column 57: " + [ y.constructor.name ]); }; }; }; }; }; }; }; }; var coproduct6 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0.value0.value0.value0.value0.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 171, column 35 - line 173, column 55: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 169, column 33 - line 173, column 55: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 167, column 31 - line 173, column 55: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 165, column 29 - line 173, column 55: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 163, column 27 - line 173, column 55: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 161, column 28 - line 173, column 55: " + [ y.constructor.name ]); }; }; }; }; }; }; }; var coproduct5 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0.value0.value0.value0.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 156, column 33 - line 158, column 53: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 154, column 31 - line 158, column 53: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 152, column 29 - line 158, column 53: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 150, column 27 - line 158, column 53: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 148, column 26 - line 158, column 53: " + [ y.constructor.name ]); }; }; }; }; }; }; var coproduct4 = function (a) { return function (b) { return function (c) { return function (d) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0.value0.value0.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 143, column 31 - line 145, column 51: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 141, column 29 - line 145, column 51: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 139, column 27 - line 145, column 51: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 137, column 24 - line 145, column 51: " + [ y.constructor.name ]); }; }; }; }; }; var coproduct3 = function (a) { return function (b) { return function (c) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0.value0.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 132, column 29 - line 134, column 49: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 130, column 27 - line 134, column 49: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 128, column 22 - line 134, column 49: " + [ y.constructor.name ]); }; }; }; }; var coproduct2 = function (a) { return function (b) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 123, column 27 - line 125, column 47: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 121, column 20 - line 125, column 47: " + [ y.constructor.name ]); }; }; }; var coproduct10 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return function (j) { return function (y) { if (y instanceof Data_Either.Left) { return a(y.value0); }; if (y instanceof Data_Either.Right) { if (y.value0 instanceof Data_Either.Left) { return b(y.value0.value0); }; if (y.value0 instanceof Data_Either.Right) { if (y.value0.value0 instanceof Data_Either.Left) { return c(y.value0.value0.value0); }; if (y.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0 instanceof Data_Either.Left) { return d(y.value0.value0.value0.value0); }; if (y.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0 instanceof Data_Either.Left) { return e(y.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return f(y.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return g(y.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return h(y.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return i(y.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { if (y.value0.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left) { return j(y.value0.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; if (y.value0.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0.value0.value0.value0.value0.value0.value0.value0.value0.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 251, column 43 - line 253, column 64: " + [ y.value0.value0.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 249, column 41 - line 253, column 64: " + [ y.value0.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 247, column 39 - line 253, column 64: " + [ y.value0.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 245, column 37 - line 253, column 64: " + [ y.value0.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 243, column 35 - line 253, column 64: " + [ y.value0.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 241, column 33 - line 253, column 64: " + [ y.value0.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 239, column 31 - line 253, column 64: " + [ y.value0.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 237, column 29 - line 253, column 64: " + [ y.value0.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 235, column 27 - line 253, column 64: " + [ y.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 233, column 37 - line 253, column 64: " + [ y.constructor.name ]); }; }; }; }; }; }; }; }; }; }; }; var coproduct1 = function (y) { if (y instanceof Data_Either.Left) { return y.value0; }; if (y instanceof Data_Either.Right) { return Data_Void.absurd(Data_Newtype.unwrap(Data_Const.newtypeConst)(y.value0)); }; throw new Error("Failed pattern match at Data.Functor.Coproduct.Nested line 116, column 16 - line 118, column 45: " + [ y.constructor.name ]); }; var at9 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left)))))))) { return f(y.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at8 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left))))))) { return f(y.value0.value0.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at7 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left)))))) { return f(y.value0.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at6 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0 instanceof Data_Either.Left))))) { return f(y.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at5 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0 instanceof Data_Either.Left)))) { return f(y.value0.value0.value0.value0.value0); }; return b; }; }; }; var at4 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0 instanceof Data_Either.Left))) { return f(y.value0.value0.value0.value0); }; return b; }; }; }; var at3 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && y.value0.value0 instanceof Data_Either.Left)) { return f(y.value0.value0.value0); }; return b; }; }; }; var at2 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && y.value0 instanceof Data_Either.Left) { return f(y.value0.value0); }; return b; }; }; }; var at10 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Right && (y.value0 instanceof Data_Either.Right && (y.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && (y.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Right && y.value0.value0.value0.value0.value0.value0.value0.value0.value0 instanceof Data_Either.Left))))))))) { return f(y.value0.value0.value0.value0.value0.value0.value0.value0.value0.value0); }; return b; }; }; }; var at1 = function (b) { return function (f) { return function (y) { if (y instanceof Data_Either.Left) { return f(y.value0); }; return b; }; }; }; exports["at1"] = at1; exports["at10"] = at10; exports["at2"] = at2; exports["at3"] = at3; exports["at4"] = at4; exports["at5"] = at5; exports["at6"] = at6; exports["at7"] = at7; exports["at8"] = at8; exports["at9"] = at9; exports["coproduct1"] = coproduct1; exports["coproduct10"] = coproduct10; exports["coproduct2"] = coproduct2; exports["coproduct3"] = coproduct3; exports["coproduct4"] = coproduct4; exports["coproduct5"] = coproduct5; exports["coproduct6"] = coproduct6; exports["coproduct7"] = coproduct7; exports["coproduct8"] = coproduct8; exports["coproduct9"] = coproduct9; exports["in1"] = in1; exports["in10"] = in10; exports["in2"] = in2; exports["in3"] = in3; exports["in4"] = in4; exports["in5"] = in5; exports["in6"] = in6; exports["in7"] = in7; exports["in8"] = in8; exports["in9"] = in9; })(PS["Data.Functor.Coproduct.Nested"] = PS["Data.Functor.Coproduct.Nested"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad = PS["Control.Monad"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | `Product f g` is the product of the two functors `f` and `g`. var Product = function (x) { return x; }; var showProduct = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (v) { return "(product " + (Data_Show.show(dictShow)(v.value0) + (" " + (Data_Show.show(dictShow1)(v.value1) + ")"))); }); }; }; // | Create a product. var product = function (fa) { return function (ga) { return new Data_Tuple.Tuple(fa, ga); }; }; var newtypeProduct = new Data_Newtype.Newtype(function (n) { return n; }, Product); var functorProduct = function (dictFunctor) { return function (dictFunctor1) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Bifunctor.bimap(Data_Tuple.bifunctorTuple)(Data_Functor.map(dictFunctor)(f))(Data_Functor.map(dictFunctor1)(f))(v); }; }); }; }; var foldableProduct = function (dictFoldable) { return function (dictFoldable1) { return new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (v) { return Data_Semigroup.append(dictMonoid.Semigroup0())(Data_Foldable.foldMap(dictFoldable)(dictMonoid)(f)(v.value0))(Data_Foldable.foldMap(dictFoldable1)(dictMonoid)(f)(v.value1)); }; }; }, function (f) { return function (z) { return function (v) { return Data_Foldable.foldl(dictFoldable1)(f)(Data_Foldable.foldl(dictFoldable)(f)(z)(v.value0))(v.value1); }; }; }, function (f) { return function (z) { return function (v) { return Data_Foldable.foldr(dictFoldable)(f)(Data_Foldable.foldr(dictFoldable1)(f)(z)(v.value1))(v.value0); }; }; }); }; }; var traversableProduct = function (dictTraversable) { return function (dictTraversable1) { return new Data_Traversable.Traversable(function () { return foldableProduct(dictTraversable.Foldable1())(dictTraversable1.Foldable1()); }, function () { return functorProduct(dictTraversable.Functor0())(dictTraversable1.Functor0()); }, function (dictApplicative) { return function (v) { return Control_Apply.lift2(dictApplicative.Apply0())(product)(Data_Traversable.sequence(dictTraversable)(dictApplicative)(v.value0))(Data_Traversable.sequence(dictTraversable1)(dictApplicative)(v.value1)); }; }, function (dictApplicative) { return function (f) { return function (v) { return Control_Apply.lift2(dictApplicative.Apply0())(product)(Data_Traversable.traverse(dictTraversable)(dictApplicative)(f)(v.value0))(Data_Traversable.traverse(dictTraversable1)(dictApplicative)(f)(v.value1)); }; }; }); }; }; var eq1Product = function (dictEq1) { return function (dictEq11) { return new Data_Eq.Eq1(function (dictEq) { return function (v) { return function (v1) { return Data_Eq.eq1(dictEq1)(dictEq)(v.value0)(v1.value0) && Data_Eq.eq1(dictEq11)(dictEq)(v.value1)(v1.value1); }; }; }); }; }; var eqProduct = function (dictEq1) { return function (dictEq11) { return function (dictEq) { return new Data_Eq.Eq(Data_Eq.eq1(eq1Product(dictEq1)(dictEq11))(dictEq)); }; }; }; var ord1Product = function (dictOrd1) { return function (dictOrd11) { return new Data_Ord.Ord1(function () { return eq1Product(dictOrd1.Eq10())(dictOrd11.Eq10()); }, function (dictOrd) { return function (v) { return function (v1) { var v2 = Data_Ord.compare1(dictOrd1)(dictOrd)(v.value0)(v1.value0); if (v2 instanceof Data_Ordering.EQ) { return Data_Ord.compare1(dictOrd11)(dictOrd)(v.value1)(v1.value1); }; return v2; }; }; }); }; }; var ordProduct = function (dictOrd1) { return function (dictOrd11) { return function (dictOrd) { return new Data_Ord.Ord(function () { return eqProduct(dictOrd1.Eq10())(dictOrd11.Eq10())(dictOrd.Eq0()); }, Data_Ord.compare1(ord1Product(dictOrd1)(dictOrd11))(dictOrd)); }; }; }; var bihoistProduct = function (natF) { return function (natG) { return function (v) { return Data_Bifunctor.bimap(Data_Tuple.bifunctorTuple)(natF)(natG)(v); }; }; }; var applyProduct = function (dictApply) { return function (dictApply1) { return new Control_Apply.Apply(function () { return functorProduct(dictApply.Functor0())(dictApply1.Functor0()); }, function (v) { return function (v1) { return product(Control_Apply.apply(dictApply)(v.value0)(v1.value0))(Control_Apply.apply(dictApply1)(v.value1)(v1.value1)); }; }); }; }; var bindProduct = function (dictBind) { return function (dictBind1) { return new Control_Bind.Bind(function () { return applyProduct(dictBind.Apply0())(dictBind1.Apply0()); }, function (v) { return function (f) { return product(Control_Bind.bind(dictBind)(v.value0)(function ($103) { return Data_Tuple.fst(Data_Newtype.unwrap(newtypeProduct)(f($103))); }))(Control_Bind.bind(dictBind1)(v.value1)(function ($104) { return Data_Tuple.snd(Data_Newtype.unwrap(newtypeProduct)(f($104))); })); }; }); }; }; var applicativeProduct = function (dictApplicative) { return function (dictApplicative1) { return new Control_Applicative.Applicative(function () { return applyProduct(dictApplicative.Apply0())(dictApplicative1.Apply0()); }, function (a) { return product(Control_Applicative.pure(dictApplicative)(a))(Control_Applicative.pure(dictApplicative1)(a)); }); }; }; var monadProduct = function (dictMonad) { return function (dictMonad1) { return new Control_Monad.Monad(function () { return applicativeProduct(dictMonad.Applicative0())(dictMonad1.Applicative0()); }, function () { return bindProduct(dictMonad.Bind1())(dictMonad1.Bind1()); }); }; }; exports["Product"] = Product; exports["bihoistProduct"] = bihoistProduct; exports["product"] = product; exports["newtypeProduct"] = newtypeProduct; exports["eqProduct"] = eqProduct; exports["eq1Product"] = eq1Product; exports["ordProduct"] = ordProduct; exports["ord1Product"] = ord1Product; exports["showProduct"] = showProduct; exports["functorProduct"] = functorProduct; exports["foldableProduct"] = foldableProduct; exports["traversableProduct"] = traversableProduct; exports["applyProduct"] = applyProduct; exports["applicativeProduct"] = applicativeProduct; exports["bindProduct"] = bindProduct; exports["monadProduct"] = monadProduct; })(PS["Data.Functor.Product"] = PS["Data.Functor.Product"] || {}); (function(exports) { "use strict"; var Data_Const = PS["Data.Const"]; var Data_Functor_Product = PS["Data.Functor.Product"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var product9 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return Data_Functor_Product.product(a)(Data_Functor_Product.product(b)(Data_Functor_Product.product(c)(Data_Functor_Product.product(d)(Data_Functor_Product.product(e)(Data_Functor_Product.product(f)(Data_Functor_Product.product(g)(Data_Functor_Product.product(h)(Data_Functor_Product.product(i)(Data_Unit.unit))))))))); }; }; }; }; }; }; }; }; }; var product8 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return Data_Functor_Product.product(a)(Data_Functor_Product.product(b)(Data_Functor_Product.product(c)(Data_Functor_Product.product(d)(Data_Functor_Product.product(e)(Data_Functor_Product.product(f)(Data_Functor_Product.product(g)(Data_Functor_Product.product(h)(Data_Unit.unit)))))))); }; }; }; }; }; }; }; }; var product7 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return Data_Functor_Product.product(a)(Data_Functor_Product.product(b)(Data_Functor_Product.product(c)(Data_Functor_Product.product(d)(Data_Functor_Product.product(e)(Data_Functor_Product.product(f)(Data_Functor_Product.product(g)(Data_Unit.unit))))))); }; }; }; }; }; }; }; var product6 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return Data_Functor_Product.product(a)(Data_Functor_Product.product(b)(Data_Functor_Product.product(c)(Data_Functor_Product.product(d)(Data_Functor_Product.product(e)(Data_Functor_Product.product(f)(Data_Unit.unit)))))); }; }; }; }; }; }; var product5 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return Data_Functor_Product.product(a)(Data_Functor_Product.product(b)(Data_Functor_Product.product(c)(Data_Functor_Product.product(d)(Data_Functor_Product.product(e)(Data_Unit.unit))))); }; }; }; }; }; var product4 = function (a) { return function (b) { return function (c) { return function (d) { return Data_Functor_Product.product(a)(Data_Functor_Product.product(b)(Data_Functor_Product.product(c)(Data_Functor_Product.product(d)(Data_Unit.unit)))); }; }; }; }; var product3 = function (a) { return function (b) { return function (c) { return Data_Functor_Product.product(a)(Data_Functor_Product.product(b)(Data_Functor_Product.product(c)(Data_Unit.unit))); }; }; }; var product2 = function (a) { return function (b) { return Data_Functor_Product.product(a)(Data_Functor_Product.product(b)(Data_Unit.unit)); }; }; var product10 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return function (j) { return Data_Functor_Product.product(a)(Data_Functor_Product.product(b)(Data_Functor_Product.product(c)(Data_Functor_Product.product(d)(Data_Functor_Product.product(e)(Data_Functor_Product.product(f)(Data_Functor_Product.product(g)(Data_Functor_Product.product(h)(Data_Functor_Product.product(i)(Data_Functor_Product.product(j)(Data_Unit.unit)))))))))); }; }; }; }; }; }; }; }; }; }; var product1 = function (a) { return Data_Functor_Product.product(a)(Data_Unit.unit); }; var get9 = function (v) { return v.value1.value1.value1.value1.value1.value1.value1.value1.value0; }; var get8 = function (v) { return v.value1.value1.value1.value1.value1.value1.value1.value0; }; var get7 = function (v) { return v.value1.value1.value1.value1.value1.value1.value0; }; var get6 = function (v) { return v.value1.value1.value1.value1.value1.value0; }; var get5 = function (v) { return v.value1.value1.value1.value1.value0; }; var get4 = function (v) { return v.value1.value1.value1.value0; }; var get3 = function (v) { return v.value1.value1.value0; }; var get2 = function (v) { return v.value1.value0; }; var get10 = function (v) { return v.value1.value1.value1.value1.value1.value1.value1.value1.value1.value0; }; var get1 = function (v) { return v.value0; }; exports["get1"] = get1; exports["get10"] = get10; exports["get2"] = get2; exports["get3"] = get3; exports["get4"] = get4; exports["get5"] = get5; exports["get6"] = get6; exports["get7"] = get7; exports["get8"] = get8; exports["get9"] = get9; exports["product1"] = product1; exports["product10"] = product10; exports["product2"] = product2; exports["product3"] = product3; exports["product4"] = product4; exports["product5"] = product5; exports["product6"] = product6; exports["product7"] = product7; exports["product8"] = product8; exports["product9"] = product9; })(PS["Data.Functor.Product.Nested"] = PS["Data.Functor.Product.Nested"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Monad = PS["Control.Monad"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Lazy = PS["Data.Lazy"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Prelude = PS["Prelude"]; // | A lazy linked list. var List = function (x) { return x; }; // | A list is either empty (represented by the `Nil` constructor) or non-empty, in // | which case it consists of a head element, and another list (represented by the // | `Cons` constructor). var Nil = (function () { function Nil() { }; Nil.value = new Nil(); return Nil; })(); // | A list is either empty (represented by the `Nil` constructor) or non-empty, in // | which case it consists of a head element, and another list (represented by the // | `Cons` constructor). var Cons = (function () { function Cons(value0, value1) { this.value0 = value0; this.value1 = value1; }; Cons.create = function (value0) { return function (value1) { return new Cons(value0, value1); }; }; return Cons; })(); var NonEmptyList = function (x) { return x; }; // | The empty list. // | // | Running time: `O(1)` var nil = List(Data_Lazy.defer(function (v) { return Nil.value; })); var newtypeNonEmptyList = new Data_Newtype.Newtype(function (n) { return n; }, NonEmptyList); var newtypeList = new Data_Newtype.Newtype(function (n) { return n; }, List); // | Unwrap a lazy linked list var step = function ($165) { return Data_Lazy.force(Data_Newtype.unwrap(newtypeList)($165)); }; var semigroupList = new Data_Semigroup.Semigroup(function (xs) { return function (ys) { var go = function (v) { if (v instanceof Nil) { return step(ys); }; if (v instanceof Cons) { return new Cons(v.value0, Data_Semigroup.append(semigroupList)(v.value1)(ys)); }; throw new Error("Failed pattern match at Data.List.Lazy.Types line 96, column 5 - line 96, column 21: " + [ v.constructor.name ]); }; return Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(newtypeList)(xs)); }; }); var showList = function (dictShow) { return new Data_Show.Show(function (xs) { var go = function (v) { if (v instanceof Nil) { return "Nil"; }; if (v instanceof Cons) { return "(Cons " + (Data_Show.show(dictShow)(v.value0) + (" " + (go(step(v.value1)) + ")"))); }; throw new Error("Failed pattern match at Data.List.Lazy.Types line 62, column 5 - line 63, column 5: " + [ v.constructor.name ]); }; return "fromStrict (" + (go(step(xs)) + ")"); }); }; var showNonEmptyList = function (dictShow) { return new Data_Show.Show(function (v) { return "(NonEmptyList " + (Data_Show.show(Data_Lazy.showLazy(Data_NonEmpty.showNonEmpty(dictShow)(showList(dictShow))))(v) + ")"); }); }; var monoidList = new Data_Monoid.Monoid(function () { return semigroupList; }, nil); var lazyList = new Control_Lazy.Lazy(function (f) { return List(Data_Lazy.defer(function ($166) { return step(f($166)); })); }); var functorList = new Data_Functor.Functor(function (f) { return function (xs) { var go = function (v) { if (v instanceof Nil) { return Nil.value; }; if (v instanceof Cons) { return new Cons(f(v.value0), Data_Functor.map(functorList)(f)(v.value1)); }; throw new Error("Failed pattern match at Data.List.Lazy.Types line 105, column 5 - line 105, column 17: " + [ v.constructor.name ]); }; return Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(newtypeList)(xs)); }; }); var functorNonEmptyList = new Data_Functor.Functor(function (f) { return function (v) { return Data_Functor.map(Data_Lazy.functorLazy)(Data_Functor.map(Data_NonEmpty.functorNonEmpty(functorList))(f))(v); }; }); var eq1List = new Data_Eq.Eq1(function (dictEq) { return function (xs) { return function (ys) { var go = function ($copy_v) { return function ($copy_v1) { var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(v, v1) { if (v instanceof Nil && v1 instanceof Nil) { $tco_done = true; return true; }; if (v instanceof Cons && (v1 instanceof Cons && Data_Eq.eq(dictEq)(v.value0)(v1.value0))) { $tco_var_v = step(v.value1); $copy_v1 = step(v1.value1); return; }; $tco_done = true; return false; }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $copy_v1); }; return $tco_result; }; }; return go(step(xs))(step(ys)); }; }; }); var eqList = function (dictEq) { return new Data_Eq.Eq(Data_Eq.eq1(eq1List)(dictEq)); }; var eqNonEmptyList = function (dictEq) { return Data_Lazy.eqLazy(Data_NonEmpty.eqNonEmpty(eq1List)(dictEq)); }; var ord1List = new Data_Ord.Ord1(function () { return eq1List; }, function (dictOrd) { return function (xs) { return function (ys) { var go = function ($copy_v) { return function ($copy_v1) { var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(v, v1) { if (v instanceof Nil && v1 instanceof Nil) { $tco_done = true; return Data_Ordering.EQ.value; }; if (v instanceof Nil) { $tco_done = true; return Data_Ordering.LT.value; }; if (v1 instanceof Nil) { $tco_done = true; return Data_Ordering.GT.value; }; if (v instanceof Cons && v1 instanceof Cons) { var v2 = Data_Ord.compare(dictOrd)(v.value0)(v1.value0); if (v2 instanceof Data_Ordering.EQ) { $tco_var_v = step(v.value1); $copy_v1 = step(v1.value1); return; }; $tco_done = true; return v2; }; throw new Error("Failed pattern match at Data.List.Lazy.Types line 82, column 5 - line 82, column 20: " + [ v.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $copy_v1); }; return $tco_result; }; }; return go(step(xs))(step(ys)); }; }; }); var ordList = function (dictOrd) { return new Data_Ord.Ord(function () { return eqList(dictOrd.Eq0()); }, Data_Ord.compare1(ord1List)(dictOrd)); }; var ordNonEmptyList = function (dictOrd) { return Data_Lazy.ordLazy(Data_NonEmpty.ordNonEmpty(ord1List)(dictOrd)); }; // | Attach an element to the front of a lazy list. // | // | Running time: `O(1)` var cons = function (x) { return function (xs) { return List(Data_Lazy.defer(function (v) { return new Cons(x, xs); })); }; }; var foldableList = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return Data_Foldable.foldl(foldableList)(function (b) { return function (a) { return Data_Semigroup.append(dictMonoid.Semigroup0())(b)(f(a)); }; })(Data_Monoid.mempty(dictMonoid)); }; }, function (op) { // `go` is needed to ensure the function is tail-call optimized var go = function ($copy_b) { return function ($copy_xs) { var $tco_var_b = $copy_b; var $tco_done = false; var $tco_result; function $tco_loop(b, xs) { var v = step(xs); if (v instanceof Nil) { $tco_done = true; return b; }; if (v instanceof Cons) { $tco_var_b = op(b)(v.value0); $copy_xs = v.value1; return; }; throw new Error("Failed pattern match at Data.List.Lazy.Types line 117, column 7 - line 119, column 40: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_b, $copy_xs); }; return $tco_result; }; }; return go; }, function (op) { return function (z) { return function (xs) { var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(cons))(nil); return Data_Foldable.foldl(foldableList)(Data_Function.flip(op))(z)(rev(xs)); }; }; }); var extendList = new Control_Extend.Extend(function () { return functorList; }, function (f) { return function (l) { var go = function (a) { return function (v) { var acc$prime = cons(a)(v.acc); return { val: cons(f(acc$prime))(v.val), acc: acc$prime }; }; }; var v = step(l); if (v instanceof Nil) { return nil; }; if (v instanceof Cons) { return cons(f(l))((Data_Foldable.foldr(foldableList)(go)({ val: nil, acc: nil })(v.value1)).val); }; throw new Error("Failed pattern match at Data.List.Lazy.Types line 163, column 5 - line 166, column 55: " + [ v.constructor.name ]); }; }); var extendNonEmptyList = new Control_Extend.Extend(function () { return functorNonEmptyList; }, function (f) { return function (v) { var go = function (a) { return function (v1) { return { val: cons(f(Data_Lazy.defer(function (v2) { return new Data_NonEmpty.NonEmpty(a, v1.acc); })))(v1.val), acc: cons(a)(v1.acc) }; }; }; var v1 = Data_Lazy.force(v); return NonEmptyList(Data_Lazy.defer(function (v2) { return new Data_NonEmpty.NonEmpty(f(v), (Data_Foldable.foldr(foldableList)(go)({ val: nil, acc: nil })(v1.value1)).val); })); }; }); var foldableNonEmptyList = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (v) { return Data_Foldable.foldMap(Data_NonEmpty.foldableNonEmpty(foldableList))(dictMonoid)(f)(Data_Lazy.force(v)); }; }; }, function (f) { return function (b) { return function (v) { return Data_Foldable.foldl(Data_NonEmpty.foldableNonEmpty(foldableList))(f)(b)(Data_Lazy.force(v)); }; }; }, function (f) { return function (b) { return function (v) { return Data_Foldable.foldr(Data_NonEmpty.foldableNonEmpty(foldableList))(f)(b)(Data_Lazy.force(v)); }; }; }); var toList = function (v) { return Control_Lazy.defer(lazyList)(function (v1) { var v2 = Data_Lazy.force(v); return cons(v2.value0)(v2.value1); }); }; var semigroupNonEmptyList = new Data_Semigroup.Semigroup(function (v) { return function (as$prime) { var v1 = Data_Lazy.force(v); return Data_Lazy.defer(function (v2) { return new Data_NonEmpty.NonEmpty(v1.value0, Data_Semigroup.append(semigroupList)(v1.value1)(toList(as$prime))); }); }; }); var traversableList = new Data_Traversable.Traversable(function () { return foldableList; }, function () { return functorList; }, function (dictApplicative) { return Data_Traversable.traverse(traversableList)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); }, function (dictApplicative) { return function (f) { return Data_Foldable.foldr(foldableList)(function (a) { return function (b) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(cons)(f(a)))(b); }; })(Control_Applicative.pure(dictApplicative)(nil)); }; }); var traversableNonEmptyList = new Data_Traversable.Traversable(function () { return foldableNonEmptyList; }, function () { return functorNonEmptyList; }, function (dictApplicative) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function (xxs) { return NonEmptyList(Data_Lazy.defer(function (v1) { return xxs; })); })(Data_Traversable.sequence(Data_NonEmpty.traversableNonEmpty(traversableList))(dictApplicative)(Data_Lazy.force(v))); }; }, function (dictApplicative) { return function (f) { return function (v) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function (xxs) { return NonEmptyList(Data_Lazy.defer(function (v1) { return xxs; })); })(Data_Traversable.traverse(Data_NonEmpty.traversableNonEmpty(traversableList))(dictApplicative)(f)(Data_Lazy.force(v))); }; }; }); var unfoldableList = new Data_Unfoldable.Unfoldable((function () { var go = function (f) { return function (b) { return Control_Lazy.defer(lazyList)(function (v) { var v1 = f(b); if (v1 instanceof Data_Maybe.Nothing) { return nil; }; if (v1 instanceof Data_Maybe.Just) { return cons(v1.value0.value0)(go(f)(v1.value0.value1)); }; throw new Error("Failed pattern match at Data.List.Lazy.Types line 125, column 28 - line 127, column 39: " + [ v1.constructor.name ]); }); }; }; return go; })()); var comonadNonEmptyList = new Control_Comonad.Comonad(function () { return extendNonEmptyList; }, function (v) { return Data_NonEmpty.head(Data_Lazy.force(v)); }); var monadList = new Control_Monad.Monad(function () { return applicativeList; }, function () { return bindList; }); var bindList = new Control_Bind.Bind(function () { return applyList; }, function (xs) { return function (f) { var go = function (v) { if (v instanceof Nil) { return Nil.value; }; if (v instanceof Cons) { return step(Data_Semigroup.append(semigroupList)(f(v.value0))(Control_Bind.bind(bindList)(v.value1)(f))); }; throw new Error("Failed pattern match at Data.List.Lazy.Types line 144, column 5 - line 144, column 17: " + [ v.constructor.name ]); }; return Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(newtypeList)(xs)); }; }); var applyList = new Control_Apply.Apply(function () { return functorList; }, Control_Monad.ap(monadList)); var applicativeList = new Control_Applicative.Applicative(function () { return applyList; }, function (a) { return cons(a)(nil); }); var applyNonEmptyList = new Control_Apply.Apply(function () { return functorNonEmptyList; }, function (v) { return function (v1) { var v2 = Data_Lazy.force(v1); var v3 = Data_Lazy.force(v); return Data_Lazy.defer(function (v4) { return new Data_NonEmpty.NonEmpty(v3.value0(v2.value0), Data_Semigroup.append(semigroupList)(Control_Apply.apply(applyList)(v3.value1)(cons(v2.value0)(nil)))(Control_Apply.apply(applyList)(cons(v3.value0)(v3.value1))(v2.value1))); }); }; }); var bindNonEmptyList = new Control_Bind.Bind(function () { return applyNonEmptyList; }, function (v) { return function (f) { var v1 = Data_Lazy.force(v); var v2 = Data_Lazy.force(Data_Newtype.unwrap(newtypeNonEmptyList)(f(v1.value0))); return Data_Lazy.defer(function (v3) { return new Data_NonEmpty.NonEmpty(v2.value0, Data_Semigroup.append(semigroupList)(v2.value1)(Control_Bind.bind(bindList)(v1.value1)(function ($167) { return toList(f($167)); }))); }); }; }); var altNonEmptyList = new Control_Alt.Alt(function () { return functorNonEmptyList; }, Data_Semigroup.append(semigroupNonEmptyList)); var altList = new Control_Alt.Alt(function () { return functorList; }, Data_Semigroup.append(semigroupList)); var plusList = new Control_Plus.Plus(function () { return altList; }, nil); var alternativeList = new Control_Alternative.Alternative(function () { return applicativeList; }, function () { return plusList; }); var monadZeroList = new Control_MonadZero.MonadZero(function () { return alternativeList; }, function () { return monadList; }); var monadPlusList = new Control_MonadPlus.MonadPlus(function () { return monadZeroList; }); var applicativeNonEmptyList = new Control_Applicative.Applicative(function () { return applyNonEmptyList; }, function (a) { return Data_Lazy.defer(function (v) { return Data_NonEmpty.singleton(plusList)(a); }); }); var monadNonEmptyList = new Control_Monad.Monad(function () { return applicativeNonEmptyList; }, function () { return bindNonEmptyList; }); exports["List"] = List; exports["NonEmptyList"] = NonEmptyList; exports["Nil"] = Nil; exports["Cons"] = Cons; exports["cons"] = cons; exports["nil"] = nil; exports["step"] = step; exports["toList"] = toList; exports["newtypeList"] = newtypeList; exports["showList"] = showList; exports["eqList"] = eqList; exports["eq1List"] = eq1List; exports["ordList"] = ordList; exports["ord1List"] = ord1List; exports["lazyList"] = lazyList; exports["semigroupList"] = semigroupList; exports["monoidList"] = monoidList; exports["functorList"] = functorList; exports["foldableList"] = foldableList; exports["unfoldableList"] = unfoldableList; exports["traversableList"] = traversableList; exports["applyList"] = applyList; exports["applicativeList"] = applicativeList; exports["bindList"] = bindList; exports["monadList"] = monadList; exports["altList"] = altList; exports["plusList"] = plusList; exports["alternativeList"] = alternativeList; exports["monadZeroList"] = monadZeroList; exports["monadPlusList"] = monadPlusList; exports["extendList"] = extendList; exports["newtypeNonEmptyList"] = newtypeNonEmptyList; exports["eqNonEmptyList"] = eqNonEmptyList; exports["ordNonEmptyList"] = ordNonEmptyList; exports["showNonEmptyList"] = showNonEmptyList; exports["functorNonEmptyList"] = functorNonEmptyList; exports["applyNonEmptyList"] = applyNonEmptyList; exports["applicativeNonEmptyList"] = applicativeNonEmptyList; exports["bindNonEmptyList"] = bindNonEmptyList; exports["monadNonEmptyList"] = monadNonEmptyList; exports["altNonEmptyList"] = altNonEmptyList; exports["extendNonEmptyList"] = extendNonEmptyList; exports["comonadNonEmptyList"] = comonadNonEmptyList; exports["semigroupNonEmptyList"] = semigroupNonEmptyList; exports["foldableNonEmptyList"] = foldableNonEmptyList; exports["traversableNonEmptyList"] = traversableNonEmptyList; })(PS["Data.List.Lazy.Types"] = PS["Data.List.Lazy.Types"] || {}); (function(exports) { // | This module defines a type of _lazy_ linked lists, and associated helper // | functions and type class instances. // | // | _Note_: Depending on your use-case, you may prefer to use // | `Data.Sequence` instead, which might give better performance for certain // | use cases. This module is an improvement over `Data.Array` when working with // | immutable lists of data in a purely-functional setting, but does not have // | good random-access performance. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Lazy = PS["Control.Lazy"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Lazy = PS["Data.Lazy"]; var Data_List_Lazy_Types = PS["Data.List.Lazy.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Prelude = PS["Prelude"]; //------------------------------------------------------------------------------ // Zipping --------------------------------------------------------------------- //------------------------------------------------------------------------------ // | Apply a function to pairs of elements at the same positions in two lists, // | collecting the results in a new list. // | // | If one list is longer, elements will be discarded from the longer list. // | // | For example // | // | ```purescript // | zipWith (*) (1 : 2 : 3 : Nil) (4 : 5 : 6 : 7 Nil) == 4 : 10 : 18 : Nil // | ``` // | // | Running time: `O(min(m, n))` var zipWith = function (f) { return function (xs) { return function (ys) { var go = function (v) { return function (v1) { if (v instanceof Data_List_Lazy_Types.Nil) { return Data_List_Lazy_Types.Nil.value; }; if (v1 instanceof Data_List_Lazy_Types.Nil) { return Data_List_Lazy_Types.Nil.value; }; if (v instanceof Data_List_Lazy_Types.Cons && v1 instanceof Data_List_Lazy_Types.Cons) { return new Data_List_Lazy_Types.Cons(f(v.value0)(v1.value0), zipWith(f)(v.value1)(v1.value1)); }; throw new Error("Failed pattern match at Data.List.Lazy line 662, column 3 - line 662, column 35: " + [ v.constructor.name, v1.constructor.name ]); }; }; return Control_Apply.apply(Data_Lazy.applyLazy)(Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)(xs)))(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)(ys)); }; }; }; // | A generalization of `zipWith` which accumulates results in some `Applicative` // | functor. var zipWithA = function (dictApplicative) { return function (f) { return function (xs) { return function (ys) { return Data_Traversable.sequence(Data_List_Lazy_Types.traversableList)(dictApplicative)(zipWith(f)(xs)(ys)); }; }; }; }; // | Collect pairs of elements at the same positions in two lists. // | // | Running time: `O(min(m, n))` var zip = zipWith(Data_Tuple.Tuple.create); // | Update the element at the specified index, returning a new // | list or `Nothing` if the index is out-of-bounds. // | // | This function differs from the strict equivalent in that out-of-bounds arguments // | result in the original list being returned unchanged. // | // | Running time: `O(n)` var updateAt = function (n) { return function (x) { return function (xs) { var go = function (v) { return function (v1) { if (v1 instanceof Data_List_Lazy_Types.Nil) { return Data_List_Lazy_Types.Nil.value; }; if (v === 0 && v1 instanceof Data_List_Lazy_Types.Cons) { return new Data_List_Lazy_Types.Cons(x, v1.value1); }; if (v1 instanceof Data_List_Lazy_Types.Cons) { return new Data_List_Lazy_Types.Cons(v1.value0, updateAt(v - 1 | 0)(x)(v1.value1)); }; throw new Error("Failed pattern match at Data.List.Lazy line 365, column 3 - line 365, column 17: " + [ v.constructor.name, v1.constructor.name ]); }; }; return Data_Functor.map(Data_Lazy.functorLazy)(go(n))(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)(xs)); }; }; }; // | Transforms a list of pairs into a list of first components and a list of // | second components. var unzip = Data_Foldable.foldr(Data_List_Lazy_Types.foldableList)(function (v) { return function (v1) { return new Data_Tuple.Tuple(Data_List_Lazy_Types.cons(v.value0)(v1.value0), Data_List_Lazy_Types.cons(v.value1)(v1.value1)); }; })(new Data_Tuple.Tuple(Data_List_Lazy_Types.nil, Data_List_Lazy_Types.nil)); // | Break a list into its first element, and the remaining elements, // | or `Nothing` if the list is empty. // | // | Running time: `O(1)` var uncons = function (xs) { var v = Data_List_Lazy_Types.step(xs); if (v instanceof Data_List_Lazy_Types.Nil) { return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Lazy_Types.Cons) { return new Data_Maybe.Just({ head: v.value0, tail: v.value1 }); }; throw new Error("Failed pattern match at Data.List.Lazy line 283, column 13 - line 285, column 44: " + [ v.constructor.name ]); }; // | Convert a list into any unfoldable structure. // | // | Running time: `O(n)` var toUnfoldable = function (dictUnfoldable) { return Data_Unfoldable.unfoldr(dictUnfoldable)(function (xs) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (rec) { return new Data_Tuple.Tuple(rec.head, rec.tail); })(uncons(xs)); }); }; // | Take those elements from the front of a list which match a predicate. // | // | Running time (worst case): `O(n)` var takeWhile = function (p) { var go = function (v) { if (v instanceof Data_List_Lazy_Types.Cons && p(v.value0)) { return new Data_List_Lazy_Types.Cons(v.value0, takeWhile(p)(v.value1)); }; return Data_List_Lazy_Types.Nil.value; }; return function ($212) { return Data_List_Lazy_Types.List(Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)($212))); }; }; // | Take the specified number of elements from the front of a list. // | // | Running time: `O(n)` where `n` is the number of elements to take. var take = function (n) { var go = function (v) { return function (v1) { if (v <= 0) { return Data_List_Lazy_Types.Nil.value; }; if (v1 instanceof Data_List_Lazy_Types.Nil) { return Data_List_Lazy_Types.Nil.value; }; if (v1 instanceof Data_List_Lazy_Types.Cons) { return new Data_List_Lazy_Types.Cons(v1.value0, take(v - 1 | 0)(v1.value1)); }; throw new Error("Failed pattern match at Data.List.Lazy line 485, column 3 - line 485, column 32: " + [ v.constructor.name, v1.constructor.name ]); }; }; return function ($213) { return Data_List_Lazy_Types.List(Data_Functor.map(Data_Lazy.functorLazy)(go(n))(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)($213))); }; }; // | Get all but the first element of a list, or `Nothing` if the list is empty. // | // | Running time: `O(1)` var tail = function (xs) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) { return v.tail; })(uncons(xs)); }; // | Split a list into two parts: // | // | 1. the longest initial segment for which all elements satisfy the specified predicate // | 2. the remaining elements // | // | For example, // | // | ```purescript // | span (\n -> n % 2 == 1) (1 : 3 : 2 : 4 : 5 : Nil) == Tuple (1 : 3 : Nil) (2 : 4 : 5 : Nil) // | ``` // | // | Running time: `O(n)` var span = function (p) { return function (xs) { var v = uncons(xs); if (v instanceof Data_Maybe.Just && p(v.value0.head)) { var v1 = span(p)(v.value0.tail); return { init: Data_List_Lazy_Types.cons(v.value0.head)(v1.init), rest: v1.rest }; }; return { init: Data_List_Lazy_Types.nil, rest: xs }; }; }; //------------------------------------------------------------------------------ // Extending lists ------------------------------------------------------------- //------------------------------------------------------------------------------ // | Append an element to the end of a list, creating a new list. // | // | Running time: `O(n)` var snoc = function (xs) { return function (x) { return Data_Foldable.foldr(Data_List_Lazy_Types.foldableList)(Data_List_Lazy_Types.cons)(Data_List_Lazy_Types.cons(x)(Data_List_Lazy_Types.nil))(xs); }; }; //------------------------------------------------------------------------------ // List creation --------------------------------------------------------------- //------------------------------------------------------------------------------ // | Create a list with a single element. // | // | Running time: `O(1)` var singleton = function (a) { return Data_List_Lazy_Types.cons(a)(Data_List_Lazy_Types.nil); }; //------------------------------------------------------------------------------ // Transformations ------------------------------------------------------------- //------------------------------------------------------------------------------ // | Reverse a list. // | // | Running time: `O(n)` var reverse = function (xs) { return Control_Lazy.defer(Data_List_Lazy_Types.lazyList)(function (v) { return Data_Foldable.foldl(Data_List_Lazy_Types.foldableList)(Data_Function.flip(Data_List_Lazy_Types.cons))(Data_List_Lazy_Types.nil)(xs); }); }; // | Perform a monadic action `n` times collecting all of the results. var replicateM = function (dictMonad) { return function (n) { return function (m) { if (n < 1) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_List_Lazy_Types.nil); }; if (Data_Boolean.otherwise) { return Control_Bind.bind(dictMonad.Bind1())(m)(function (v) { return Control_Bind.bind(dictMonad.Bind1())(replicateM(dictMonad)(n - 1 | 0)(m))(function (v1) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_List_Lazy_Types.cons(v)(v1)); }); }); }; throw new Error("Failed pattern match at Data.List.Lazy line 159, column 1 - line 159, column 62: " + [ n.constructor.name, m.constructor.name ]); }; }; }; // | Create a list by repeating an element var repeat = function (x) { return Control_Lazy.fix(Data_List_Lazy_Types.lazyList)(function (xs) { return Data_List_Lazy_Types.cons(x)(xs); }); }; // | Create a list with repeated instances of a value. var replicate = function (i) { return function (xs) { return take(i)(repeat(xs)); }; }; // | Create a list containing a range of integers, including both endpoints. var range = function (start) { return function (end) { if (start > end) { var g = function (x) { if (x >= end) { return new Data_Maybe.Just(new Data_Tuple.Tuple(x, x - 1 | 0)); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.List.Lazy line 146, column 13 - line 147, column 38: " + [ x.constructor.name ]); }; return Data_Unfoldable.unfoldr(Data_List_Lazy_Types.unfoldableList)(g)(start); }; if (Data_Boolean.otherwise) { var f = function (x) { if (x <= end) { return new Data_Maybe.Just(new Data_Tuple.Tuple(x, x + 1 | 0)); }; if (Data_Boolean.otherwise) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Data.List.Lazy line 151, column 5 - line 152, column 30: " + [ x.constructor.name ]); }; return Data_Unfoldable.unfoldr(Data_List_Lazy_Types.unfoldableList)(f)(start); }; throw new Error("Failed pattern match at Data.List.Lazy line 143, column 1 - line 143, column 32: " + [ start.constructor.name, end.constructor.name ]); }; }; // | Returns a tuple of lists of elements which do // | and do not satisfy a predicate, respectively. // | // | Running time: `O(n)` var partition = function (f) { var go = function (x) { return function (v) { var $122 = f(x); if ($122) { return { yes: Data_List_Lazy_Types.cons(x)(v.yes), no: v.no }; }; return { yes: v.yes, no: Data_List_Lazy_Types.cons(x)(v.no) }; }; }; return Data_Foldable.foldr(Data_List_Lazy_Types.foldableList)(go)({ yes: Data_List_Lazy_Types.nil, no: Data_List_Lazy_Types.nil }); }; //------------------------------------------------------------------------------ // List size ------------------------------------------------------------------- //------------------------------------------------------------------------------ // | Test whether a list is empty. // | // | Running time: `O(1)` var $$null = function ($214) { return Data_Maybe.isNothing(uncons($214)); }; // | Apply a function to each element in a list, keeping only the results which // | contain a value. // | // | Running time: `O(n)` var mapMaybe = function (f) { var go = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Data_List_Lazy_Types.Nil) { $tco_done = true; return Data_List_Lazy_Types.Nil.value; }; if (v instanceof Data_List_Lazy_Types.Cons) { var v1 = f(v.value0); if (v1 instanceof Data_Maybe.Nothing) { $copy_v = Data_List_Lazy_Types.step(v.value1); return; }; if (v1 instanceof Data_Maybe.Just) { $tco_done = true; return new Data_List_Lazy_Types.Cons(v1.value0, mapMaybe(f)(v.value1)); }; throw new Error("Failed pattern match at Data.List.Lazy line 458, column 5 - line 460, column 39: " + [ v1.constructor.name ]); }; throw new Error("Failed pattern match at Data.List.Lazy line 456, column 3 - line 456, column 15: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return function ($215) { return Data_List_Lazy_Types.List(Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)($215))); }; }; // | Attempt a computation multiple times, requiring at least one success. // | // | The `Lazy` constraint is used to generate the result lazily, to ensure // | termination. var some = function (dictAlternative) { return function (dictLazy) { return function (v) { return Control_Apply.apply((dictAlternative.Applicative0()).Apply0())(Data_Functor.map(((dictAlternative.Plus1()).Alt0()).Functor0())(Data_List_Lazy_Types.cons)(v))(Control_Lazy.defer(dictLazy)(function (v1) { return many(dictAlternative)(dictLazy)(v); })); }; }; }; // | Attempt a computation multiple times, returning as many successful results // | as possible (possibly zero). // | // | The `Lazy` constraint is used to generate the result lazily, to ensure // | termination. var many = function (dictAlternative) { return function (dictLazy) { return function (v) { return Control_Alt.alt((dictAlternative.Plus1()).Alt0())(some(dictAlternative)(dictLazy)(v))(Control_Applicative.pure(dictAlternative.Applicative0())(Data_List_Lazy_Types.nil)); }; }; }; // | Get the length of a list // | // | Running time: `O(n)` var length = Data_Foldable.foldl(Data_List_Lazy_Types.foldableList)(function (l) { return function (v) { return l + 1 | 0; }; })(0); // | Get the last element in a list, or `Nothing` if the list is empty. // | // | Running time: `O(n)`. var last = (function () { var go = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Data_List_Lazy_Types.Cons) { if ($$null(v.value1)) { $tco_done = true; return new Data_Maybe.Just(v.value0); }; if (Data_Boolean.otherwise) { $copy_v = Data_List_Lazy_Types.step(v.value1); return; }; }; $tco_done = true; return Data_Maybe.Nothing.value; }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return function ($216) { return go(Data_List_Lazy_Types.step($216)); }; })(); // | Create a list by iterating a function var iterate = function (f) { return function (x) { return Control_Lazy.fix(Data_List_Lazy_Types.lazyList)(function (xs) { return Data_List_Lazy_Types.cons(x)(Data_Functor.map(Data_List_Lazy_Types.functorList)(f)(xs)); }); }; }; // | Insert an element into a list at the specified index, returning a new // | list or `Nothing` if the index is out-of-bounds. // | // | This function differs from the strict equivalent in that out-of-bounds arguments // | result in the element being appended at the _end_ of the list. // | // | Running time: `O(n)` var insertAt = function (v) { return function (x) { return function (xs) { if (v === 0) { return Data_List_Lazy_Types.cons(x)(xs); }; var go = function (v1) { if (v1 instanceof Data_List_Lazy_Types.Nil) { return new Data_List_Lazy_Types.Cons(x, Data_List_Lazy_Types.nil); }; if (v1 instanceof Data_List_Lazy_Types.Cons) { return new Data_List_Lazy_Types.Cons(v1.value0, insertAt(v - 1 | 0)(x)(v1.value1)); }; throw new Error("Failed pattern match at Data.List.Lazy line 338, column 3 - line 338, column 22: " + [ v1.constructor.name ]); }; return Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)(xs)); }; }; }; // | Get all but the last element of a list, or `Nothing` if the list is empty. // | // | Running time: `O(n)` var init = (function () { var go = function (v) { if (v instanceof Data_List_Lazy_Types.Cons) { if ($$null(v.value1)) { return new Data_Maybe.Just(Data_List_Lazy_Types.nil); }; if (Data_Boolean.otherwise) { return Data_Functor.map(Data_Maybe.functorMaybe)(Data_List_Lazy_Types.cons(v.value0))(go(Data_List_Lazy_Types.step(v.value1))); }; }; return Data_Maybe.Nothing.value; }; return function ($217) { return go(Data_List_Lazy_Types.step($217)); }; })(); //------------------------------------------------------------------------------ // Indexed operations ---------------------------------------------------------- //------------------------------------------------------------------------------ // | Get the element at the specified index, or `Nothing` if the index is out-of-bounds. // | // | Running time: `O(n)` where `n` is the required index. var index = function (xs) { var go = function ($copy_v) { return function ($copy_v1) { var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(v, v1) { if (v instanceof Data_List_Lazy_Types.Nil) { $tco_done = true; return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Lazy_Types.Cons && v1 === 0) { $tco_done = true; return new Data_Maybe.Just(v.value0); }; if (v instanceof Data_List_Lazy_Types.Cons) { $tco_var_v = Data_List_Lazy_Types.step(v.value1); $copy_v1 = v1 - 1 | 0; return; }; throw new Error("Failed pattern match at Data.List.Lazy line 297, column 3 - line 297, column 21: " + [ v.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $copy_v1); }; return $tco_result; }; }; return go(Data_List_Lazy_Types.step(xs)); }; //------------------------------------------------------------------------------ // Non-indexed reads ----------------------------------------------------------- //------------------------------------------------------------------------------ // | Get the first element in a list, or `Nothing` if the list is empty. // | // | Running time: `O(1)`. var head = function (xs) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) { return v.head; })(uncons(xs)); }; //------------------------------------------------------------------------------ // Transpose ------------------------------------------------------------------- //------------------------------------------------------------------------------ // | The 'transpose' function transposes the rows and columns of its argument. // | For example, // | // | transpose ((1:2:3:nil) : (4:5:6:nil) : nil) == // | ((1:4:nil) : (2:5:nil) : (3:6:nil) : nil) // | // | If some of the rows are shorter than the following rows, their elements are skipped: // | // | transpose ((10:11:nil) : (20:nil) : nil : (30:31:32:nil) : nil) == // | ((10:20:30:nil) : (11:31:nil) : (32:nil) : nil) var transpose = function (xs) { var v = uncons(xs); if (v instanceof Data_Maybe.Nothing) { return xs; }; if (v instanceof Data_Maybe.Just) { var v1 = uncons(v.value0.head); if (v1 instanceof Data_Maybe.Nothing) { return transpose(v.value0.tail); }; if (v1 instanceof Data_Maybe.Just) { return Data_List_Lazy_Types.cons(Data_List_Lazy_Types.cons(v1.value0.head)(mapMaybe(head)(v.value0.tail)))(transpose(Data_List_Lazy_Types.cons(v1.value0.tail)(mapMaybe(tail)(v.value0.tail)))); }; throw new Error("Failed pattern match at Data.List.Lazy line 703, column 7 - line 707, column 72: " + [ v1.constructor.name ]); }; throw new Error("Failed pattern match at Data.List.Lazy line 699, column 3 - line 707, column 72: " + [ v.constructor.name ]); }; // | Group equal, consecutive elements of a list into lists, using the specified // | equivalence relation to determine equality. // | // | Running time: `O(n)` var groupBy = function (eq) { var go = function (v) { if (v instanceof Data_List_Lazy_Types.Nil) { return Data_List_Lazy_Types.Nil.value; }; if (v instanceof Data_List_Lazy_Types.Cons) { var v1 = span(eq(v.value0))(v.value1); return new Data_List_Lazy_Types.Cons(Data_Lazy.defer(function (v2) { return new Data_NonEmpty.NonEmpty(v.value0, v1.init); }), groupBy(eq)(v1.rest)); }; throw new Error("Failed pattern match at Data.List.Lazy line 557, column 3 - line 557, column 15: " + [ v.constructor.name ]); }; return function ($218) { return Data_List_Lazy_Types.List(Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)($218))); }; }; // | Group equal, consecutive elements of a list into lists. // | // | For example, // | // | ```purescript // | group (1 : 1 : 2 : 2 : 1 : Nil) == (1 : 1 : Nil) : (2 : 2 : Nil) : (1 : Nil) : Nil // | ``` // | // | Running time: `O(n)` var group = function (dictEq) { return groupBy(Data_Eq.eq(dictEq)); }; var fromStep = function ($219) { return Data_List_Lazy_Types.List(Control_Applicative.pure(Data_Lazy.applicativeLazy)($219)); }; // | Insert an element into a sorted list, using the specified function to determine the ordering // | of elements. // | // | Running time: `O(n)` var insertBy = function (cmp) { return function (x) { return function (xs) { var go = function (v) { if (v instanceof Data_List_Lazy_Types.Nil) { return new Data_List_Lazy_Types.Cons(x, Data_List_Lazy_Types.nil); }; if (v instanceof Data_List_Lazy_Types.Cons) { var v1 = cmp(x)(v.value0); if (v1 instanceof Data_Ordering.GT) { return new Data_List_Lazy_Types.Cons(v.value0, insertBy(cmp)(x)(v.value1)); }; return new Data_List_Lazy_Types.Cons(x, fromStep(v)); }; throw new Error("Failed pattern match at Data.List.Lazy line 233, column 3 - line 233, column 22: " + [ v.constructor.name ]); }; return Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)(xs)); }; }; }; // | Insert an element into a sorted list. // | // | Running time: `O(n)` var insert = function (dictOrd) { return insertBy(Data_Ord.compare(dictOrd)); }; // | Construct a list from a foldable structure. // | // | Running time: `O(n)` var fromFoldable = function (dictFoldable) { return Data_Foldable.foldr(dictFoldable)(Data_List_Lazy_Types.cons)(Data_List_Lazy_Types.nil); }; // | Perform a right fold lazily var foldrLazy = function (dictLazy) { return function (op) { return function (z) { var go = function (xs) { var v = Data_List_Lazy_Types.step(xs); if (v instanceof Data_List_Lazy_Types.Cons) { return Control_Lazy.defer(dictLazy)(function (v1) { return op(v.value0)(go(v.value1)); }); }; if (v instanceof Data_List_Lazy_Types.Nil) { return z; }; throw new Error("Failed pattern match at Data.List.Lazy line 725, column 13 - line 727, column 14: " + [ v.constructor.name ]); }; return go; }; }; }; //------------------------------------------------------------------------------ // Folding --------------------------------------------------------------------- //------------------------------------------------------------------------------ // | Perform a fold using a monadic step function. var foldM = function (dictMonad) { return function (f) { return function (a) { return function (xs) { var v = uncons(xs); if (v instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(dictMonad.Applicative0())(a); }; if (v instanceof Data_Maybe.Just) { return Control_Bind.bind(dictMonad.Bind1())(f(a)(v.value0.head))(function (a$prime) { return foldM(dictMonad)(f)(a$prime)(v.value0.tail); }); }; throw new Error("Failed pattern match at Data.List.Lazy line 716, column 5 - line 719, column 54: " + [ v.constructor.name ]); }; }; }; }; // | Find the first index for which a predicate holds. var findIndex = function (fn) { var go = function (n) { return function (list) { return Control_Bind.bind(Data_Maybe.bindMaybe)(uncons(list))(function (v) { var $174 = fn(v.head); if ($174) { return Control_Applicative.pure(Data_Maybe.applicativeMaybe)(n); }; return go(n + 1 | 0)(v.tail); }); }; }; return go(0); }; // | Find the last index for which a predicate holds. var findLastIndex = function (fn) { return function (xs) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) { return (length(xs) - 1 | 0) - v | 0; })(findIndex(fn)(reverse(xs))); }; }; // | Filter where the predicate returns a monadic `Boolean`. // | // | For example: // | // | ```purescript // | powerSet :: forall a. [a] -> [[a]] // | powerSet = filterM (const [true, false]) // | ``` var filterM = function (dictMonad) { return function (p) { return function (list) { var v = uncons(list); if (v instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(dictMonad.Applicative0())(Data_List_Lazy_Types.nil); }; if (v instanceof Data_Maybe.Just) { return Control_Bind.bind(dictMonad.Bind1())(p(v.value0.head))(function (v1) { return Control_Bind.bind(dictMonad.Bind1())(filterM(dictMonad)(p)(v.value0.tail))(function (v2) { return Control_Applicative.pure(dictMonad.Applicative0())((function () { if (v1) { return Data_List_Lazy_Types.cons(v.value0.head)(v2); }; return v2; })()); }); }); }; throw new Error("Failed pattern match at Data.List.Lazy line 441, column 5 - line 446, column 48: " + [ v.constructor.name ]); }; }; }; // | Filter a list, keeping the elements which satisfy a predicate function. // | // | Running time: `O(n)` var filter = function (p) { var go = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Data_List_Lazy_Types.Nil) { $tco_done = true; return Data_List_Lazy_Types.Nil.value; }; if (v instanceof Data_List_Lazy_Types.Cons) { if (p(v.value0)) { $tco_done = true; return new Data_List_Lazy_Types.Cons(v.value0, filter(p)(v.value1)); }; if (Data_Boolean.otherwise) { $copy_v = Data_List_Lazy_Types.step(v.value1); return; }; }; throw new Error("Failed pattern match at Data.List.Lazy line 426, column 3 - line 426, column 15: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return function ($220) { return Data_List_Lazy_Types.List(Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)($220))); }; }; // | Calculate the intersection of two lists, using the specified // | function to determine equality of elements. // | // | Running time: `O(n^2)` var intersectBy = function (eq) { return function (xs) { return function (ys) { return filter(function (x) { return Data_Foldable.any(Data_List_Lazy_Types.foldableList)(Data_HeytingAlgebra.heytingAlgebraBoolean)(eq(x))(ys); })(xs); }; }; }; // | Calculate the intersection of two lists. // | // | Running time: `O(n^2)` var intersect = function (dictEq) { return intersectBy(Data_Eq.eq(dictEq)); }; // | Remove duplicate elements from a list, using the specified // | function to determine equality of elements. // | // | Running time: `O(n^2)` var nubBy = function (eq) { var go = function (v) { if (v instanceof Data_List_Lazy_Types.Nil) { return Data_List_Lazy_Types.Nil.value; }; if (v instanceof Data_List_Lazy_Types.Cons) { return new Data_List_Lazy_Types.Cons(v.value0, nubBy(eq)(filter(function (y) { return !eq(v.value0)(y); })(v.value1))); }; throw new Error("Failed pattern match at Data.List.Lazy line 590, column 3 - line 590, column 15: " + [ v.constructor.name ]); }; return function ($221) { return Data_List_Lazy_Types.List(Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)($221))); }; }; //------------------------------------------------------------------------------ // Set-like operations --------------------------------------------------------- //------------------------------------------------------------------------------ // | Remove duplicate elements from a list. // | // | Running time: `O(n^2)` var nub = function (dictEq) { return nubBy(Data_Eq.eq(dictEq)); }; // | Find the index of the last element equal to the specified element. var elemLastIndex = function (dictEq) { return function (x) { return findLastIndex(function (v) { return Data_Eq.eq(dictEq)(v)(x); }); }; }; // | Find the index of the first element equal to the specified element. var elemIndex = function (dictEq) { return function (x) { return findIndex(function (v) { return Data_Eq.eq(dictEq)(v)(x); }); }; }; // | Drop those elements from the front of a list which match a predicate. // | // | Running time (worst case): `O(n)` var dropWhile = function (p) { var go = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Data_List_Lazy_Types.Cons && p(v.value0)) { $copy_v = Data_List_Lazy_Types.step(v.value1); return; }; $tco_done = true; return fromStep(v); }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return function ($222) { return go(Data_List_Lazy_Types.step($222)); }; }; // | Drop the specified number of elements from the front of a list. // | // | Running time: `O(n)` where `n` is the number of elements to drop. var drop = function (n) { var go = function ($copy_v) { return function ($copy_v1) { var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(v, v1) { if (v === 0) { $tco_done = true; return v1; }; if (v1 instanceof Data_List_Lazy_Types.Nil) { $tco_done = true; return Data_List_Lazy_Types.Nil.value; }; if (v1 instanceof Data_List_Lazy_Types.Cons) { $tco_var_v = v - 1 | 0; $copy_v1 = Data_List_Lazy_Types.step(v1.value1); return; }; throw new Error("Failed pattern match at Data.List.Lazy line 505, column 3 - line 505, column 15: " + [ v.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v, $copy_v1); }; return $tco_result; }; }; return function ($223) { return Data_List_Lazy_Types.List(Data_Functor.map(Data_Lazy.functorLazy)(go(n))(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)($223))); }; }; //------------------------------------------------------------------------------ // Sorting --------------------------------------------------------------------- //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // Sublists -------------------------------------------------------------------- //------------------------------------------------------------------------------ // | Extract a sublist by a start and end index. var slice = function (start) { return function (end) { return function (xs) { return take(end - start | 0)(drop(start)(xs)); }; }; }; // | Delete the first occurrence of an element from a list, using the specified // | function to determine equality of elements. // | // | Running time: `O(n)` var deleteBy = function (eq) { return function (x) { return function (xs) { var go = function (v) { if (v instanceof Data_List_Lazy_Types.Nil) { return Data_List_Lazy_Types.Nil.value; }; if (v instanceof Data_List_Lazy_Types.Cons) { if (eq(x)(v.value0)) { return Data_List_Lazy_Types.step(v.value1); }; if (Data_Boolean.otherwise) { return new Data_List_Lazy_Types.Cons(v.value0, deleteBy(eq)(x)(v.value1)); }; }; throw new Error("Failed pattern match at Data.List.Lazy line 619, column 3 - line 619, column 15: " + [ v.constructor.name ]); }; return Data_Functor.map(Data_Lazy.functorLazy)(go)(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)(xs)); }; }; }; // | Calculate the union of two lists, using the specified // | function to determine equality of elements. // | // | Running time: `O(n^2)` var unionBy = function (eq) { return function (xs) { return function (ys) { return Data_Semigroup.append(Data_List_Lazy_Types.semigroupList)(xs)(Data_Foldable.foldl(Data_List_Lazy_Types.foldableList)(Data_Function.flip(deleteBy(eq)))(nubBy(eq)(ys))(xs)); }; }; }; // | Calculate the union of two lists. // | // | Running time: `O(n^2)` var union = function (dictEq) { return unionBy(Data_Eq.eq(dictEq)); }; // | Delete an element from a list at the specified index, returning a new // | list or `Nothing` if the index is out-of-bounds. // | // | This function differs from the strict equivalent in that out-of-bounds arguments // | result in the original list being returned unchanged. // | // | Running time: `O(n)` var deleteAt = function (n) { return function (xs) { var go = function (v) { return function (v1) { if (v1 instanceof Data_List_Lazy_Types.Nil) { return Data_List_Lazy_Types.Nil.value; }; if (v === 0 && v1 instanceof Data_List_Lazy_Types.Cons) { return Data_List_Lazy_Types.step(v1.value1); }; if (v1 instanceof Data_List_Lazy_Types.Cons) { return new Data_List_Lazy_Types.Cons(v1.value0, deleteAt(v - 1 | 0)(v1.value1)); }; throw new Error("Failed pattern match at Data.List.Lazy line 351, column 3 - line 351, column 17: " + [ v.constructor.name, v1.constructor.name ]); }; }; return Data_Functor.map(Data_Lazy.functorLazy)(go(n))(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)(xs)); }; }; // | Delete the first occurrence of an element from a list. // | // | Running time: `O(n)` var $$delete = function (dictEq) { return deleteBy(Data_Eq.eq(dictEq)); }; // | Delete the first occurrence of each element in the second list from the first list. // | // | Running time: `O(n^2)` var difference = function (dictEq) { return Data_Foldable.foldl(Data_List_Lazy_Types.foldableList)(Data_Function.flip($$delete(dictEq))); }; // | Create a list by repeating another list var cycle = function (xs) { return Control_Lazy.fix(Data_List_Lazy_Types.lazyList)(function (ys) { return Data_Semigroup.append(Data_List_Lazy_Types.semigroupList)(xs)(ys); }); }; // | Apply a function to each element in a list, and flatten the results // | into a single, new list. // | // | Running time: `O(n)`, where `n` is the total number of elements. var concatMap = Data_Function.flip(Control_Bind.bind(Data_List_Lazy_Types.bindList)); // | Flatten a list of lists. // | // | Running time: `O(n)`, where `n` is the total number of elements. var concat = function (v) { return Control_Bind.bind(Data_List_Lazy_Types.bindList)(v)(Control_Category.id(Control_Category.categoryFn)); }; // | Filter a list of optional values, keeping only the elements which contain // | a value. var catMaybes = mapMaybe(Control_Category.id(Control_Category.categoryFn)); // | Update or delete the element at the specified index by applying a // | function to the current value, returning a new list or `Nothing` if the // | index is out-of-bounds. // | // | This function differs from the strict equivalent in that out-of-bounds arguments // | result in the original list being returned unchanged. // | // | Running time: `O(n)` var alterAt = function (n) { return function (f) { return function (xs) { var go = function (v) { return function (v1) { if (v1 instanceof Data_List_Lazy_Types.Nil) { return Data_List_Lazy_Types.Nil.value; }; if (v === 0 && v1 instanceof Data_List_Lazy_Types.Cons) { var v2 = f(v1.value0); if (v2 instanceof Data_Maybe.Nothing) { return Data_List_Lazy_Types.step(v1.value1); }; if (v2 instanceof Data_Maybe.Just) { return new Data_List_Lazy_Types.Cons(v2.value0, v1.value1); }; throw new Error("Failed pattern match at Data.List.Lazy line 392, column 22 - line 394, column 26: " + [ v2.constructor.name ]); }; if (v1 instanceof Data_List_Lazy_Types.Cons) { return new Data_List_Lazy_Types.Cons(v1.value0, alterAt(v - 1 | 0)(f)(v1.value1)); }; throw new Error("Failed pattern match at Data.List.Lazy line 391, column 3 - line 391, column 17: " + [ v.constructor.name, v1.constructor.name ]); }; }; return Data_Functor.map(Data_Lazy.functorLazy)(go(n))(Data_Newtype.unwrap(Data_List_Lazy_Types.newtypeList)(xs)); }; }; }; // | Update the element at the specified index by applying a function to // | the current value, returning a new list or `Nothing` if the index is // | out-of-bounds. // | // | This function differs from the strict equivalent in that out-of-bounds arguments // | result in the original list being returned unchanged. // | // | Running time: `O(n)` var modifyAt = function (n) { return function (f) { return alterAt(n)(function ($224) { return Data_Maybe.Just.create(f($224)); }); }; }; exports["alterAt"] = alterAt; exports["catMaybes"] = catMaybes; exports["concat"] = concat; exports["concatMap"] = concatMap; exports["cycle"] = cycle; exports["delete"] = $$delete; exports["deleteAt"] = deleteAt; exports["deleteBy"] = deleteBy; exports["difference"] = difference; exports["drop"] = drop; exports["dropWhile"] = dropWhile; exports["elemIndex"] = elemIndex; exports["elemLastIndex"] = elemLastIndex; exports["filter"] = filter; exports["filterM"] = filterM; exports["findIndex"] = findIndex; exports["findLastIndex"] = findLastIndex; exports["foldM"] = foldM; exports["foldrLazy"] = foldrLazy; exports["fromFoldable"] = fromFoldable; exports["group"] = group; exports["groupBy"] = groupBy; exports["head"] = head; exports["index"] = index; exports["init"] = init; exports["insert"] = insert; exports["insertAt"] = insertAt; exports["insertBy"] = insertBy; exports["intersect"] = intersect; exports["intersectBy"] = intersectBy; exports["iterate"] = iterate; exports["last"] = last; exports["length"] = length; exports["many"] = many; exports["mapMaybe"] = mapMaybe; exports["modifyAt"] = modifyAt; exports["nub"] = nub; exports["nubBy"] = nubBy; exports["null"] = $$null; exports["partition"] = partition; exports["range"] = range; exports["repeat"] = repeat; exports["replicate"] = replicate; exports["replicateM"] = replicateM; exports["reverse"] = reverse; exports["singleton"] = singleton; exports["slice"] = slice; exports["snoc"] = snoc; exports["some"] = some; exports["span"] = span; exports["tail"] = tail; exports["take"] = take; exports["takeWhile"] = takeWhile; exports["toUnfoldable"] = toUnfoldable; exports["transpose"] = transpose; exports["uncons"] = uncons; exports["union"] = union; exports["unionBy"] = unionBy; exports["unzip"] = unzip; exports["updateAt"] = updateAt; exports["zip"] = zip; exports["zipWith"] = zipWith; exports["zipWithA"] = zipWithA; })(PS["Data.List.Lazy"] = PS["Data.List.Lazy"] || {}); (function(exports) { // | This module defines a type of maps as balanced 2-3 trees, based on // | "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_List = PS["Data.List"]; var Data_List_Lazy = PS["Data.List.Lazy"]; var Data_List_Lazy_Types = PS["Data.List.Lazy.Types"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; // | `Map k v` represents maps from keys of type `k` to values of type `v`. var Leaf = (function () { function Leaf() { }; Leaf.value = new Leaf(); return Leaf; })(); // | `Map k v` represents maps from keys of type `k` to values of type `v`. var Two = (function () { function Two(value0, value1, value2, value3) { this.value0 = value0; this.value1 = value1; this.value2 = value2; this.value3 = value3; }; Two.create = function (value0) { return function (value1) { return function (value2) { return function (value3) { return new Two(value0, value1, value2, value3); }; }; }; }; return Two; })(); // | `Map k v` represents maps from keys of type `k` to values of type `v`. var Three = (function () { function Three(value0, value1, value2, value3, value4, value5, value6) { this.value0 = value0; this.value1 = value1; this.value2 = value2; this.value3 = value3; this.value4 = value4; this.value5 = value5; this.value6 = value6; }; Three.create = function (value0) { return function (value1) { return function (value2) { return function (value3) { return function (value4) { return function (value5) { return function (value6) { return new Three(value0, value1, value2, value3, value4, value5, value6); }; }; }; }; }; }; }; return Three; })(); var TwoLeft = (function () { function TwoLeft(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; TwoLeft.create = function (value0) { return function (value1) { return function (value2) { return new TwoLeft(value0, value1, value2); }; }; }; return TwoLeft; })(); var TwoRight = (function () { function TwoRight(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; TwoRight.create = function (value0) { return function (value1) { return function (value2) { return new TwoRight(value0, value1, value2); }; }; }; return TwoRight; })(); var ThreeLeft = (function () { function ThreeLeft(value0, value1, value2, value3, value4, value5) { this.value0 = value0; this.value1 = value1; this.value2 = value2; this.value3 = value3; this.value4 = value4; this.value5 = value5; }; ThreeLeft.create = function (value0) { return function (value1) { return function (value2) { return function (value3) { return function (value4) { return function (value5) { return new ThreeLeft(value0, value1, value2, value3, value4, value5); }; }; }; }; }; }; return ThreeLeft; })(); var ThreeMiddle = (function () { function ThreeMiddle(value0, value1, value2, value3, value4, value5) { this.value0 = value0; this.value1 = value1; this.value2 = value2; this.value3 = value3; this.value4 = value4; this.value5 = value5; }; ThreeMiddle.create = function (value0) { return function (value1) { return function (value2) { return function (value3) { return function (value4) { return function (value5) { return new ThreeMiddle(value0, value1, value2, value3, value4, value5); }; }; }; }; }; }; return ThreeMiddle; })(); var ThreeRight = (function () { function ThreeRight(value0, value1, value2, value3, value4, value5) { this.value0 = value0; this.value1 = value1; this.value2 = value2; this.value3 = value3; this.value4 = value4; this.value5 = value5; }; ThreeRight.create = function (value0) { return function (value1) { return function (value2) { return function (value3) { return function (value4) { return function (value5) { return new ThreeRight(value0, value1, value2, value3, value4, value5); }; }; }; }; }; }; return ThreeRight; })(); var KickUp = (function () { function KickUp(value0, value1, value2, value3) { this.value0 = value0; this.value1 = value1; this.value2 = value2; this.value3 = value3; }; KickUp.create = function (value0) { return function (value1) { return function (value2) { return function (value3) { return new KickUp(value0, value1, value2, value3); }; }; }; }; return KickUp; })(); // | Get a list of the values contained in a map var values = function (v) { if (v instanceof Leaf) { return Data_List_Types.Nil.value; }; if (v instanceof Two) { return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3))); }; if (v instanceof Three) { return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6))))); }; throw new Error("Failed pattern match at Data.Map line 448, column 1 - line 448, column 40: " + [ v.constructor.name ]); }; // | Calculate the number of key/value pairs in a map var size = function (v) { if (v instanceof Leaf) { return 0; }; if (v instanceof Two) { return (1 + size(v.value0) | 0) + size(v.value3) | 0; }; if (v instanceof Three) { return ((2 + size(v.value0) | 0) + size(v.value3) | 0) + size(v.value6) | 0; }; throw new Error("Failed pattern match at Data.Map line 475, column 1 - line 475, column 35: " + [ v.constructor.name ]); }; // | Create a map with one key/value pair var singleton = function (k) { return function (v) { return new Two(Leaf.value, k, v, Leaf.value); }; }; // | Convert a map to an unfoldable structure of key/value pairs where the keys are in ascending order var toAscUnfoldable = function (dictUnfoldable) { return function (m) { var go = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Data_List_Types.Nil) { $tco_done = true; return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Types.Cons) { if (v.value0 instanceof Leaf) { $copy_v = v.value1; return; }; if (v.value0 instanceof Two && (v.value0.value0 instanceof Leaf && v.value0.value3 instanceof Leaf)) { $tco_done = true; return Data_Maybe.Just.create(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value1, v.value0.value2), v.value1)); }; if (v.value0 instanceof Two && v.value0.value0 instanceof Leaf) { $tco_done = true; return Data_Maybe.Just.create(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value1, v.value0.value2), new Data_List_Types.Cons(v.value0.value3, v.value1))); }; if (v.value0 instanceof Two) { $copy_v = new Data_List_Types.Cons(v.value0.value0, new Data_List_Types.Cons(singleton(v.value0.value1)(v.value0.value2), new Data_List_Types.Cons(v.value0.value3, v.value1))); return; }; if (v.value0 instanceof Three) { $copy_v = new Data_List_Types.Cons(v.value0.value0, new Data_List_Types.Cons(singleton(v.value0.value1)(v.value0.value2), new Data_List_Types.Cons(v.value0.value3, new Data_List_Types.Cons(singleton(v.value0.value4)(v.value0.value5), new Data_List_Types.Cons(v.value0.value6, v.value1))))); return; }; throw new Error("Failed pattern match at Data.Map line 430, column 18 - line 439, column 71: " + [ v.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Map line 429, column 3 - line 429, column 19: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return Data_Unfoldable.unfoldr(dictUnfoldable)(go)(new Data_List_Types.Cons(m, Data_List_Types.Nil.value)); }; }; // Internal use var toAscArray = toAscUnfoldable(Data_Unfoldable.unfoldableArray); // | Convert a map to an unfoldable structure of key/value pairs var toUnfoldable = function (dictUnfoldable) { return function (m) { var go = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Data_List_Types.Nil) { $tco_done = true; return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Types.Cons) { if (v.value0 instanceof Leaf) { $copy_v = v.value1; return; }; if (v.value0 instanceof Two) { $tco_done = true; return Data_Maybe.Just.create(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value1, v.value0.value2), new Data_List_Types.Cons(v.value0.value0, new Data_List_Types.Cons(v.value0.value3, v.value1)))); }; if (v.value0 instanceof Three) { $tco_done = true; return Data_Maybe.Just.create(new Data_Tuple.Tuple(new Data_Tuple.Tuple(v.value0.value1, v.value0.value2), new Data_List_Types.Cons(singleton(v.value0.value4)(v.value0.value5), new Data_List_Types.Cons(v.value0.value0, new Data_List_Types.Cons(v.value0.value3, new Data_List_Types.Cons(v.value0.value6, v.value1)))))); }; throw new Error("Failed pattern match at Data.Map line 419, column 18 - line 424, column 77: " + [ v.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Map line 418, column 3 - line 418, column 19: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return Data_Unfoldable.unfoldr(dictUnfoldable)(go)(new Data_List_Types.Cons(m, Data_List_Types.Nil.value)); }; }; // | Render a `Map` as a `String` var showTree = function (dictShow) { return function (dictShow1) { return function (v) { if (v instanceof Leaf) { return "Leaf"; }; if (v instanceof Two) { return "Two (" + (showTree(dictShow)(dictShow1)(v.value0) + (") (" + (Data_Show.show(dictShow)(v.value1) + (") (" + (Data_Show.show(dictShow1)(v.value2) + (") (" + (showTree(dictShow)(dictShow1)(v.value3) + ")"))))))); }; if (v instanceof Three) { return "Three (" + (showTree(dictShow)(dictShow1)(v.value0) + (") (" + (Data_Show.show(dictShow)(v.value1) + (") (" + (Data_Show.show(dictShow1)(v.value2) + (") (" + (showTree(dictShow)(dictShow1)(v.value3) + (") (" + (Data_Show.show(dictShow)(v.value4) + (") (" + (Data_Show.show(dictShow1)(v.value5) + (") (" + (showTree(dictShow)(dictShow1)(v.value6) + ")"))))))))))))); }; throw new Error("Failed pattern match at Data.Map line 113, column 1 - line 113, column 62: " + [ v.constructor.name ]); }; }; }; var showMap = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (m) { return "(fromFoldable " + (Data_Show.show(Data_Show.showArray(Data_Tuple.showTuple(dictShow)(dictShow1)))(toAscArray(m)) + ")"); }); }; }; // | Apply a function of two arguments to each key/value pair, producing a new map var mapWithKey = function (v) { return function (v1) { if (v1 instanceof Leaf) { return Leaf.value; }; if (v1 instanceof Two) { return new Two(mapWithKey(v)(v1.value0), v1.value1, v(v1.value1)(v1.value2), mapWithKey(v)(v1.value3)); }; if (v1 instanceof Three) { return new Three(mapWithKey(v)(v1.value0), v1.value1, v(v1.value1)(v1.value2), mapWithKey(v)(v1.value3), v1.value4, v(v1.value4)(v1.value5), mapWithKey(v)(v1.value6)); }; throw new Error("Failed pattern match at Data.Map line 481, column 1 - line 481, column 67: " + [ v.constructor.name, v1.constructor.name ]); }; }; // | Look up a value for the specified key, or the greatest one less than it var lookupLE = function (dictOrd) { return function (k) { var comp = Data_Ord.compare(dictOrd); var go = function (v) { if (v instanceof Leaf) { return Data_Maybe.Nothing.value; }; if (v instanceof Two) { var v2 = comp(k)(v.value1); if (v2 instanceof Data_Ordering.EQ) { return new Data_Maybe.Just({ key: v.value1, value: v.value2 }); }; if (v2 instanceof Data_Ordering.GT) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value1, value: v.value2 })(go(v.value3))); }; if (v2 instanceof Data_Ordering.LT) { return go(v.value0); }; throw new Error("Failed pattern match at Data.Map line 185, column 33 - line 188, column 20: " + [ v2.constructor.name ]); }; if (v instanceof Three) { var v3 = comp(k)(v.value4); if (v3 instanceof Data_Ordering.EQ) { return new Data_Maybe.Just({ key: v.value4, value: v.value5 }); }; if (v3 instanceof Data_Ordering.GT) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value4, value: v.value5 })(go(v.value6))); }; if (v3 instanceof Data_Ordering.LT) { return go(new Two(v.value0, v.value1, v.value2, v.value3)); }; throw new Error("Failed pattern match at Data.Map line 189, column 45 - line 192, column 36: " + [ v3.constructor.name ]); }; throw new Error("Failed pattern match at Data.Map line 184, column 5 - line 184, column 22: " + [ v.constructor.name ]); }; return go; }; }; // | Look up a value for the specified key, or the least one greater than it var lookupGE = function (dictOrd) { return function (k) { var comp = Data_Ord.compare(dictOrd); var go = function (v) { if (v instanceof Leaf) { return Data_Maybe.Nothing.value; }; if (v instanceof Two) { var v2 = comp(k)(v.value1); if (v2 instanceof Data_Ordering.EQ) { return new Data_Maybe.Just({ key: v.value1, value: v.value2 }); }; if (v2 instanceof Data_Ordering.LT) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value1, value: v.value2 })(go(v.value0))); }; if (v2 instanceof Data_Ordering.GT) { return go(v.value3); }; throw new Error("Failed pattern match at Data.Map line 219, column 33 - line 222, column 21: " + [ v2.constructor.name ]); }; if (v instanceof Three) { var v3 = comp(k)(v.value1); if (v3 instanceof Data_Ordering.EQ) { return new Data_Maybe.Just({ key: v.value1, value: v.value2 }); }; if (v3 instanceof Data_Ordering.LT) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value1, value: v.value2 })(go(v.value0))); }; if (v3 instanceof Data_Ordering.GT) { return go(new Two(v.value3, v.value4, v.value5, v.value6)); }; throw new Error("Failed pattern match at Data.Map line 223, column 45 - line 226, column 37: " + [ v3.constructor.name ]); }; throw new Error("Failed pattern match at Data.Map line 218, column 5 - line 218, column 22: " + [ v.constructor.name ]); }; return go; }; }; // | Look up a value for the specified key var lookup = function (dictOrd) { return function (k) { var comp = Data_Ord.compare(dictOrd); var go = function ($copy_v) { var $tco_done = false; var $tco_result; function $tco_loop(v) { if (v instanceof Leaf) { $tco_done = true; return Data_Maybe.Nothing.value; }; if (v instanceof Two) { var v2 = comp(k)(v.value1); if (v2 instanceof Data_Ordering.EQ) { $tco_done = true; return new Data_Maybe.Just(v.value2); }; if (v2 instanceof Data_Ordering.LT) { $copy_v = v.value0; return; }; $copy_v = v.value3; return; }; if (v instanceof Three) { var v3 = comp(k)(v.value1); if (v3 instanceof Data_Ordering.EQ) { $tco_done = true; return new Data_Maybe.Just(v.value2); }; var v4 = comp(k)(v.value4); if (v4 instanceof Data_Ordering.EQ) { $tco_done = true; return new Data_Maybe.Just(v.value5); }; if (v3 instanceof Data_Ordering.LT) { $copy_v = v.value0; return; }; if (v4 instanceof Data_Ordering.GT) { $copy_v = v.value6; return; }; $copy_v = v.value3; return; }; throw new Error("Failed pattern match at Data.Map line 160, column 5 - line 160, column 22: " + [ v.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($copy_v); }; return $tco_result; }; return go; }; }; // | Test if a key is a member of a map var member = function (dictOrd) { return function (k) { return function (m) { return Data_Maybe.isJust(lookup(dictOrd)(k)(m)); }; }; }; // | Get a list of the keys contained in a map var keys = function (v) { if (v instanceof Leaf) { return Data_List_Types.Nil.value; }; if (v instanceof Two) { return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3))); }; if (v instanceof Three) { return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6))))); }; throw new Error("Failed pattern match at Data.Map line 442, column 1 - line 442, column 38: " + [ v.constructor.name ]); }; // | Test whether one map contains all of the keys and values contained in another map var isSubmap = function (dictOrd) { return function (dictEq) { return function (m1) { return function (m2) { var f = function (v) { return Data_Eq.eq(Data_Maybe.eqMaybe(dictEq))(lookup(dictOrd)(v.value0)(m2))(new Data_Maybe.Just(v.value1)); }; return Data_Foldable.all(Data_List_Lazy_Types.foldableList)(Data_HeytingAlgebra.heytingAlgebraBoolean)(f)(toUnfoldable(Data_List_Lazy_Types.unfoldableList)(m1)); }; }; }; }; // | Test if a map is empty var isEmpty = function (v) { if (v instanceof Leaf) { return true; }; return false; }; var functorMap = new Data_Functor.Functor(function (v) { return function (v1) { if (v1 instanceof Leaf) { return Leaf.value; }; if (v1 instanceof Two) { return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3)); }; if (v1 instanceof Three) { return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6)); }; throw new Error("Failed pattern match at Data.Map line 85, column 1 - line 85, column 39: " + [ v.constructor.name, v1.constructor.name ]); }; }); var fromZipper = function ($copy_dictOrd) { return function ($copy_v) { return function ($copy_tree) { var $tco_var_dictOrd = $copy_dictOrd; var $tco_var_v = $copy_v; var $tco_done = false; var $tco_result; function $tco_loop(dictOrd, v, tree) { if (v instanceof Data_List_Types.Nil) { $tco_done = true; return tree; }; if (v instanceof Data_List_Types.Cons) { if (v.value0 instanceof TwoLeft) { $tco_var_dictOrd = dictOrd; $tco_var_v = v.value1; $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2); return; }; if (v.value0 instanceof TwoRight) { $tco_var_dictOrd = dictOrd; $tco_var_v = v.value1; $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree); return; }; if (v.value0 instanceof ThreeLeft) { $tco_var_dictOrd = dictOrd; $tco_var_v = v.value1; $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5); return; }; if (v.value0 instanceof ThreeMiddle) { $tco_var_dictOrd = dictOrd; $tco_var_v = v.value1; $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5); return; }; if (v.value0 instanceof ThreeRight) { $tco_var_dictOrd = dictOrd; $tco_var_v = v.value1; $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree); return; }; throw new Error("Failed pattern match at Data.Map line 271, column 3 - line 276, column 88: " + [ v.value0.constructor.name ]); }; throw new Error("Failed pattern match at Data.Map line 268, column 1 - line 268, column 80: " + [ v.constructor.name, tree.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree); }; return $tco_result; }; }; }; // | Insert or replace a key/value pair in a map var insert = function (dictOrd) { return function (k) { return function (v) { var up = function ($copy_v1) { return function ($copy_v2) { var $tco_var_v1 = $copy_v1; var $tco_done = false; var $tco_result; function $tco_loop(v1, v2) { if (v1 instanceof Data_List_Types.Nil) { $tco_done = true; return new Two(v2.value0, v2.value1, v2.value2, v2.value3); }; if (v1 instanceof Data_List_Types.Cons) { if (v1.value0 instanceof TwoLeft) { $tco_done = true; return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2)); }; if (v1.value0 instanceof TwoRight) { $tco_done = true; return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3)); }; if (v1.value0 instanceof ThreeLeft) { $tco_var_v1 = v1.value1; $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5)); return; }; if (v1.value0 instanceof ThreeMiddle) { $tco_var_v1 = v1.value1; $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5)); return; }; if (v1.value0 instanceof ThreeRight) { $tco_var_v1 = v1.value1; $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3)); return; }; throw new Error("Failed pattern match at Data.Map line 307, column 5 - line 312, column 108: " + [ v1.value0.constructor.name, v2.constructor.name ]); }; throw new Error("Failed pattern match at Data.Map line 304, column 3 - line 304, column 56: " + [ v1.constructor.name, v2.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_v1, $copy_v2); }; return $tco_result; }; }; var comp = Data_Ord.compare(dictOrd); var down = function ($copy_ctx) { return function ($copy_v1) { var $tco_var_ctx = $copy_ctx; var $tco_done = false; var $tco_result; function $tco_loop(ctx, v1) { if (v1 instanceof Leaf) { $tco_done = true; return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value)); }; if (v1 instanceof Two) { var v2 = comp(k)(v1.value1); if (v2 instanceof Data_Ordering.EQ) { $tco_done = true; return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3)); }; if (v2 instanceof Data_Ordering.LT) { $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx); $copy_v1 = v1.value0; return; }; $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx); $copy_v1 = v1.value3; return; }; if (v1 instanceof Three) { var v3 = comp(k)(v1.value1); if (v3 instanceof Data_Ordering.EQ) { $tco_done = true; return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6)); }; var v4 = comp(k)(v1.value4); if (v4 instanceof Data_Ordering.EQ) { $tco_done = true; return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6)); }; if (v3 instanceof Data_Ordering.LT) { $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx); $copy_v1 = v1.value0; return; }; if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) { $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx); $copy_v1 = v1.value3; return; }; $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx); $copy_v1 = v1.value6; return; }; throw new Error("Failed pattern match at Data.Map line 287, column 3 - line 287, column 55: " + [ ctx.constructor.name, v1.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_ctx, $copy_v1); }; return $tco_result; }; }; return down(Data_List_Types.Nil.value); }; }; }; // | Delete a key and its corresponding value from a map, returning the value // | as well as the subsequent map. var pop = function (dictOrd) { return function (k) { var up = function (ctxs) { return function (tree) { if (ctxs instanceof Data_List_Types.Nil) { return tree; }; if (ctxs instanceof Data_List_Types.Cons) { var __unused = function (dictPartial1) { return function ($dollar50) { return $dollar50; }; }; return __unused()((function () { if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) { return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value)); }; if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) { return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value)); }; if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) { return up(ctxs.value1)(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3)); }; if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) { return up(ctxs.value1)(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree)); }; if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) { return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6))); }; if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) { return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree))); }; if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) { return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value)); }; if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) { return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value)); }; if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) { return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value)); }; if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) { return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5)); }; if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) { return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5)); }; if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) { return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3))); }; if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) { return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree))); }; if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) { return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5)); }; if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) { return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5)); }; if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) { return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6))); }; if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) { return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree))); }; throw new Error("Failed pattern match at Data.Map line 357, column 9 - line 374, column 136: " + [ ctxs.value0.constructor.name, tree.constructor.name ]); })()); }; throw new Error("Failed pattern match at Data.Map line 354, column 5 - line 374, column 136: " + [ ctxs.constructor.name ]); }; }; var removeMaxNode = function (ctx) { return function (m) { var __unused = function (dictPartial1) { return function ($dollar52) { return $dollar52; }; }; return __unused()((function () { if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) { return up(ctx)(Leaf.value); }; if (m instanceof Two) { return removeMaxNode(new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx))(m.value3); }; if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) { return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value); }; if (m instanceof Three) { return removeMaxNode(new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx))(m.value6); }; throw new Error("Failed pattern match at Data.Map line 386, column 5 - line 390, column 107: " + [ m.constructor.name ]); })()); }; }; var maxNode = function (m) { var __unused = function (dictPartial1) { return function ($dollar54) { return $dollar54; }; }; return __unused()((function () { if (m instanceof Two && m.value3 instanceof Leaf) { return { key: m.value1, value: m.value2 }; }; if (m instanceof Two) { return maxNode(m.value3); }; if (m instanceof Three && m.value6 instanceof Leaf) { return { key: m.value4, value: m.value5 }; }; if (m instanceof Three) { return maxNode(m.value6); }; throw new Error("Failed pattern match at Data.Map line 377, column 33 - line 381, column 45: " + [ m.constructor.name ]); })()); }; var comp = Data_Ord.compare(dictOrd); var down = function ($copy_ctx) { return function ($copy_m) { var $tco_var_ctx = $copy_ctx; var $tco_done = false; var $tco_result; function $tco_loop(ctx, m) { if (m instanceof Leaf) { $tco_done = true; return Data_Maybe.Nothing.value; }; if (m instanceof Two) { var v = comp(k)(m.value1); if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) { $tco_done = true; return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value))); }; if (v instanceof Data_Ordering.EQ) { var max = maxNode(m.value0); $tco_done = true; return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0))); }; if (v instanceof Data_Ordering.LT) { $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx); $copy_m = m.value0; return; }; $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx); $copy_m = m.value3; return; }; if (m instanceof Three) { var leaves = (function () { if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) { return true; }; return false; })(); var v = comp(k)(m.value4); var v3 = comp(k)(m.value1); if (leaves && v3 instanceof Data_Ordering.EQ) { $tco_done = true; return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value)))); }; if (leaves && v instanceof Data_Ordering.EQ) { $tco_done = true; return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value)))); }; if (v3 instanceof Data_Ordering.EQ) { var max = maxNode(m.value0); $tco_done = true; return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0))); }; if (v instanceof Data_Ordering.EQ) { var max = maxNode(m.value3); $tco_done = true; return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3))); }; if (v3 instanceof Data_Ordering.LT) { $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx); $copy_m = m.value0; return; }; if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) { $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx); $copy_m = m.value3; return; }; $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx); $copy_m = m.value6; return; }; throw new Error("Failed pattern match at Data.Map line 327, column 34 - line 350, column 80: " + [ m.constructor.name ]); }; while (!$tco_done) { $tco_result = $tco_loop($tco_var_ctx, $copy_m); }; return $tco_result; }; }; return down(Data_List_Types.Nil.value); }; }; var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function (m) { return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m)); }; }; }, function (f) { return function (z) { return function (m) { return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m)); }; }; }, function (f) { return function (z) { return function (m) { return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m)); }; }; }); var traversableMap = new Data_Traversable.Traversable(function () { return foldableMap; }, function () { return functorMap; }, function (dictApplicative) { return Data_Traversable.traverse(traversableMap)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); }, function (dictApplicative) { return function (f) { return function (v) { if (v instanceof Leaf) { return Control_Applicative.pure(dictApplicative)(Leaf.value); }; if (v instanceof Two) { return Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Two.create)(Data_Traversable.traverse(traversableMap)(dictApplicative)(f)(v.value0)))(Control_Applicative.pure(dictApplicative)(v.value1)))(f(v.value2)))(Data_Traversable.traverse(traversableMap)(dictApplicative)(f)(v.value3)); }; if (v instanceof Three) { return Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Three.create)(Data_Traversable.traverse(traversableMap)(dictApplicative)(f)(v.value0)))(Control_Applicative.pure(dictApplicative)(v.value1)))(f(v.value2)))(Data_Traversable.traverse(traversableMap)(dictApplicative)(f)(v.value3)))(Control_Applicative.pure(dictApplicative)(v.value4)))(f(v.value5)))(Data_Traversable.traverse(traversableMap)(dictApplicative)(f)(v.value6)); }; throw new Error("Failed pattern match at Data.Map line 95, column 1 - line 95, column 47: " + [ f.constructor.name, v.constructor.name ]); }; }; }); // | Returns the pair with the least key var findMin = function (v) { if (v instanceof Leaf) { return Data_Maybe.Nothing.value; }; if (v instanceof Two) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value1, value: v.value2 })(findMin(v.value0))); }; if (v instanceof Three) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value1, value: v.value2 })(findMin(v.value0))); }; throw new Error("Failed pattern match at Data.Map line 252, column 1 - line 252, column 65: " + [ v.constructor.name ]); }; // | Look up a value for the least key greater than the specified key var lookupGT = function (dictOrd) { return function (k) { var comp = Data_Ord.compare(dictOrd); var go = function (v) { if (v instanceof Leaf) { return Data_Maybe.Nothing.value; }; if (v instanceof Two) { var v2 = comp(k)(v.value1); if (v2 instanceof Data_Ordering.EQ) { return findMin(v.value3); }; if (v2 instanceof Data_Ordering.LT) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value1, value: v.value2 })(go(v.value0))); }; if (v2 instanceof Data_Ordering.GT) { return go(v.value3); }; throw new Error("Failed pattern match at Data.Map line 236, column 33 - line 239, column 21: " + [ v2.constructor.name ]); }; if (v instanceof Three) { var v3 = comp(k)(v.value1); if (v3 instanceof Data_Ordering.EQ) { return findMin(new Two(v.value3, v.value4, v.value5, v.value6)); }; if (v3 instanceof Data_Ordering.LT) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value1, value: v.value2 })(go(v.value0))); }; if (v3 instanceof Data_Ordering.GT) { return go(new Two(v.value3, v.value4, v.value5, v.value6)); }; throw new Error("Failed pattern match at Data.Map line 240, column 45 - line 243, column 37: " + [ v3.constructor.name ]); }; throw new Error("Failed pattern match at Data.Map line 235, column 5 - line 235, column 22: " + [ v.constructor.name ]); }; return go; }; }; // | Returns the pair with the greatest key var findMax = function (v) { if (v instanceof Leaf) { return Data_Maybe.Nothing.value; }; if (v instanceof Two) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value1, value: v.value2 })(findMax(v.value3))); }; if (v instanceof Three) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value4, value: v.value5 })(findMax(v.value6))); }; throw new Error("Failed pattern match at Data.Map line 246, column 1 - line 246, column 65: " + [ v.constructor.name ]); }; // | Look up a value for the greatest key less than the specified key var lookupLT = function (dictOrd) { return function (k) { var comp = Data_Ord.compare(dictOrd); var go = function (v) { if (v instanceof Leaf) { return Data_Maybe.Nothing.value; }; if (v instanceof Two) { var v2 = comp(k)(v.value1); if (v2 instanceof Data_Ordering.EQ) { return findMax(v.value0); }; if (v2 instanceof Data_Ordering.GT) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value1, value: v.value2 })(go(v.value3))); }; if (v2 instanceof Data_Ordering.LT) { return go(v.value0); }; throw new Error("Failed pattern match at Data.Map line 202, column 33 - line 205, column 20: " + [ v2.constructor.name ]); }; if (v instanceof Three) { var v3 = comp(k)(v.value4); if (v3 instanceof Data_Ordering.EQ) { return findMax(new Two(v.value0, v.value1, v.value2, v.value3)); }; if (v3 instanceof Data_Ordering.GT) { return Data_Maybe.Just.create(Data_Maybe.fromMaybe({ key: v.value4, value: v.value5 })(go(v.value6))); }; if (v3 instanceof Data_Ordering.LT) { return go(new Two(v.value0, v.value1, v.value2, v.value3)); }; throw new Error("Failed pattern match at Data.Map line 206, column 45 - line 209, column 36: " + [ v3.constructor.name ]); }; throw new Error("Failed pattern match at Data.Map line 201, column 5 - line 201, column 22: " + [ v.constructor.name ]); }; return go; }; }; var eqMap = function (dictEq) { return function (dictEq1) { return new Data_Eq.Eq(function (m1) { return function (m2) { return Data_Eq.eq(Data_Eq.eqArray(Data_Tuple.eqTuple(dictEq)(dictEq1)))(toAscArray(m1))(toAscArray(m2)); }; }); }; }; var ordMap = function (dictOrd) { return function (dictOrd1) { return new Data_Ord.Ord(function () { return eqMap(dictOrd.Eq0())(dictOrd1.Eq0()); }, function (m1) { return function (m2) { return Data_Ord.compare(Data_Ord.ordArray(Data_Tuple.ordTuple(dictOrd)(dictOrd1)))(toAscArray(m1))(toAscArray(m2)); }; }); }; }; var eq1Map = function (dictEq) { return new Data_Eq.Eq1(function (dictEq1) { return Data_Eq.eq(eqMap(dictEq)(dictEq1)); }); }; var ord1Map = function (dictOrd) { return new Data_Ord.Ord1(function () { return eq1Map(dictOrd.Eq0()); }, function (dictOrd1) { return Data_Ord.compare(ordMap(dictOrd)(dictOrd1)); }); }; // | An empty map var empty = Leaf.value; // | Convert any foldable collection of key/value pairs to a map. // | On key collision, later values take precedence over earlier ones. var fromFoldable = function (dictOrd) { return function (dictFoldable) { return Data_Foldable.foldl(dictFoldable)(function (m) { return function (v) { return insert(dictOrd)(v.value0)(v.value1)(m); }; })(empty); }; }; // | Filter out those key/value pairs of a map for which a predicate // | fails to hold. var filterWithKey = function (dictOrd) { return function (predicate) { return function ($681) { return fromFoldable(dictOrd)(Data_List_Lazy_Types.foldableList)(Data_List_Lazy.filter(Data_Tuple.uncurry(predicate))(toUnfoldable(Data_List_Lazy_Types.unfoldableList)($681))); }; }; }; // | Filter out those key/value pairs of a map for which a predicate // | on the value fails to hold. var filter = function (dictOrd) { return function (predicate) { return filterWithKey(dictOrd)(Data_Function["const"](predicate)); }; }; // | Filter out those key/value pairs of a map for which a predicate // | on the key fails to hold. var filterKeys = function (dictOrd) { return function (predicate) { return filterWithKey(dictOrd)(function ($682) { return Data_Function["const"](predicate($682)); }); }; }; // | Delete a key and its corresponding value from a map. var $$delete = function (dictOrd) { return function (k) { return function (m) { return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m)); }; }; }; // | Check whether the underlying tree satisfies the 2-3 invariant // | // | This function is provided for internal use. var checkValid = function (tree) { var allHeights = function (v) { if (v instanceof Leaf) { return Control_Applicative.pure(Data_List_Types.applicativeList)(0); }; if (v instanceof Two) { return Data_Functor.map(Data_List_Types.functorList)(function (n) { return n + 1 | 0; })(Data_Semigroup.append(Data_List_Types.semigroupList)(allHeights(v.value0))(allHeights(v.value3))); }; if (v instanceof Three) { return Data_Functor.map(Data_List_Types.functorList)(function (n) { return n + 1 | 0; })(Data_Semigroup.append(Data_List_Types.semigroupList)(allHeights(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(allHeights(v.value3))(allHeights(v.value6)))); }; throw new Error("Failed pattern match at Data.Map line 148, column 3 - line 148, column 36: " + [ v.constructor.name ]); }; return Data_List.length(Data_List.nub(Data_Eq.eqInt)(allHeights(tree))) === 1; }; // | Insert the value, delete a value, or update a value for a key in a map var alter = function (dictOrd) { return function (f) { return function (k) { return function (m) { var v = f(lookup(dictOrd)(k)(m)); if (v instanceof Data_Maybe.Nothing) { return $$delete(dictOrd)(k)(m); }; if (v instanceof Data_Maybe.Just) { return insert(dictOrd)(k)(v.value0)(m); }; throw new Error("Failed pattern match at Data.Map line 395, column 15 - line 397, column 25: " + [ v.constructor.name ]); }; }; }; }; // | Convert any foldable collection of key/value pairs to a map. // | On key collision, the values are configurably combined. var fromFoldableWith = function (dictOrd) { return function (dictFoldable) { return function (f) { var combine = function (v) { return function (v1) { if (v1 instanceof Data_Maybe.Just) { return Data_Maybe.Just.create(f(v)(v1.value0)); }; if (v1 instanceof Data_Maybe.Nothing) { return new Data_Maybe.Just(v); }; throw new Error("Failed pattern match at Data.Map line 412, column 3 - line 412, column 38: " + [ v.constructor.name, v1.constructor.name ]); }; }; return Data_Foldable.foldl(dictFoldable)(function (m) { return function (v) { return alter(dictOrd)(combine(v.value1))(v.value0)(m); }; })(empty); }; }; }; // | Compute the union of two maps, using the specified function // | to combine values for duplicate keys. var unionWith = function (dictOrd) { return function (f) { return function (m1) { return function (m2) { var go = function (m) { return function (v) { return alter(dictOrd)(function ($683) { return Data_Maybe.Just.create(Data_Maybe.maybe(v.value1)(f(v.value1))($683)); })(v.value0)(m); }; }; return Data_Foldable.foldl(Data_List_Types.foldableList)(go)(m2)(toUnfoldable(Data_List_Types.unfoldableList)(m1)); }; }; }; }; // | Compute the union of two maps, preferring values from the first map in the case // | of duplicate keys var union = function (dictOrd) { return unionWith(dictOrd)(Data_Function["const"]); }; var semigroupMap = function (dictOrd) { return new Data_Semigroup.Semigroup(union(dictOrd)); }; var monoidMap = function (dictOrd) { return new Data_Monoid.Monoid(function () { return semigroupMap(dictOrd); }, empty); }; // | Compute the union of a collection of maps var unions = function (dictOrd) { return function (dictFoldable) { return Data_Foldable.foldl(dictFoldable)(union(dictOrd))(empty); }; }; // | Update or delete the value for a key in a map var update = function (dictOrd) { return function (f) { return function (k) { return function (m) { return alter(dictOrd)(Data_Maybe.maybe(Data_Maybe.Nothing.value)(f))(k)(m); }; }; }; }; exports["alter"] = alter; exports["checkValid"] = checkValid; exports["delete"] = $$delete; exports["empty"] = empty; exports["filter"] = filter; exports["filterKeys"] = filterKeys; exports["filterWithKey"] = filterWithKey; exports["findMax"] = findMax; exports["findMin"] = findMin; exports["fromFoldable"] = fromFoldable; exports["fromFoldableWith"] = fromFoldableWith; exports["insert"] = insert; exports["isEmpty"] = isEmpty; exports["isSubmap"] = isSubmap; exports["keys"] = keys; exports["lookup"] = lookup; exports["lookupGE"] = lookupGE; exports["lookupGT"] = lookupGT; exports["lookupLE"] = lookupLE; exports["lookupLT"] = lookupLT; exports["mapWithKey"] = mapWithKey; exports["member"] = member; exports["pop"] = pop; exports["showTree"] = showTree; exports["singleton"] = singleton; exports["size"] = size; exports["toAscUnfoldable"] = toAscUnfoldable; exports["toUnfoldable"] = toUnfoldable; exports["union"] = union; exports["unionWith"] = unionWith; exports["unions"] = unions; exports["update"] = update; exports["values"] = values; exports["eq1Map"] = eq1Map; exports["eqMap"] = eqMap; exports["ord1Map"] = ord1Map; exports["ordMap"] = ordMap; exports["showMap"] = showMap; exports["semigroupMap"] = semigroupMap; exports["monoidMap"] = monoidMap; exports["functorMap"] = functorMap; exports["foldableMap"] = foldableMap; exports["traversableMap"] = traversableMap; })(PS["Data.Map"] = PS["Data.Map"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Map = PS["Data.Map"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; var Second = (function () { function Second() { }; Second.value = new Second(); return Second; })(); var Minute = (function () { function Minute() { }; Minute.value = new Minute(); return Minute; })(); var Hour = (function () { function Hour() { }; Hour.value = new Hour(); return Hour; })(); var Day = (function () { function Day() { }; Day.value = new Day(); return Day; })(); var Week = (function () { function Week() { }; Week.value = new Week(); return Week; })(); var Month = (function () { function Month() { }; Month.value = new Month(); return Month; })(); var Year = (function () { function Year() { }; Year.value = new Year(); return Year; })(); var Duration = function (x) { return x; }; var showDurationComponent = new Data_Show.Show(function (v) { if (v instanceof Minute) { return "Minute"; }; if (v instanceof Second) { return "Second"; }; if (v instanceof Hour) { return "Hour"; }; if (v instanceof Day) { return "Day"; }; if (v instanceof Week) { return "Week"; }; if (v instanceof Month) { return "Month"; }; if (v instanceof Year) { return "Year"; }; throw new Error("Failed pattern match at Data.Interval.Duration line 39, column 1 - line 39, column 57: " + [ v.constructor.name ]); }); var showDuration = new Data_Show.Show(function (v) { return "(Duration " + (Data_Show.show(Data_Map.showMap(showDurationComponent)(Data_Show.showNumber))(v) + ")"); }); var newtypeDuration = new Data_Newtype.Newtype(function (n) { return n; }, Duration); var eqDurationComponent = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof Second && y instanceof Second) { return true; }; if (x instanceof Minute && y instanceof Minute) { return true; }; if (x instanceof Hour && y instanceof Hour) { return true; }; if (x instanceof Day && y instanceof Day) { return true; }; if (x instanceof Week && y instanceof Week) { return true; }; if (x instanceof Month && y instanceof Month) { return true; }; if (x instanceof Year && y instanceof Year) { return true; }; return false; }; }); var ordDurationComponent = new Data_Ord.Ord(function () { return eqDurationComponent; }, function (x) { return function (y) { if (x instanceof Second && y instanceof Second) { return Data_Ordering.EQ.value; }; if (x instanceof Second) { return Data_Ordering.LT.value; }; if (y instanceof Second) { return Data_Ordering.GT.value; }; if (x instanceof Minute && y instanceof Minute) { return Data_Ordering.EQ.value; }; if (x instanceof Minute) { return Data_Ordering.LT.value; }; if (y instanceof Minute) { return Data_Ordering.GT.value; }; if (x instanceof Hour && y instanceof Hour) { return Data_Ordering.EQ.value; }; if (x instanceof Hour) { return Data_Ordering.LT.value; }; if (y instanceof Hour) { return Data_Ordering.GT.value; }; if (x instanceof Day && y instanceof Day) { return Data_Ordering.EQ.value; }; if (x instanceof Day) { return Data_Ordering.LT.value; }; if (y instanceof Day) { return Data_Ordering.GT.value; }; if (x instanceof Week && y instanceof Week) { return Data_Ordering.EQ.value; }; if (x instanceof Week) { return Data_Ordering.LT.value; }; if (y instanceof Week) { return Data_Ordering.GT.value; }; if (x instanceof Month && y instanceof Month) { return Data_Ordering.EQ.value; }; if (x instanceof Month) { return Data_Ordering.LT.value; }; if (y instanceof Month) { return Data_Ordering.GT.value; }; if (x instanceof Year && y instanceof Year) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at Data.Interval.Duration line 37, column 8 - line 37, column 62: " + [ x.constructor.name, y.constructor.name ]); }; }); var semigroupDuration = new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Data_Map.unionWith(ordDurationComponent)(Data_Semiring.add(Data_Semiring.semiringNumber))(v)(v1); }; }); var monoidDuration = new Data_Monoid.Monoid(function () { return semigroupDuration; }, Data_Monoid.mempty(Data_Map.monoidMap(ordDurationComponent))); var eqDuration = new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(Data_Map.eqMap(eqDurationComponent)(Data_Eq.eqNumber))(x)(y); }; }); var ordDuration = new Data_Ord.Ord(function () { return eqDuration; }, function (x) { return function (y) { return Data_Ord.compare(Data_Map.ordMap(ordDurationComponent)(Data_Ord.ordNumber))(x)(y); }; }); var durationFromComponent = function (k) { return function (v) { return Data_Map.singleton(k)(v); }; }; var hour = durationFromComponent(Hour.value); var millisecond = function ($32) { return durationFromComponent(Second.value)((function (v) { return v / 1000.0; })($32)); }; var minute = durationFromComponent(Minute.value); var month = durationFromComponent(Month.value); var second = durationFromComponent(Second.value); var week = durationFromComponent(Week.value); var year = durationFromComponent(Year.value); var day = durationFromComponent(Day.value); exports["Duration"] = Duration; exports["Second"] = Second; exports["Minute"] = Minute; exports["Hour"] = Hour; exports["Day"] = Day; exports["Week"] = Week; exports["Month"] = Month; exports["Year"] = Year; exports["day"] = day; exports["hour"] = hour; exports["millisecond"] = millisecond; exports["minute"] = minute; exports["month"] = month; exports["second"] = second; exports["week"] = week; exports["year"] = year; exports["eqDuration"] = eqDuration; exports["ordDuration"] = ordDuration; exports["newtypeDuration"] = newtypeDuration; exports["showDuration"] = showDuration; exports["semigroupDuration"] = semigroupDuration; exports["monoidDuration"] = monoidDuration; exports["eqDurationComponent"] = eqDurationComponent; exports["ordDurationComponent"] = ordDurationComponent; exports["showDurationComponent"] = showDurationComponent; })(PS["Data.Interval.Duration"] = PS["Data.Interval.Duration"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Extend = PS["Control.Extend"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifoldable = PS["Data.Bifoldable"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Bitraversable = PS["Data.Bitraversable"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Interval_Duration = PS["Data.Interval.Duration"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; var StartEnd = (function () { function StartEnd(value0, value1) { this.value0 = value0; this.value1 = value1; }; StartEnd.create = function (value0) { return function (value1) { return new StartEnd(value0, value1); }; }; return StartEnd; })(); var DurationEnd = (function () { function DurationEnd(value0, value1) { this.value0 = value0; this.value1 = value1; }; DurationEnd.create = function (value0) { return function (value1) { return new DurationEnd(value0, value1); }; }; return DurationEnd; })(); var StartDuration = (function () { function StartDuration(value0, value1) { this.value0 = value0; this.value1 = value1; }; StartDuration.create = function (value0) { return function (value1) { return new StartDuration(value0, value1); }; }; return StartDuration; })(); var DurationOnly = (function () { function DurationOnly(value0) { this.value0 = value0; }; DurationOnly.create = function (value0) { return new DurationOnly(value0); }; return DurationOnly; })(); var RecurringInterval = (function () { function RecurringInterval(value0, value1) { this.value0 = value0; this.value1 = value1; }; RecurringInterval.create = function (value0) { return function (value1) { return new RecurringInterval(value0, value1); }; }; return RecurringInterval; })(); var showInterval = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (v) { if (v instanceof StartEnd) { return "(StartEnd " + (Data_Show.show(dictShow1)(v.value0) + (" " + (Data_Show.show(dictShow1)(v.value1) + ")"))); }; if (v instanceof DurationEnd) { return "(DurationEnd " + (Data_Show.show(dictShow)(v.value0) + (" " + (Data_Show.show(dictShow1)(v.value1) + ")"))); }; if (v instanceof StartDuration) { return "(StartDuration " + (Data_Show.show(dictShow1)(v.value0) + (" " + (Data_Show.show(dictShow)(v.value1) + ")"))); }; if (v instanceof DurationOnly) { return "(DurationOnly " + (Data_Show.show(dictShow)(v.value0) + ")"); }; throw new Error("Failed pattern match at Data.Interval line 66, column 1 - line 66, column 65: " + [ v.constructor.name ]); }); }; }; var showRecurringInterval = function (dictShow) { return function (dictShow1) { return new Data_Show.Show(function (v) { return "(RecurringInterval " + (Data_Show.show(Data_Maybe.showMaybe(Data_Show.showInt))(v.value0) + (" " + (Data_Show.show(showInterval(dictShow)(dictShow1))(v.value1) + ")"))); }); }; }; var over = function (dictFunctor) { return function (f) { return function (v) { return Data_Functor.map(dictFunctor)(RecurringInterval.create(v.value0))(f(v.value1)); }; }; }; var interval = function (v) { return v.value1; }; var foldableInterval = new Data_Foldable.Foldable(function (dictMonoid) { return Data_Foldable.foldMapDefaultL(foldableInterval)(dictMonoid); }, function (v) { return function (z) { return function (v1) { if (v1 instanceof StartEnd) { return v(v(z)(v1.value0))(v1.value1); }; if (v1 instanceof DurationEnd) { return v(z)(v1.value1); }; if (v1 instanceof StartDuration) { return v(z)(v1.value0); }; return z; }; }; }, function (x) { return Data_Foldable.foldrDefault(foldableInterval)(x); }); var foldableRecurringInterval = new Data_Foldable.Foldable(function (dictMonoid) { return Data_Foldable.foldMapDefaultL(foldableRecurringInterval)(dictMonoid); }, function (f) { return function (i) { return function ($248) { return Data_Foldable.foldl(foldableInterval)(f)(i)(interval($248)); }; }; }, function (f) { return function (i) { return function ($249) { return Data_Foldable.foldr(foldableInterval)(f)(i)(interval($249)); }; }; }); var eqInterval = function (dictEq) { return function (dictEq1) { return new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof StartEnd && y instanceof StartEnd) { return Data_Eq.eq(dictEq1)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1); }; if (x instanceof DurationEnd && y instanceof DurationEnd) { return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1); }; if (x instanceof StartDuration && y instanceof StartDuration) { return Data_Eq.eq(dictEq1)(x.value0)(y.value0) && Data_Eq.eq(dictEq)(x.value1)(y.value1); }; if (x instanceof DurationOnly && y instanceof DurationOnly) { return Data_Eq.eq(dictEq)(x.value0)(y.value0); }; return false; }; }); }; }; var eqRecurringInterval = function (dictEq) { return function (dictEq1) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqInt))(x.value0)(y.value0) && Data_Eq.eq(eqInterval(dictEq)(dictEq1))(x.value1)(y.value1); }; }); }; }; var ordInterval = function (dictOrd) { return function (dictOrd1) { return new Data_Ord.Ord(function () { return eqInterval(dictOrd.Eq0())(dictOrd1.Eq0()); }, function (x) { return function (y) { if (x instanceof StartEnd && y instanceof StartEnd) { var v = Data_Ord.compare(dictOrd1)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(dictOrd1)(x.value1)(y.value1); }; if (x instanceof StartEnd) { return Data_Ordering.LT.value; }; if (y instanceof StartEnd) { return Data_Ordering.GT.value; }; if (x instanceof DurationEnd && y instanceof DurationEnd) { var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(dictOrd1)(x.value1)(y.value1); }; if (x instanceof DurationEnd) { return Data_Ordering.LT.value; }; if (y instanceof DurationEnd) { return Data_Ordering.GT.value; }; if (x instanceof StartDuration && y instanceof StartDuration) { var v = Data_Ord.compare(dictOrd1)(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(dictOrd)(x.value1)(y.value1); }; if (x instanceof StartDuration) { return Data_Ordering.LT.value; }; if (y instanceof StartDuration) { return Data_Ordering.GT.value; }; if (x instanceof DurationOnly && y instanceof DurationOnly) { return Data_Ord.compare(dictOrd)(x.value0)(y.value0); }; throw new Error("Failed pattern match at Data.Interval line 65, column 8 - line 65, column 68: " + [ x.constructor.name, y.constructor.name ]); }; }); }; }; var ordRecurringInterval = function (dictOrd) { return function (dictOrd1) { return new Data_Ord.Ord(function () { return eqRecurringInterval(dictOrd.Eq0())(dictOrd1.Eq0()); }, function (x) { return function (y) { var v = Data_Ord.compare(Data_Maybe.ordMaybe(Data_Ord.ordInt))(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(ordInterval(dictOrd)(dictOrd1))(x.value1)(y.value1); }; }); }; }; var bifunctorInterval = new Data_Bifunctor.Bifunctor(function (v) { return function (v1) { return function (v2) { if (v2 instanceof StartEnd) { return new StartEnd(v1(v2.value0), v1(v2.value1)); }; if (v2 instanceof DurationEnd) { return new DurationEnd(v(v2.value0), v1(v2.value1)); }; if (v2 instanceof StartDuration) { return new StartDuration(v1(v2.value0), v(v2.value1)); }; if (v2 instanceof DurationOnly) { return new DurationOnly(v(v2.value0)); }; throw new Error("Failed pattern match at Data.Interval line 75, column 1 - line 75, column 49: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }); var bifunctorRecurringInterval = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { return new RecurringInterval(v.value0, Data_Bifunctor.bimap(bifunctorInterval)(f)(g)(v.value1)); }; }; }); var functorInterval = new Data_Functor.Functor(Data_Bifunctor.bimap(bifunctorInterval)(Control_Category.id(Control_Category.categoryFn))); var extendInterval = new Control_Extend.Extend(function () { return functorInterval; }, function (f) { return function (v) { if (v instanceof StartEnd) { return new StartEnd(f(v), f(v)); }; if (v instanceof DurationEnd) { return new DurationEnd(v.value0, f(v)); }; if (v instanceof StartDuration) { return new StartDuration(f(v), v.value1); }; if (v instanceof DurationOnly) { return new DurationOnly(v.value0); }; throw new Error("Failed pattern match at Data.Interval line 111, column 1 - line 111, column 47: " + [ f.constructor.name, v.constructor.name ]); }; }); var functorRecurringInterval = new Data_Functor.Functor(function (f) { return function (v) { return new RecurringInterval(v.value0, Data_Functor.map(functorInterval)(f)(v.value1)); }; }); var extendRecurringInterval = new Control_Extend.Extend(function () { return functorRecurringInterval; }, function (f) { return function (v) { return new RecurringInterval(v.value0, Control_Extend.extend(extendInterval)(Data_Function["const"](f(v)))(v.value1)); }; }); var traversableInterval = new Data_Traversable.Traversable(function () { return foldableInterval; }, function () { return functorInterval; }, function (dictApplicative) { return Data_Traversable.sequenceDefault(traversableInterval)(dictApplicative); }, function (dictApplicative) { return function (v) { return function (v1) { if (v1 instanceof StartEnd) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(StartEnd.create)(v(v1.value0)))(v(v1.value1)); }; if (v1 instanceof DurationEnd) { return Data_Functor.mapFlipped((dictApplicative.Apply0()).Functor0())(v(v1.value1))(DurationEnd.create(v1.value0)); }; if (v1 instanceof StartDuration) { return Data_Functor.mapFlipped((dictApplicative.Apply0()).Functor0())(v(v1.value0))(function (v2) { return new StartDuration(v2, v1.value1); }); }; if (v1 instanceof DurationOnly) { return Control_Applicative.pure(dictApplicative)(new DurationOnly(v1.value0)); }; throw new Error("Failed pattern match at Data.Interval line 97, column 1 - line 97, column 57: " + [ v.constructor.name, v1.constructor.name ]); }; }; }); var traversableRecurringInterval = new Data_Traversable.Traversable(function () { return foldableRecurringInterval; }, function () { return functorRecurringInterval; }, function (dictApplicative) { return Data_Traversable.sequenceDefault(traversableRecurringInterval)(dictApplicative); }, function (dictApplicative) { return function (f) { return function (i) { return over((dictApplicative.Apply0()).Functor0())(Data_Traversable.traverse(traversableInterval)(dictApplicative)(f))(i); }; }; }); var bifoldableInterval = new Data_Bifoldable.Bifoldable(function (dictMonoid) { return Data_Bifoldable.bifoldMapDefaultL(bifoldableInterval)(dictMonoid); }, function (v) { return function (v1) { return function (z) { return function (v2) { if (v2 instanceof StartEnd) { return v1(v1(z)(v2.value0))(v2.value1); }; if (v2 instanceof DurationEnd) { return v1(v(z)(v2.value0))(v2.value1); }; if (v2 instanceof StartDuration) { return v1(v(z)(v2.value1))(v2.value0); }; if (v2 instanceof DurationOnly) { return v(z)(v2.value0); }; throw new Error("Failed pattern match at Data.Interval line 89, column 1 - line 89, column 51: " + [ v.constructor.name, v1.constructor.name, z.constructor.name, v2.constructor.name ]); }; }; }; }, function (x) { return Data_Bifoldable.bifoldrDefault(bifoldableInterval)(x); }); var bifoldableRecurringInterval = new Data_Bifoldable.Bifoldable(function (dictMonoid) { return Data_Bifoldable.bifoldMapDefaultL(bifoldableRecurringInterval)(dictMonoid); }, function (f) { return function (g) { return function (i) { return function ($250) { return Data_Bifoldable.bifoldl(bifoldableInterval)(f)(g)(i)(interval($250)); }; }; }; }, function (f) { return function (g) { return function (i) { return function ($251) { return Data_Bifoldable.bifoldr(bifoldableInterval)(f)(g)(i)(interval($251)); }; }; }; }); var bitraversableInterval = new Data_Bitraversable.Bitraversable(function () { return bifoldableInterval; }, function () { return bifunctorInterval; }, function (dictApplicative) { return Data_Bitraversable.bisequenceDefault(bitraversableInterval)(dictApplicative); }, function (dictApplicative) { return function (v) { return function (v1) { return function (v2) { if (v2 instanceof StartEnd) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(StartEnd.create)(v1(v2.value0)))(v1(v2.value1)); }; if (v2 instanceof DurationEnd) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(DurationEnd.create)(v(v2.value0)))(v1(v2.value1)); }; if (v2 instanceof StartDuration) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(StartDuration.create)(v1(v2.value0)))(v(v2.value1)); }; if (v2 instanceof DurationOnly) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(DurationOnly.create)(v(v2.value0)); }; throw new Error("Failed pattern match at Data.Interval line 104, column 1 - line 104, column 57: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]); }; }; }; }); var bitraversableRecurringInterval = new Data_Bitraversable.Bitraversable(function () { return bifoldableRecurringInterval; }, function () { return bifunctorRecurringInterval; }, function (dictApplicative) { return Data_Bitraversable.bisequenceDefault(bitraversableRecurringInterval)(dictApplicative); }, function (dictApplicative) { return function (l) { return function (r) { return function (i) { return over((dictApplicative.Apply0()).Functor0())(Data_Bitraversable.bitraverse(bitraversableInterval)(dictApplicative)(l)(r))(i); }; }; }; }); exports["StartEnd"] = StartEnd; exports["DurationEnd"] = DurationEnd; exports["StartDuration"] = StartDuration; exports["DurationOnly"] = DurationOnly; exports["RecurringInterval"] = RecurringInterval; exports["eqRecurringInterval"] = eqRecurringInterval; exports["ordRecurringInterval"] = ordRecurringInterval; exports["showRecurringInterval"] = showRecurringInterval; exports["functorRecurringInterval"] = functorRecurringInterval; exports["bifunctorRecurringInterval"] = bifunctorRecurringInterval; exports["foldableRecurringInterval"] = foldableRecurringInterval; exports["bifoldableRecurringInterval"] = bifoldableRecurringInterval; exports["traversableRecurringInterval"] = traversableRecurringInterval; exports["bitraversableRecurringInterval"] = bitraversableRecurringInterval; exports["extendRecurringInterval"] = extendRecurringInterval; exports["eqInterval"] = eqInterval; exports["ordInterval"] = ordInterval; exports["showInterval"] = showInterval; exports["functorInterval"] = functorInterval; exports["bifunctorInterval"] = bifunctorInterval; exports["foldableInterval"] = foldableInterval; exports["bifoldableInterval"] = bifoldableInterval; exports["traversableInterval"] = traversableInterval; exports["bitraversableInterval"] = bitraversableInterval; exports["extendInterval"] = extendInterval; })(PS["Data.Interval"] = PS["Data.Interval"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Interval_Duration = PS["Data.Interval.Duration"]; var Data_List = PS["Data.List"]; var Data_List_NonEmpty = PS["Data.List.NonEmpty"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Map = PS["Data.Map"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Monoid_Additive = PS["Data.Monoid.Additive"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Tuple = PS["Data.Tuple"]; var $$Math = PS["Math"]; var Prelude = PS["Prelude"]; var IsoDuration = function (x) { return x; }; var IsEmpty = (function () { function IsEmpty() { }; IsEmpty.value = new IsEmpty(); return IsEmpty; })(); var InvalidWeekComponentUsage = (function () { function InvalidWeekComponentUsage() { }; InvalidWeekComponentUsage.value = new InvalidWeekComponentUsage(); return InvalidWeekComponentUsage; })(); var ContainsNegativeValue = (function () { function ContainsNegativeValue(value0) { this.value0 = value0; }; ContainsNegativeValue.create = function (value0) { return new ContainsNegativeValue(value0); }; return ContainsNegativeValue; })(); var InvalidFractionalUse = (function () { function InvalidFractionalUse(value0) { this.value0 = value0; }; InvalidFractionalUse.create = function (value0) { return new InvalidFractionalUse(value0); }; return InvalidFractionalUse; })(); var unIsoDuration = function (v) { return v; }; var showIsoDuration = new Data_Show.Show(function (v) { return "(IsoDuration " + (Data_Show.show(Data_Interval_Duration.showDuration)(v) + ")"); }); var showError = new Data_Show.Show(function (v) { if (v instanceof IsEmpty) { return "(IsEmpty)"; }; if (v instanceof InvalidWeekComponentUsage) { return "(InvalidWeekComponentUsage)"; }; if (v instanceof ContainsNegativeValue) { return "(ContainsNegativeValue " + (Data_Show.show(Data_Interval_Duration.showDurationComponent)(v.value0) + ")"); }; if (v instanceof InvalidFractionalUse) { return "(InvalidFractionalUse " + (Data_Show.show(Data_Interval_Duration.showDurationComponent)(v.value0) + ")"); }; throw new Error("Failed pattern match at Data.Interval.Duration.Iso line 43, column 1 - line 43, column 33: " + [ v.constructor.name ]); }); var prettyError = function (v) { if (v instanceof IsEmpty) { return "Duration is empty (has no components)"; }; if (v instanceof InvalidWeekComponentUsage) { return "Week component of Duration is used with other components"; }; if (v instanceof ContainsNegativeValue) { return "Component `" + (Data_Show.show(Data_Interval_Duration.showDurationComponent)(v.value0) + "` contains negative value"); }; if (v instanceof InvalidFractionalUse) { return "Invalid usage of Fractional value at component `" + (Data_Show.show(Data_Interval_Duration.showDurationComponent)(v.value0) + "`"); }; throw new Error("Failed pattern match at Data.Interval.Duration.Iso line 49, column 1 - line 49, column 31: " + [ v.constructor.name ]); }; var eqIsoDuration = new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(Data_Interval_Duration.eqDuration)(x)(y); }; }); var ordIsoDuration = new Data_Ord.Ord(function () { return eqIsoDuration; }, function (x) { return function (y) { return Data_Ord.compare(Data_Interval_Duration.ordDuration)(x)(y); }; }); var eqError = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof IsEmpty && y instanceof IsEmpty) { return true; }; if (x instanceof InvalidWeekComponentUsage && y instanceof InvalidWeekComponentUsage) { return true; }; if (x instanceof ContainsNegativeValue && y instanceof ContainsNegativeValue) { return Data_Eq.eq(Data_Interval_Duration.eqDurationComponent)(x.value0)(y.value0); }; if (x instanceof InvalidFractionalUse && y instanceof InvalidFractionalUse) { return Data_Eq.eq(Data_Interval_Duration.eqDurationComponent)(x.value0)(y.value0); }; return false; }; }); var ordError = new Data_Ord.Ord(function () { return eqError; }, function (x) { return function (y) { if (x instanceof IsEmpty && y instanceof IsEmpty) { return Data_Ordering.EQ.value; }; if (x instanceof IsEmpty) { return Data_Ordering.LT.value; }; if (y instanceof IsEmpty) { return Data_Ordering.GT.value; }; if (x instanceof InvalidWeekComponentUsage && y instanceof InvalidWeekComponentUsage) { return Data_Ordering.EQ.value; }; if (x instanceof InvalidWeekComponentUsage) { return Data_Ordering.LT.value; }; if (y instanceof InvalidWeekComponentUsage) { return Data_Ordering.GT.value; }; if (x instanceof ContainsNegativeValue && y instanceof ContainsNegativeValue) { return Data_Ord.compare(Data_Interval_Duration.ordDurationComponent)(x.value0)(y.value0); }; if (x instanceof ContainsNegativeValue) { return Data_Ordering.LT.value; }; if (y instanceof ContainsNegativeValue) { return Data_Ordering.GT.value; }; if (x instanceof InvalidFractionalUse && y instanceof InvalidFractionalUse) { return Data_Ord.compare(Data_Interval_Duration.ordDurationComponent)(x.value0)(y.value0); }; throw new Error("Failed pattern match at Data.Interval.Duration.Iso line 42, column 8 - line 42, column 38: " + [ x.constructor.name, y.constructor.name ]); }; }); var checkWeekUsage = function (v) { var $60 = Data_Maybe.isJust(Data_Map.lookup(Data_Interval_Duration.ordDurationComponent)(Data_Interval_Duration.Week.value)(v.asMap)) && Data_Map.size(v.asMap) > 1; if ($60) { return Control_Applicative.pure(Data_List_Types.applicativeList)(InvalidWeekComponentUsage.value); }; return Control_Plus.empty(Data_List_Types.plusList); }; var checkNegativeValues = function (v) { return Data_Function.flip(Data_Foldable.foldMap(Data_List_Types.foldableList)(Data_List_Types.monoidList))(v.asList)(function (v1) { var $64 = v1.value1 >= 0.0; if ($64) { return Control_Plus.empty(Data_List_Types.plusList); }; return Control_Applicative.pure(Data_List_Types.applicativeList)(new ContainsNegativeValue(v1.value0)); }); }; var checkFractionalUse = function (v) { var isFractional = function (a) { return $$Math.floor(a) !== a; }; var checkRest = function (rest) { return Data_Newtype.unwrap(Data_Monoid_Additive.newtypeAdditive)(Data_Foldable.foldMap(Data_List_Types.foldableList)(Data_Monoid_Additive.monoidAdditive(Data_Semiring.semiringNumber))(function ($81) { return Data_Monoid_Additive.Additive($$Math.abs(Data_Tuple.snd($81))); })(rest)) > 0.0; }; var v1 = (function (v2) { return v2.rest; })(Data_List.span(function ($82) { return Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean))(isFractional)(Data_Tuple.snd($82)); })(v.asList)); if (v1 instanceof Data_List_Types.Cons && checkRest(v1.value1)) { return Control_Applicative.pure(Data_List_Types.applicativeList)(new InvalidFractionalUse(v1.value0.value0)); }; return Control_Plus.empty(Data_List_Types.plusList); }; var checkEmptiness = function (v) { var $76 = Data_List["null"](v.asList); if ($76) { return Control_Applicative.pure(Data_List_Types.applicativeList)(IsEmpty.value); }; return Control_Plus.empty(Data_List_Types.plusList); }; var checkValidIsoDuration = function (v) { var check = Data_Foldable.fold(Data_Foldable.foldableArray)(Data_Monoid.monoidFn(Data_List_Types.monoidList))([ checkWeekUsage, checkEmptiness, checkFractionalUse, checkNegativeValues ]); var asList = Data_List.reverse(Data_Map.toAscUnfoldable(Data_List_Types.unfoldableList)(v)); return check({ asList: asList, asMap: v }); }; var mkIsoDuration = function (d) { var v = Data_List_NonEmpty.fromList(checkValidIsoDuration(d)); if (v instanceof Data_Maybe.Just) { return new Data_Either.Left(v.value0); }; if (v instanceof Data_Maybe.Nothing) { return new Data_Either.Right(d); }; throw new Error("Failed pattern match at Data.Interval.Duration.Iso line 60, column 19 - line 62, column 35: " + [ v.constructor.name ]); }; exports["IsEmpty"] = IsEmpty; exports["InvalidWeekComponentUsage"] = InvalidWeekComponentUsage; exports["ContainsNegativeValue"] = ContainsNegativeValue; exports["InvalidFractionalUse"] = InvalidFractionalUse; exports["mkIsoDuration"] = mkIsoDuration; exports["prettyError"] = prettyError; exports["unIsoDuration"] = unIsoDuration; exports["eqIsoDuration"] = eqIsoDuration; exports["ordIsoDuration"] = ordIsoDuration; exports["showIsoDuration"] = showIsoDuration; exports["eqError"] = eqError; exports["ordError"] = ordError; exports["showError"] = showError; })(PS["Data.Interval.Duration.Iso"] = PS["Data.Interval.Duration.Iso"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Profunctor = PS["Data.Profunctor"]; var Prelude = PS["Prelude"]; // | The `Choice` class extends `Profunctor` with combinators for working with // | sum types. // | // | `left` and `right` lift values in a `Profunctor` to act on the `Left` and // | `Right` components of a sum, respectively. // | // | Looking at `Choice` through the intuition of inputs and outputs // | yields the following type signature: // | ``` // | left :: forall input output a. p input output -> p (Either input a) (Either output a) // | right :: forall input output a. p input output -> p (Either a input) (Either a output) // | ``` // | If we specialize the profunctor `p` to the `function` arrow, we get the following type // | signatures: // | ``` // | left :: forall input output a. (input -> output) -> (Either input a) -> (Either output a) // | right :: forall input output a. (input -> output) -> (Either a input) -> (Either a output) // | ``` // | When the `profunctor` is `Function` application, `left` allows you to map a function over the // | left side of an `Either`, and `right` maps it over the right side (same as `map` would do). var Choice = function (Profunctor0, left, right) { this.Profunctor0 = Profunctor0; this.left = left; this.right = right; }; var right = function (dict) { return dict.right; }; var left = function (dict) { return dict.left; }; // | Compose a value acting on a sum from two values, each acting on one of // | the components of the sum. // | // | Specializing `(+++)` to function application would look like this: // | ``` // | (+++) :: forall a b c d. (a -> b) -> (c -> d) -> (Either a c) -> (Either b d) // | ``` // | We take two functions, `f` and `g`, and we transform them into a single function which // | takes an `Either`and maps `f` over the left side and `g` over the right side. Just like // | `bi-map` would do for the `bi-functor` instance of `Either`. var splitChoice = function (dictCategory) { return function (dictChoice) { return function (l) { return function (r) { return Control_Semigroupoid.composeFlipped(dictCategory.Semigroupoid0())(left(dictChoice)(l))(right(dictChoice)(r)); }; }; }; }; // | Compose a value which eliminates a sum from two values, each eliminating // | one side of the sum. // | // | This combinator is useful when assembling values from smaller components, // | because it provides a way to support two different types of input. // | // | Specializing `(|||)` to function application would look like this: // | ``` // | (|||) :: forall a b c d. (a -> c) -> (b -> c) -> Either a b -> c // | ``` // | We take two functions, `f` and `g`, which both return the same type `c` and we transform them into a // | single function which takes an `Either` value with the parameter type of `f` on the left side and // | the parameter type of `g` on the right side. The function then runs either `f` or `g`, depending on // | whether the `Either` value is a `Left` or a `Right`. // | This allows us to bundle two different computations which both have the same result type into one // | function which will run the approriate computation based on the parameter supplied in the `Either` value. var fanin = function (dictCategory) { return function (dictChoice) { return function (l) { return function (r) { var join = Data_Profunctor.dimap(dictChoice.Profunctor0())(Data_Either.either(Control_Category.id(Control_Category.categoryFn))(Control_Category.id(Control_Category.categoryFn)))(Control_Category.id(Control_Category.categoryFn))(Control_Category.id(dictCategory)); return Control_Semigroupoid.composeFlipped(dictCategory.Semigroupoid0())(splitChoice(dictCategory)(dictChoice)(l)(r))(join); }; }; }; }; var choiceFn = new Choice(function () { return Data_Profunctor.profunctorFn; }, function (v) { return function (v1) { if (v1 instanceof Data_Either.Left) { return Data_Either.Left.create(v(v1.value0)); }; if (v1 instanceof Data_Either.Right) { return new Data_Either.Right(v1.value0); }; throw new Error("Failed pattern match at Data.Profunctor.Choice line 32, column 1 - line 32, column 33: " + [ v.constructor.name, v1.constructor.name ]); }; }, Data_Functor.map(Data_Either.functorEither)); exports["Choice"] = Choice; exports["fanin"] = fanin; exports["left"] = left; exports["right"] = right; exports["splitChoice"] = splitChoice; exports["choiceFn"] = choiceFn; })(PS["Data.Profunctor.Choice"] = PS["Data.Profunctor.Choice"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Profunctor = PS["Data.Profunctor"]; var Prelude = PS["Prelude"]; // | The `Closed` class extends the `Profunctor` class to work with functions. var Closed = function (Profunctor0, closed) { this.Profunctor0 = Profunctor0; this.closed = closed; }; var closedFunction = new Closed(function () { return Data_Profunctor.profunctorFn; }, Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn)); var closed = function (dict) { return dict.closed; }; exports["Closed"] = Closed; exports["closed"] = closed; exports["closedFunction"] = closedFunction; })(PS["Data.Profunctor.Closed"] = PS["Data.Profunctor.Closed"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor = PS["Data.Functor"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The `Strong` class extends `Profunctor` with combinators for working with // | product types. // | // | `first` and `second` lift values in a `Profunctor` to act on the first and // | second components of a `Tuple`, respectively. // | // | Another way to think about Strong is to piggyback on the intuition of // | inputs and outputs. Rewriting the type signature in this light then yields: // | ``` // | first :: forall input output a. p input output -> p (Tuple input a) (Tuple output a) // | second :: forall input output a. p input output -> p (Tuple a input) (Tuple a output) // | ``` // | If we specialize the profunctor p to the function arrow, we get the following type // | signatures, which may look a bit more familiar: // | ``` // | first :: forall input output a. (input -> output) -> (Tuple input a) -> (Tuple output a) // | second :: forall input output a. (input -> output) -> (Tuple a input) -> (Tuple a output) // | ``` // | So, when the `profunctor` is `Function` application, `first` essentially applies your function // | to the first element of a `Tuple`, and `second` applies it to the second element (same as `map` would do). var Strong = function (Profunctor0, first, second) { this.Profunctor0 = Profunctor0; this.first = first; this.second = second; }; var strongFn = new Strong(function () { return Data_Profunctor.profunctorFn; }, function (a2b) { return function (v) { return new Data_Tuple.Tuple(a2b(v.value0), v.value1); }; }, Data_Functor.map(Data_Tuple.functorTuple)); var second = function (dict) { return dict.second; }; var first = function (dict) { return dict.first; }; // | Compose a value acting on a `Tuple` from two values, each acting on one of // | the components of the `Tuple`. // | // | Specializing `(***)` to function application would look like this: // | ``` // | (***) :: forall a b c d. (a -> b) -> (c -> d) -> (Tuple a c) -> (Tuple b d) // | ``` // | We take two functions, `f` and `g`, and we transform them into a single function which // | takes a `Tuple` and maps `f` over the first element and `g` over the second. Just like `bi-map` // | would do for the `bi-functor` instance of `Tuple`. var splitStrong = function (dictCategory) { return function (dictStrong) { return function (l) { return function (r) { return Control_Semigroupoid.composeFlipped(dictCategory.Semigroupoid0())(first(dictStrong)(l))(second(dictStrong)(r)); }; }; }; }; // | Compose a value which introduces a `Tuple` from two values, each introducing // | one side of the `Tuple`. // | // | This combinator is useful when assembling values from smaller components, // | because it provides a way to support two different types of output. // | // | Specializing `(&&&)` to function application would look like this: // | ``` // | (&&&) :: forall a b c d. (a -> b) -> (a -> c) -> (a -> (Tuple b c)) // | ``` // | We take two functions, `f` and `g`, with the same parameter type and we transform them into a // | single function which takes one parameter and returns a `Tuple` of the results of running // | `f` and `g` on the parameter, respectively. This allows us to run two parallel computations // | on the same input and return both results in a `Tuple`. var fanout = function (dictCategory) { return function (dictStrong) { return function (l) { return function (r) { var split = Data_Profunctor.dimap(dictStrong.Profunctor0())(Control_Category.id(Control_Category.categoryFn))(function (a) { return new Data_Tuple.Tuple(a, a); })(Control_Category.id(dictCategory)); return Control_Semigroupoid.composeFlipped(dictCategory.Semigroupoid0())(split)(splitStrong(dictCategory)(dictStrong)(l)(r)); }; }; }; }; exports["Strong"] = Strong; exports["fanout"] = fanout; exports["first"] = first; exports["second"] = second; exports["splitStrong"] = splitStrong; exports["strongFn"] = strongFn; })(PS["Data.Profunctor.Strong"] = PS["Data.Profunctor.Strong"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad = PS["Control.Monad"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Distributive = PS["Data.Distributive"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; var Data_Profunctor_Closed = PS["Data.Profunctor.Closed"]; var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | `Star` turns a `Functor` into a `Profunctor`. // | // | `Star f` is also the Kleisli category for `f` var Star = function (x) { return x; }; var semigroupoidStar = function (dictBind) { return new Control_Semigroupoid.Semigroupoid(function (v) { return function (v1) { return function (x) { return Control_Bind.bind(dictBind)(v1(x))(v); }; }; }); }; var profunctorStar = function (dictFunctor) { return new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return function ($78) { return Data_Functor.map(dictFunctor)(g)(v(f($78))); }; }; }; }); }; var strongStar = function (dictFunctor) { return new Data_Profunctor_Strong.Strong(function () { return profunctorStar(dictFunctor); }, function (v) { return function (v1) { return Data_Functor.map(dictFunctor)(function (v2) { return new Data_Tuple.Tuple(v2, v1.value1); })(v(v1.value0)); }; }, function (v) { return function (v1) { return Data_Functor.map(dictFunctor)(Data_Tuple.Tuple.create(v1.value0))(v(v1.value1)); }; }); }; var newtypeStar = new Data_Newtype.Newtype(function (n) { return n; }, Star); var invariantStar = function (dictInvariant) { return new Data_Functor_Invariant.Invariant(function (f) { return function (g) { return function (v) { return function ($79) { return Data_Functor_Invariant.imap(dictInvariant)(f)(g)(v($79)); }; }; }; }); }; var hoistStar = function (f) { return function (v) { return function ($80) { return f(v($80)); }; }; }; var functorStar = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return function ($81) { return Data_Functor.map(dictFunctor)(f)(v($81)); }; }; }); }; var distributiveStar = function (dictDistributive) { return new Data_Distributive.Distributive(function () { return functorStar(dictDistributive.Functor0()); }, function (dictFunctor) { return function (f) { return function ($82) { return Data_Distributive.distribute(distributiveStar(dictDistributive))(dictFunctor)(Data_Functor.map(dictFunctor)(f)($82)); }; }; }, function (dictFunctor) { return function (f) { return function (a) { return Data_Distributive.collect(dictDistributive)(dictFunctor)(function (v) { return v(a); })(f); }; }; }); }; var closedStar = function (dictDistributive) { return new Data_Profunctor_Closed.Closed(function () { return profunctorStar(dictDistributive.Functor0()); }, function (v) { return function (g) { return Data_Distributive.distribute(dictDistributive)(Data_Functor.functorFn)(function ($83) { return v(g($83)); }); }; }); }; var choiceStar = function (dictApplicative) { return new Data_Profunctor_Choice.Choice(function () { return profunctorStar((dictApplicative.Apply0()).Functor0()); }, function (v) { return Star(Data_Either.either(function ($84) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Either.Left.create)(v($84)); })(function ($85) { return Control_Applicative.pure(dictApplicative)(Data_Either.Right.create($85)); })); }, function (v) { return Star(Data_Either.either(function ($86) { return Control_Applicative.pure(dictApplicative)(Data_Either.Left.create($86)); })(function ($87) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Either.Right.create)(v($87)); })); }); }; var categoryStar = function (dictMonad) { return new Control_Category.Category(function () { return semigroupoidStar(dictMonad.Bind1()); }, Control_Applicative.pure(dictMonad.Applicative0())); }; var applyStar = function (dictApply) { return new Control_Apply.Apply(function () { return functorStar(dictApply.Functor0()); }, function (v) { return function (v1) { return function (a) { return Control_Apply.apply(dictApply)(v(a))(v1(a)); }; }; }); }; var bindStar = function (dictBind) { return new Control_Bind.Bind(function () { return applyStar(dictBind.Apply0()); }, function (v) { return function (f) { return function (x) { return Control_Bind.bind(dictBind)(v(x))(function (a) { var v1 = f(a); return v1(x); }); }; }; }); }; var applicativeStar = function (dictApplicative) { return new Control_Applicative.Applicative(function () { return applyStar(dictApplicative.Apply0()); }, function (a) { return function (v) { return Control_Applicative.pure(dictApplicative)(a); }; }); }; var monadStar = function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeStar(dictMonad.Applicative0()); }, function () { return bindStar(dictMonad.Bind1()); }); }; var altStar = function (dictAlt) { return new Control_Alt.Alt(function () { return functorStar(dictAlt.Functor0()); }, function (v) { return function (v1) { return function (a) { return Control_Alt.alt(dictAlt)(v(a))(v1(a)); }; }; }); }; var plusStar = function (dictPlus) { return new Control_Plus.Plus(function () { return altStar(dictPlus.Alt0()); }, function (v) { return Control_Plus.empty(dictPlus); }); }; var alternativeStar = function (dictAlternative) { return new Control_Alternative.Alternative(function () { return applicativeStar(dictAlternative.Applicative0()); }, function () { return plusStar(dictAlternative.Plus1()); }); }; var monadZeroStar = function (dictMonadZero) { return new Control_MonadZero.MonadZero(function () { return alternativeStar(dictMonadZero.Alternative1()); }, function () { return monadStar(dictMonadZero.Monad0()); }); }; var monadPlusStar = function (dictMonadPlus) { return new Control_MonadPlus.MonadPlus(function () { return monadZeroStar(dictMonadPlus.MonadZero0()); }); }; exports["Star"] = Star; exports["hoistStar"] = hoistStar; exports["newtypeStar"] = newtypeStar; exports["semigroupoidStar"] = semigroupoidStar; exports["categoryStar"] = categoryStar; exports["functorStar"] = functorStar; exports["invariantStar"] = invariantStar; exports["applyStar"] = applyStar; exports["applicativeStar"] = applicativeStar; exports["bindStar"] = bindStar; exports["monadStar"] = monadStar; exports["altStar"] = altStar; exports["plusStar"] = plusStar; exports["alternativeStar"] = alternativeStar; exports["monadZeroStar"] = monadZeroStar; exports["monadPlusStar"] = monadPlusStar; exports["distributiveStar"] = distributiveStar; exports["profunctorStar"] = profunctorStar; exports["strongStar"] = strongStar; exports["choiceStar"] = choiceStar; exports["closedStar"] = closedStar; })(PS["Data.Profunctor.Star"] = PS["Data.Profunctor.Star"] || {}); (function(exports) { // | This module defines the `Wander` type class, which is used to define // | `Traversal`s. "use strict"; var Data_Functor = PS["Data.Functor"]; var Data_Identity = PS["Data.Identity"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; var Data_Profunctor_Star = PS["Data.Profunctor.Star"]; var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; var Prelude = PS["Prelude"]; // | Class for profunctors that support polymorphic traversals. var Wander = function (Choice1, Strong0, wander) { this.Choice1 = Choice1; this.Strong0 = Strong0; this.wander = wander; }; var wanderStar = function (dictApplicative) { return new Wander(function () { return Data_Profunctor_Star.choiceStar(dictApplicative); }, function () { return Data_Profunctor_Star.strongStar((dictApplicative.Apply0()).Functor0()); }, function (t) { return function (v) { return t(dictApplicative)(v); }; }); }; var wanderFunction = new Wander(function () { return Data_Profunctor_Choice.choiceFn; }, function () { return Data_Profunctor_Strong.strongFn; }, function (t) { return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Identity.newtypeIdentity)(Data_Identity.newtypeIdentity)(Data_Identity.Identity)(t(Data_Identity.applicativeIdentity)); }); var wander = function (dict) { return dict.wander; }; exports["Wander"] = Wander; exports["wander"] = wander; exports["wanderFunction"] = wanderFunction; exports["wanderStar"] = wanderStar; })(PS["Data.Lens.Internal.Wander"] = PS["Data.Lens.Internal.Wander"] || {}); (function(exports) { // | This module defines a type of sets as balanced 2-3 trees, based on // | // | // | Qualified import is encouraged, so as to avoid name clashes with other modules. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_ST = PS["Control.Monad.ST"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Array = PS["Data.Array"]; var Data_Array_ST = PS["Data.Array.ST"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Map = PS["Data.Map"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Show = PS["Data.Show"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Data_Unit = PS["Data.Unit"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; // | `Set a` represents a set of values of type `a` var $$Set = (function () { function $$Set(value0) { this.value0 = value0; }; $$Set.create = function (value0) { return new $$Set(value0); }; return $$Set; })(); // | Form the union of two sets // | // | Running time: `O(n * log(m))` var union = function (dictOrd) { return function (v) { return function (v1) { return new $$Set(Data_Map.union(dictOrd)(v.value0)(v1.value0)); }; }; }; var toList = function (v) { return Data_Map.keys(v.value0); }; // | Convert a set to an unfoldable structure. var toUnfoldable = function (dictUnfoldable) { return function ($62) { return Data_List.toUnfoldable(dictUnfoldable)(toList($62)); }; }; // | Find the size of a set var size = function (v) { return Data_Map.size(v.value0); }; // | Create a set with one element var singleton = function (a) { return new $$Set(Data_Map.singleton(a)(Data_Unit.unit)); }; var showSet = function (dictShow) { return new Data_Show.Show(function (s) { return "(fromFoldable " + (Data_Show.show(Data_List_Types.showList(dictShow))(toList(s)) + ")"); }); }; var semigroupSet = function (dictOrd) { return new Data_Semigroup.Semigroup(union(dictOrd)); }; // | Test if a value is a member of a set var member = function (dictOrd) { return function (a) { return function (v) { return Data_Map.member(dictOrd)(a)(v.value0); }; }; }; // | Test if a set is empty var isEmpty = function (v) { return Data_Map.isEmpty(v.value0); }; // | Insert a value into a set var insert = function (dictOrd) { return function (a) { return function (v) { return new $$Set(Data_Map.insert(dictOrd)(a)(Data_Unit.unit)(v.value0)); }; }; }; var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return function ($63) { return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($63)); }; }; }, function (f) { return function (x) { return function ($64) { return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($64)); }; }; }, function (f) { return function (x) { return function ($65) { return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($65)); }; }; }); var eqSet = function (dictEq) { return new Data_Eq.Eq(function (v) { return function (v1) { return Data_Eq.eq(Data_Map.eqMap(dictEq)(Data_Eq.eqUnit))(v.value0)(v1.value0); }; }); }; var ordSet = function (dictOrd) { return new Data_Ord.Ord(function () { return eqSet(dictOrd.Eq0()); }, function (s1) { return function (s2) { return Data_Ord.compare(Data_List_Types.ordList(dictOrd))(toList(s1))(toList(s2)); }; }); }; var eq1Set = new Data_Eq.Eq1(function (dictEq) { return Data_Eq.eq(eqSet(dictEq)); }); // | An empty set var empty = new $$Set(Data_Map.empty); // | Create a set from a foldable structure. var fromFoldable = function (dictFoldable) { return function (dictOrd) { return Data_Foldable.foldl(dictFoldable)(function (m) { return function (a) { return insert(dictOrd)(a)(m); }; })(empty); }; }; // | The set of elements which are in both the first and second set var intersection = function (dictOrd) { return function (s1) { return function (s2) { var toArray = function ($66) { return Data_Array.fromFoldable(Data_List_Types.foldableList)(toList($66)); }; var rs = toArray(s2); var rl = Data_Array.length(rs); var ls = toArray(s1); var ll = Data_Array.length(ls); var intersect = function (acc) { var go = function (l) { return function (r) { var $55 = l < ll && r < rl; if ($55) { var v = Data_Ord.compare(dictOrd)(ls[l])(rs[r]); if (v instanceof Data_Ordering.EQ) { return function __do() { var v1 = Data_Array_ST.pushSTArray(acc)(ls[l])(); return new Control_Monad_Rec_Class.Loop({ a: l + 1 | 0, b: r + 1 | 0 }); }; }; if (v instanceof Data_Ordering.LT) { return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Control_Monad_Rec_Class.Loop({ a: l + 1 | 0, b: r })); }; if (v instanceof Data_Ordering.GT) { return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Control_Monad_Rec_Class.Loop({ a: l, b: r + 1 | 0 })); }; throw new Error("Failed pattern match at Data.Set line 162, column 12 - line 167, column 43: " + [ v.constructor.name ]); }; return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(new Control_Monad_Rec_Class.Done(acc)); }; }; return Control_Monad_Rec_Class.tailRecM2(Control_Monad_Rec_Class.monadRecEff)(go)(0)(0); }; return fromFoldable(Data_Foldable.foldableArray)(dictOrd)(Control_Monad_Eff.runPure(Data_Array_ST.runSTArray(Control_Bind.bind(Control_Monad_Eff.bindEff)(Data_Array_ST.emptySTArray)(intersect)))); }; }; }; // | Maps over the values in a set. // | // | This operation is not structure-preserving for sets, so is not a valid // | `Functor`. An example case: mapping `const x` over a set with `n > 0` // | elements will result in a set with one element. var map = function (dictOrd) { return function (f) { return Data_Foldable.foldl(foldableSet)(function (m) { return function (a) { return insert(dictOrd)(f(a))(m); }; })(empty); }; }; var monoidSet = function (dictOrd) { return new Data_Monoid.Monoid(function () { return semigroupSet(dictOrd); }, empty); }; // | Form the union of a collection of sets var unions = function (dictFoldable) { return function (dictOrd) { return Data_Foldable.foldl(dictFoldable)(union(dictOrd))(empty); }; }; // | Delete a value from a set var $$delete = function (dictOrd) { return function (a) { return function (v) { return new $$Set(Data_Map["delete"](dictOrd)(a)(v.value0)); }; }; }; // | Form the set difference var difference = function (dictOrd) { return function (s1) { return function (s2) { return Data_Foldable.foldl(Data_List_Types.foldableList)(Data_Function.flip($$delete(dictOrd)))(s1)(toList(s2)); }; }; }; // | True if and only if every element in the first set // | is an element of the second set var subset = function (dictOrd) { return function (s1) { return function (s2) { return isEmpty(difference(dictOrd)(s1)(s2)); }; }; }; // | True if and only if the first set is a subset of the second set // | and the sets are not equal var properSubset = function (dictOrd) { return function (s1) { return function (s2) { return subset(dictOrd)(s1)(s2) && Data_Eq.notEq(eqSet(dictOrd.Eq0()))(s1)(s2); }; }; }; // | Check whether the underlying tree satisfies the 2-3 invariant // | // | This function is provided for internal use. var checkValid = function (v) { return Data_Map.checkValid(v.value0); }; exports["checkValid"] = checkValid; exports["delete"] = $$delete; exports["difference"] = difference; exports["empty"] = empty; exports["fromFoldable"] = fromFoldable; exports["insert"] = insert; exports["intersection"] = intersection; exports["isEmpty"] = isEmpty; exports["map"] = map; exports["member"] = member; exports["properSubset"] = properSubset; exports["singleton"] = singleton; exports["size"] = size; exports["subset"] = subset; exports["toUnfoldable"] = toUnfoldable; exports["union"] = union; exports["unions"] = unions; exports["eqSet"] = eqSet; exports["eq1Set"] = eq1Set; exports["showSet"] = showSet; exports["ordSet"] = ordSet; exports["monoidSet"] = monoidSet; exports["semigroupSet"] = semigroupSet; exports["foldableSet"] = foldableSet; })(PS["Data.Set"] = PS["Data.Set"] || {}); (function(exports) { "use strict"; exports._copyEff = function (m) { return function () { var r = {}; for (var k in m) { if (hasOwnProperty.call(m, k)) { r[k] = m[k]; } } return r; }; }; exports.empty = {}; exports.runST = function (f) { return f; }; exports._fmapStrMap = function (m0, f) { var m = {}; for (var k in m0) { if (hasOwnProperty.call(m0, k)) { m[k] = f(m0[k]); } } return m; }; exports._mapWithKey = function (m0, f) { var m = {}; for (var k in m0) { if (hasOwnProperty.call(m0, k)) { m[k] = f(k)(m0[k]); } } return m; }; exports._foldM = function (bind) { return function (f) { return function (mz) { return function (m) { var acc = mz; function g(k) { return function (z) { return f(z)(k)(m[k]); }; } for (var k in m) { if (hasOwnProperty.call(m, k)) { acc = bind(acc)(g(k)); } } return acc; }; }; }; }; exports._foldSCStrMap = function (m, z, f, fromMaybe) { var acc = z; for (var k in m) { if (hasOwnProperty.call(m, k)) { var maybeR = f(acc)(k)(m[k]); var r = fromMaybe(null)(maybeR); if (r === null) return acc; else acc = r; } } return acc; }; exports.all = function (f) { return function (m) { for (var k in m) { if (hasOwnProperty.call(m, k) && !f(k)(m[k])) return false; } return true; }; }; exports.size = function (m) { var s = 0; for (var k in m) { if (hasOwnProperty.call(m, k)) { ++s; } } return s; }; exports._lookup = function (no, yes, k, m) { return k in m ? yes(m[k]) : no; }; exports._unsafeDeleteStrMap = function (m, k) { delete m[k]; return m; }; exports._lookupST = function (no, yes, k, m) { return function () { return k in m ? yes(m[k]) : no; }; }; function _collect(f) { return function (m) { var r = []; for (var k in m) { if (hasOwnProperty.call(m, k)) { r.push(f(k)(m[k])); } } return r; }; } exports._collect = _collect; exports.keys = Object.keys || _collect(function (k) { return function () { return k; }; }); })(PS["Data.StrMap"] = PS["Data.StrMap"] || {}); (function(exports) { "use strict"; exports["new"] = function () { return {}; }; exports.peekImpl = function (just) { return function (nothing) { return function (m) { return function (k) { return function () { return {}.hasOwnProperty.call(m, k) ? just(m[k]) : nothing; }; }; }; }; }; exports.poke = function (m) { return function (k) { return function (v) { return function () { m[k] = v; return m; }; }; }; }; exports["delete"] = function (m) { return function (k) { return function () { delete m[k]; return m; }; }; }; })(PS["Data.StrMap.ST"] = PS["Data.StrMap.ST"] || {}); (function(exports) { // | Helper functions for working with mutable maps using the `ST` effect. // | // | This module can be used when performance is important and mutation is a local effect. "use strict"; var $foreign = PS["Data.StrMap.ST"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_ST = PS["Control.Monad.ST"]; var Data_Maybe = PS["Data.Maybe"]; // | Get the value for a key in a mutable map var peek = $foreign.peekImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); exports["peek"] = peek; exports["delete"] = $foreign["delete"]; exports["new"] = $foreign["new"]; exports["poke"] = $foreign.poke; })(PS["Data.StrMap.ST"] = PS["Data.StrMap.ST"] || {}); (function(exports) { // | This module defines a type of native Javascript maps which // | require the keys to be strings. // | // | To maximize performance, Javascript objects are not wrapped, // | and some native code is used even when it's not necessary. "use strict"; var $foreign = PS["Data.StrMap"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_ST = PS["Control.Monad.ST"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Array = PS["Data.Array"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_StrMap_ST = PS["Data.StrMap.ST"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Prelude = PS["Prelude"]; // | Get a list of the values in a map var values = $foreign._collect(function (v) { return function (v1) { return v1; }; }); // | Unfolds a map into a list of key/value pairs var toUnfoldable = function (dictUnfoldable) { return function ($44) { return Data_Array.toUnfoldable(dictUnfoldable)($foreign._collect(Data_Tuple.Tuple.create)($44)); }; }; // | Unfolds a map into a list of key/value pairs which is guaranteed to be // | sorted by key var toAscUnfoldable = function (dictUnfoldable) { return function ($45) { return Data_Array.toUnfoldable(dictUnfoldable)(Data_Array.sortWith(Data_Ord.ordString)(Data_Tuple.fst)($foreign._collect(Data_Tuple.Tuple.create)($45))); }; }; // Internal use var toAscArray = toAscUnfoldable(Data_Unfoldable.unfoldableArray); // Internal var toArray = $foreign._collect(Data_Tuple.Tuple.create); // | Convert an immutable map into a mutable map var thawST = $foreign._copyEff; var showStrMap = function (dictShow) { return new Data_Show.Show(function (m) { return "(fromFoldable " + (Data_Show.show(Data_Show.showArray(Data_Tuple.showTuple(Data_Show.showString)(dictShow)))(toArray(m)) + ")"); }); }; var pureST = function (f) { return Control_Monad_Eff.runPure($foreign.runST(f)); }; // | Create a map with one key/value pair var singleton = function (k) { return function (v) { return pureST(function __do() { var v1 = Data_StrMap_ST["new"](); return Data_StrMap_ST.poke(v1)(k)(v)(); }); }; }; var mutate = function (f) { return function (m) { return pureST(function __do() { var v = thawST(m)(); var v1 = f(v)(); return v; }); }; }; // | Test whether a `String` appears as a key in a map var member = Data_Function_Uncurried.runFn4($foreign._lookup)(false)(Data_Function["const"](true)); // | Apply a function of two arguments to each key/value pair, producing a new map var mapWithKey = function (f) { return function (m) { return $foreign._mapWithKey(m, f); }; }; // | Lookup the value for a key in a map var lookup = Data_Function_Uncurried.runFn4($foreign._lookup)(Data_Maybe.Nothing.value)(Data_Maybe.Just.create); // | Test whether one map contains all of the keys and values contained in another map var isSubmap = function (dictEq) { return function (m1) { return function (m2) { var f = function (k) { return function (v) { return $foreign._lookup(false, Data_Eq.eq(dictEq)(v), k, m2); }; }; return $foreign.all(f)(m1); }; }; }; // | Test whether a map is empty var isEmpty = $foreign.all(function (v) { return function (v1) { return false; }; }); // | Insert or replace a key/value pair in a map var insert = function (k) { return function (v) { return mutate(function (s) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(Data_StrMap_ST.poke(s)(k)(v)); }); }; }; var functorStrMap = new Data_Functor.Functor(function (f) { return function (m) { return $foreign._fmapStrMap(m, f); }; }); // | Create a map from a foldable collection of key/value pairs, using the // | specified function to combine values for duplicate keys. var fromFoldableWith = function (dictFoldable) { return function (f) { return function (l) { return pureST(function __do() { var v = Data_StrMap_ST["new"](); Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(dictFoldable)(l)(function (v1) { return Control_Bind.bind(Control_Monad_Eff.bindEff)($foreign._lookupST(v1.value1, f(v1.value1), v1.value0, v))(Data_StrMap_ST.poke(v)(v1.value0)); })(); return v; }); }; }; }; // | Create a map from a foldable collection of key/value pairs var fromFoldable = function (dictFoldable) { return function (l) { return pureST(function __do() { var v = Data_StrMap_ST["new"](); Control_Monad_Eff.foreachE(Data_Array.fromFoldable(dictFoldable)(l))(function (v1) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(Data_StrMap_ST.poke(v)(v1.value0)(v1.value1)); })(); return v; }); }; }; // | Convert a mutable map into an immutable map var freezeST = $foreign._copyEff; // | Fold the keys and values of a map. // | // | This function allows the folding function to terminate the fold early, // | using `Maybe`. var foldMaybe = function (f) { return function (z) { return function (m) { return $foreign._foldSCStrMap(m, z, f, Data_Maybe.fromMaybe); }; }; }; // | Fold the keys and values of a map, accumulating values and effects in // | some `Monad`. var foldM = function (dictMonad) { return function (f) { return function (z) { return $foreign._foldM(Control_Bind.bind(dictMonad.Bind1()))(f)(Control_Applicative.pure(dictMonad.Applicative0())(z)); }; }; }; var semigroupStrMap = function (dictSemigroup) { return new Data_Semigroup.Semigroup(function (m1) { return function (m2) { return mutate(function (s1) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(foldM(Control_Monad_Eff.monadEff)(function (s2) { return function (k) { return function (v2) { return Data_StrMap_ST.poke(s2)(k)($foreign._lookup(v2, function (v1) { return Data_Semigroup.append(dictSemigroup)(v1)(v2); }, k, m2)); }; }; })(s1)(m1)); })(m2); }; }); }; var monoidStrMap = function (dictSemigroup) { return new Data_Monoid.Monoid(function () { return semigroupStrMap(dictSemigroup); }, $foreign.empty); }; // | Compute the union of two maps, preferring the first map in the case of // | duplicate keys. var union = function (m) { return mutate(function (s) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(foldM(Control_Monad_Eff.monadEff)(Data_StrMap_ST.poke)(s)(m)); }); }; // | Compute the union of a collection of maps var unions = function (dictFoldable) { return Data_Foldable.foldl(dictFoldable)(union)($foreign.empty); }; // | Fold the keys and values of a map var fold = $foreign._foldM(Data_Function.applyFlipped); // | Fold the keys and values of a map, accumulating values using // | some `Monoid`. var foldMap = function (dictMonoid) { return function (f) { return fold(function (acc) { return function (k) { return function (v) { return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(k)(v)); }; }; })(Data_Monoid.mempty(dictMonoid)); }; }; var foldableStrMap = new Data_Foldable.Foldable(function (dictMonoid) { return function (f) { return foldMap(dictMonoid)(Data_Function["const"](f)); }; }, function (f) { return fold(function (z) { return function (v) { return f(z); }; }); }, function (f) { return function (z) { return function (m) { return Data_Foldable.foldr(Data_Foldable.foldableArray)(f)(z)(values(m)); }; }; }); var traversableStrMap = new Data_Traversable.Traversable(function () { return foldableStrMap; }, function () { return functorStrMap; }, function (dictApplicative) { return Data_Traversable.traverse(traversableStrMap)(dictApplicative)(Control_Category.id(Control_Category.categoryFn)); }, function (dictApplicative) { return function (f) { return function (ms) { return fold(function (acc) { return function (k) { return function (v) { return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(insert(k))(f(v)))(acc); }; }; })(Control_Applicative.pure(dictApplicative)($foreign.empty))(ms); }; }; }); // | Filter out those key/value pairs of a map for which a predicate // | fails to hold. var filterWithKey = function (predicate) { return function (m) { var go = (function () { var step = function (acc) { return function (k) { return function (v) { var $40 = predicate(k)(v); if ($40) { return Data_StrMap_ST.poke(acc)(k)(v); }; return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(acc); }; }; }; return function __do() { var v = Data_StrMap_ST["new"](); return foldM(Control_Monad_Eff.monadEff)(step)(v)(m)(); }; })(); return pureST(go); }; }; // | Filter out those key/value pairs of a map for which a predicate // | on the key fails to hold. var filterKeys = function (predicate) { return filterWithKey(function ($46) { return Data_Function["const"](predicate($46)); }); }; // | Filter out those key/value pairs of a map for which a predicate // | on the value fails to hold. var filter = function (predicate) { return filterWithKey(Data_Function["const"](predicate)); }; var eqStrMap = function (dictEq) { return new Data_Eq.Eq(function (m1) { return function (m2) { return isSubmap(dictEq)(m1)(m2) && isSubmap(dictEq)(m2)(m1); }; }); }; var ordStrMap = function (dictOrd) { return new Data_Ord.Ord(function () { return eqStrMap(dictOrd.Eq0()); }, function (m1) { return function (m2) { return Data_Ord.compare(Data_Ord.ordArray(Data_Tuple.ordTuple(Data_Ord.ordString)(dictOrd)))(toAscArray(m1))(toAscArray(m2)); }; }); }; var eq1StrMap = new Data_Eq.Eq1(function (dictEq) { return Data_Eq.eq(eqStrMap(dictEq)); }); // | Delete a key and value from a map var $$delete = function (k) { return mutate(function (s) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(Data_StrMap_ST["delete"](s)(k)); }); }; // | Delete a key and value from a map, returning the value // | as well as the subsequent map var pop = function (k) { return function (m) { return Data_Functor.mapFlipped(Data_Maybe.functorMaybe)(lookup(k)(m))(function (a) { return new Data_Tuple.Tuple(a, $$delete(k)(m)); }); }; }; // | Insert, remove or update a value for a key in a map var alter = function (f) { return function (k) { return function (m) { var v = f(lookup(k)(m)); if (v instanceof Data_Maybe.Nothing) { return $$delete(k)(m); }; if (v instanceof Data_Maybe.Just) { return insert(k)(v.value0)(m); }; throw new Error("Failed pattern match at Data.StrMap line 197, column 15 - line 199, column 25: " + [ v.constructor.name ]); }; }; }; // | Remove or update a value for a key in a map var update = function (f) { return function (k) { return function (m) { return alter(Data_Maybe.maybe(Data_Maybe.Nothing.value)(f))(k)(m); }; }; }; exports["alter"] = alter; exports["delete"] = $$delete; exports["filter"] = filter; exports["filterKeys"] = filterKeys; exports["filterWithKey"] = filterWithKey; exports["fold"] = fold; exports["foldM"] = foldM; exports["foldMap"] = foldMap; exports["foldMaybe"] = foldMaybe; exports["freezeST"] = freezeST; exports["fromFoldable"] = fromFoldable; exports["fromFoldableWith"] = fromFoldableWith; exports["insert"] = insert; exports["isEmpty"] = isEmpty; exports["isSubmap"] = isSubmap; exports["lookup"] = lookup; exports["mapWithKey"] = mapWithKey; exports["member"] = member; exports["pop"] = pop; exports["pureST"] = pureST; exports["singleton"] = singleton; exports["thawST"] = thawST; exports["toAscUnfoldable"] = toAscUnfoldable; exports["toUnfoldable"] = toUnfoldable; exports["union"] = union; exports["unions"] = unions; exports["update"] = update; exports["values"] = values; exports["functorStrMap"] = functorStrMap; exports["foldableStrMap"] = foldableStrMap; exports["traversableStrMap"] = traversableStrMap; exports["eqStrMap"] = eqStrMap; exports["eq1StrMap"] = eq1StrMap; exports["ordStrMap"] = ordStrMap; exports["showStrMap"] = showStrMap; exports["semigroupStrMap"] = semigroupStrMap; exports["monoidStrMap"] = monoidStrMap; exports["all"] = $foreign.all; exports["empty"] = $foreign.empty; exports["keys"] = $foreign.keys; exports["runST"] = $foreign.runST; exports["size"] = $foreign.size; })(PS["Data.StrMap"] = PS["Data.StrMap"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Array = PS["Data.Array"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Identity = PS["Data.Identity"]; var Data_Lens_Internal_Wander = PS["Data.Lens.Internal.Wander"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Map = PS["Data.Map"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Set = PS["Data.Set"]; var Data_StrMap = PS["Data.StrMap"]; var Data_Traversable = PS["Data.Traversable"]; var Prelude = PS["Prelude"]; var Index = function (ix) { this.ix = ix; }; var ix = function (dict) { return dict.ix; }; var indexStrMap = new Index(function (k) { return function (dictWander) { return Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return function (coalg) { return function (m) { return Data_Maybe.maybe(Control_Applicative.pure(dictApplicative)(m))(function ($20) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function (v) { return Data_StrMap.insert(k)(v)(m); })(coalg($20)); })(Data_StrMap.lookup(k)(m)); }; }; }); }; }); var indexSet = function (dictOrd) { return new Index(function (x) { return function (dictWander) { return Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return function (coalg) { return function ($21) { return Control_Applicative.pure(dictApplicative)(Data_Set.insert(dictOrd)(x)($21)); }; }; }); }; }); }; var indexMaybe = new Index(function (v) { return function (dictWander) { return Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return Data_Traversable.traverse(Data_Traversable.traversableMaybe)(dictApplicative); }); }; }); var indexMap = function (dictOrd) { return new Index(function (k) { return function (dictWander) { return Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return function (coalg) { return function (m) { return Data_Maybe.maybe(Control_Applicative.pure(dictApplicative)(m))(function ($22) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function (v) { return Data_Map.insert(dictOrd)(k)(v)(m); })(coalg($22)); })(Data_Map.lookup(dictOrd)(k)(m)); }; }; }); }; }); }; var indexIdentity = new Index(function (v) { return function (dictWander) { return Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return Data_Traversable.traverse(Data_Identity.traversableIdentity)(dictApplicative); }); }; }); var indexArray = new Index(function (n) { return function (dictWander) { return Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return function (coalg) { return function (xs) { return Data_Maybe.maybe(Control_Applicative.pure(dictApplicative)(xs))(function ($23) { return Data_Functor.map((dictApplicative.Apply0()).Functor0())(function (x) { return Data_Maybe.fromMaybe(xs)(Data_Array.updateAt(n)(x)(xs)); })(coalg($23)); })(Data_Array.index(xs)(n)); }; }; }); }; }); var indexArr = function (dictEq) { return new Index(function (i) { return function (dictWander) { return Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return function (coalg) { return function (f) { return Data_Functor.mapFlipped((dictApplicative.Apply0()).Functor0())(coalg(f(i)))(function (a) { return function (j) { var $19 = Data_Eq.eq(dictEq)(i)(j); if ($19) { return a; }; return f(j); }; }); }; }; }); }; }); }; exports["Index"] = Index; exports["ix"] = ix; exports["indexArr"] = indexArr; exports["indexMaybe"] = indexMaybe; exports["indexIdentity"] = indexIdentity; exports["indexArray"] = indexArray; exports["indexSet"] = indexSet; exports["indexMap"] = indexMap; exports["indexStrMap"] = indexStrMap; })(PS["Data.Lens.Index"] = PS["Data.Lens.Index"] || {}); (function(exports) { // | This module defines the `Indexed` profunctor. "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Lens_Internal_Wander = PS["Data.Lens.Internal.Wander"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Profunctor used for `IndexedOptic`s. var Indexed = function (x) { return x; }; var profunctorIndexed = function (dictProfunctor) { return new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return Data_Profunctor.dimap(dictProfunctor)(Data_Profunctor_Strong.second(Data_Profunctor_Strong.strongFn)(f))(g)(v); }; }; }); }; var strongIndexed = function (dictStrong) { return new Data_Profunctor_Strong.Strong(function () { return profunctorIndexed(dictStrong.Profunctor0()); }, function (v) { return Indexed(Data_Profunctor.lmap(dictStrong.Profunctor0())(function (v1) { return new Data_Tuple.Tuple(new Data_Tuple.Tuple(v1.value0, v1.value1.value0), v1.value1.value1); })(Data_Profunctor_Strong.first(dictStrong)(v))); }, function (v) { return Indexed(Data_Profunctor.lmap(dictStrong.Profunctor0())(function (v1) { return new Data_Tuple.Tuple(v1.value1.value0, new Data_Tuple.Tuple(v1.value0, v1.value1.value1)); })(Data_Profunctor_Strong.second(dictStrong)(v))); }); }; var newtypeIndexed = new Data_Newtype.Newtype(function (n) { return n; }, Indexed); var choiceIndexed = function (dictChoice) { return new Data_Profunctor_Choice.Choice(function () { return profunctorIndexed(dictChoice.Profunctor0()); }, function (v) { return Indexed(Data_Profunctor.lmap(dictChoice.Profunctor0())(function (v1) { return Data_Either.either(function ($47) { return Data_Either.Left.create(Data_Tuple.Tuple.create(v1.value0)($47)); })(Data_Either.Right.create)(v1.value1); })(Data_Profunctor_Choice.left(dictChoice)(v))); }, function (v) { return Indexed(Data_Profunctor.lmap(dictChoice.Profunctor0())(function (v1) { return Data_Either.either(Data_Either.Left.create)(function ($48) { return Data_Either.Right.create(Data_Tuple.Tuple.create(v1.value0)($48)); })(v1.value1); })(Data_Profunctor_Choice.right(dictChoice)(v))); }); }; var wanderIndexed = function (dictWander) { return new Data_Lens_Internal_Wander.Wander(function () { return choiceIndexed(dictWander.Choice1()); }, function () { return strongIndexed(dictWander.Strong0()); }, function (trav) { return function (v) { return Indexed(Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return function (ia2fb) { return function (v1) { return trav(dictApplicative)(function ($49) { return ia2fb(Data_Tuple.Tuple.create(v1.value0)($49)); })(v1.value1); }; }; })(v)); }; }); }; exports["Indexed"] = Indexed; exports["newtypeIndexed"] = newtypeIndexed; exports["profunctorIndexed"] = profunctorIndexed; exports["strongIndexed"] = strongIndexed; exports["choiceIndexed"] = choiceIndexed; exports["wanderIndexed"] = wanderIndexed; })(PS["Data.Lens.Internal.Indexed"] = PS["Data.Lens.Internal.Indexed"] || {}); (function(exports) { // | This module defines the `Shop` profunctor "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The `Shop` profunctor characterizes a `Lens`. var Shop = (function () { function Shop(value0, value1) { this.value0 = value0; this.value1 = value1; }; Shop.create = function (value0) { return function (value1) { return new Shop(value0, value1); }; }; return Shop; })(); var profunctorShop = new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return new Shop(function ($30) { return v.value0(f($30)); }, function (s) { return function ($31) { return g(v.value1(f(s))($31)); }; }); }; }; }); var strongShop = new Data_Profunctor_Strong.Strong(function () { return profunctorShop; }, function (v) { return new Shop(function (v1) { return v.value0(v1.value0); }, function (v1) { return function (b) { return new Data_Tuple.Tuple(v.value1(v1.value0)(b), v1.value1); }; }); }, function (v) { return new Shop(function (v1) { return v.value0(v1.value1); }, function (v1) { return function (b) { return new Data_Tuple.Tuple(v1.value0, v.value1(v1.value1)(b)); }; }); }); exports["Shop"] = Shop; exports["profunctorShop"] = profunctorShop; exports["strongShop"] = strongShop; })(PS["Data.Lens.Internal.Shop"] = PS["Data.Lens.Internal.Shop"] || {}); (function(exports) { // | This module defines functions for working with lenses. "use strict"; var Control_Category = PS["Control.Category"]; var Data_Lens_Internal_Indexed = PS["Data.Lens.Internal.Indexed"]; var Data_Lens_Internal_Shop = PS["Data.Lens.Internal.Shop"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; var withLens = function (l) { return function (f) { var v = l(new Data_Lens_Internal_Shop.Shop(Control_Category.id(Control_Category.categoryFn), function (v1) { return function (b) { return b; }; })); return f(v.value0)(v.value1); }; }; var withIndexedLens = function (l) { return function (f) { var v = l(new Data_Lens_Internal_Shop.Shop(Control_Category.id(Control_Category.categoryFn), function (v1) { return function (b) { return b; }; })); return f(v.value0)(v.value1); }; }; var lens$prime = function (to) { return function (dictStrong) { return function (pab) { return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) { return v.value1(v.value0); })(Data_Profunctor_Strong.first(dictStrong)(pab)); }; }; }; // | Create a `Lens` from a getter/setter pair. var lens = function (get) { return function (set) { return function (dictStrong) { return lens$prime(function (s) { return new Data_Tuple.Tuple(get(s), function (b) { return set(s)(b); }); })(dictStrong); }; }; }; var ilens$prime = function (to) { return function (dictStrong) { return function (pab) { return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) { return v.value1(v.value0); })(Data_Profunctor_Strong.first(dictStrong)(Data_Newtype.un(Data_Lens_Internal_Indexed.newtypeIndexed)(Data_Lens_Internal_Indexed.Indexed)(pab))); }; }; }; // create an `IndexedLens` from a getter/setter pair. var ilens = function (get) { return function (set) { return function (dictStrong) { return ilens$prime(function (s) { return new Data_Tuple.Tuple(get(s), function (b) { return set(s)(b); }); })(dictStrong); }; }; }; var cloneLens = function (l) { return function (dictStrong) { return withLens(l)(function (x) { return function (y) { return function (p) { return lens(x)(y)(dictStrong)(p); }; }; }); }; }; var cloneIndexedLens = function (l) { return function (dictStrong) { return withIndexedLens(l)(function (x) { return function (y) { return function (p) { return ilens(x)(y)(dictStrong)(p); }; }; }); }; }; exports["cloneIndexedLens"] = cloneIndexedLens; exports["cloneLens"] = cloneLens; exports["ilens"] = ilens; exports["ilens'"] = ilens$prime; exports["lens"] = lens; exports["lens'"] = lens$prime; exports["withIndexedLens"] = withIndexedLens; exports["withLens"] = withLens; })(PS["Data.Lens.Lens"] = PS["Data.Lens.Lens"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Identity = PS["Data.Identity"]; var Data_Lens = PS["Data.Lens"]; var Data_Lens_Index = PS["Data.Lens.Index"]; var Data_Lens_Lens = PS["Data.Lens.Lens"]; var Data_Map = PS["Data.Map"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Set = PS["Data.Set"]; var Data_StrMap = PS["Data.StrMap"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var At = function (Index0, at) { this.Index0 = Index0; this.at = at; }; var atStrMap = new At(function () { return Data_Lens_Index.indexStrMap; }, function (k) { return function (dictStrong) { return Data_Lens_Lens.lens(Data_StrMap.lookup(k))(function (m) { return Data_Maybe.maybe(Data_StrMap["delete"](k)(m))(function (v) { return Data_StrMap.insert(k)(v)(m); }); })(dictStrong); }; }); var atSet = function (dictOrd) { return new At(function () { return Data_Lens_Index.indexSet(dictOrd); }, function (x) { return function (dictStrong) { var update = function (v) { if (v instanceof Data_Maybe.Nothing) { return Data_Set["delete"](dictOrd)(x); }; if (v instanceof Data_Maybe.Just) { return Data_Set.insert(dictOrd)(x); }; throw new Error("Failed pattern match at Data.Lens.At line 34, column 7 - line 34, column 34: " + [ v.constructor.name ]); }; var get = function (xs) { var $13 = Data_Set.member(dictOrd)(x)(xs); if ($13) { return new Data_Maybe.Just(Data_Unit.unit); }; return Data_Maybe.Nothing.value; }; return Data_Lens_Lens.lens(get)(Data_Function.flip(update))(dictStrong); }; }); }; var atMaybe = new At(function () { return Data_Lens_Index.indexMaybe; }, function (v) { return function (dictStrong) { return Data_Lens_Lens.lens(Control_Category.id(Control_Category.categoryFn))(function (v1) { return Control_Category.id(Control_Category.categoryFn); })(dictStrong); }; }); var atMap = function (dictOrd) { return new At(function () { return Data_Lens_Index.indexMap(dictOrd); }, function (k) { return function (dictStrong) { return Data_Lens_Lens.lens(Data_Map.lookup(dictOrd)(k))(function (m) { return Data_Maybe.maybe(Data_Map["delete"](dictOrd)(k)(m))(function (v) { return Data_Map.insert(dictOrd)(k)(v)(m); }); })(dictStrong); }; }); }; var atIdentity = new At(function () { return Data_Lens_Index.indexIdentity; }, function (v) { return function (dictStrong) { return Data_Lens_Lens.lens(function ($14) { return Data_Maybe.Just.create(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($14)); })(Data_Function.flip(Data_Maybe.maybe)(Data_Identity.Identity))(dictStrong); }; }); var at = function (dict) { return dict.at; }; exports["At"] = At; exports["at"] = at; exports["atIdentity"] = atIdentity; exports["atMaybe"] = atMaybe; exports["atSet"] = atSet; exports["atMap"] = atMap; exports["atStrMap"] = atStrMap; })(PS["Data.Lens.At"] = PS["Data.Lens.At"] || {}); (function(exports) { "use strict"; var Data_Either = PS["Data.Either"]; var Data_Profunctor = PS["Data.Profunctor"]; // | The `Cochoice` class provides the dual operations of the `Choice` class. var Cochoice = function (Profunctor0, unleft, unright) { this.Profunctor0 = Profunctor0; this.unleft = unleft; this.unright = unright; }; var unright = function (dict) { return dict.unright; }; var unleft = function (dict) { return dict.unleft; }; exports["Cochoice"] = Cochoice; exports["unleft"] = unleft; exports["unright"] = unright; })(PS["Data.Profunctor.Cochoice"] = PS["Data.Profunctor.Cochoice"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Const = PS["Data.Const"]; var Data_Either = PS["Data.Either"]; var Data_Functor = PS["Data.Functor"]; var Data_Lens_Internal_Wander = PS["Data.Lens.Internal.Wander"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; var Data_Profunctor_Cochoice = PS["Data.Profunctor.Cochoice"]; var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Profunctor that forgets the `b` value and returns (and accumulates) a // | value of type `r`. // | // | `Forget r` is isomorphic to `Star (Const r)`, but can be given a `Cochoice` // | instance. var Forget = function (x) { return x; }; var profunctorForget = new Data_Profunctor.Profunctor(function (f) { return function (v) { return function (v1) { return function ($25) { return v1(f($25)); }; }; }; }); var strongForget = new Data_Profunctor_Strong.Strong(function () { return profunctorForget; }, function (v) { return function ($26) { return v(Data_Tuple.fst($26)); }; }, function (v) { return function ($27) { return v(Data_Tuple.snd($27)); }; }); var newtypeForget = new Data_Newtype.Newtype(function (n) { return n; }, Forget); var cochoiceForget = new Data_Profunctor_Cochoice.Cochoice(function () { return profunctorForget; }, function (v) { return function ($28) { return v(Data_Either.Left.create($28)); }; }, function (v) { return function ($29) { return v(Data_Either.Right.create($29)); }; }); var choiceForget = function (dictMonoid) { return new Data_Profunctor_Choice.Choice(function () { return profunctorForget; }, function (v) { return Data_Either.either(v)(Data_Monoid.mempty(Data_Monoid.monoidFn(dictMonoid))); }, function (v) { return Data_Either.either(Data_Monoid.mempty(Data_Monoid.monoidFn(dictMonoid)))(v); }); }; var wanderForget = function (dictMonoid) { return new Data_Lens_Internal_Wander.Wander(function () { return choiceForget(dictMonoid); }, function () { return strongForget; }, function (f) { return function (v) { return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Const.newtypeConst)(Data_Const.newtypeConst)(Data_Const.Const)(f(Data_Const.applicativeConst(dictMonoid)))(v); }; }); }; exports["Forget"] = Forget; exports["newtypeForget"] = newtypeForget; exports["profunctorForget"] = profunctorForget; exports["choiceForget"] = choiceForget; exports["strongForget"] = strongForget; exports["cochoiceForget"] = cochoiceForget; exports["wanderForget"] = wanderForget; })(PS["Data.Lens.Internal.Forget"] = PS["Data.Lens.Internal.Forget"] || {}); (function(exports) { // | This module defines functions for working with folds. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Lens_Internal_Forget = PS["Data.Lens.Internal.Forget"]; var Data_Lens_Internal_Indexed = PS["Data.Lens.Internal.Indexed"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Maybe_First = PS["Data.Maybe.First"]; var Data_Maybe_Last = PS["Data.Maybe.Last"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Monoid_Additive = PS["Data.Monoid.Additive"]; var Data_Monoid_Conj = PS["Data.Monoid.Conj"]; var Data_Monoid_Disj = PS["Data.Monoid.Disj"]; var Data_Monoid_Dual = PS["Data.Monoid.Dual"]; var Data_Monoid_Endo = PS["Data.Monoid.Endo"]; var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | Builds a `Fold` using an unfold. var unfolded = function (dictMonoid) { return function (f) { return function (p) { var go = function ($42) { return Data_Maybe.maybe(Data_Monoid.mempty(dictMonoid))(function (v) { return Data_Semigroup.append(dictMonoid.Semigroup0())(Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(p)(v.value0))(go(v.value1)); })(f($42)); }; return go; }; }; }; // | Replicates the elements of a fold. var replicated = function (dictMonoid) { return function (i) { return function (v) { var go = function (v1) { return function (x) { if (v1 === 0) { return Data_Monoid.mempty(Data_Monoid.monoidFn(dictMonoid)); }; return Data_Semigroup.append(Data_Semigroup.semigroupFn(dictMonoid.Semigroup0()))(x)(go(v1 - 1 | 0)(x)); }; }; return go(i)(v); }; }; }; // | Fold map over an `IndexedFold`. var ifoldMapOf = function (p) { return function (f) { return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(p(Data_Lens_Internal_Indexed.Indexed(Data_Tuple.uncurry(f)))); }; }; // | Left fold over an `IndexedFold`. var ifoldlOf = function (p) { return function (f) { return function (r) { return function ($43) { return Data_Function.flip(Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo))(r)(Data_Newtype.unwrap(Data_Monoid_Dual.newtypeDual)(ifoldMapOf(p)(function (i) { return function ($44) { return Data_Monoid_Dual.Dual(Data_Monoid_Endo.Endo(Data_Function.flip(f(i))($44))); }; })($43))); }; }; }; }; // | Right fold over an `IndexedFold`. var ifoldrOf = function (p) { return function (f) { return function (r) { return function ($45) { return Data_Function.flip(Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo))(r)(ifoldMapOf(p)(function (i) { return function ($46) { return Data_Monoid_Endo.Endo(f(i)($46)); }; })($45)); }; }; }; }; // | Collects the foci of an `IndexedFold` into a list. var itoListOf = function (p) { return ifoldrOf(p)(function (i) { return function (x) { return function (xs) { return new Data_List_Types.Cons(new Data_Tuple.Tuple(i, x), xs); }; }; })(Data_List_Types.Nil.value); }; // | Traverse the foci of an `IndexedFold`, discarding the results. var itraverseOf_ = function (dictApplicative) { return function (p) { return function (f) { return ifoldrOf(p)(function (i) { return function (a) { return function (fu) { return Control_Apply.applySecond(dictApplicative.Apply0())(Data_Functor["void"]((dictApplicative.Apply0()).Functor0())(f(i)(a)))(fu); }; }; })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit)); }; }; }; // | Find the first focus of an `IndexedFold` that satisfies a predicate, if // | there is any. var ifindOf = function (p) { return function (f) { return ifoldrOf(p)(function (i) { return function (a) { return Data_Maybe.maybe((function () { var $36 = f(i)(a); if ($36) { return new Data_Maybe.Just(a); }; return Data_Maybe.Nothing.value; })())(Data_Maybe.Just.create); }; })(Data_Maybe.Nothing.value); }; }; // | Whether any focus of an `IndexedFold` satisfies a predicate. var ianyOf = function (dictHeytingAlgebra) { return function (p) { return function (f) { return function ($47) { return Data_Newtype.unwrap(Data_Monoid_Disj.newtypeDisj)(ifoldMapOf(p)(function (i) { return function ($48) { return Data_Monoid_Disj.Disj(f(i)($48)); }; })($47)); }; }; }; }; // | Whether all foci of an `IndexedFold` satisfy a predicate. var iallOf = function (dictHeytingAlgebra) { return function (p) { return function (f) { return function ($49) { return Data_Newtype.unwrap(Data_Monoid_Conj.newtypeConj)(ifoldMapOf(p)(function (i) { return function ($50) { return Data_Monoid_Conj.Conj(f(i)($50)); }; })($49)); }; }; }; }; // | Folds over a `Foldable` container. var folded = function (dictMonoid) { return function (dictFoldable) { return function (v) { return Data_Foldable.foldMap(dictFoldable)(dictMonoid)(v); }; }; }; // | Maps and then folds all foci of a `Fold`. var foldMapOf = Data_Newtype.under(Data_Lens_Internal_Forget.newtypeForget)(Data_Lens_Internal_Forget.newtypeForget)(Data_Lens_Internal_Forget.Forget); // | Folds all foci of a `Fold` to one. Note that this is the same as `view`. var foldOf = function (p) { return foldMapOf(p)(Control_Category.id(Control_Category.categoryFn)); }; // | Left fold over a `Fold`. var foldlOf = function (p) { return function (f) { return function (r) { return function ($51) { return Data_Function.flip(Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo))(r)(Data_Newtype.unwrap(Data_Monoid_Dual.newtypeDual)(foldMapOf(p)(function ($52) { return Data_Monoid_Dual.Dual(Data_Monoid_Endo.Endo(Data_Function.flip(f)($52))); })($51))); }; }; }; }; // | Right fold over a `Fold`. var foldrOf = function (p) { return function (f) { return function (r) { return function ($53) { return Data_Function.flip(Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo))(r)(foldMapOf(p)(function ($54) { return Data_Monoid_Endo.Endo(f($54)); })($53)); }; }; }; }; // | The maximum of all foci of a `Fold`, if there is any. var maximumOf = function (dictOrd) { return function (p) { var max = function (a) { return function (b) { var $38 = Data_Ord.greaterThan(dictOrd)(a)(b); if ($38) { return a; }; return b; }; }; return foldrOf(p)(function (a) { return function ($55) { return Data_Maybe.Just.create(Data_Maybe.maybe(a)(max(a))($55)); }; })(Data_Maybe.Nothing.value); }; }; // | The minimum of all foci of a `Fold`, if there is any. var minimumOf = function (dictOrd) { return function (p) { var min = function (a) { return function (b) { var $39 = Data_Ord.lessThan(dictOrd)(a)(b); if ($39) { return a; }; return b; }; }; return foldrOf(p)(function (a) { return function ($56) { return Data_Maybe.Just.create(Data_Maybe.maybe(a)(min(a))($56)); }; })(Data_Maybe.Nothing.value); }; }; // | Collects the foci of a `Fold` into a list. var toListOf = function (p) { return foldrOf(p)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value); }; // | Synonym for `toListOf`, reversed. var toListOfOn = function (s) { return function (p) { return toListOf(p)(s); }; }; // | Traverse the foci of a `Fold`, discarding the results. var traverseOf_ = function (dictApplicative) { return function (p) { return function (f) { return foldrOf(p)(function (a) { return function (fu) { return Control_Apply.applySecond(dictApplicative.Apply0())(Data_Functor["void"]((dictApplicative.Apply0()).Functor0())(f(a)))(fu); }; })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit)); }; }; }; // | Determines whether a `Fold` has at least one focus. var has = function (dictHeytingAlgebra) { return function (p) { return function ($57) { return Data_Newtype.unwrap(Data_Monoid_Disj.newtypeDisj)(foldMapOf(p)(Data_Function["const"](Data_HeytingAlgebra.tt(dictHeytingAlgebra)))($57)); }; }; }; // | Determines whether a `Fold` does not have a focus. var hasn$primet = function (dictHeytingAlgebra) { return function (p) { return function ($58) { return Data_Newtype.unwrap(Data_Monoid_Conj.newtypeConj)(foldMapOf(p)(Data_Function["const"](Data_HeytingAlgebra.ff(dictHeytingAlgebra)))($58)); }; }; }; // | The last focus of a `Fold`, if there is any. var lastOf = function (p) { return function ($59) { return Data_Newtype.unwrap(Data_Maybe_Last.newtypeLast)(foldMapOf(p)(function ($60) { return Data_Maybe_Last.Last(Data_Maybe.Just.create($60)); })($59)); }; }; // | The number of foci of a `Fold`. var lengthOf = function (p) { return function ($61) { return Data_Newtype.unwrap(Data_Monoid_Additive.newtypeAdditive)(foldMapOf(p)(Data_Function["const"](1))($61)); }; }; // | Previews the first value of a fold, if there is any. var preview = function (p) { return function ($62) { return Data_Newtype.unwrap(Data_Maybe_First.newtypeFirst)(foldMapOf(p)(function ($63) { return Data_Maybe_First.First(Data_Maybe.Just.create($63)); })($62)); }; }; // | Synonym for `preview`, flipped. var previewOn = function (s) { return function (p) { return preview(p)(s); }; }; // | The product of all foci of a `Fold`. var productOf = function (dictSemiring) { return function (p) { return function ($64) { return Data_Newtype.unwrap(Data_Monoid_Multiplicative.newtypeMultiplicative)(foldMapOf(p)(Data_Monoid_Multiplicative.Multiplicative)($64)); }; }; }; // | Sequence the foci of a `Fold`, pulling out an `Applicative`, and ignore // | the result. If you need the result, see `sequenceOf` for `Traversal`s. var sequenceOf_ = function (dictApplicative) { return function (p) { return function ($65) { return Data_Function.flip(Data_Newtype.unwrap(Data_Monoid_Endo.newtypeEndo))(Control_Applicative.pure(dictApplicative)(Data_Unit.unit))(foldMapOf(p)(function (f) { return function (v) { return Control_Apply.applySecond(dictApplicative.Apply0())(f)(v); }; })($65)); }; }; }; // | The sum of all foci of a `Fold`. var sumOf = function (dictSemiring) { return function (p) { return function ($66) { return Data_Newtype.unwrap(Data_Monoid_Additive.newtypeAdditive)(foldMapOf(p)(Data_Monoid_Additive.Additive)($66)); }; }; }; // | The first focus of a `Fold`, if there is any. Synonym for `preview`. var firstOf = function (p) { return function ($67) { return Data_Newtype.unwrap(Data_Maybe_First.newtypeFirst)(foldMapOf(p)(function ($68) { return Data_Maybe_First.First(Data_Maybe.Just.create($68)); })($67)); }; }; // | Find the first focus of a `Fold` that satisfies a predicate, if there is any. var findOf = function (p) { return function (f) { return foldrOf(p)(function (a) { return Data_Maybe.maybe((function () { var $40 = f(a); if ($40) { return new Data_Maybe.Just(a); }; return Data_Maybe.Nothing.value; })())(Data_Maybe.Just.create); })(Data_Maybe.Nothing.value); }; }; // | Filters on a predicate. var filtered = function (dictChoice) { return function (f) { return function ($69) { return Data_Profunctor.dimap(dictChoice.Profunctor0())(function (x) { var $41 = f(x); if ($41) { return new Data_Either.Right(x); }; return new Data_Either.Left(x); })(Data_Either.either(Control_Category.id(Control_Category.categoryFn))(Control_Category.id(Control_Category.categoryFn)))(Data_Profunctor_Choice.right(dictChoice)($69)); }; }; }; // | Whether any focus of a `Fold` satisfies a predicate. var anyOf = function (dictHeytingAlgebra) { return function (p) { return function (f) { return function ($70) { return Data_Newtype.unwrap(Data_Monoid_Disj.newtypeDisj)(foldMapOf(p)(function ($71) { return Data_Monoid_Disj.Disj(f($71)); })($70)); }; }; }; }; // | Whether a `Fold` contains a given element. var elemOf = function (dictEq) { return function (p) { return function (a) { return anyOf(Data_HeytingAlgebra.heytingAlgebraBoolean)(p)(function (v) { return Data_Eq.eq(dictEq)(v)(a); }); }; }; }; // | The disjunction of all foci of a `Fold`. var orOf = function (dictHeytingAlgebra) { return function (p) { return anyOf(dictHeytingAlgebra)(p)(Control_Category.id(Control_Category.categoryFn)); }; }; // | Whether all foci of a `Fold` satisfy a predicate. var allOf = function (dictHeytingAlgebra) { return function (p) { return function (f) { return function ($72) { return Data_Newtype.unwrap(Data_Monoid_Conj.newtypeConj)(foldMapOf(p)(function ($73) { return Data_Monoid_Conj.Conj(f($73)); })($72)); }; }; }; }; // | The conjunction of all foci of a `Fold`. var andOf = function (dictHeytingAlgebra) { return function (p) { return allOf(dictHeytingAlgebra)(p)(Control_Category.id(Control_Category.categoryFn)); }; }; // | Whether a `Fold` not contains a given element. var notElemOf = function (dictEq) { return function (p) { return function (a) { return allOf(Data_HeytingAlgebra.heytingAlgebraBoolean)(p)(function (v) { return Data_Eq.notEq(dictEq)(v)(a); }); }; }; }; exports["allOf"] = allOf; exports["andOf"] = andOf; exports["anyOf"] = anyOf; exports["elemOf"] = elemOf; exports["filtered"] = filtered; exports["findOf"] = findOf; exports["firstOf"] = firstOf; exports["foldMapOf"] = foldMapOf; exports["foldOf"] = foldOf; exports["folded"] = folded; exports["foldlOf"] = foldlOf; exports["foldrOf"] = foldrOf; exports["has"] = has; exports["hasn't"] = hasn$primet; exports["iallOf"] = iallOf; exports["ianyOf"] = ianyOf; exports["ifoldMapOf"] = ifoldMapOf; exports["ifoldlOf"] = ifoldlOf; exports["ifoldrOf"] = ifoldrOf; exports["itoListOf"] = itoListOf; exports["itraverseOf_"] = itraverseOf_; exports["lastOf"] = lastOf; exports["lengthOf"] = lengthOf; exports["maximumOf"] = maximumOf; exports["minimumOf"] = minimumOf; exports["notElemOf"] = notElemOf; exports["orOf"] = orOf; exports["preview"] = preview; exports["previewOn"] = previewOn; exports["productOf"] = productOf; exports["replicated"] = replicated; exports["sequenceOf_"] = sequenceOf_; exports["sumOf"] = sumOf; exports["toListOf"] = toListOf; exports["toListOfOn"] = toListOfOn; exports["traverseOf_"] = traverseOf_; exports["unfolded"] = unfolded; })(PS["Data.Lens.Fold"] = PS["Data.Lens.Fold"] || {}); (function(exports) { "use strict"; var Data_Function = PS["Data.Function"]; var Data_Lens_Fold = PS["Data.Lens.Fold"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Maybe_First = PS["Data.Maybe.First"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; var unsafeView = function (dictPartial) { return function (s) { return function (l) { return Data_Maybe["fromMaybe'"](function (v) { return Partial_Unsafe.unsafeCrashWith("unsafeView: Empty fold"); })(Data_Lens_Fold.previewOn(s)(l)); }; }; }; var unsafeIndexedFold = function (dictPartial) { return function (s) { return function (l) { return Data_Maybe["fromMaybe'"](function (v) { return Partial_Unsafe.unsafeCrashWith("unsafeIndexedFold: empty Fold"); })(Data_Newtype.unwrap(Data_Maybe_First.newtypeFirst)(Data_Lens_Fold.ifoldMapOf(l)(function (i) { return function (a) { return Data_Maybe_First.First(new Data_Maybe.Just(new Data_Tuple.Tuple(i, a))); }; })(s))); }; }; }; exports["unsafeIndexedFold"] = unsafeIndexedFold; exports["unsafeView"] = unsafeView; })(PS["Data.Lens.Fold.Partial"] = PS["Data.Lens.Fold.Partial"] || {}); (function(exports) { // | This module defines functions for working with getters. "use strict"; var Control_Category = PS["Control.Category"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Lens_Internal_Forget = PS["Data.Lens.Internal.Forget"]; var Data_Lens_Internal_Indexed = PS["Data.Lens.Internal.Indexed"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | View the focus of a `Getter`. var view = function (l) { return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.id(Control_Category.categoryFn))); }; // | Synonym for `view`, flipped. var viewOn = function (s) { return function (l) { return view(l)(s); }; }; // | View the focus of a `Getter` in the state of a monad. var use = function (dictMonadState) { return function (p) { return Control_Monad_State_Class.gets(dictMonadState)(function (v) { return viewOn(v)(p); }); }; }; // | Convert a function into a getter. var to = function (f) { return function (p) { return function ($3) { return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(p)(f($3)); }; }; }; // | View the focus of a `Getter` and its index. var iview = function (l) { return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Data_Lens_Internal_Indexed.Indexed(Control_Category.id(Control_Category.categoryFn)))); }; // | View the focus of a `Getter` and its index in the state of a monad. var iuse = function (dictMonadState) { return function (p) { return Control_Monad_State_Class.gets(dictMonadState)(iview(p)); }; }; exports["iuse"] = iuse; exports["iview"] = iview; exports["to"] = to; exports["use"] = use; exports["view"] = view; exports["viewOn"] = viewOn; })(PS["Data.Lens.Getter"] = PS["Data.Lens.Getter"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Closed = PS["Data.Profunctor.Closed"]; var Prelude = PS["Prelude"]; var Grating = function (x) { return x; }; var profunctorGrating = new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return function (d) { return g(v(function (k) { return d(function ($9) { return k(f($9)); }); })); }; }; }; }); var newtypeGrating = new Data_Newtype.Newtype(function (n) { return n; }, Grating); var closedGrating = new Data_Profunctor_Closed.Closed(function () { return profunctorGrating; }, function (v) { return function (f) { return function (x) { return v(function (k) { return f(function (g) { return k(g(x)); }); }); }; }; }); exports["Grating"] = Grating; exports["newtypeGrating"] = newtypeGrating; exports["profunctorGrating"] = profunctorGrating; exports["closedGrating"] = closedGrating; })(PS["Data.Lens.Internal.Grating"] = PS["Data.Lens.Internal.Grating"] || {}); (function(exports) { "use strict"; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Closed = PS["Data.Profunctor.Closed"]; var Zipping = function (x) { return x; }; var profunctorZipping = new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return function (a1) { return function (a2) { return g(v(f(a1))(f(a2))); }; }; }; }; }); var newtypeZipping = new Data_Newtype.Newtype(function (n) { return n; }, Zipping); var closedZipping = new Data_Profunctor_Closed.Closed(function () { return profunctorZipping; }, function (v) { return function (f1) { return function (f2) { return function (x) { return v(f1(x))(f2(x)); }; }; }; }); exports["Zipping"] = Zipping; exports["newtypeZipping"] = newtypeZipping; exports["profunctorZipping"] = profunctorZipping; exports["closedZipping"] = closedZipping; })(PS["Data.Lens.Internal.Zipping"] = PS["Data.Lens.Internal.Zipping"] || {}); (function(exports) { "use strict"; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Tuple = PS["Data.Tuple"]; // | The `Costrong` class provides the dual operations of the `Strong` class. var Costrong = function (Profunctor0, unfirst, unsecond) { this.Profunctor0 = Profunctor0; this.unfirst = unfirst; this.unsecond = unsecond; }; var unsecond = function (dict) { return dict.unsecond; }; var unfirst = function (dict) { return dict.unfirst; }; exports["Costrong"] = Costrong; exports["unfirst"] = unfirst; exports["unsecond"] = unsecond; })(PS["Data.Profunctor.Costrong"] = PS["Data.Profunctor.Costrong"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Distributive = PS["Data.Distributive"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Closed = PS["Data.Profunctor.Closed"]; var Data_Profunctor_Cochoice = PS["Data.Profunctor.Cochoice"]; var Data_Profunctor_Costrong = PS["Data.Profunctor.Costrong"]; var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | `Costar` turns a `Functor` into a `Profunctor` "backwards". // | // | `Costar f` is also the co-Kleisli category for `f`. var Costar = function (x) { return x; }; var semigroupoidCostar = function (dictExtend) { return new Control_Semigroupoid.Semigroupoid(function (v) { return function (v1) { return Control_Extend.composeCoKleisliFlipped(dictExtend)(v)(v1); }; }); }; var profunctorCostar = function (dictFunctor) { return new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return function ($54) { return g(v(Data_Functor.map(dictFunctor)(f)($54))); }; }; }; }); }; var strongCostar = function (dictComonad) { return new Data_Profunctor_Strong.Strong(function () { return profunctorCostar((dictComonad.Extend0()).Functor0()); }, function (v) { return function (x) { return new Data_Tuple.Tuple(v(Data_Functor.map((dictComonad.Extend0()).Functor0())(Data_Tuple.fst)(x)), Data_Tuple.snd(Control_Comonad.extract(dictComonad)(x))); }; }, function (v) { return function (x) { return new Data_Tuple.Tuple(Data_Tuple.fst(Control_Comonad.extract(dictComonad)(x)), v(Data_Functor.map((dictComonad.Extend0()).Functor0())(Data_Tuple.snd)(x))); }; }); }; var newtypeCostar = new Data_Newtype.Newtype(function (n) { return n; }, Costar); var hoistCostar = function (f) { return function (v) { return Data_Profunctor.lmap(Data_Profunctor.profunctorFn)(f)(v); }; }; var functorCostar = new Data_Functor.Functor(function (f) { return function (v) { return function ($55) { return f(v($55)); }; }; }); var invariantCostar = new Data_Functor_Invariant.Invariant(Data_Functor_Invariant.imapF(functorCostar)); var distributiveCostar = new Data_Distributive.Distributive(function () { return functorCostar; }, function (dictFunctor) { return function (f) { return function ($56) { return Data_Distributive.distribute(distributiveCostar)(dictFunctor)(Data_Functor.map(dictFunctor)(f)($56)); }; }; }, function (dictFunctor) { return function (f) { return function (a) { return Data_Functor.map(dictFunctor)(function (v) { return v(a); })(f); }; }; }); var costrongCostar = function (dictFunctor) { return new Data_Profunctor_Costrong.Costrong(function () { return profunctorCostar(dictFunctor); }, function (v) { return function (fb) { var bd = v(Data_Functor.map(dictFunctor)(function (a) { return new Data_Tuple.Tuple(a, Data_Tuple.snd(bd)); })(fb)); return Data_Tuple.fst(bd); }; }, function (v) { return function (fb) { var db = v(Data_Functor.map(dictFunctor)(function (a) { return new Data_Tuple.Tuple(Data_Tuple.fst(db), a); })(fb)); return Data_Tuple.snd(db); }; }); }; var cochoiceCostar = function (dictApplicative) { return new Data_Profunctor_Cochoice.Cochoice(function () { return profunctorCostar((dictApplicative.Apply0()).Functor0()); }, function (v) { var g = function ($57) { return Data_Either.either(Control_Category.id(Control_Category.categoryFn))(function (r) { return g(Control_Applicative.pure(dictApplicative)(new Data_Either.Right(r))); })(v($57)); }; return function ($58) { return g(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Either.Left.create)($58)); }; }, function (v) { var g = function ($59) { return Data_Either.either(function (l) { return g(Control_Applicative.pure(dictApplicative)(new Data_Either.Left(l))); })(Control_Category.id(Control_Category.categoryFn))(v($59)); }; return function ($60) { return g(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Either.Right.create)($60)); }; }); }; var closedCostar = function (dictFunctor) { return new Data_Profunctor_Closed.Closed(function () { return profunctorCostar(dictFunctor); }, function (v) { return function (g) { return function (x) { return v(Data_Functor.map(dictFunctor)(function (v1) { return v1(x); })(g)); }; }; }); }; var categoryCostar = function (dictComonad) { return new Control_Category.Category(function () { return semigroupoidCostar(dictComonad.Extend0()); }, Control_Comonad.extract(dictComonad)); }; var applyCostar = new Control_Apply.Apply(function () { return functorCostar; }, function (v) { return function (v1) { return function (a) { return v(a)(v1(a)); }; }; }); var bindCostar = new Control_Bind.Bind(function () { return applyCostar; }, function (v) { return function (f) { return function (x) { var v1 = f(v(x)); return v1(x); }; }; }); var applicativeCostar = new Control_Applicative.Applicative(function () { return applyCostar; }, function (a) { return function (v) { return a; }; }); var monadCostar = new Control_Monad.Monad(function () { return applicativeCostar; }, function () { return bindCostar; }); exports["Costar"] = Costar; exports["hoistCostar"] = hoistCostar; exports["newtypeCostar"] = newtypeCostar; exports["semigroupoidCostar"] = semigroupoidCostar; exports["categoryCostar"] = categoryCostar; exports["functorCostar"] = functorCostar; exports["invariantCostar"] = invariantCostar; exports["applyCostar"] = applyCostar; exports["applicativeCostar"] = applicativeCostar; exports["bindCostar"] = bindCostar; exports["monadCostar"] = monadCostar; exports["distributiveCostar"] = distributiveCostar; exports["profunctorCostar"] = profunctorCostar; exports["strongCostar"] = strongCostar; exports["costrongCostar"] = costrongCostar; exports["cochoiceCostar"] = cochoiceCostar; exports["closedCostar"] = closedCostar; })(PS["Data.Profunctor.Costar"] = PS["Data.Profunctor.Costar"] || {}); (function(exports) { // | This module defines functions for working with grates. // | // | See . "use strict"; var Control_Category = PS["Control.Category"]; var Data_Distributive = PS["Data.Distributive"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Lens_Internal_Grating = PS["Data.Lens.Internal.Grating"]; var Data_Lens_Internal_Zipping = PS["Data.Lens.Internal.Zipping"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Closed = PS["Data.Profunctor.Closed"]; var Data_Profunctor_Costar = PS["Data.Profunctor.Costar"]; var Data_Profunctor_Star = PS["Data.Profunctor.Star"]; var Prelude = PS["Prelude"]; var zipWithOf = function (g) { return function (f) { return Data_Newtype.unwrap(Data_Lens_Internal_Zipping.newtypeZipping)(g(f)); }; }; var zipFWithOf = function (g) { return function (f) { return Data_Newtype.unwrap(Data_Profunctor_Costar.newtypeCostar)(g(f)); }; }; var withGrate = function (g) { return Data_Newtype.unwrap(Data_Lens_Internal_Grating.newtypeGrating)(g(function (f) { return f(Control_Category.id(Control_Category.categoryFn)); })); }; var grate = function (f) { return function (dictClosed) { return function (pab) { return Data_Profunctor.dimap(dictClosed.Profunctor0())(Data_Function.applyFlipped)(f)(Data_Profunctor_Closed.closed(dictClosed)(pab)); }; }; }; var cotraversed = function (dictDistributive) { return function (dictClosed) { return grate(function (f) { return Data_Distributive.cotraverse(dictDistributive)(Data_Functor.functorFn)(f)(Control_Category.id(Control_Category.categoryFn)); })(dictClosed); }; }; var collectOf = function (g) { return function (f) { return Data_Newtype.unwrap(Data_Profunctor_Star.newtypeStar)(g(f)); }; }; var cloneGrate = function (g) { return function (dictClosed) { return grate(withGrate(g))(dictClosed); }; }; exports["cloneGrate"] = cloneGrate; exports["collectOf"] = collectOf; exports["cotraversed"] = cotraversed; exports["grate"] = grate; exports["withGrate"] = withGrate; exports["zipFWithOf"] = zipFWithOf; exports["zipWithOf"] = zipWithOf; })(PS["Data.Lens.Grate"] = PS["Data.Lens.Grate"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Monad_State = PS["Control.Monad.State"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_State_Trans = PS["Control.Monad.State.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Compose = PS["Data.Functor.Compose"]; var Data_Identity = PS["Data.Identity"]; var Data_Lens_Internal_Indexed = PS["Data.Lens.Internal.Indexed"]; var Data_Lens_Internal_Wander = PS["Data.Lens.Internal.Wander"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Star = PS["Data.Profunctor.Star"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Converts an `IndexedOptic` to an `Optic` by forgetting indices. var unIndex = function (dictProfunctor) { return function (l) { return function ($7) { return l(Data_Lens_Internal_Indexed.Indexed(Data_Profunctor.dimap(dictProfunctor)(Data_Tuple.snd)(Control_Category.id(Control_Category.categoryFn))($7))); }; }; }; // | Converts a `lens`-like indexed traversal to an `IndexedTraversal`. var iwander = function (itr) { return function (dictWander) { return function ($8) { return Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return function (f) { return function (s) { return itr(dictApplicative)(Data_Tuple.curry(f))(s); }; }; })(Data_Newtype.unwrap(Data_Lens_Internal_Indexed.newtypeIndexed)($8)); }; }; }; // | Converts a `Traversal` to an `IndexedTraversal` by using the integer // | positions as indices. var positions = function (tr) { return function (dictWander) { return iwander(function (dictApplicative) { return function (f) { return function (s) { return Data_Function.flip(Control_Monad_State.evalState)(0)(Data_Newtype.unwrap(Data_Functor_Compose.newtypeCompose)(Data_Function.flip(Data_Newtype.unwrap(Data_Profunctor_Star.newtypeStar))(s)(tr(Data_Lens_Internal_Wander.wanderStar(Data_Functor_Compose.applicativeCompose(Control_Monad_State_Trans.applicativeStateT(Data_Identity.monadIdentity))(dictApplicative)))(function (a) { return Data_Functor_Compose.Compose(Control_Apply.applyFirst(Control_Monad_State_Trans.applyStateT(Data_Identity.monadIdentity))(Control_Apply.apply(Control_Monad_State_Trans.applyStateT(Data_Identity.monadIdentity))(Data_Functor.map(Control_Monad_State_Trans.functorStateT(Data_Identity.functorIdentity))(f)(Control_Monad_State_Class.get(Control_Monad_State_Trans.monadStateStateT(Data_Identity.monadIdentity))))(Control_Applicative.pure(Control_Monad_State_Trans.applicativeStateT(Data_Identity.monadIdentity))(a)))(Control_Monad_State_Class.modify(Control_Monad_State_Trans.monadStateStateT(Data_Identity.monadIdentity))(function (v) { return v + 1 | 0; }))); })))); }; }; })(dictWander); }; }; var asIndex = function (dictProfunctor) { return function (l) { return function ($9) { return l(Data_Lens_Internal_Indexed.Indexed(Data_Profunctor.dimap(dictProfunctor)(Data_Tuple.fst)(Control_Category.id(Control_Category.categoryFn))($9))); }; }; }; exports["asIndex"] = asIndex; exports["iwander"] = iwander; exports["positions"] = positions; exports["unIndex"] = unIndex; })(PS["Data.Lens.Indexed"] = PS["Data.Lens.Indexed"] || {}); (function(exports) { // | This module defines the `Exchange` profunctor "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor = PS["Data.Functor"]; var Data_Profunctor = PS["Data.Profunctor"]; var Prelude = PS["Prelude"]; // | The `Exchange` profunctor characterizes an `Iso`. var Exchange = (function () { function Exchange(value0, value1) { this.value0 = value0; this.value1 = value1; }; Exchange.create = function (value0) { return function (value1) { return new Exchange(value0, value1); }; }; return Exchange; })(); var profunctorExchange = new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return new Exchange(function ($11) { return v.value0(f($11)); }, function ($12) { return g(v.value1($12)); }); }; }; }); var functorExchange = new Data_Functor.Functor(function (f) { return function (v) { return new Exchange(v.value0, function ($13) { return f(v.value1($13)); }); }; }); exports["Exchange"] = Exchange; exports["functorExchange"] = functorExchange; exports["profunctorExchange"] = profunctorExchange; })(PS["Data.Lens.Internal.Exchange"] = PS["Data.Lens.Internal.Exchange"] || {}); (function(exports) { // | This module defines the `Focusing` functor "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor = PS["Data.Functor"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | The functor used to zoom into `StateT`. var Focusing = function (x) { return x; }; var newtypeFocusing = new Data_Newtype.Newtype(function (n) { return n; }, Focusing); var focusingFunctor = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Tuple.functorTuple)(f))(v); }; }); }; var focusingApply = function (dictApply) { return function (dictSemigroup) { return new Control_Apply.Apply(function () { return focusingFunctor(dictApply.Functor0()); }, function (v) { return function (v1) { return Control_Apply.apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Control_Apply.apply(Data_Tuple.applyTuple(dictSemigroup)))(v))(v1); }; }); }; }; var focusingApplicative = function (dictApplicative) { return function (dictMonoid) { return new Control_Applicative.Applicative(function () { return focusingApply(dictApplicative.Apply0())(dictMonoid.Semigroup0()); }, function ($15) { return Focusing(Control_Applicative.pure(dictApplicative)(Control_Applicative.pure(Data_Tuple.applicativeTuple(dictMonoid))($15))); }); }; }; exports["Focusing"] = Focusing; exports["newtypeFocusing"] = newtypeFocusing; exports["focusingFunctor"] = focusingFunctor; exports["focusingApply"] = focusingApply; exports["focusingApplicative"] = focusingApplicative; })(PS["Data.Lens.Internal.Focusing"] = PS["Data.Lens.Internal.Focusing"] || {}); (function(exports) { // | This module defines the `Market` profunctor "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Either = PS["Data.Either"]; var Data_Functor = PS["Data.Functor"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; var Prelude = PS["Prelude"]; // | The `Market` profunctor characterizes a `Prism`. var Market = (function () { function Market(value0, value1) { this.value0 = value0; this.value1 = value1; }; Market.create = function (value0) { return function (value1) { return new Market(value0, value1); }; }; return Market; })(); var profunctorMarket = new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return new Market(function ($19) { return g(v.value0($19)); }, function ($20) { return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(g)(v.value1(f($20))); }); }; }; }); var functorMarket = new Data_Functor.Functor(function (f) { return function (v) { return new Market(function ($21) { return f(v.value0($21)); }, function ($22) { return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(f)(v.value1($22)); }); }; }); var choiceMarket = new Data_Profunctor_Choice.Choice(function () { return profunctorMarket; }, function (v) { return new Market(function ($23) { return Data_Either.Left.create(v.value0($23)); }, Data_Either.either(function ($24) { return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(Data_Either.Left.create)(v.value1($24)); })(function ($25) { return Data_Either.Left.create(Data_Either.Right.create($25)); })); }, function (v) { return new Market(function ($26) { return Data_Either.Right.create(v.value0($26)); }, Data_Either.either(function ($27) { return Data_Either.Left.create(Data_Either.Left.create($27)); })(function ($28) { return Data_Bifunctor.lmap(Data_Either.bifunctorEither)(Data_Either.Right.create)(v.value1($28)); })); }); exports["Market"] = Market; exports["functorMarket"] = functorMarket; exports["profunctorMarket"] = profunctorMarket; exports["choiceMarket"] = choiceMarket; })(PS["Data.Lens.Internal.Market"] = PS["Data.Lens.Internal.Market"] || {}); (function(exports) { // | This module defines the `Re` profunctor "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; var Data_Profunctor_Cochoice = PS["Data.Profunctor.Cochoice"]; var Data_Profunctor_Costrong = PS["Data.Profunctor.Costrong"]; var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; var Prelude = PS["Prelude"]; var Re = function (x) { return x; }; var profunctorRe = function (dictProfunctor) { return new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return function ($28) { return v(Data_Profunctor.dimap(dictProfunctor)(g)(f)($28)); }; }; }; }); }; var strongRe = function (dictStrong) { return new Data_Profunctor_Costrong.Costrong(function () { return profunctorRe(dictStrong.Profunctor0()); }, function (v) { return function ($29) { return v(Data_Profunctor_Strong.first(dictStrong)($29)); }; }, function (v) { return function ($30) { return v(Data_Profunctor_Strong.second(dictStrong)($30)); }; }); }; var newtypeRe = new Data_Newtype.Newtype(function (n) { return n; }, Re); var costrongRe = function (dictCostrong) { return new Data_Profunctor_Strong.Strong(function () { return profunctorRe(dictCostrong.Profunctor0()); }, function (v) { return function ($31) { return v(Data_Profunctor_Costrong.unfirst(dictCostrong)($31)); }; }, function (v) { return function ($32) { return v(Data_Profunctor_Costrong.unsecond(dictCostrong)($32)); }; }); }; var cochoiceRe = function (dictCochoice) { return new Data_Profunctor_Choice.Choice(function () { return profunctorRe(dictCochoice.Profunctor0()); }, function (v) { return function ($33) { return v(Data_Profunctor_Cochoice.unleft(dictCochoice)($33)); }; }, function (v) { return function ($34) { return v(Data_Profunctor_Cochoice.unright(dictCochoice)($34)); }; }); }; var choiceRe = function (dictChoice) { return new Data_Profunctor_Cochoice.Cochoice(function () { return profunctorRe(dictChoice.Profunctor0()); }, function (v) { return function ($35) { return v(Data_Profunctor_Choice.left(dictChoice)($35)); }; }, function (v) { return function ($36) { return v(Data_Profunctor_Choice.right(dictChoice)($36)); }; }); }; exports["Re"] = Re; exports["newtypeRe"] = newtypeRe; exports["profunctorRe"] = profunctorRe; exports["choiceRe"] = choiceRe; exports["cochoiceRe"] = cochoiceRe; exports["strongRe"] = strongRe; exports["costrongRe"] = costrongRe; })(PS["Data.Lens.Internal.Re"] = PS["Data.Lens.Internal.Re"] || {}); (function(exports) { // | This module defines the `Tagged` profunctor "use strict"; var Data_Either = PS["Data.Either"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; var Data_Profunctor_Costrong = PS["Data.Profunctor.Costrong"]; var Data_Tuple = PS["Data.Tuple"]; var Tagged = function (x) { return x; }; var taggedProfunctor = new Data_Profunctor.Profunctor(function (v) { return function (g) { return function (v1) { return g(v1); }; }; }); var taggedCostrong = new Data_Profunctor_Costrong.Costrong(function () { return taggedProfunctor; }, function (v) { return v.value0; }, function (v) { return v.value1; }); var taggedChoice = new Data_Profunctor_Choice.Choice(function () { return taggedProfunctor; }, function (v) { return new Data_Either.Left(v); }, function (v) { return new Data_Either.Right(v); }); var newtypeTagged = new Data_Newtype.Newtype(function (n) { return n; }, Tagged); exports["Tagged"] = Tagged; exports["newtypeTagged"] = newtypeTagged; exports["taggedProfunctor"] = taggedProfunctor; exports["taggedChoice"] = taggedChoice; exports["taggedCostrong"] = taggedCostrong; })(PS["Data.Lens.Internal.Tagged"] = PS["Data.Lens.Internal.Tagged"] || {}); (function(exports) { // | This module defines functions for working with isomorphisms. "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Lens_Internal_Exchange = PS["Data.Lens.Internal.Exchange"]; var Data_Lens_Internal_Re = PS["Data.Lens.Internal.Re"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Extracts the pair of morphisms from an isomorphism. var withIso = function (l) { return function (f) { var v = l(new Data_Lens_Internal_Exchange.Exchange(Control_Category.id(Control_Category.categoryFn), Control_Category.id(Control_Category.categoryFn))); return f(v.value0)(v.value1); }; }; var under = function (l) { return withIso(l)(function (sa) { return function (bt) { return function (ts) { return function ($19) { return sa(ts(bt($19))); }; }; }; }); }; // | Reverses an optic. var re = function (t) { return Data_Newtype.unwrap(Data_Lens_Internal_Re.newtypeRe)(t(Control_Category.id(Control_Category.categoryFn))); }; // | Create an `Iso` from a pair of morphisms. var iso = function (f) { return function (g) { return function (dictProfunctor) { return function (pab) { return Data_Profunctor.dimap(dictProfunctor)(f)(g)(pab); }; }; }; }; var mapping = function (dictFunctor) { return function (dictFunctor1) { return function (l) { return function (dictProfunctor) { return withIso(l)(function (sa) { return function (bt) { return iso(Data_Functor.map(dictFunctor)(sa))(Data_Functor.map(dictFunctor1)(bt))(dictProfunctor); }; }); }; }; }; }; // | If `a1` is obtained from `a` by removing a single value, then // | `Maybe a1` is isomorphic to `a`. var non = function (dictEq) { return function (def) { return function (dictProfunctor) { var g = function (a) { if (Data_Eq.eq(dictEq)(a)(def)) { return Data_Maybe.Nothing.value; }; if (Data_Boolean.otherwise) { return new Data_Maybe.Just(a); }; throw new Error("Failed pattern match at Data.Lens.Iso line 44, column 9 - line 45, column 33: " + [ a.constructor.name ]); }; return iso(Data_Maybe.fromMaybe(def))(g)(dictProfunctor); }; }; }; var uncurried = function (dictProfunctor) { return iso(Data_Tuple.uncurry)(Data_Tuple.curry)(dictProfunctor); }; var flipped = function (dictProfunctor) { return iso(Data_Function.flip)(Data_Function.flip)(dictProfunctor); }; var dimapping = function (dictProfunctor) { return function (dictProfunctor1) { return function (f) { return function (g) { return function (dictProfunctor2) { return withIso(f)(function (sa) { return function (bt) { return withIso(g)(function (ssaa) { return function (bbtt) { return iso(Data_Profunctor.dimap(dictProfunctor)(sa)(ssaa))(Data_Profunctor.dimap(dictProfunctor1)(bt)(bbtt))(dictProfunctor2); }; }); }; }); }; }; }; }; }; var curried = function (dictProfunctor) { return iso(Data_Tuple.curry)(Data_Tuple.uncurry)(dictProfunctor); }; // | Extracts an `Iso` from `AnIso`. var cloneIso = function (l) { return function (dictProfunctor) { return withIso(l)(function (x) { return function (y) { return function (p) { return iso(x)(y)(dictProfunctor)(p); }; }; }); }; }; var auf = function (dictProfunctor) { return function (l) { return withIso(l)(function (sa) { return function (bt) { return function (f) { return function (g) { return function (e) { return bt(f(Data_Profunctor.rmap(dictProfunctor)(sa)(g))(e)); }; }; }; }; }); }; }; var au = function (l) { return withIso(l)(function (sa) { return function (bt) { return function (f) { return function (e) { return sa(f(bt)(e)); }; }; }; }); }; exports["au"] = au; exports["auf"] = auf; exports["cloneIso"] = cloneIso; exports["curried"] = curried; exports["dimapping"] = dimapping; exports["flipped"] = flipped; exports["iso"] = iso; exports["mapping"] = mapping; exports["non"] = non; exports["re"] = re; exports["uncurried"] = uncurried; exports["under"] = under; exports["withIso"] = withIso; })(PS["Data.Lens.Iso"] = PS["Data.Lens.Iso"] || {}); (function(exports) { "use strict"; var Data_Lens_Iso = PS["Data.Lens.Iso"]; var Data_Newtype = PS["Data.Newtype"]; var _Newtype = function (dictNewtype) { return function (dictNewtype1) { return function (dictProfunctor) { return Data_Lens_Iso.iso(Data_Newtype.unwrap(dictNewtype))(Data_Newtype.wrap(dictNewtype1))(dictProfunctor); }; }; }; exports["_Newtype"] = _Newtype; })(PS["Data.Lens.Iso.Newtype"] = PS["Data.Lens.Iso.Newtype"] || {}); (function(exports) { "use strict"; var Data_Lens_Lens = PS["Data.Lens.Lens"]; var Data_Profunctor_Strong = PS["Data.Profunctor.Strong"]; var Data_Tuple = PS["Data.Tuple"]; // | Lens for the second component of a `Tuple`. var _2 = function (dictStrong) { return Data_Profunctor_Strong.second(dictStrong); }; // | Lens for the first component of a `Tuple`. var _1 = function (dictStrong) { return Data_Profunctor_Strong.first(dictStrong); }; exports["_1"] = _1; exports["_2"] = _2; })(PS["Data.Lens.Lens.Tuple"] = PS["Data.Lens.Lens.Tuple"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor_Product = PS["Data.Functor.Product"]; var Data_Lens_Iso_Newtype = PS["Data.Lens.Iso.Newtype"]; var Data_Lens_Lens = PS["Data.Lens.Lens"]; var Data_Lens_Lens_Tuple = PS["Data.Lens.Lens.Tuple"]; var Prelude = PS["Prelude"]; // | Lens for the second component of a `Product`. var _2 = function (dictStrong) { return function ($2) { return Data_Lens_Iso_Newtype._Newtype(Data_Functor_Product.newtypeProduct)(Data_Functor_Product.newtypeProduct)(dictStrong.Profunctor0())(Data_Lens_Lens_Tuple._2(dictStrong)($2)); }; }; // | Lens for the first component of a `Product`. var _1 = function (dictStrong) { return function ($3) { return Data_Lens_Iso_Newtype._Newtype(Data_Functor_Product.newtypeProduct)(Data_Functor_Product.newtypeProduct)(dictStrong.Profunctor0())(Data_Lens_Lens_Tuple._1(dictStrong)($3)); }; }; exports["_1"] = _1; exports["_2"] = _2; })(PS["Data.Lens.Lens.Product"] = PS["Data.Lens.Lens.Product"] || {}); (function(exports) { "use strict"; var Data_Function = PS["Data.Function"]; var Data_Lens_Lens = PS["Data.Lens.Lens"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | There is a `Unit` in everything. var united = function (dictStrong) { return Data_Lens_Lens.lens(Data_Function["const"](Data_Unit.unit))(Data_Function["const"])(dictStrong); }; exports["united"] = united; })(PS["Data.Lens.Lens.Unit"] = PS["Data.Lens.Lens.Unit"] || {}); (function(exports) { "use strict"; var Data_Function = PS["Data.Function"]; var Data_Lens_Lens = PS["Data.Lens.Lens"]; var Data_Void = PS["Data.Void"]; var Prelude = PS["Prelude"]; // | There is everything in `Void`. var devoid = function (dictStrong) { return Data_Lens_Lens.lens(Data_Void.absurd)(Data_Function["const"])(dictStrong); }; exports["devoid"] = devoid; })(PS["Data.Lens.Lens.Void"] = PS["Data.Lens.Lens.Void"] || {}); (function(exports) { // | This module defines functions for working with prisms. "use strict"; var Control_Category = PS["Control.Category"]; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Lens_Internal_Market = PS["Data.Lens.Internal.Market"]; var Data_Lens_Internal_Tagged = PS["Data.Lens.Internal.Tagged"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; var Prelude = PS["Prelude"]; var withPrism = function (l) { return function (f) { var v = l(new Data_Lens_Internal_Market.Market(Control_Category.id(Control_Category.categoryFn), Data_Either.Right.create)); return f(v.value0)(v.value1); }; }; // | Review a value through a `Prism`. var review = Data_Newtype.under(Data_Lens_Internal_Tagged.newtypeTagged)(Data_Lens_Internal_Tagged.newtypeTagged)(Data_Lens_Internal_Tagged.Tagged); // | Create a `Prism` from a constructor/pattern pair. var prism = function (to) { return function (fro) { return function (dictChoice) { return function (pab) { return Data_Profunctor.dimap(dictChoice.Profunctor0())(fro)(Data_Either.either(Control_Category.id(Control_Category.categoryFn))(Control_Category.id(Control_Category.categoryFn)))(Data_Profunctor_Choice.right(dictChoice)(Data_Profunctor.rmap(dictChoice.Profunctor0())(to)(pab))); }; }; }; }; var prism$prime = function (to) { return function (fro) { return function (dictChoice) { return prism(to)(function (s) { return Data_Maybe.maybe(new Data_Either.Left(s))(Data_Either.Right.create)(fro(s)); })(dictChoice); }; }; }; var nearly = function (x) { return function (f) { return function (dictChoice) { return prism$prime(Data_Function["const"](x))(function ($14) { return Control_MonadZero.guard(Data_Maybe.monadZeroMaybe)(f($14)); })(dictChoice); }; }; }; var only = function (dictEq) { return function (x) { return function (dictChoice) { return nearly(x)(function (v) { return Data_Eq.eq(dictEq)(v)(x); })(dictChoice); }; }; }; var matching = function (l) { return withPrism(l)(function (v) { return function (f) { return f; }; }); }; var is = function (dictHeytingAlgebra) { return function (l) { return function ($15) { return Data_Either.either(Data_Function["const"](Data_HeytingAlgebra.ff(dictHeytingAlgebra)))(Data_Function["const"](Data_HeytingAlgebra.tt(dictHeytingAlgebra)))(matching(l)($15)); }; }; }; var isn$primet = function (dictHeytingAlgebra) { return function (l) { return function ($16) { return Data_HeytingAlgebra.not(dictHeytingAlgebra)(is(dictHeytingAlgebra)(l)($16)); }; }; }; var clonePrism = function (l) { return function (dictChoice) { return withPrism(l)(function (x) { return function (y) { return function (p) { return prism(x)(y)(dictChoice)(p); }; }; }); }; }; exports["clonePrism"] = clonePrism; exports["is"] = is; exports["isn't"] = isn$primet; exports["matching"] = matching; exports["nearly"] = nearly; exports["only"] = only; exports["prism"] = prism; exports["prism'"] = prism$prime; exports["review"] = review; exports["withPrism"] = withPrism; })(PS["Data.Lens.Prism"] = PS["Data.Lens.Prism"] || {}); (function(exports) { "use strict"; var Data_Either = PS["Data.Either"]; var Data_Lens_Prism = PS["Data.Lens.Prism"]; var Data_Profunctor_Choice = PS["Data.Profunctor.Choice"]; // | Prism for the `Right` constructor of `Either`. var _Right = function (dictChoice) { return Data_Profunctor_Choice.right(dictChoice); }; // | Prism for the `Left` constructor of `Either`. var _Left = function (dictChoice) { return Data_Profunctor_Choice.left(dictChoice); }; exports["_Left"] = _Left; exports["_Right"] = _Right; })(PS["Data.Lens.Prism.Either"] = PS["Data.Lens.Prism.Either"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor_Coproduct = PS["Data.Functor.Coproduct"]; var Data_Lens_Iso_Newtype = PS["Data.Lens.Iso.Newtype"]; var Data_Lens_Prism = PS["Data.Lens.Prism"]; var Data_Lens_Prism_Either = PS["Data.Lens.Prism.Either"]; var Prelude = PS["Prelude"]; // | Prism for the `right` of a `Coproduct`. var _Right = function (dictChoice) { return function ($2) { return Data_Lens_Iso_Newtype._Newtype(Data_Functor_Coproduct.newtypeCoproduct)(Data_Functor_Coproduct.newtypeCoproduct)(dictChoice.Profunctor0())(Data_Lens_Prism_Either._Right(dictChoice)($2)); }; }; // | Prism for the `left` of a `Coproduct`. var _Left = function (dictChoice) { return function ($3) { return Data_Lens_Iso_Newtype._Newtype(Data_Functor_Coproduct.newtypeCoproduct)(Data_Functor_Coproduct.newtypeCoproduct)(dictChoice.Profunctor0())(Data_Lens_Prism_Either._Left(dictChoice)($3)); }; }; exports["_Left"] = _Left; exports["_Right"] = _Right; })(PS["Data.Lens.Prism.Coproduct"] = PS["Data.Lens.Prism.Coproduct"] || {}); (function(exports) { "use strict"; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Lens_Prism = PS["Data.Lens.Prism"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | Prism for the `Nothing` constructor of `Maybe`. var _Nothing = function (dictChoice) { return Data_Lens_Prism.prism(Data_Function["const"](Data_Maybe.Nothing.value))(Data_Maybe.maybe(new Data_Either.Right(Data_Unit.unit))(Data_Function["const"](new Data_Either.Left(Data_Maybe.Nothing.value))))(dictChoice); }; // | Prism for the `Just` constructor of `Maybe`. var _Just = function (dictChoice) { return Data_Lens_Prism.prism(Data_Maybe.Just.create)(Data_Maybe.maybe(new Data_Either.Left(Data_Maybe.Nothing.value))(Data_Either.Right.create))(dictChoice); }; exports["_Just"] = _Just; exports["_Nothing"] = _Nothing; })(PS["Data.Lens.Prism.Maybe"] = PS["Data.Lens.Prism.Maybe"] || {}); (function(exports) { "use strict"; var Data_Semigroup = PS["Data.Semigroup"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; // | A value-level proxy for a type-level symbol. var SProxy = (function () { function SProxy() { }; SProxy.value = new SProxy(); return SProxy; })(); // | A class for known symbols var IsSymbol = function (reflectSymbol) { this.reflectSymbol = reflectSymbol; }; var reifySymbol = function (s) { return function (f) { return Unsafe_Coerce.unsafeCoerce(function (dictIsSymbol) { return f(dictIsSymbol); })({ reflectSymbol: function (v) { return s; } })(SProxy.value); }; }; var reflectSymbol = function (dict) { return dict.reflectSymbol; }; var isSymbolTypeConcat = function (dictIsSymbol) { return function (dictIsSymbol1) { return new IsSymbol(function (v) { return reflectSymbol(dictIsSymbol)(SProxy.value) + reflectSymbol(dictIsSymbol1)(SProxy.value); }); }; }; exports["SProxy"] = SProxy; exports["IsSymbol"] = IsSymbol; exports["reflectSymbol"] = reflectSymbol; exports["reifySymbol"] = reifySymbol; exports["isSymbolTypeConcat"] = isSymbolTypeConcat; })(PS["Data.Symbol"] = PS["Data.Symbol"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Function = PS["Data.Function"]; var Data_Lens = PS["Data.Lens"]; var Data_Lens_Lens = PS["Data.Lens.Lens"]; var Data_Maybe = PS["Data.Maybe"]; var Data_StrMap = PS["Data.StrMap"]; var Data_Symbol = PS["Data.Symbol"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var unsafeSet = function (s) { return function (a) { return function ($10) { return Unsafe_Coerce.unsafeCoerce(Data_StrMap.insert(s)(a)(Unsafe_Coerce.unsafeCoerce($10))); }; }; }; var unsafeGet = function (s) { return function ($11) { return Data_Maybe.fromJust()(Data_StrMap.lookup(s)(Unsafe_Coerce.unsafeCoerce($11))); }; }; var set = function (dictIsSymbol) { return function (dictRowCons) { return function (dictRowCons1) { return function (l) { return unsafeSet(Data_Symbol.reflectSymbol(dictIsSymbol)(l)); }; }; }; }; var get = function (dictIsSymbol) { return function (dictRowCons) { return function (l) { return unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l)); }; }; }; // | Construct a (type-changing) lens for a record property, by providing a // | proxy for the `Symbol` which corresponds to the property label. // | // | The lens is polymorphic in the rest of the row of property labels. // | // | For example: // | // | ```purescript // | prop (SProxy :: SProxy "foo") // | :: forall a b r. Lens { foo :: a | r } { foo :: b | r } a b // | ``` var prop = function (dictIsSymbol) { return function (dictRowCons) { return function (dictRowCons1) { return function (l) { return function (dictStrong) { return Data_Lens_Lens.lens(get(dictIsSymbol)(dictRowCons)(l))(Data_Function.flip(set(dictIsSymbol)(dictRowCons)(dictRowCons1)(l)))(dictStrong); }; }; }; }; }; exports["prop"] = prop; })(PS["Data.Lens.Record"] = PS["Data.Lens.Record"] || {}); (function(exports) { // | This module defines functions for working with setters. "use strict"; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_EuclideanRing = PS["Data.EuclideanRing"]; var Data_Function = PS["Data.Function"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Lens_Internal_Indexed = PS["Data.Lens.Internal.Indexed"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ring = PS["Data.Ring"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Apply a function to the foci of a `Setter`. var over = function (l) { return l; }; // | Set the foci of a `Setter` to a constant value. var set = function (l) { return function (b) { return over(l)(Data_Function["const"](b)); }; }; var setJust = function (p) { return function ($24) { return set(p)(Data_Maybe.Just.create($24)); }; }; var subOver = function (dictRing) { return function (p) { return function ($25) { return over(p)(Data_Function.flip(Data_Ring.sub(dictRing))($25)); }; }; }; var mulOver = function (dictSemiring) { return function (p) { return function ($26) { return over(p)(Data_Function.flip(Data_Semiring.mul(dictSemiring))($26)); }; }; }; // | Modify the foci of a `Setter` in a monadic state. var modifying = function (dictMonadState) { return function (p) { return function (f) { return Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)); }; }; }; var mulModifying = function (dictMonadState) { return function (dictSemiring) { return function (p) { return function ($27) { return modifying(dictMonadState)(p)(Data_Function.flip(Data_Semiring.mul(dictSemiring))($27)); }; }; }; }; var subModifying = function (dictMonadState) { return function (dictRing) { return function (p) { return function ($28) { return modifying(dictMonadState)(p)(Data_Function.flip(Data_Ring.sub(dictRing))($28)); }; }; }; }; // | Apply a function to the foci of a `Setter` that may vary with the index. var iover = function (l) { return function (f) { return l(Data_Lens_Internal_Indexed.Indexed(Data_Tuple.uncurry(f))); }; }; var divOver = function (dictEuclideanRing) { return function (p) { return function ($29) { return over(p)(Data_Function.flip(Data_EuclideanRing.div(dictEuclideanRing))($29)); }; }; }; var divModifying = function (dictMonadState) { return function (dictEuclideanRing) { return function (p) { return function ($30) { return modifying(dictMonadState)(p)(Data_Function.flip(Data_EuclideanRing.div(dictEuclideanRing))($30)); }; }; }; }; var disjOver = function (dictHeytingAlgebra) { return function (p) { return function ($31) { return over(p)(Data_Function.flip(Data_HeytingAlgebra.disj(dictHeytingAlgebra))($31)); }; }; }; var disjModifying = function (dictMonadState) { return function (dictHeytingAlgebra) { return function (p) { return function ($32) { return modifying(dictMonadState)(p)(Data_Function.flip(Data_HeytingAlgebra.disj(dictHeytingAlgebra))($32)); }; }; }; }; var conjOver = function (dictHeytingAlgebra) { return function (p) { return function ($33) { return over(p)(Data_Function.flip(Data_HeytingAlgebra.conj(dictHeytingAlgebra))($33)); }; }; }; var conjModifying = function (dictMonadState) { return function (dictHeytingAlgebra) { return function (p) { return function ($34) { return modifying(dictMonadState)(p)(Data_Function.flip(Data_HeytingAlgebra.conj(dictHeytingAlgebra))($34)); }; }; }; }; // Stateful // | Set the foci of a `Setter` in a monadic state to a constant value. var assign = function (dictMonadState) { return function (p) { return function (b) { return Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)); }; }; }; var assignJust = function (dictMonadState) { return function (p) { return function ($35) { return assign(dictMonadState)(p)(Data_Maybe.Just.create($35)); }; }; }; var appendOver = function (dictSemigroup) { return function (p) { return function ($36) { return over(p)(Data_Function.flip(Data_Semigroup.append(dictSemigroup))($36)); }; }; }; var appendModifying = function (dictMonadState) { return function (dictSemigroup) { return function (p) { return function ($37) { return modifying(dictMonadState)(p)(Data_Function.flip(Data_Semigroup.append(dictSemigroup))($37)); }; }; }; }; var addOver = function (dictSemiring) { return function (p) { return function ($38) { return over(p)(Data_Semiring.add(dictSemiring)($38)); }; }; }; var addModifying = function (dictMonadState) { return function (dictSemiring) { return function (p) { return function ($39) { return modifying(dictMonadState)(p)(Data_Semiring.add(dictSemiring)($39)); }; }; }; }; exports["addModifying"] = addModifying; exports["addOver"] = addOver; exports["appendModifying"] = appendModifying; exports["appendOver"] = appendOver; exports["assign"] = assign; exports["assignJust"] = assignJust; exports["conjModifying"] = conjModifying; exports["conjOver"] = conjOver; exports["disjModifying"] = disjModifying; exports["disjOver"] = disjOver; exports["divModifying"] = divModifying; exports["divOver"] = divOver; exports["iover"] = iover; exports["modifying"] = modifying; exports["mulModifying"] = mulModifying; exports["mulOver"] = mulOver; exports["over"] = over; exports["set"] = set; exports["setJust"] = setJust; exports["subModifying"] = subModifying; exports["subOver"] = subOver; })(PS["Data.Lens.Setter"] = PS["Data.Lens.Setter"] || {}); (function(exports) { // | This module defines functions for working with traversals. "use strict"; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Category = PS["Control.Category"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Lens_Indexed = PS["Data.Lens.Indexed"]; var Data_Lens_Internal_Indexed = PS["Data.Lens.Internal.Indexed"]; var Data_Lens_Internal_Wander = PS["Data.Lens.Internal.Wander"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Monoid_Disj = PS["Data.Monoid.Disj"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor_Star = PS["Data.Profunctor.Star"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Create a `Traversal` which traverses the elements of a `Traversable` functor. var traversed = function (dictTraversable) { return function (dictWander) { return Data_Lens_Internal_Wander.wander(dictWander)(function (dictApplicative) { return Data_Traversable.traverse(dictTraversable)(dictApplicative); }); }; }; // | Turn a pure profunctor `Traversal` into a `lens`-like `Traversal`. var traverseOf = function (dictApplicative) { return Data_Newtype.under(Data_Profunctor_Star.newtypeStar)(Data_Profunctor_Star.newtypeStar)(Data_Profunctor_Star.Star); }; // | Sequence the foci of a `Traversal`, pulling out an `Applicative` effect. // | If you do not need the result, see `sequenceOf_` for `Fold`s. var sequenceOf = function (dictApplicative) { return function (t) { return traverseOf(dictApplicative)(t)(Control_Category.id(Control_Category.categoryFn)); }; }; // | Turn a pure profunctor `IndexedTraversal` into a `lens`-like `IndexedTraversal`. var itraverseOf = function (dictApplicative) { return function (t) { return function ($24) { return Data_Newtype.under(Data_Profunctor_Star.newtypeStar)(Data_Profunctor_Star.newtypeStar)(Data_Profunctor_Star.Star)(function ($25) { return t(Data_Lens_Internal_Indexed.Indexed($25)); })(Data_Tuple.uncurry($24)); }; }; }; // | Tries to map over a `Traversal`; returns `empty` if the traversal did // | not have any new focus. var failover = function (dictAlternative) { return function (t) { return function (f) { return function (s) { var v = Data_Newtype.unwrap(Data_Profunctor_Star.newtypeStar)(t(Data_Profunctor_Star.Star(function ($26) { return Data_Tuple.Tuple.create(true)(f($26)); })))(s); if (v.value0) { return Control_Applicative.pure(dictAlternative.Applicative0())(v.value1); }; if (!v.value0) { return Control_Plus.empty(dictAlternative.Plus1()); }; throw new Error("Failed pattern match at Data.Lens.Traversal line 55, column 18 - line 57, column 32: " + [ v.constructor.name ]); }; }; }; }; // | Traverse elements of an `IndexedTraversal` whose index satisfy a predicate. var elementsOf = function (dictWander) { return function (tr) { return function (pr) { return Data_Lens_Indexed.iwander(function (dictApplicative) { return function (f) { return Data_Newtype.unwrap(Data_Profunctor_Star.newtypeStar)(tr(Data_Lens_Internal_Wander.wanderStar(dictApplicative))(Data_Lens_Internal_Indexed.Indexed(Data_Profunctor_Star.Star(function (v) { var $21 = pr(v.value0); if ($21) { return f(v.value0)(v.value1); }; return Control_Applicative.pure(dictApplicative)(v.value1); })))); }; })(dictWander); }; }; }; // | Affine traversal the `n`-th focus of a `Traversal`. var element = function (dictWander) { return function (n) { return function (tr) { return Data_Lens_Indexed.unIndex((dictWander.Choice1()).Profunctor0())(elementsOf(dictWander)(function (dictWander1) { return Data_Lens_Indexed.positions(function (dictWander2) { return tr(dictWander2); })(dictWander1); })(function (v) { return v === n; })); }; }; }; exports["element"] = element; exports["elementsOf"] = elementsOf; exports["failover"] = failover; exports["itraverseOf"] = itraverseOf; exports["sequenceOf"] = sequenceOf; exports["traverseOf"] = traverseOf; exports["traversed"] = traversed; })(PS["Data.Lens.Traversal"] = PS["Data.Lens.Traversal"] || {}); (function(exports) { // | This module defines functions for zooming in a state monad. "use strict"; var Control_Monad_State_Trans = PS["Control.Monad.State.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor = PS["Data.Functor"]; var Data_Lens_Internal_Focusing = PS["Data.Lens.Internal.Focusing"]; var Data_Lens_Types = PS["Data.Lens.Types"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor_Star = PS["Data.Profunctor.Star"]; var Prelude = PS["Prelude"]; // | Zooms into a substate in a `StateT` transformer. var zoom = function (p) { return function ($0) { return Control_Monad_State_Trans.StateT(Data_Newtype.underF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Lens_Internal_Focusing.newtypeFocusing)(Data_Lens_Internal_Focusing.newtypeFocusing)(Data_Lens_Internal_Focusing.Focusing)(Data_Newtype.under(Data_Profunctor_Star.newtypeStar)(Data_Profunctor_Star.newtypeStar)(Data_Profunctor_Star.Star)(p))(Control_Monad_State_Trans.runStateT($0))); }; }; exports["zoom"] = zoom; })(PS["Data.Lens.Zoom"] = PS["Data.Lens.Zoom"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Lazy = PS["Data.Lazy"]; var Data_List_Lazy = PS["Data.List.Lazy"]; var Data_List_Lazy_Types = PS["Data.List.Lazy.Types"]; var Data_Maybe = PS["Data.Maybe"]; var Data_NonEmpty = PS["Data.NonEmpty"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Prelude = PS["Prelude"]; var uncons = function (v) { var v1 = Data_Lazy.force(v); return { head: v1.value0, tail: v1.value1 }; }; var toList = function (v) { var v1 = Data_Lazy.force(v); return Data_List_Lazy_Types.cons(v1.value0)(v1.value1); }; var toUnfoldable = function (dictUnfoldable) { return function ($54) { return Data_Unfoldable.unfoldr(dictUnfoldable)(function (xs) { return Data_Functor.map(Data_Maybe.functorMaybe)(function (rec) { return new Data_Tuple.Tuple(rec.head, rec.tail); })(Data_List_Lazy.uncons(xs)); })(toList($54)); }; }; var tail = function (v) { var v1 = Data_Lazy.force(v); return v1.value1; }; var singleton = Control_Applicative.pure(Data_List_Lazy_Types.applicativeNonEmptyList); var repeat = function (x) { return Data_List_Lazy_Types.NonEmptyList(Data_Lazy.defer(function (v) { return new Data_NonEmpty.NonEmpty(x, Data_List_Lazy.repeat(x)); })); }; var length = function (v) { var v1 = Data_Lazy.force(v); return 1 + Data_List_Lazy.length(v1.value1) | 0; }; var last = function (v) { var v1 = Data_Lazy.force(v); return Data_Maybe.fromMaybe(v1.value0)(Data_List_Lazy.last(v1.value1)); }; var iterate = function (f) { return function (x) { return Data_List_Lazy_Types.NonEmptyList(Data_Lazy.defer(function (v) { return new Data_NonEmpty.NonEmpty(x, Data_List_Lazy.iterate(f)(f(x))); })); }; }; var init = function (v) { var v1 = Data_Lazy.force(v); return Data_Maybe.maybe(Data_List_Lazy_Types.nil)(function (v2) { return Data_List_Lazy_Types.cons(v1.value0)(v2); })(Data_List_Lazy.init(v1.value1)); }; var head = function (v) { var v1 = Data_Lazy.force(v); return v1.value0; }; var fromList = function (l) { var v = Data_List_Lazy_Types.step(l); if (v instanceof Data_List_Lazy_Types.Nil) { return Data_Maybe.Nothing.value; }; if (v instanceof Data_List_Lazy_Types.Cons) { return new Data_Maybe.Just(Data_Lazy.defer(function (v1) { return new Data_NonEmpty.NonEmpty(v.value0, v.value1); })); }; throw new Error("Failed pattern match at Data.List.Lazy.NonEmpty line 41, column 3 - line 43, column 61: " + [ v.constructor.name ]); }; var fromFoldable = function (dictFoldable) { return function ($55) { return fromList(Data_List_Lazy.fromFoldable(dictFoldable)($55)); }; }; var concatMap = Data_Function.flip(Control_Bind.bind(Data_List_Lazy_Types.bindNonEmptyList)); var appendFoldable = function (dictFoldable) { return function (nel) { return function (ys) { return Data_Lazy.defer(function (v) { return new Data_NonEmpty.NonEmpty(head(nel), Data_Semigroup.append(Data_List_Lazy_Types.semigroupList)(tail(nel))(Data_List_Lazy.fromFoldable(dictFoldable)(ys))); }); }; }; }; exports["appendFoldable"] = appendFoldable; exports["concatMap"] = concatMap; exports["fromFoldable"] = fromFoldable; exports["fromList"] = fromList; exports["head"] = head; exports["init"] = init; exports["iterate"] = iterate; exports["last"] = last; exports["length"] = length; exports["repeat"] = repeat; exports["singleton"] = singleton; exports["tail"] = tail; exports["toList"] = toList; exports["toUnfoldable"] = toUnfoldable; exports["uncons"] = uncons; })(PS["Data.List.Lazy.NonEmpty"] = PS["Data.List.Lazy.NonEmpty"] || {}); (function(exports) { // | Partial helper functions for working with strict linked lists. "use strict"; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; // | Get all but the first element of a non-empty list. // | // | Running time: `O(1)` var tail = function (dictPartial) { return function (v) { var __unused = function (dictPartial1) { return function ($dollar5) { return $dollar5; }; }; return __unused(dictPartial)((function () { if (v instanceof Data_List_Types.Cons) { return v.value1; }; throw new Error("Failed pattern match at Data.List.Partial line 15, column 1 - line 15, column 46: " + [ v.constructor.name ]); })()); }; }; // | Get the last element of a non-empty list. // | // | Running time: `O(n)` var last = function (dictPartial) { return function (v) { var __unused = function (dictPartial1) { return function ($dollar9) { return $dollar9; }; }; return __unused(dictPartial)((function () { if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Nil) { return v.value0; }; if (v instanceof Data_List_Types.Cons) { return last(dictPartial)(v.value1); }; throw new Error("Failed pattern match at Data.List.Partial line 21, column 1 - line 21, column 41: " + [ v.constructor.name ]); })()); }; }; // | Get all but the last element of a non-empty list. // | // | Running time: `O(n)` var init = function (dictPartial) { return function (v) { var __unused = function (dictPartial1) { return function ($dollar13) { return $dollar13; }; }; return __unused(dictPartial)((function () { if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Nil) { return Data_List_Types.Nil.value; }; if (v instanceof Data_List_Types.Cons) { return new Data_List_Types.Cons(v.value0, init(dictPartial)(v.value1)); }; throw new Error("Failed pattern match at Data.List.Partial line 28, column 1 - line 28, column 46: " + [ v.constructor.name ]); })()); }; }; // | Get the first element of a non-empty list. // | // | Running time: `O(1)`. var head = function (dictPartial) { return function (v) { var __unused = function (dictPartial1) { return function ($dollar17) { return $dollar17; }; }; return __unused(dictPartial)((function () { if (v instanceof Data_List_Types.Cons) { return v.value0; }; throw new Error("Failed pattern match at Data.List.Partial line 9, column 1 - line 9, column 41: " + [ v.constructor.name ]); })()); }; }; exports["head"] = head; exports["init"] = init; exports["last"] = last; exports["tail"] = tail; })(PS["Data.List.Partial"] = PS["Data.List.Partial"] || {}); (function(exports) { // | This module defines the type of _zip lists_, i.e. linked lists // | with a zippy `Applicative` instance. "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Plus = PS["Control.Plus"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List_Lazy = PS["Data.List.Lazy"]; var Data_List_Lazy_Types = PS["Data.List.Lazy.Types"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_Traversable = PS["Data.Traversable"]; var Partial_Unsafe = PS["Partial.Unsafe"]; var Prelude = PS["Prelude"]; // | `ZipList` is a newtype around `List` which provides a zippy // | `Applicative` instance. var ZipList = function (x) { return x; }; var traversableZipList = Data_List_Lazy_Types.traversableList; var showZipList = function (dictShow) { return new Data_Show.Show(function (v) { return "(ZipList " + (Data_Show.show(Data_List_Lazy_Types.showList(dictShow))(v) + ")"); }); }; var semigroupZipList = Data_List_Lazy_Types.semigroupList; var ordZipList = function (dictOrd) { return Data_List_Lazy_Types.ordList(dictOrd); }; var newtypeZipList = new Data_Newtype.Newtype(function (n) { return n; }, ZipList); var monoidZipList = Data_List_Lazy_Types.monoidList; var functorZipList = Data_List_Lazy_Types.functorList; var foldableZipList = Data_List_Lazy_Types.foldableList; var eqZipList = function (dictEq) { return Data_List_Lazy_Types.eqList(dictEq); }; var applyZipList = new Control_Apply.Apply(function () { return functorZipList; }, function (v) { return function (v1) { return Data_List_Lazy.zipWith(Data_Function.apply)(v)(v1); }; }); var zipListIsNotBind = function (dictFail) { return new Control_Bind.Bind(function () { return applyZipList; }, Partial_Unsafe.unsafeCrashWith("bind: unreachable")); }; var applicativeZipList = new Control_Applicative.Applicative(function () { return applyZipList; }, function ($13) { return ZipList(Data_List_Lazy.repeat($13)); }); var altZipList = new Control_Alt.Alt(function () { return functorZipList; }, Data_Semigroup.append(semigroupZipList)); var plusZipList = new Control_Plus.Plus(function () { return altZipList; }, Data_Monoid.mempty(monoidZipList)); var alternativeZipList = new Control_Alternative.Alternative(function () { return applicativeZipList; }, function () { return plusZipList; }); exports["ZipList"] = ZipList; exports["showZipList"] = showZipList; exports["newtypeZipList"] = newtypeZipList; exports["eqZipList"] = eqZipList; exports["ordZipList"] = ordZipList; exports["semigroupZipList"] = semigroupZipList; exports["monoidZipList"] = monoidZipList; exports["foldableZipList"] = foldableZipList; exports["traversableZipList"] = traversableZipList; exports["functorZipList"] = functorZipList; exports["applyZipList"] = applyZipList; exports["applicativeZipList"] = applicativeZipList; exports["altZipList"] = altZipList; exports["plusZipList"] = plusZipList; exports["alternativeZipList"] = alternativeZipList; exports["zipListIsNotBind"] = zipListIsNotBind; })(PS["Data.List.ZipList"] = PS["Data.List.ZipList"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Control_Monad_Gen_Class = PS["Control.Monad.Gen.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Map = PS["Data.Map"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Generates a `Map` using the specified key and value generators. var genMap = function (dictMonadRec) { return function (dictMonadGen) { return function (dictOrd) { return function (genKey) { return function (genValue) { return Control_Monad_Gen_Class.sized(dictMonadGen)(function (size) { return Control_Bind.bind((dictMonadGen.Monad0()).Bind1())(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(0)(size))(function (v) { return Control_Monad_Gen_Class.resize(dictMonadGen)(Data_Function["const"](v))(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Map.fromFoldable(dictOrd)(Data_List_Types.foldableList))(Control_Monad_Gen.unfoldable(dictMonadRec)(dictMonadGen)(Data_List_Types.unfoldableList)(Control_Apply.apply(((dictMonadGen.Monad0()).Bind1()).Apply0())(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Tuple.Tuple.create)(genKey))(genValue)))); }); }); }; }; }; }; }; exports["genMap"] = genMap; })(PS["Data.Map.Gen"] = PS["Data.Map.Gen"] || {}); (function(exports) { "use strict"; var Data_MediaType = PS["Data.MediaType"]; var textXML = "text/xml"; var textPlain = "text/plain"; var textHTML = "text/html"; var textCSV = "text/csv"; var multipartFormData = "multipart/form-data"; var imagePNG = "image/png"; var imageJPEG = "image/jpeg"; var imageGIF = "image/gif"; var applicationXML = "application/xml"; var applicationOctetStream = "application/octet-stream"; var applicationJavascript = "application/javascript"; var applicationJSON = "application/json"; var applicationFormURLEncoded = "application/x-www-form-urlencoded"; exports["applicationFormURLEncoded"] = applicationFormURLEncoded; exports["applicationJSON"] = applicationJSON; exports["applicationJavascript"] = applicationJavascript; exports["applicationOctetStream"] = applicationOctetStream; exports["applicationXML"] = applicationXML; exports["imageGIF"] = imageGIF; exports["imageJPEG"] = imageJPEG; exports["imagePNG"] = imagePNG; exports["multipartFormData"] = multipartFormData; exports["textCSV"] = textCSV; exports["textHTML"] = textHTML; exports["textPlain"] = textPlain; exports["textXML"] = textXML; })(PS["Data.MediaType.Common"] = PS["Data.MediaType.Common"] || {}); (function(exports) { "use strict"; var Control_Alt = PS["Control.Alt"]; var Control_Alternative = PS["Control.Alternative"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Control_Plus = PS["Control.Plus"]; var Data_Bounded = PS["Data.Bounded"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Monoid and semigroup instances corresponding to `Plus` and `Alt` instances // | for `f` // | // | ``` purescript // | Alternate fx <> Alternate fy == Alternate (fx <|> fy) // | mempty :: Alternate _ == Alternate empty // | ``` var Alternate = function (x) { return x; }; var showAlternate = function (dictShow) { return new Data_Show.Show(function (v) { return "(Alternate " + (Data_Show.show(dictShow)(v) + ")"); }); }; var semigroupAlternate = function (dictAlt) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Control_Alt.alt(dictAlt)(v)(v1); }; }); }; var plusAlternate = function (dictPlus) { return dictPlus; }; var ordAlternate = function (dictOrd) { return dictOrd; }; var newtypeAlternate = new Data_Newtype.Newtype(function (n) { return n; }, Alternate); var monoidAlternate = function (dictPlus) { return new Data_Monoid.Monoid(function () { return semigroupAlternate(dictPlus.Alt0()); }, Control_Plus.empty(dictPlus)); }; var monadAlternate = function (dictMonad) { return dictMonad; }; var invariantAlternate = function (dictInvariant) { return dictInvariant; }; var functorAlternate = function (dictFunctor) { return dictFunctor; }; var extendAlternate = function (dictExtend) { return dictExtend; }; var eqAlternate = function (dictEq) { return dictEq; }; var comonadAlternate = function (dictComonad) { return dictComonad; }; var boundedAlternate = function (dictBounded) { return dictBounded; }; var bindAlternate = function (dictBind) { return dictBind; }; var applyAlternate = function (dictApply) { return dictApply; }; var applicativeAlternate = function (dictApplicative) { return dictApplicative; }; var alternativeAlternate = function (dictAlternative) { return dictAlternative; }; var altAlternate = function (dictAlt) { return dictAlt; }; exports["Alternate"] = Alternate; exports["newtypeAlternate"] = newtypeAlternate; exports["eqAlternate"] = eqAlternate; exports["ordAlternate"] = ordAlternate; exports["boundedAlternate"] = boundedAlternate; exports["functorAlternate"] = functorAlternate; exports["invariantAlternate"] = invariantAlternate; exports["applyAlternate"] = applyAlternate; exports["applicativeAlternate"] = applicativeAlternate; exports["altAlternate"] = altAlternate; exports["plusAlternate"] = plusAlternate; exports["alternativeAlternate"] = alternativeAlternate; exports["bindAlternate"] = bindAlternate; exports["monadAlternate"] = monadAlternate; exports["extendAlternate"] = extendAlternate; exports["comonadAlternate"] = comonadAlternate; exports["showAlternate"] = showAlternate; exports["semigroupAlternate"] = semigroupAlternate; exports["monoidAlternate"] = monoidAlternate; })(PS["Data.Monoid.Alternate"] = PS["Data.Monoid.Alternate"] || {}); (function(exports) { "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Contravariant = PS["Data.Functor.Contravariant"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Makes a trivial `Profunctor` for a `Contravariant` functor. var Clown = function (x) { return x; }; var showClown = function (dictShow) { return new Data_Show.Show(function (v) { return "(Clown " + (Data_Show.show(dictShow)(v) + ")"); }); }; var profunctorClown = function (dictContravariant) { return new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return Data_Functor_Contravariant.cmap(dictContravariant)(f)(v); }; }; }); }; var ordClown = function (dictOrd) { return dictOrd; }; var newtypeClown = new Data_Newtype.Newtype(function (n) { return n; }, Clown); var hoistClown = function (f) { return function (v) { return f(v); }; }; var functorClown = new Data_Functor.Functor(function (v) { return function (v1) { return v1; }; }); var eqClown = function (dictEq) { return dictEq; }; exports["Clown"] = Clown; exports["hoistClown"] = hoistClown; exports["newtypeClown"] = newtypeClown; exports["eqClown"] = eqClown; exports["ordClown"] = ordClown; exports["showClown"] = showClown; exports["functorClown"] = functorClown; exports["profunctorClown"] = profunctorClown; })(PS["Data.Profunctor.Clown"] = PS["Data.Profunctor.Clown"] || {}); (function(exports) { "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Functor_Contravariant = PS["Data.Functor.Contravariant"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Provides a `Contravariant` over the first argument of a `Profunctor`. var Cowrap = function (x) { return x; }; var showCowrap = function (dictShow) { return new Data_Show.Show(function (v) { return "(Cowrap " + (Data_Show.show(dictShow)(v) + ")"); }); }; var ordCowrap = function (dictOrd) { return dictOrd; }; var newtypeCowrap = new Data_Newtype.Newtype(function (n) { return n; }, Cowrap); var eqCowrap = function (dictEq) { return dictEq; }; var contravariantCowrap = function (dictProfunctor) { return new Data_Functor_Contravariant.Contravariant(function (f) { return function (v) { return Data_Profunctor.lmap(dictProfunctor)(f)(v); }; }); }; exports["Cowrap"] = Cowrap; exports["newtypeCowrap"] = newtypeCowrap; exports["eqCowrap"] = eqCowrap; exports["ordCowrap"] = ordCowrap; exports["showCowrap"] = showCowrap; exports["contravariantCowrap"] = contravariantCowrap; })(PS["Data.Profunctor.Cowrap"] = PS["Data.Profunctor.Cowrap"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Turns a `Profunctor` into a `Invariant` functor by equating the two type // | arguments. var Join = function (x) { return x; }; var showJoin = function (dictShow) { return new Data_Show.Show(function (v) { return "(Join " + (Data_Show.show(dictShow)(v) + ")"); }); }; var semigroupJoin = function (dictSemigroupoid) { return new Data_Semigroup.Semigroup(function (v) { return function (v1) { return Control_Semigroupoid.compose(dictSemigroupoid)(v)(v1); }; }); }; var ordJoin = function (dictOrd) { return dictOrd; }; var newtypeJoin = new Data_Newtype.Newtype(function (n) { return n; }, Join); var monoidJoin = function (dictCategory) { return new Data_Monoid.Monoid(function () { return semigroupJoin(dictCategory.Semigroupoid0()); }, Control_Category.id(dictCategory)); }; var invariantJoin = function (dictProfunctor) { return new Data_Functor_Invariant.Invariant(function (f) { return function (g) { return function (v) { return Data_Profunctor.dimap(dictProfunctor)(g)(f)(v); }; }; }); }; var eqJoin = function (dictEq) { return dictEq; }; exports["Join"] = Join; exports["newtypeJoin"] = newtypeJoin; exports["eqJoin"] = eqJoin; exports["ordJoin"] = ordJoin; exports["showJoin"] = showJoin; exports["semigroupJoin"] = semigroupJoin; exports["monoidJoin"] = monoidJoin; exports["invariantJoin"] = invariantJoin; })(PS["Data.Profunctor.Join"] = PS["Data.Profunctor.Join"] || {}); (function(exports) { "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Makes a trivial `Profunctor` for a covariant `Functor`. var Joker = function (x) { return x; }; var showJoker = function (dictShow) { return new Data_Show.Show(function (v) { return "(Joker " + (Data_Show.show(dictShow)(v) + ")"); }); }; var profunctorJoker = function (dictFunctor) { return new Data_Profunctor.Profunctor(function (f) { return function (g) { return function (v) { return Data_Functor.map(dictFunctor)(g)(v); }; }; }); }; var ordJoker = function (dictOrd) { return dictOrd; }; var newtypeJoker = new Data_Newtype.Newtype(function (n) { return n; }, Joker); var hoistJoker = function (f) { return function (v) { return f(v); }; }; var functorJoker = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Functor.map(dictFunctor)(f)(v); }; }); }; var eqJoker = function (dictEq) { return dictEq; }; exports["Joker"] = Joker; exports["hoistJoker"] = hoistJoker; exports["newtypeJoker"] = newtypeJoker; exports["eqJoker"] = eqJoker; exports["ordJoker"] = ordJoker; exports["showJoker"] = showJoker; exports["functorJoker"] = functorJoker; exports["profunctorJoker"] = profunctorJoker; })(PS["Data.Profunctor.Joker"] = PS["Data.Profunctor.Joker"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Exists = PS["Data.Exists"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Functor_Invariant = PS["Data.Functor.Invariant"]; var Data_Profunctor = PS["Data.Profunctor"]; var Prelude = PS["Prelude"]; var SplitF = (function () { function SplitF(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; SplitF.create = function (value0) { return function (value1) { return function (value2) { return new SplitF(value0, value1, value2); }; }; }; return SplitF; })(); var Split = function (x) { return x; }; var unSplit = function (f) { return function (v) { return Data_Exists.runExists(function (v1) { return f(v1.value0)(v1.value1)(v1.value2); })(v); }; }; var split = function (f) { return function (g) { return function (fx) { return Data_Exists.mkExists(new SplitF(f, g, fx)); }; }; }; var profunctorSplit = new Data_Profunctor.Profunctor(function (f) { return function (g) { return unSplit(function (h) { return function (i) { return split(function ($9) { return h(f($9)); })(function ($10) { return g(i($10)); }); }; }); }; }); var lowerSplit = function (dictInvariant) { return unSplit(Data_Function.flip(Data_Functor_Invariant.imap(dictInvariant))); }; var liftSplit = split(Control_Category.id(Control_Category.categoryFn))(Control_Category.id(Control_Category.categoryFn)); var hoistSplit = function (nat) { return unSplit(function (f) { return function (g) { return function ($11) { return split(f)(g)(nat($11)); }; }; }); }; var functorSplit = new Data_Functor.Functor(function (f) { return unSplit(function (g) { return function (h) { return function (fx) { return split(g)(function ($12) { return f(h($12)); })(fx); }; }; }); }); exports["hoistSplit"] = hoistSplit; exports["liftSplit"] = liftSplit; exports["lowerSplit"] = lowerSplit; exports["split"] = split; exports["unSplit"] = unSplit; exports["functorSplit"] = functorSplit; exports["profunctorSplit"] = profunctorSplit; })(PS["Data.Profunctor.Split"] = PS["Data.Profunctor.Split"] || {}); (function(exports) { "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Profunctor = PS["Data.Profunctor"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Prelude = PS["Prelude"]; // | Provides a `Functor` over the second argument of a `Profunctor`. var Wrap = function (x) { return x; }; var showWrap = function (dictShow) { return new Data_Show.Show(function (v) { return "(Wrap " + (Data_Show.show(dictShow)(v) + ")"); }); }; var ordWrap = function (dictOrd) { return dictOrd; }; var newtypeWrap = new Data_Newtype.Newtype(function (n) { return n; }, Wrap); var functorWrap = function (dictProfunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return Data_Profunctor.rmap(dictProfunctor)(f)(v); }; }); }; var eqWrap = function (dictEq) { return dictEq; }; exports["Wrap"] = Wrap; exports["newtypeWrap"] = newtypeWrap; exports["eqWrap"] = eqWrap; exports["ordWrap"] = ordWrap; exports["showWrap"] = showWrap; exports["functorWrap"] = functorWrap; })(PS["Data.Profunctor.Wrap"] = PS["Data.Profunctor.Wrap"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Control_Monad_Gen_Class = PS["Control.Monad.Gen.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_StrMap = PS["Data.StrMap"]; var Data_Tuple = PS["Data.Tuple"]; var Prelude = PS["Prelude"]; // | Generates a `StrMap` using the specified key and value generators. var genStrMap = function (dictMonadRec) { return function (dictMonadGen) { return function (genKey) { return function (genValue) { return Control_Monad_Gen_Class.sized(dictMonadGen)(function (size) { return Control_Bind.bind((dictMonadGen.Monad0()).Bind1())(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(0)(size))(function (v) { return Control_Monad_Gen_Class.resize(dictMonadGen)(Data_Function["const"](v))(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_StrMap.fromFoldable(Data_List_Types.foldableList))(Control_Monad_Gen.unfoldable(dictMonadRec)(dictMonadGen)(Data_List_Types.unfoldableList)(Control_Apply.apply(((dictMonadGen.Monad0()).Bind1()).Apply0())(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Tuple.Tuple.create)(genKey))(genValue)))); }); }); }; }; }; }; exports["genStrMap"] = genStrMap; })(PS["Data.StrMap.Gen"] = PS["Data.StrMap.Gen"] || {}); (function(exports) { "use strict"; exports.unsafeFreeze = function (m) { return function () { return m; }; }; })(PS["Data.StrMap.ST.Unsafe"] = PS["Data.StrMap.ST.Unsafe"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.StrMap.ST.Unsafe"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_ST = PS["Control.Monad.ST"]; var Data_StrMap = PS["Data.StrMap"]; var Data_StrMap_ST = PS["Data.StrMap.ST"]; exports["unsafeFreeze"] = $foreign.unsafeFreeze; })(PS["Data.StrMap.ST.Unsafe"] = PS["Data.StrMap.ST.Unsafe"] || {}); (function(exports) { "use strict"; exports.unsafeIndex = function (m) { return function (k) { return m[k]; }; }; })(PS["Data.StrMap.Unsafe"] = PS["Data.StrMap.Unsafe"] || {}); (function(exports) { "use strict"; var $foreign = PS["Data.StrMap.Unsafe"]; var Data_StrMap = PS["Data.StrMap"]; exports["unsafeIndex"] = $foreign.unsafeIndex; })(PS["Data.StrMap.Unsafe"] = PS["Data.StrMap.Unsafe"] || {}); (function(exports) { "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_String = PS["Data.String"]; var Prelude = PS["Prelude"]; // | A newtype for case insensitive string comparisons and ordering. var CaseInsensitiveString = function (x) { return x; }; var showCaseInsensitiveString = new Data_Show.Show(function (v) { return "(CaseInsensitiveString " + (v + ")"); }); var newtypeCaseInsensitiveString = new Data_Newtype.Newtype(function (n) { return n; }, CaseInsensitiveString); var eqCaseInsensitiveString = new Data_Eq.Eq(function (v) { return function (v1) { return Data_String.toLower(v) === Data_String.toLower(v1); }; }); var ordCaseInsensitiveString = new Data_Ord.Ord(function () { return eqCaseInsensitiveString; }, function (v) { return function (v1) { return Data_Ord.compare(Data_Ord.ordString)(Data_String.toLower(v))(Data_String.toLower(v1)); }; }); exports["CaseInsensitiveString"] = CaseInsensitiveString; exports["eqCaseInsensitiveString"] = eqCaseInsensitiveString; exports["ordCaseInsensitiveString"] = ordCaseInsensitiveString; exports["showCaseInsensitiveString"] = showCaseInsensitiveString; exports["newtypeCaseInsensitiveString"] = newtypeCaseInsensitiveString; })(PS["Data.String.CaseInsensitive"] = PS["Data.String.CaseInsensitive"] || {}); (function(exports) { "use strict"; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Control_Monad_Gen_Class = PS["Control.Monad.Gen.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Data_Char_Gen = PS["Data.Char.Gen"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Ord = PS["Data.Ord"]; var Data_String = PS["Data.String"]; var Data_Unfoldable = PS["Data.Unfoldable"]; var Prelude = PS["Prelude"]; // | Generates a string using the specified character generator. var genString = function (dictMonadRec) { return function (dictMonadGen) { return function (genChar) { return Control_Monad_Gen_Class.sized(dictMonadGen)(function (size) { return Control_Bind.bind((dictMonadGen.Monad0()).Bind1())(Control_Monad_Gen_Class.chooseInt(dictMonadGen)(1)(Data_Ord.max(Data_Ord.ordInt)(1)(size)))(function (v) { return Control_Monad_Gen_Class.resize(dictMonadGen)(Data_Function["const"](v))(Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_String.fromCharArray)(Control_Monad_Gen.unfoldable(dictMonadRec)(dictMonadGen)(Data_Unfoldable.unfoldableArray)(genChar))); }); }); }; }; }; // | Generates a string using characters from the Unicode basic multilingual // | plain. var genUnicodeString = function (dictMonadRec) { return function (dictMonadGen) { return genString(dictMonadRec)(dictMonadGen)(Data_Char_Gen.genUnicodeChar(dictMonadGen)); }; }; // | Generates a string made up of numeric digits. var genDigitString = function (dictMonadRec) { return function (dictMonadGen) { return genString(dictMonadRec)(dictMonadGen)(Data_Char_Gen.genDigitChar(dictMonadGen)); }; }; // | Generates a string using the ASCII character set. var genAsciiString$prime = function (dictMonadRec) { return function (dictMonadGen) { return genString(dictMonadRec)(dictMonadGen)(Data_Char_Gen["genAsciiChar'"](dictMonadGen)); }; }; // | Generates a string using the ASCII character set, excluding control codes. var genAsciiString = function (dictMonadRec) { return function (dictMonadGen) { return genString(dictMonadRec)(dictMonadGen)(Data_Char_Gen.genAsciiChar(dictMonadGen)); }; }; exports["genAsciiString"] = genAsciiString; exports["genAsciiString'"] = genAsciiString$prime; exports["genDigitString"] = genDigitString; exports["genString"] = genString; exports["genUnicodeString"] = genUnicodeString; })(PS["Data.String.Gen"] = PS["Data.String.Gen"] || {}); (function(exports) { "use strict"; exports["showRegex'"] = function (r) { return "" + r; }; exports["regex'"] = function (left) { return function (right) { return function (s1) { return function (s2) { try { return right(new RegExp(s1, s2)); } catch (e) { return left(e.message); } }; }; }; }; exports.source = function (r) { return r.source; }; exports["flags'"] = function (r) { return { multiline: r.multiline, ignoreCase: r.ignoreCase, global: r.global, sticky: !!r.sticky, unicode: !!r.unicode }; }; exports.test = function (r) { return function (s) { var lastIndex = r.lastIndex; var result = r.test(s); r.lastIndex = lastIndex; return result; }; }; exports._match = function (just) { return function (nothing) { return function (r) { return function (s) { var m = s.match(r); if (m == null) { return nothing; } else { var list = []; for (var i = 0; i < m.length; i++) { list.push(m[i] == null ? nothing : just(m[i])); } return just(list); } }; }; }; }; exports.replace = function (r) { return function (s1) { return function (s2) { return s2.replace(r, s1); }; }; }; exports["replace'"] = function (r) { return function (f) { return function (s2) { return s2.replace(r, function (match) { return f(match)(Array.prototype.splice.call(arguments, 1, arguments.length - 3)); }); }; }; }; exports._search = function (just) { return function (nothing) { return function (r) { return function (s) { var result = s.search(r); return result === -1 ? nothing : just(result); }; }; }; }; exports.split = function (r) { return function (s) { return s.split(r); }; }; })(PS["Data.String.Regex"] = PS["Data.String.Regex"] || {}); (function(exports) { "use strict"; var Control_MonadPlus = PS["Control.MonadPlus"]; var Control_MonadZero = PS["Control.MonadZero"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_String = PS["Data.String"]; var Prelude = PS["Prelude"]; // | Flags that control matching. var RegexFlags = (function () { function RegexFlags(value0) { this.value0 = value0; }; RegexFlags.create = function (value0) { return new RegexFlags(value0); }; return RegexFlags; })(); // | Only unicode flag set to true var unicode = new RegexFlags({ global: false, ignoreCase: false, multiline: false, sticky: false, unicode: true }); // | Only sticky flag set to true var sticky = new RegexFlags({ global: false, ignoreCase: false, multiline: false, sticky: true, unicode: false }); var showRegexFlags = new Data_Show.Show(function (v) { var usedFlags = Data_Semigroup.append(Data_Semigroup.semigroupArray)([ ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Data_Functor.voidLeft(Data_Functor.functorArray)(Control_MonadZero.guard(Control_MonadZero.monadZeroArray)(v.value0.global))("global"))(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Data_Functor.voidLeft(Data_Functor.functorArray)(Control_MonadZero.guard(Control_MonadZero.monadZeroArray)(v.value0.ignoreCase))("ignoreCase"))(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Data_Functor.voidLeft(Data_Functor.functorArray)(Control_MonadZero.guard(Control_MonadZero.monadZeroArray)(v.value0.multiline))("multiline"))(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Data_Functor.voidLeft(Data_Functor.functorArray)(Control_MonadZero.guard(Control_MonadZero.monadZeroArray)(v.value0.sticky))("sticky"))(Data_Functor.voidLeft(Data_Functor.functorArray)(Control_MonadZero.guard(Control_MonadZero.monadZeroArray)(v.value0.unicode))("unicode")))))); var $6 = Data_Eq.eq(Data_Eq.eqArray(Data_Eq.eqString))(usedFlags)([ ]); if ($6) { return "noFlags"; }; return "(" + (Data_String.joinWith(" <> ")(usedFlags) + ")"); }); var semigroupRegexFlags = new Data_Semigroup.Semigroup(function (v) { return function (v1) { return new RegexFlags({ global: v.value0.global || v1.value0.global, ignoreCase: v.value0.ignoreCase || v1.value0.ignoreCase, multiline: v.value0.multiline || v1.value0.multiline, sticky: v.value0.sticky || v1.value0.sticky, unicode: v.value0.unicode || v1.value0.unicode }); }; }); // | All flags set to false. var noFlags = new RegexFlags({ global: false, ignoreCase: false, multiline: false, sticky: false, unicode: false }); // | Only multiline flag set to true var multiline = new RegexFlags({ global: false, ignoreCase: false, multiline: true, sticky: false, unicode: false }); var monoidRegexFlags = new Data_Monoid.Monoid(function () { return semigroupRegexFlags; }, noFlags); // | Only ignoreCase flag set to true var ignoreCase = new RegexFlags({ global: false, ignoreCase: true, multiline: false, sticky: false, unicode: false }); // | Only global flag set to true var global = new RegexFlags({ global: true, ignoreCase: false, multiline: false, sticky: false, unicode: false }); var eqRegexFlags = new Data_Eq.Eq(function (v) { return function (v1) { return v.value0.global === v1.value0.global && (v.value0.ignoreCase === v1.value0.ignoreCase && (v.value0.multiline === v1.value0.multiline && (v.value0.sticky === v1.value0.sticky && v.value0.unicode === v1.value0.unicode))); }; }); exports["RegexFlags"] = RegexFlags; exports["global"] = global; exports["ignoreCase"] = ignoreCase; exports["multiline"] = multiline; exports["noFlags"] = noFlags; exports["sticky"] = sticky; exports["unicode"] = unicode; exports["semigroupRegexFlags"] = semigroupRegexFlags; exports["monoidRegexFlags"] = monoidRegexFlags; exports["eqRegexFlags"] = eqRegexFlags; exports["showRegexFlags"] = showRegexFlags; })(PS["Data.String.Regex.Flags"] = PS["Data.String.Regex.Flags"] || {}); (function(exports) { // | Wraps Javascript's `RegExp` object that enables matching strings with // | patternes defined by regular expressions. // | For details of the underlying implementation, see [RegExp Reference at MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp). "use strict"; var $foreign = PS["Data.String.Regex"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Function = PS["Data.Function"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_Show = PS["Data.Show"]; var Data_String = PS["Data.String"]; var Data_String_Regex_Flags = PS["Data.String.Regex.Flags"]; var Prelude = PS["Prelude"]; var showRegex = new Data_Show.Show($foreign["showRegex'"]); // | Returns `Just` the index of the first match of the `Regex` in the string, // | or `Nothing` if there is no match. var search = $foreign._search(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Returns the string representation of the given `RegexFlags`. var renderFlags = function (v) { return (function () { if (v.value0.global) { return "g"; }; return ""; })() + ((function () { if (v.value0.ignoreCase) { return "i"; }; return ""; })() + ((function () { if (v.value0.multiline) { return "m"; }; return ""; })() + ((function () { if (v.value0.sticky) { return "y"; }; return ""; })() + (function () { if (v.value0.unicode) { return "u"; }; return ""; })()))); }; // | Constructs a `Regex` from a pattern string and flags. Fails with // | `Left error` if the pattern contains a syntax error. var regex = function (s) { return function (f) { return $foreign["regex'"](Data_Either.Left.create)(Data_Either.Right.create)(s)(renderFlags(f)); }; }; // | Parses the string representation of `RegexFlags`. var parseFlags = function (s) { return new Data_String_Regex_Flags.RegexFlags({ global: Data_String.contains("g")(s), ignoreCase: Data_String.contains("i")(s), multiline: Data_String.contains("m")(s), sticky: Data_String.contains("y")(s), unicode: Data_String.contains("u")(s) }); }; // | Matches the string against the `Regex` and returns an array of matches // | if there were any. Each match has type `Maybe String`, where `Nothing` // | represents an unmatched optional capturing group. // | See [reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match). var match = $foreign._match(Data_Maybe.Just.create)(Data_Maybe.Nothing.value); // | Returns the `RegexFlags` used to construct the given `Regex`. var flags = function ($8) { return Data_String_Regex_Flags.RegexFlags.create($foreign["flags'"]($8)); }; exports["flags"] = flags; exports["match"] = match; exports["parseFlags"] = parseFlags; exports["regex"] = regex; exports["renderFlags"] = renderFlags; exports["search"] = search; exports["showRegex"] = showRegex; exports["replace"] = $foreign.replace; exports["replace'"] = $foreign["replace'"]; exports["source"] = $foreign.source; exports["split"] = $foreign.split; exports["test"] = $foreign.test; })(PS["Data.String.Regex"] = PS["Data.String.Regex"] || {}); (function(exports) { "use strict"; var Data_Either = PS["Data.Either"]; var Data_String_Regex = PS["Data.String.Regex"]; var Data_String_Regex_Flags = PS["Data.String.Regex.Flags"]; var Partial_Unsafe = PS["Partial.Unsafe"]; // | Constructs a `Regex` from a pattern string and flags. Fails with // | an exception if the pattern contains a syntax error. var unsafeRegex = function (s) { return function (f) { return Data_Either.fromRight()(Data_String_Regex.regex(s)(f)); }; }; exports["unsafeRegex"] = unsafeRegex; })(PS["Data.String.Regex.Unsafe"] = PS["Data.String.Regex.Unsafe"] || {}); (function(exports) { "use strict"; var Control_Monad_Gen = PS["Control.Monad.Gen"]; var Control_Monad_Gen_Class = PS["Control.Monad.Gen.Class"]; var Data_Functor = PS["Data.Functor"]; var Data_Time_Duration = PS["Data.Time.Duration"]; var Prelude = PS["Prelude"]; // | Generates a random `Seconds` duration, up to 10 minutes. var genSeconds = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Time_Duration.Seconds)(Control_Monad_Gen_Class.chooseFloat(dictMonadGen)(0.0)(600.0)); }; // | Generates a random `Seconds` duration, up to 10 hours. var genMinutes = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Time_Duration.Minutes)(Control_Monad_Gen_Class.chooseFloat(dictMonadGen)(0.0)(600.0)); }; // | Generates a random `Milliseconds` duration, up to 10 minutes. var genMilliseconds = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Time_Duration.Milliseconds)(Control_Monad_Gen_Class.chooseFloat(dictMonadGen)(0.0)(600000.0)); }; // | Generates a random `Hours` duration, up to 10 days. var genHours = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Time_Duration.Hours)(Control_Monad_Gen_Class.chooseFloat(dictMonadGen)(0.0)(240.0)); }; // | Generates a random `Days` duration, up to 6 weeks. var genDays = function (dictMonadGen) { return Data_Functor.map((((dictMonadGen.Monad0()).Bind1()).Apply0()).Functor0())(Data_Time_Duration.Days)(Control_Monad_Gen_Class.chooseFloat(dictMonadGen)(0.0)(42.0)); }; exports["genDays"] = genDays; exports["genHours"] = genHours; exports["genMilliseconds"] = genMilliseconds; exports["genMinutes"] = genMinutes; exports["genSeconds"] = genSeconds; })(PS["Data.Time.Duration.Gen"] = PS["Data.Time.Duration.Gen"] || {}); (function(exports) { // | Utilities for n-tuples: sequences longer than two components built from // | nested pairs. // | // | Nested tuples arise naturally in product combinators. You shouldn't // | represent data using nested tuples, but if combinators you're working with // | create them, utilities in this module will allow to to more easily work // | with them, including translating to and from more traditional product types. // | // | ```purescript // | data Address = Address String City (Maybe Province) Country // | // | exampleAddress1 = makeAddress "221B Baker Street" London Nothing UK // | exampleAddress2 = makeAddressT $ "221B Baker Street" /\ London /\ Nothing /\ UK // | // | makeAddressT :: Tuple4 String City (Maybe Province) Country -> Address // | makeAddressT = uncurry4 Address // | // | makeAddress :: String -> City -> (Maybe Province) -> Country -> Address // | makeAddress = curry4 unit makeAddressT // | // | tupleAddress :: Address -> Tuple4 String City (Maybe Province) Country // | tupleAddress (Address a b c d) = tuple4 a b c d // | ``` "use strict"; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | Given a function of 9 arguments, returns a function that accepts a 9-tuple. var uncurry9 = function (f$prime) { return function (v) { return f$prime(v.value0)(v.value1.value0)(v.value1.value1.value0)(v.value1.value1.value1.value0)(v.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value1.value1.value0); }; }; // | Given a function of 8 arguments, returns a function that accepts an 8-tuple. var uncurry8 = function (f$prime) { return function (v) { return f$prime(v.value0)(v.value1.value0)(v.value1.value1.value0)(v.value1.value1.value1.value0)(v.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value1.value0); }; }; // | Given a function of 7 arguments, returns a function that accepts a 7-tuple. var uncurry7 = function (f$prime) { return function (v) { return f$prime(v.value0)(v.value1.value0)(v.value1.value1.value0)(v.value1.value1.value1.value0)(v.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value0); }; }; // | Given a function of 6 arguments, returns a function that accepts a 6-tuple. var uncurry6 = function (f$prime) { return function (v) { return f$prime(v.value0)(v.value1.value0)(v.value1.value1.value0)(v.value1.value1.value1.value0)(v.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value0); }; }; // | Given a function of 5 arguments, returns a function that accepts a 5-tuple. var uncurry5 = function (f) { return function (v) { return f(v.value0)(v.value1.value0)(v.value1.value1.value0)(v.value1.value1.value1.value0)(v.value1.value1.value1.value1.value0); }; }; // | Given a function of 4 arguments, returns a function that accepts a 4-tuple. var uncurry4 = function (f) { return function (v) { return f(v.value0)(v.value1.value0)(v.value1.value1.value0)(v.value1.value1.value1.value0); }; }; // | Given a function of 3 arguments, returns a function that accepts a 3-tuple. var uncurry3 = function (f) { return function (v) { return f(v.value0)(v.value1.value0)(v.value1.value1.value0); }; }; // | Given a function of 2 arguments, returns a function that accepts a 2-tuple. var uncurry2 = function (f) { return function (v) { return f(v.value0)(v.value1.value0); }; }; // | Given a function of 10 arguments, returns a function that accepts a 10-tuple. var uncurry10 = function (f$prime) { return function (v) { return f$prime(v.value0)(v.value1.value0)(v.value1.value1.value0)(v.value1.value1.value1.value0)(v.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value1.value1.value0)(v.value1.value1.value1.value1.value1.value1.value1.value1.value1.value0); }; }; // | Given a function of 1 argument, returns a function that accepts a singleton tuple. var uncurry1 = function (f) { return function (v) { return f(v.value0); }; }; // | Given 9 values, creates a nested 9-tuple. var tuple9 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, new Data_Tuple.Tuple(g, new Data_Tuple.Tuple(h, new Data_Tuple.Tuple(i, Data_Unit.unit))))))))); }; }; }; }; }; }; }; }; }; // | Given 8 values, creates a nested 8-tuple. var tuple8 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, new Data_Tuple.Tuple(g, new Data_Tuple.Tuple(h, Data_Unit.unit)))))))); }; }; }; }; }; }; }; }; // | Given 7 values, creates a nested 7-tuple. var tuple7 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, new Data_Tuple.Tuple(g, Data_Unit.unit))))))); }; }; }; }; }; }; }; // | Given 6 values, creates a nested 6-tuple. var tuple6 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, Data_Unit.unit)))))); }; }; }; }; }; }; // | Given 5 values, creates a nested 5-tuple. var tuple5 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, Data_Unit.unit))))); }; }; }; }; }; // | Given 4 values, creates a nested 4-tuple. var tuple4 = function (a) { return function (b) { return function (c) { return function (d) { return new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, Data_Unit.unit)))); }; }; }; }; // | Given 3 values, creates a nested 3-tuple. var tuple3 = function (a) { return function (b) { return function (c) { return new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, Data_Unit.unit))); }; }; }; // | Given 2 values, creates a 2-tuple. var tuple2 = function (a) { return function (b) { return new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, Data_Unit.unit)); }; }; // | Given 10 values, creates a nested 10-tuple. var tuple10 = function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return function (j) { return new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, new Data_Tuple.Tuple(g, new Data_Tuple.Tuple(h, new Data_Tuple.Tuple(i, new Data_Tuple.Tuple(j, Data_Unit.unit)))))))))); }; }; }; }; }; }; }; }; }; }; // | Creates a singleton tuple. var tuple1 = function (a) { return new Data_Tuple.Tuple(a, Data_Unit.unit); }; // | Given at least a 9-tuple, modifies the ninth value. var over9 = function (o) { return function (v) { return new Data_Tuple.Tuple(v.value0, new Data_Tuple.Tuple(v.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(o(v.value1.value1.value1.value1.value1.value1.value1.value1.value0), v.value1.value1.value1.value1.value1.value1.value1.value1.value1))))))))); }; }; // | Given at least an 8-tuple, modifies the eighth value. var over8 = function (o) { return function (v) { return new Data_Tuple.Tuple(v.value0, new Data_Tuple.Tuple(v.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(o(v.value1.value1.value1.value1.value1.value1.value1.value0), v.value1.value1.value1.value1.value1.value1.value1.value1)))))))); }; }; // | Given at least a 7-tuple, modifies the seventh value. var over7 = function (o) { return function (v) { return new Data_Tuple.Tuple(v.value0, new Data_Tuple.Tuple(v.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(o(v.value1.value1.value1.value1.value1.value1.value0), v.value1.value1.value1.value1.value1.value1.value1))))))); }; }; // | Given at least a 6-tuple, modifies the sixth value. var over6 = function (o) { return function (v) { return new Data_Tuple.Tuple(v.value0, new Data_Tuple.Tuple(v.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(o(v.value1.value1.value1.value1.value1.value0), v.value1.value1.value1.value1.value1.value1)))))); }; }; // | Given at least a 5-tuple, modifies the fifth value. var over5 = function (o) { return function (v) { return new Data_Tuple.Tuple(v.value0, new Data_Tuple.Tuple(v.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value0, new Data_Tuple.Tuple(o(v.value1.value1.value1.value1.value0), v.value1.value1.value1.value1.value1))))); }; }; // | Given at least a 4-tuple, modifies the fourth value. var over4 = function (o) { return function (v) { return new Data_Tuple.Tuple(v.value0, new Data_Tuple.Tuple(v.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value0, new Data_Tuple.Tuple(o(v.value1.value1.value1.value0), v.value1.value1.value1.value1)))); }; }; // | Given at least a 3-tuple, modifies the third value. var over3 = function (o) { return function (v) { return new Data_Tuple.Tuple(v.value0, new Data_Tuple.Tuple(v.value1.value0, new Data_Tuple.Tuple(o(v.value1.value1.value0), v.value1.value1.value1))); }; }; // | Given at least a 2-tuple, modifies the second value. var over2 = function (o) { return function (v) { return new Data_Tuple.Tuple(v.value0, new Data_Tuple.Tuple(o(v.value1.value0), v.value1.value1)); }; }; // | Given at least a 10-tuple, modifies the tenth value. var over10 = function (o) { return function (v) { return new Data_Tuple.Tuple(v.value0, new Data_Tuple.Tuple(v.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(v.value1.value1.value1.value1.value1.value1.value1.value1.value0, new Data_Tuple.Tuple(o(v.value1.value1.value1.value1.value1.value1.value1.value1.value1.value0), v.value1.value1.value1.value1.value1.value1.value1.value1.value1.value1)))))))))); }; }; // | Given at least a singleton tuple, modifies the first value. var over1 = function (o) { return function (v) { return new Data_Tuple.Tuple(o(v.value0), v.value1); }; }; // | Given at least a 9-tuple, gets the ninth value. var get9 = function (v) { return v.value1.value1.value1.value1.value1.value1.value1.value1.value0; }; // | Given at least an 8-tuple, gets the eigth value. var get8 = function (v) { return v.value1.value1.value1.value1.value1.value1.value1.value0; }; // | Given at least a 7-tuple, gets the seventh value. var get7 = function (v) { return v.value1.value1.value1.value1.value1.value1.value0; }; // | Given at least a 6-tuple, gets the sixth value. var get6 = function (v) { return v.value1.value1.value1.value1.value1.value0; }; // | Given at least a 5-tuple, gets the fifth value. var get5 = function (v) { return v.value1.value1.value1.value1.value0; }; // | Given at least a 4-tuple, gets the fourth value. var get4 = function (v) { return v.value1.value1.value1.value0; }; // | Given at least a 3-tuple, gets the third value. var get3 = function (v) { return v.value1.value1.value0; }; // | Given at least a 2-tuple, gets the second value. var get2 = function (v) { return v.value1.value0; }; // | Given at least a 10-tuple, gets the tenth value. var get10 = function (v) { return v.value1.value1.value1.value1.value1.value1.value1.value1.value1.value0; }; // | Given at least a singleton tuple, gets the first value. var get1 = function (v) { return v.value0; }; // | Given a function that accepts at least a 9-tuple, returns a function of 9 arguments. var curry9 = function (z) { return function (f$prime) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return f$prime(new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, new Data_Tuple.Tuple(g, new Data_Tuple.Tuple(h, new Data_Tuple.Tuple(i, z)))))))))); }; }; }; }; }; }; }; }; }; }; }; // | Given a function that accepts at least an 8-tuple, returns a function of 8 arguments. var curry8 = function (z) { return function (f$prime) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return f$prime(new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, new Data_Tuple.Tuple(g, new Data_Tuple.Tuple(h, z))))))))); }; }; }; }; }; }; }; }; }; }; // | Given a function that accepts at least a 7-tuple, returns a function of 7 arguments. var curry7 = function (z) { return function (f$prime) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return f$prime(new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, new Data_Tuple.Tuple(g, z)))))))); }; }; }; }; }; }; }; }; }; // | Given a function that accepts at least a 6-tuple, returns a function of 6 arguments. var curry6 = function (z) { return function (f$prime) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return f$prime(new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, z))))))); }; }; }; }; }; }; }; }; // | Given a function that accepts at least a 5-tuple, returns a function of 5 arguments. var curry5 = function (z) { return function (f) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return f(new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, z)))))); }; }; }; }; }; }; }; // | Given a function that accepts at least a 4-tuple, returns a function of 4 arguments. var curry4 = function (z) { return function (f) { return function (a) { return function (b) { return function (c) { return function (d) { return f(new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, z))))); }; }; }; }; }; }; // | Given a function that accepts at least a 3-tuple, returns a function of 3 arguments. var curry3 = function (z) { return function (f) { return function (a) { return function (b) { return function (c) { return f(new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, z)))); }; }; }; }; }; // | Given a function that accepts at least a 2-tuple, returns a function of 2 arguments. var curry2 = function (z) { return function (f) { return function (a) { return function (b) { return f(new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, z))); }; }; }; }; // | Given a function that accepts at least a 10-tuple, returns a function of 10 arguments. var curry10 = function (z) { return function (f$prime) { return function (a) { return function (b) { return function (c) { return function (d) { return function (e) { return function (f) { return function (g) { return function (h) { return function (i) { return function (j) { return f$prime(new Data_Tuple.Tuple(a, new Data_Tuple.Tuple(b, new Data_Tuple.Tuple(c, new Data_Tuple.Tuple(d, new Data_Tuple.Tuple(e, new Data_Tuple.Tuple(f, new Data_Tuple.Tuple(g, new Data_Tuple.Tuple(h, new Data_Tuple.Tuple(i, new Data_Tuple.Tuple(j, z))))))))))); }; }; }; }; }; }; }; }; }; }; }; }; // | Given a function that accepts at least a singleton tuple, returns a function of 1 argument. var curry1 = function (z) { return function (f) { return function (a) { return f(new Data_Tuple.Tuple(a, z)); }; }; }; exports["curry1"] = curry1; exports["curry10"] = curry10; exports["curry2"] = curry2; exports["curry3"] = curry3; exports["curry4"] = curry4; exports["curry5"] = curry5; exports["curry6"] = curry6; exports["curry7"] = curry7; exports["curry8"] = curry8; exports["curry9"] = curry9; exports["get1"] = get1; exports["get10"] = get10; exports["get2"] = get2; exports["get3"] = get3; exports["get4"] = get4; exports["get5"] = get5; exports["get6"] = get6; exports["get7"] = get7; exports["get8"] = get8; exports["get9"] = get9; exports["over1"] = over1; exports["over10"] = over10; exports["over2"] = over2; exports["over3"] = over3; exports["over4"] = over4; exports["over5"] = over5; exports["over6"] = over6; exports["over7"] = over7; exports["over8"] = over8; exports["over9"] = over9; exports["tuple1"] = tuple1; exports["tuple10"] = tuple10; exports["tuple2"] = tuple2; exports["tuple3"] = tuple3; exports["tuple4"] = tuple4; exports["tuple5"] = tuple5; exports["tuple6"] = tuple6; exports["tuple7"] = tuple7; exports["tuple8"] = tuple8; exports["tuple9"] = tuple9; exports["uncurry1"] = uncurry1; exports["uncurry10"] = uncurry10; exports["uncurry2"] = uncurry2; exports["uncurry3"] = uncurry3; exports["uncurry4"] = uncurry4; exports["uncurry5"] = uncurry5; exports["uncurry6"] = uncurry6; exports["uncurry7"] = uncurry7; exports["uncurry8"] = uncurry8; exports["uncurry9"] = uncurry9; })(PS["Data.Tuple.Nested"] = PS["Data.Tuple.Nested"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Comonad = PS["Control.Comonad"]; var Control_Extend = PS["Control.Extend"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; // | The Yoneda `Functor` // | // | `Yoneda f` is a `Functor` for any type constructor `f`. var Yoneda = function (x) { return x; }; // | Run a computation of type `Yoneda f a`. var runYoneda = function (v) { return function (k) { return v(k); }; }; // | Lower a value of type `Yoneda f a` to the type constructor `f`. var lowerYoneda = function (v) { return v(Control_Category.id(Control_Category.categoryFn)); }; // | Lift a value described by the `Functor` `f` to the `Functor` `Yoneda f`. var liftYoneda = function (dictFunctor) { return function (m) { return function (k) { return Data_Functor.map(dictFunctor)(k)(m); }; }; }; var monadTransYoneda = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return liftYoneda(((dictMonad.Bind1()).Apply0()).Functor0()); }); // | Use a natural transformation to change the generating type constructor of a // | `Yoneda`. var hoistYoneda = function (nat) { return function (v) { return Data_Functor.map(Data_Functor.functorFn)(nat)(v); }; }; var functorYoneda = new Data_Functor.Functor(function (f) { return function (m) { return function (k) { return runYoneda(m)(function ($34) { return k(f($34)); }); }; }; }); var extendYoneda = function (dictExtend) { return new Control_Extend.Extend(function () { return functorYoneda; }, function (f) { return function (v) { return function (k) { return Control_Extend.extend(dictExtend)(function ($35) { return k(f(liftYoneda(dictExtend.Functor0())($35))); })(v(Control_Category.id(Control_Category.categoryFn))); }; }; }); }; var eqYoneda = function (dictEq1) { return function (dictEq) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq1(dictEq1)(dictEq)(lowerYoneda(x))(lowerYoneda(y)); }; }); }; }; var ordYoneda = function (dictOrd1) { return function (dictOrd) { return new Data_Ord.Ord(function () { return eqYoneda(dictOrd1.Eq10())(dictOrd.Eq0()); }, function (x) { return function (y) { return Data_Ord.compare1(dictOrd1)(dictOrd)(lowerYoneda(x))(lowerYoneda(y)); }; }); }; }; var eq1Yoneda = function (dictEq1) { return new Data_Eq.Eq1(function (dictEq) { return Data_Eq.eq(eqYoneda(dictEq1)(dictEq)); }); }; var ord1Yoneda = function (dictOrd1) { return new Data_Ord.Ord1(function () { return eq1Yoneda(dictOrd1.Eq10()); }, function (dictOrd) { return Data_Ord.compare(ordYoneda(dictOrd1)(dictOrd)); }); }; var comonadYoneda = function (dictComonad) { return new Control_Comonad.Comonad(function () { return extendYoneda(dictComonad.Extend0()); }, function ($36) { return Control_Comonad.extract(dictComonad)(lowerYoneda($36)); }); }; var applyYoneda = function (dictApply) { return new Control_Apply.Apply(function () { return functorYoneda; }, function (v) { return function (v1) { return function (k) { return Control_Apply.apply(dictApply)(v(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn)(k)))(v1(Control_Category.id(Control_Category.categoryFn))); }; }; }); }; var bindYoneda = function (dictBind) { return new Control_Bind.Bind(function () { return applyYoneda(dictBind.Apply0()); }, function (v) { return function (g) { return function (k) { return Control_Bind.bind(dictBind)(v(Control_Category.id(Control_Category.categoryFn)))(function (a) { return runYoneda(g(a))(k); }); }; }; }); }; var applicativeYoneda = function (dictApplicative) { return new Control_Applicative.Applicative(function () { return applyYoneda(dictApplicative.Apply0()); }, function ($37) { return liftYoneda((dictApplicative.Apply0()).Functor0())(Control_Applicative.pure(dictApplicative)($37)); }); }; var monadYoneda = function (dictMonad) { return new Control_Monad.Monad(function () { return applicativeYoneda(dictMonad.Applicative0()); }, function () { return bindYoneda(dictMonad.Bind1()); }); }; exports["Yoneda"] = Yoneda; exports["hoistYoneda"] = hoistYoneda; exports["liftYoneda"] = liftYoneda; exports["lowerYoneda"] = lowerYoneda; exports["runYoneda"] = runYoneda; exports["eqYoneda"] = eqYoneda; exports["eq1Yoneda"] = eq1Yoneda; exports["ordYoneda"] = ordYoneda; exports["ord1Yoneda"] = ord1Yoneda; exports["functorYoneda"] = functorYoneda; exports["applyYoneda"] = applyYoneda; exports["applicativeYoneda"] = applicativeYoneda; exports["bindYoneda"] = bindYoneda; exports["monadYoneda"] = monadYoneda; exports["monadTransYoneda"] = monadTransYoneda; exports["extendYoneda"] = extendYoneda; exports["comonadYoneda"] = comonadYoneda; })(PS["Data.Yoneda"] = PS["Data.Yoneda"] || {}); (function(exports) { /* globals exports, JSON */ "use strict"; // module Global.Unsafe exports.unsafeStringify = function (x) { return JSON.stringify(x); }; exports.unsafeToFixed = function (digits) { return function (n) { return n.toFixed(digits); }; }; exports.unsafeToExponential = function (digits) { return function (n) { return n.toExponential(digits); }; }; exports.unsafeToPrecision = function (digits) { return function (n) { return n.toPrecision(digits); }; }; })(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {}); (function(exports) { "use strict"; var $foreign = PS["Global.Unsafe"]; exports["unsafeStringify"] = $foreign.unsafeStringify; exports["unsafeToExponential"] = $foreign.unsafeToExponential; exports["unsafeToFixed"] = $foreign.unsafeToFixed; exports["unsafeToPrecision"] = $foreign.unsafeToPrecision; })(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {}); (function(exports) { "use strict"; var Data_Eq = PS["Data.Eq"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; // | A value carrying its `Ord` instance so it can be used at a later date // | without the need for evidence of the instance. var OrdBox = (function () { function OrdBox(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; OrdBox.create = function (value0) { return function (value1) { return function (value2) { return new OrdBox(value0, value1, value2); }; }; }; return OrdBox; })(); var unOrdBox = function (v) { return v.value2; }; var mkOrdBox = function (dictOrd) { return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd)); }; var eqOrdBox = new Data_Eq.Eq(function (v) { return function (v1) { return v.value0(v.value2)(v1.value2); }; }); var ordOrdBox = new Data_Ord.Ord(function () { return eqOrdBox; }, function (v) { return function (v1) { return v.value1(v.value2)(v1.value2); }; }); exports["mkOrdBox"] = mkOrdBox; exports["unOrdBox"] = unOrdBox; exports["eqOrdBox"] = eqOrdBox; exports["ordOrdBox"] = ordOrdBox; })(PS["Halogen.Data.OrdBox"] = PS["Halogen.Data.OrdBox"] || {}); (function(exports) { "use strict"; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Prelude = PS["Prelude"]; var RefLabel = function (x) { return x; }; var RefUpdate = (function () { function RefUpdate(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; RefUpdate.create = function (value0) { return function (value1) { return function (value2) { return new RefUpdate(value0, value1, value2); }; }; }; return RefUpdate; })(); var Query = (function () { function Query(value0) { this.value0 = value0; }; Query.create = function (value0) { return new Query(value0); }; return Query; })(); var ordRefLabel = Data_Ord.ordString; var newtypeRefLabel = new Data_Newtype.Newtype(function (n) { return n; }, RefLabel); var eqRefLabel = Data_Eq.eqString; var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { if (v instanceof RefUpdate) { return new RefUpdate(v.value0, v.value1, f(v.value2)); }; if (v instanceof Query) { return new Query(g(v.value0)); }; throw new Error("Failed pattern match at Halogen.Query.InputF line 21, column 15 - line 23, column 27: " + [ v.constructor.name ]); }; }; }); var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF)); exports["RefUpdate"] = RefUpdate; exports["Query"] = Query; exports["RefLabel"] = RefLabel; exports["newtypeRefLabel"] = newtypeRefLabel; exports["eqRefLabel"] = eqRefLabel; exports["ordRefLabel"] = ordRefLabel; exports["bifunctorInputF"] = bifunctorInputF; exports["functorInputF"] = functorInputF; })(PS["Halogen.Query.InputF"] = PS["Halogen.Query.InputF"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor = PS["Data.Functor"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Data_Void = PS["Data.Void"]; var Prelude = PS["Prelude"]; var Step = (function () { function Step(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; Step.create = function (value0) { return function (value1) { return function (value2) { return new Step(value0, value1, value2); }; }; }; return Step; })(); var stepper = function (dictFunctor) { return function (f) { return function (h) { return function (a) { var next = function (b) { return new Step(b, stepper(dictFunctor)(f)(h), h); }; return Data_Functor.map(dictFunctor)(next)(f(a)); }; }; }; }; // | Runs the next step. var step = function (v) { return v.value1; }; var never = function (dictApplicative) { return function (a) { return Control_Applicative.pure(dictApplicative)(new Step(Data_Void.absurd(a), never(dictApplicative), Control_Applicative.pure(dictApplicative)(Data_Unit.unit))); }; }; var loop = function (dictApplicative) { return function (f) { return function (g) { return function (s) { return function (a) { var next = function (s$prime) { return new Step(Data_Unit.unit, loop(dictApplicative)(f)(g)(s$prime), g(s$prime)); }; return Data_Functor.map((dictApplicative.Apply0()).Functor0())(next)(f(s)(a)); }; }; }; }; }; // | Runs the finalizer associated with a `Step` var halt = function (v) { return v.value2; }; var functorStep = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { return new Step(f(v.value0), function ($32) { return Data_Functor.map(dictFunctor)(Data_Functor.map(functorStep(dictFunctor))(f))(v.value1($32)); }, v.value2); }; }); }; var fold = function (dictApplicative) { return function (f) { return function (g) { return function (s) { return function (a) { var next = function (v) { return new Step(v.value1, fold(dictApplicative)(f)(g)(v.value0), g(v.value0)); }; return Data_Functor.map((dictApplicative.Apply0()).Functor0())(next)(f(s)(a)); }; }; }; }; }; // | Returns the output value of a `Step`. var extract = function (v) { return v.value0; }; var constantly = function (dictApplicative) { return function (x) { return function (v) { return Control_Applicative.pure(dictApplicative)(new Step(x, constantly(dictApplicative)(x), Control_Applicative.pure(dictApplicative)(Data_Unit.unit))); }; }; }; exports["Step"] = Step; exports["constantly"] = constantly; exports["extract"] = extract; exports["fold"] = fold; exports["halt"] = halt; exports["loop"] = loop; exports["never"] = never; exports["step"] = step; exports["stepper"] = stepper; exports["functorStep"] = functorStep; })(PS["Halogen.VDom.Machine"] = PS["Halogen.VDom.Machine"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_Functor = PS["Data.Functor"]; var Data_Generic = PS["Data.Generic"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var Namespace = function (x) { return x; }; var ElemName = function (x) { return x; }; var ElemSpec = (function () { function ElemSpec(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; ElemSpec.create = function (value0) { return function (value1) { return function (value2) { return new ElemSpec(value0, value1, value2); }; }; }; return ElemSpec; })(); // | The core virtual-dom tree type, where `a` is the type of attributes, // | and `w` is the type of "widgets". Widgets are machines that have complete // | control over the lifecycle of some `DOM.Node`. // | // | The `Grafted` constructor and associated machinery enables `bimap` // | fusion using a Coyoneda-like encoding. var Text = (function () { function Text(value0) { this.value0 = value0; }; Text.create = function (value0) { return new Text(value0); }; return Text; })(); // | The core virtual-dom tree type, where `a` is the type of attributes, // | and `w` is the type of "widgets". Widgets are machines that have complete // | control over the lifecycle of some `DOM.Node`. // | // | The `Grafted` constructor and associated machinery enables `bimap` // | fusion using a Coyoneda-like encoding. var Elem = (function () { function Elem(value0, value1) { this.value0 = value0; this.value1 = value1; }; Elem.create = function (value0) { return function (value1) { return new Elem(value0, value1); }; }; return Elem; })(); // | The core virtual-dom tree type, where `a` is the type of attributes, // | and `w` is the type of "widgets". Widgets are machines that have complete // | control over the lifecycle of some `DOM.Node`. // | // | The `Grafted` constructor and associated machinery enables `bimap` // | fusion using a Coyoneda-like encoding. var Keyed = (function () { function Keyed(value0, value1) { this.value0 = value0; this.value1 = value1; }; Keyed.create = function (value0) { return function (value1) { return new Keyed(value0, value1); }; }; return Keyed; })(); // | The core virtual-dom tree type, where `a` is the type of attributes, // | and `w` is the type of "widgets". Widgets are machines that have complete // | control over the lifecycle of some `DOM.Node`. // | // | The `Grafted` constructor and associated machinery enables `bimap` // | fusion using a Coyoneda-like encoding. var Widget = (function () { function Widget(value0) { this.value0 = value0; }; Widget.create = function (value0) { return new Widget(value0); }; return Widget; })(); // | The core virtual-dom tree type, where `a` is the type of attributes, // | and `w` is the type of "widgets". Widgets are machines that have complete // | control over the lifecycle of some `DOM.Node`. // | // | The `Grafted` constructor and associated machinery enables `bimap` // | fusion using a Coyoneda-like encoding. var Grafted = (function () { function Grafted(value0) { this.value0 = value0; }; Grafted.create = function (value0) { return new Grafted(value0); }; return Grafted; })(); var Graft = (function () { function Graft(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; Graft.create = function (value0) { return function (value1) { return function (value2) { return new Graft(value0, value1, value2); }; }; }; return Graft; })(); var unGraft = function (f) { return function ($124) { return f(Unsafe_Coerce.unsafeCoerce($124)); }; }; var ordNamespace = Data_Ord.ordString; var ordElemName = Data_Ord.ordString; var newtypeNamespace = new Data_Newtype.Newtype(function (n) { return n; }, Namespace); var newtypeElemName = new Data_Newtype.Newtype(function (n) { return n; }, ElemName); var graft = Unsafe_Coerce.unsafeCoerce; var genericNamespace = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Halogen.VDom.Types.Namespace" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(Namespace))(Data_Generic.fromSpine(Data_Generic.genericString)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Halogen.VDom.Types.Namespace", [ { sigConstructor: "Halogen.VDom.Types.Namespace", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericString)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Halogen.VDom.Types.Namespace", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericString)(v); } ]); }); var genericElemName = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Halogen.VDom.Types.ElemName" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(ElemName))(Data_Generic.fromSpine(Data_Generic.genericString)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Halogen.VDom.Types.ElemName", [ { sigConstructor: "Halogen.VDom.Types.ElemName", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericString)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Halogen.VDom.Types.ElemName", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericString)(v); } ]); }); var genericElemSpec = function (dictGeneric) { return new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Halogen.VDom.Types.ElemSpec" && v.value1.length === 3)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(ElemSpec.create))(Data_Generic.fromSpine(Data_Generic.genericMaybe(genericNamespace))(v["value1"][0](Data_Unit.unit))))(Data_Generic.fromSpine(genericElemName)(v["value1"][1](Data_Unit.unit))))(Data_Generic.fromSpine(dictGeneric)(v["value1"][2](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Halogen.VDom.Types.ElemSpec", [ { sigConstructor: "Halogen.VDom.Types.ElemSpec", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericMaybe(genericNamespace))(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(genericElemName)(Data_Generic.anyProxy); }, function ($dollarq1) { return Data_Generic.toSignature(dictGeneric)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Halogen.VDom.Types.ElemSpec", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericMaybe(genericNamespace))(v.value0); }, function ($dollarq) { return Data_Generic.toSpine(genericElemName)(v.value1); }, function ($dollarq) { return Data_Generic.toSpine(dictGeneric)(v.value2); } ]); }); }; var functorGraft = new Data_Functor.Functor(function (g) { return unGraft(function (v) { return graft(new Graft(v.value0, function ($125) { return g(v.value1($125)); }, v.value2)); }); }); var functorVDom = new Data_Functor.Functor(function (g) { return function (v) { if (v instanceof Text) { return new Text(v.value0); }; if (v instanceof Grafted) { return new Grafted(Data_Functor.map(functorGraft)(g)(v.value0)); }; return new Grafted(graft(new Graft(Control_Category.id(Control_Category.categoryFn), g, v))); }; }); var functorElemSpec = new Data_Functor.Functor(function (f) { return function (v) { return new ElemSpec(v.value0, v.value1, f(v.value2)); }; }); var eqNamespace = Data_Eq.eqString; var eqElemName = Data_Eq.eqString; var eqElemSpec = function (dictEq) { return new Data_Eq.Eq(function (x) { return function (y) { return Data_Eq.eq(Data_Maybe.eqMaybe(eqNamespace))(x.value0)(y.value0) && Data_Eq.eq(eqElemName)(x.value1)(y.value1) && Data_Eq.eq(dictEq)(x.value2)(y.value2); }; }); }; var ordElemSpec = function (dictOrd) { return new Data_Ord.Ord(function () { return eqElemSpec(dictOrd.Eq0()); }, function (x) { return function (y) { var v = Data_Ord.compare(Data_Maybe.ordMaybe(ordNamespace))(x.value0)(y.value0); if (v instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; var v1 = Data_Ord.compare(ordElemName)(x.value1)(y.value1); if (v1 instanceof Data_Ordering.LT) { return Data_Ordering.LT.value; }; if (v1 instanceof Data_Ordering.GT) { return Data_Ordering.GT.value; }; return Data_Ord.compare(dictOrd)(x.value2)(y.value2); }; }); }; var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return unGraft(function (v) { return graft(new Graft(function ($126) { return f(v.value0($126)); }, function ($127) { return g(v.value1($127)); }, v.value2)); }); }; }); var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { if (v instanceof Text) { return new Text(v.value0); }; if (v instanceof Grafted) { return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0)); }; return new Grafted(graft(new Graft(f, g, v))); }; }; }); var runGraft = unGraft(function (v) { var go = function (v2) { if (v2 instanceof Text) { return new Text(v2.value0); }; if (v2 instanceof Elem) { return new Elem(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1)); }; if (v2 instanceof Keyed) { return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1)); }; if (v2 instanceof Widget) { return new Widget(v.value1(v2.value0)); }; if (v2 instanceof Grafted) { return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0)); }; throw new Error("Failed pattern match at Halogen.VDom.Types line 75, column 7 - line 75, column 27: " + [ v2.constructor.name ]); }; return go(v.value2); }); exports["ElemName"] = ElemName; exports["ElemSpec"] = ElemSpec; exports["Graft"] = Graft; exports["Namespace"] = Namespace; exports["Text"] = Text; exports["Elem"] = Elem; exports["Keyed"] = Keyed; exports["Widget"] = Widget; exports["Grafted"] = Grafted; exports["graft"] = graft; exports["runGraft"] = runGraft; exports["unGraft"] = unGraft; exports["functorVDom"] = functorVDom; exports["bifunctorVDom"] = bifunctorVDom; exports["functorGraft"] = functorGraft; exports["bifunctorGraft"] = bifunctorGraft; exports["eqElemSpec"] = eqElemSpec; exports["ordElemSpec"] = ordElemSpec; exports["genericElemSpec"] = genericElemSpec; exports["functorElemSpec"] = functorElemSpec; exports["newtypeElemName"] = newtypeElemName; exports["eqElemName"] = eqElemName; exports["ordElemName"] = ordElemName; exports["genericElemName"] = genericElemName; exports["newtypeNamespace"] = newtypeNamespace; exports["eqNamespace"] = eqNamespace; exports["ordNamespace"] = ordNamespace; exports["genericNamespace"] = genericNamespace; })(PS["Halogen.VDom.Types"] = PS["Halogen.VDom.Types"] || {}); (function(exports) { "use strict"; exports.unsafeGetAny = function (key, obj) { return obj[key]; }; exports.unsafeHasAny = function (key, obj) { return obj.hasOwnProperty(key); }; exports.unsafeSetAny = function (key, val, obj) { return function () { obj[key] = val; }; }; exports.unsafeDeleteAny = function (key, obj) { return function () { delete obj[key]; }; }; exports.forE = function (a, f) { return function () { var b = []; for (var i = 0; i < a.length; i++) { b.push(f(i, a[i])()); } return b; }; }; exports.forInE = function (o, f) { return function () { var ks = Object.keys(o); for (var i = 0; i < ks.length; i++) { var k = ks[i]; f(k, o[k])(); } }; }; exports.replicateE = function (n, f) { return function () { for (var i = 0; i < n; i++) { f(); } }; }; exports.diffWithIxE = function (a1, a2, f1, f2, f3) { return function () { var a3 = []; var l1 = a1.length; var l2 = a2.length; var i = 0; while (1) { if (i < l1) { if (i < l2) { a3.push(f1(i, a1[i], a2[i])()); } else { f2(i, a1[i])(); } } else if (i < l2) { a3.push(f3(i, a2[i])()); } else { break; } i++; } return a3; }; }; exports.strMapWithIxE = function (as, fk, f) { return function () { var o = {}; for (var i = 0; i < as.length; i++) { var a = as[i]; var k = fk(a); o[k] = f(k, i, a)(); } return o; }; }; exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) { return function () { var o2 = {}; for (var i = 0; i < as.length; i++) { var a = as[i]; var k = fk(a); if (o1.hasOwnProperty(k)) { o2[k] = f1(k, i, o1[k], a)(); } else { o2[k] = f3(k, i, a)(); } } for (var k in o1) { if (k in o2) { continue; } f2(k, o1[k])(); } return o2; }; }; exports.refEq = function (a, b) { return a === b; }; exports.createTextNode = function (s, doc) { return function () { return doc.createTextNode(s); }; }; exports.setTextContent = function (s, n) { return function () { n.textContent = s; }; }; exports.createElement = function (ns, name, doc) { return function () { if (ns != null) { return doc.createElementNS(ns, name); } else { return doc.createElement(name) } }; }; exports.insertChildIx = function (i, a, b) { return function () { var n = b.childNodes.item(i) || null; if (n !== a) { b.insertBefore(a, n); } }; }; exports.removeChild = function (a, b) { return function () { if (b && a.parentNode === b) { b.removeChild(a); } }; }; exports.unsafeParent = function (a) { return a.parentNode; }; exports.setAttribute = function (ns, attr, val, el) { return function () { if (ns != null) { el.setAttributeNS(ns, attr, val); } else { el.setAttribute(attr, val); } }; }; exports.removeAttribute = function (ns, attr, el) { return function () { if (ns != null) { el.removeAttributeNS(ns, attr); } else { el.removeAttribute(attr); } }; }; exports.addEventListener = function (ev, listener, el) { return function () { el.addEventListener(ev, listener, false); }; }; exports.removeEventListener = function (ev, listener, el) { return function () { el.removeEventListener(ev, listener, false); }; }; exports.jsUndefined = void 0; })(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {}); (function(exports) { "use strict"; var $foreign = PS["Halogen.VDom.Util"]; var Control_Applicative = PS["Control.Applicative"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var DOM = PS["DOM"]; var DOM_Event_EventTarget = PS["DOM.Event.EventTarget"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Nullable = PS["Data.Nullable"]; var Data_StrMap = PS["Data.StrMap"]; var Data_StrMap_ST = PS["Data.StrMap.ST"]; var Data_Unit = PS["Data.Unit"]; var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var unsafeLookup = $foreign.unsafeGetAny; var unsafeFreeze = Unsafe_Coerce.unsafeCoerce; var pokeMutMap = $foreign.unsafeSetAny; var newMutMap = Unsafe_Coerce.unsafeCoerce(Data_StrMap_ST["new"]); var effUnit = Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); var effPure = Control_Applicative.pure(Control_Monad_Eff.applicativeEff); var deleteMutMap = $foreign.unsafeDeleteAny; exports["deleteMutMap"] = deleteMutMap; exports["effPure"] = effPure; exports["effUnit"] = effUnit; exports["newMutMap"] = newMutMap; exports["pokeMutMap"] = pokeMutMap; exports["unsafeFreeze"] = unsafeFreeze; exports["unsafeLookup"] = unsafeLookup; exports["addEventListener"] = $foreign.addEventListener; exports["createElement"] = $foreign.createElement; exports["createTextNode"] = $foreign.createTextNode; exports["diffWithIxE"] = $foreign.diffWithIxE; exports["diffWithKeyAndIxE"] = $foreign.diffWithKeyAndIxE; exports["forE"] = $foreign.forE; exports["forInE"] = $foreign.forInE; exports["insertChildIx"] = $foreign.insertChildIx; exports["jsUndefined"] = $foreign.jsUndefined; exports["refEq"] = $foreign.refEq; exports["removeAttribute"] = $foreign.removeAttribute; exports["removeChild"] = $foreign.removeChild; exports["removeEventListener"] = $foreign.removeEventListener; exports["replicateE"] = $foreign.replicateE; exports["setAttribute"] = $foreign.setAttribute; exports["setTextContent"] = $foreign.setTextContent; exports["strMapWithIxE"] = $foreign.strMapWithIxE; exports["unsafeDeleteAny"] = $foreign.unsafeDeleteAny; exports["unsafeGetAny"] = $foreign.unsafeGetAny; exports["unsafeHasAny"] = $foreign.unsafeHasAny; exports["unsafeParent"] = $foreign.unsafeParent; exports["unsafeSetAny"] = $foreign.unsafeSetAny; })(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var DOM = PS["DOM"]; var DOM_Event_EventTarget = PS["DOM.Event.EventTarget"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Eq = PS["Data.Eq"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Data_Semigroup = PS["Data.Semigroup"]; var Data_StrMap = PS["Data.StrMap"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Halogen_VDom = PS["Halogen.VDom"]; var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"]; var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; var Halogen_VDom_Util = PS["Halogen.VDom.Util"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var Created = (function () { function Created(value0) { this.value0 = value0; }; Created.create = function (value0) { return new Created(value0); }; return Created; })(); var Removed = (function () { function Removed(value0) { this.value0 = value0; }; Removed.create = function (value0) { return new Removed(value0); }; return Removed; })(); // | Attributes, properties, event handlers, and element lifecycles. // | Parameterized by the type of handlers outputs. var Attribute = (function () { function Attribute(value0, value1, value2) { this.value0 = value0; this.value1 = value1; this.value2 = value2; }; Attribute.create = function (value0) { return function (value1) { return function (value2) { return new Attribute(value0, value1, value2); }; }; }; return Attribute; })(); // | Attributes, properties, event handlers, and element lifecycles. // | Parameterized by the type of handlers outputs. var Property = (function () { function Property(value0, value1) { this.value0 = value0; this.value1 = value1; }; Property.create = function (value0) { return function (value1) { return new Property(value0, value1); }; }; return Property; })(); // | Attributes, properties, event handlers, and element lifecycles. // | Parameterized by the type of handlers outputs. var Handler = (function () { function Handler(value0, value1) { this.value0 = value0; this.value1 = value1; }; Handler.create = function (value0) { return function (value1) { return new Handler(value0, value1); }; }; return Handler; })(); // | Attributes, properties, event handlers, and element lifecycles. // | Parameterized by the type of handlers outputs. var Ref = (function () { function Ref(value0) { this.value0 = value0; }; Ref.create = function (value0) { return new Ref(value0); }; return Ref; })(); var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny; var setProperty = Halogen_VDom_Util.unsafeSetAny; var removeProperty = function (key, el) { var v = Data_Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el)); if (v === "string") { return Halogen_VDom_Util.unsafeSetAny(key, "", el); }; return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el); }; var propToStrKey = function (v) { if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) { return "attr/" + (v.value0.value0 + (":" + v.value1)); }; if (v instanceof Attribute) { return "attr/:" + v.value1; }; if (v instanceof Property) { return "prop/" + v.value0; }; if (v instanceof Handler) { return "handler/" + v.value0; }; if (v instanceof Ref) { return "ref"; }; throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 179, column 16 - line 186, column 1: " + [ v.constructor.name ]); }; var propFromString = Unsafe_Coerce.unsafeCoerce; var propFromNumber = Unsafe_Coerce.unsafeCoerce; var propFromInt = Unsafe_Coerce.unsafeCoerce; var propFromBoolean = Unsafe_Coerce.unsafeCoerce; var functorProp = new Data_Functor.Functor(function (f) { return function (v) { if (v instanceof Handler) { return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1)); }; if (v instanceof Ref) { return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0)); }; return Unsafe_Coerce.unsafeCoerce(v); }; }); var functorElemRef = new Data_Functor.Functor(function (f) { return function (v) { if (v instanceof Created) { return new Created(f(v.value0)); }; if (v instanceof Removed) { return new Removed(f(v.value0)); }; throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 48, column 1 - line 48, column 42: " + [ f.constructor.name, v.constructor.name ]); }; }); // | A `Machine`` for applying attributes, properties, and event handlers. // | An emitter effect must be provided to respond to events. For example, // | to allow arbitrary effects in event handlers, one could use `id`. var buildProp = function (emit) { return function (el) { var removeProp = function (prevEvents) { return function (v, v1) { if (v1 instanceof Attribute) { return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el); }; if (v1 instanceof Property) { return removeProperty(v1.value0, el); }; if (v1 instanceof Handler) { var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents); return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el); }; if (v1 instanceof Ref) { return Halogen_VDom_Util.effUnit; }; throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 166, column 5 - line 176, column 21: " + [ v1.constructor.name ]); }; }; var mbEmit = Data_Maybe.maybe(Halogen_VDom_Util.effUnit)(emit); var done = function (ps) { var v = Data_StrMap.lookup("ref")(ps); if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) { return mbEmit(v.value0.value0(new Removed(el))); }; return Halogen_VDom_Util.effUnit; }; var diffProp = function (prevEvents, events) { return function (v, v1, v11, v2) { if (v11 instanceof Attribute && v2 instanceof Attribute) { var v3 = v11.value2 !== v2.value2; if (v3) { return function __do() { Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el)(); return v2; }; }; return Halogen_VDom_Util.effPure(v2); }; if (v11 instanceof Property && v2 instanceof Property) { var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1); if (v4) { return Halogen_VDom_Util.effPure(v2); }; if (v2.value0 === "value") { var elVal = unsafeGetProperty("value", el); var v5 = !Halogen_VDom_Util.refEq(elVal, v2.value1); if (v5) { return function __do() { setProperty(v2.value0, v2.value1, el)(); return v2; }; }; return Halogen_VDom_Util.effPure(v2); }; return function __do() { setProperty(v2.value0, v2.value1, el)(); return v2; }; }; if (v11 instanceof Handler && v2 instanceof Handler) { var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents); return function __do() { Control_Monad_Eff_Ref.writeRef(Data_Tuple.snd(handler))(v2.value1)(); Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events)(); return v2; }; }; return Halogen_VDom_Util.effPure(v2); }; }; var applyProp = function (events) { return function (v, v1, v2) { if (v2 instanceof Attribute) { return function __do() { Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el)(); return v2; }; }; if (v2 instanceof Property) { return function __do() { setProperty(v2.value0, v2.value1, el)(); return v2; }; }; if (v2 instanceof Handler) { var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events); if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) { return function __do() { Control_Monad_Eff_Ref.writeRef(Data_Tuple.snd(v3))(v2.value1)(); return v2; }; }; return function __do() { var v4 = Control_Monad_Eff_Ref.newRef(v2.value1)(); var listener = DOM_Event_EventTarget.eventListener(function (ev) { return function __do() { var v5 = Control_Monad_Eff_Ref.readRef(v4)(); return mbEmit(v5(ev))(); }; }); Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, v4), events)(); Halogen_VDom_Util.addEventListener(v2.value0, listener, el)(); return v2; }; }; if (v2 instanceof Ref) { return function __do() { mbEmit(v2.value0(new Created(el)))(); return v2; }; }; throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 107, column 5 - line 130, column 15: " + [ v2.constructor.name ]); }; }; var patch = function (prevEvents, ps1) { return function (ps2) { return function __do() { var v = Halogen_VDom_Util.newMutMap(); var onThis = removeProp(prevEvents); var onThese = diffProp(prevEvents, v); var onThat = applyProp(v); var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat)(); return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1)); }; }; }; var render = function (ps1) { return function __do() { var v = Halogen_VDom_Util.newMutMap(); var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v))(); return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1)); }; }; return render; }; }; exports["Created"] = Created; exports["Removed"] = Removed; exports["Attribute"] = Attribute; exports["Property"] = Property; exports["Handler"] = Handler; exports["Ref"] = Ref; exports["buildProp"] = buildProp; exports["propFromBoolean"] = propFromBoolean; exports["propFromInt"] = propFromInt; exports["propFromNumber"] = propFromNumber; exports["propFromString"] = propFromString; exports["functorProp"] = functorProp; exports["functorElemRef"] = functorElemRef; })(PS["Halogen.VDom.DOM.Prop"] = PS["Halogen.VDom.DOM.Prop"] || {}); (function(exports) { "use strict"; var Control_Apply = PS["Control.Apply"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"]; var DOM_HTML_Indexed_CrossOriginValue = PS["DOM.HTML.Indexed.CrossOriginValue"]; var DOM_HTML_Indexed_DirValue = PS["DOM.HTML.Indexed.DirValue"]; var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"]; var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"]; var DOM_HTML_Indexed_KindValue = PS["DOM.HTML.Indexed.KindValue"]; var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"]; var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"]; var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"]; var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"]; var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"]; var DOM_HTML_Indexed_ScopeValue = PS["DOM.HTML.Indexed.ScopeValue"]; var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"]; var DOM_HTML_Indexed_WrapValue = PS["DOM.HTML.Indexed.WrapValue"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Generic = PS["Data.Generic"]; var Data_Maybe = PS["Data.Maybe"]; var Data_MediaType = PS["Data.MediaType"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Ord = PS["Data.Ord"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; var Halogen_VDom = PS["Halogen.VDom"]; var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"]; var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; // | A type-safe wrapper for property names. // | // | The phantom type `value` describes the type of value which this property // | requires. var PropName = function (x) { return x; }; var HTML = function (x) { return x; }; // | A wrapper for strings which are used as CSS classes. var ClassName = function (x) { return x; }; // | A type-safe wrapper for attribute names. var AttrName = function (x) { return x; }; var IsProp = function (toPropValue) { this.toPropValue = toPropValue; }; var wrapValueIsProp = new IsProp(function ($53) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_WrapValue.renderWrapValue($53)); }); var toPropValue = function (dict) { return dict.toPropValue; }; // | Constructs a text node `HTML` value. var text = function ($54) { return HTML(Halogen_VDom_Types.Text.create($54)); }; var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString); var stepValueIsProp = new IsProp(function ($55) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_StepValue.renderStepValue($55)); }); // | A smart constructor for widget slots in the HTML. var slot = function ($56) { return HTML(Halogen_VDom_Types.Widget.create($56)); }; var scopeValueIsProp = new IsProp(function ($57) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ScopeValue.renderScopeValue($57)); }); var ref = function (f) { return Halogen_VDom_DOM_Prop.Ref.create(function ($58) { return f((function (v) { if (v instanceof Halogen_VDom_DOM_Prop.Created) { return new Data_Maybe.Just(v.value0); }; if (v instanceof Halogen_VDom_DOM_Prop.Removed) { return Data_Maybe.Nothing.value; }; throw new Error("Failed pattern match at Halogen.HTML.Core line 104, column 21 - line 106, column 23: " + [ v.constructor.name ]); })($58)); }); }; // | Create a HTML property. var prop = function (dictIsProp) { return function (v) { return function ($59) { return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($59)); }; }; }; var preloadValueIsProp = new IsProp(function ($60) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_PreloadValue.renderPreloadValue($60)); }); var orderedListTypeIsProp = new IsProp(function ($61) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OrderedListType.renderOrderedListType($61)); }); var ordPropName = Data_Ord.ordString; var ordClassName = Data_Ord.ordString; var ordAttrName = Data_Ord.ordString; var onOffIsProp = new IsProp(function ($62) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($62)); }); var numberIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromNumber); var newtypePropName = new Data_Newtype.Newtype(function (n) { return n; }, PropName); var newtypeHTML = new Data_Newtype.Newtype(function (n) { return n; }, HTML); var newtypeClassName = new Data_Newtype.Newtype(function (n) { return n; }, ClassName); var newtypeAttrName = new Data_Newtype.Newtype(function (n) { return n; }, AttrName); var menuitemTypeIsProp = new IsProp(function ($63) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_MenuitemType.renderMenuitemType($63)); }); var menuTypeIsProp = new IsProp(function ($64) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_MenuType.renderMenuType($64)); }); var mediaTypeIsProp = new IsProp(function ($65) { return Halogen_VDom_DOM_Prop.propFromString(Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)($65)); }); var kindValueIsProp = new IsProp(function ($66) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_KindValue.renderKindValue($66)); }); // | A smart constructor for HTML elements with keyed children. var keyed = function (ns) { return Unsafe_Coerce.unsafeCoerce(function (name) { return function (props) { return function (children) { return new Halogen_VDom_Types.Keyed(new Halogen_VDom_Types.ElemSpec(ns, name, props), children); }; }; }); }; var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt); var inputTypeIsProp = new IsProp(function ($67) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($67)); }); // | Create an event handler. var handler = Halogen_VDom_DOM_Prop.Handler.create; var genericPropName = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Halogen.HTML.Core.PropName" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(PropName))(Data_Generic.fromSpine(Data_Generic.genericString)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Halogen.HTML.Core.PropName", [ { sigConstructor: "Halogen.HTML.Core.PropName", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericString)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Halogen.HTML.Core.PropName", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericString)(v); } ]); }); var genericClassName = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Halogen.HTML.Core.ClassName" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(ClassName))(Data_Generic.fromSpine(Data_Generic.genericString)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Halogen.HTML.Core.ClassName", [ { sigConstructor: "Halogen.HTML.Core.ClassName", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericString)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Halogen.HTML.Core.ClassName", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericString)(v); } ]); }); var genericAttrName = new Data_Generic.Generic(function (v) { if (v instanceof Data_Generic.SProd && (v.value0 === "Halogen.HTML.Core.AttrName" && v.value1.length === 1)) { return Control_Apply.apply(Data_Maybe.applyMaybe)(new Data_Maybe.Just(AttrName))(Data_Generic.fromSpine(Data_Generic.genericString)(v["value1"][0](Data_Unit.unit))); }; return Data_Maybe.Nothing.value; }, function ($dollarq) { return new Data_Generic.SigProd("Halogen.HTML.Core.AttrName", [ { sigConstructor: "Halogen.HTML.Core.AttrName", sigValues: [ function ($dollarq1) { return Data_Generic.toSignature(Data_Generic.genericString)(Data_Generic.anyProxy); } ] } ]); }, function (v) { return new Data_Generic.SProd("Halogen.HTML.Core.AttrName", [ function ($dollarq) { return Data_Generic.toSpine(Data_Generic.genericString)(v); } ]); }); var formMethodIsProp = new IsProp(function ($68) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_FormMethod.renderFormMethod($68)); }); var eqPropName = Data_Eq.eqString; var eqClassName = Data_Eq.eqString; var eqAttrName = Data_Eq.eqString; // | A smart constructor for HTML elements. var element = function (ns) { return Unsafe_Coerce.unsafeCoerce(function (name) { return function (props) { return function (children) { return new Halogen_VDom_Types.Elem(new Halogen_VDom_Types.ElemSpec(ns, name, props), children); }; }; }); }; var dirValueIsProp = new IsProp(function ($69) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_DirValue.renderDirValue($69)); }); var crossOriginValueIsProp = new IsProp(function ($70) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_CrossOriginValue.renderCrossOriginValue($70)); }); var buttonTypeIsProp = new IsProp(function ($71) { return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($71)); }); var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean); var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return function (v) { return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v); }; }; }); var functorHTML = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorHTML)); // | Create a HTML attribute. var attr = function (ns) { return function (v) { return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v); }; }; exports["AttrName"] = AttrName; exports["ClassName"] = ClassName; exports["HTML"] = HTML; exports["PropName"] = PropName; exports["IsProp"] = IsProp; exports["attr"] = attr; exports["element"] = element; exports["handler"] = handler; exports["keyed"] = keyed; exports["prop"] = prop; exports["ref"] = ref; exports["slot"] = slot; exports["text"] = text; exports["toPropValue"] = toPropValue; exports["newtypeHTML"] = newtypeHTML; exports["bifunctorHTML"] = bifunctorHTML; exports["functorHTML"] = functorHTML; exports["stringIsProp"] = stringIsProp; exports["intIsProp"] = intIsProp; exports["numberIsProp"] = numberIsProp; exports["booleanIsProp"] = booleanIsProp; exports["mediaTypeIsProp"] = mediaTypeIsProp; exports["buttonTypeIsProp"] = buttonTypeIsProp; exports["crossOriginValueIsProp"] = crossOriginValueIsProp; exports["dirValueIsProp"] = dirValueIsProp; exports["formMethodIsProp"] = formMethodIsProp; exports["inputTypeIsProp"] = inputTypeIsProp; exports["kindValueIsProp"] = kindValueIsProp; exports["menuitemTypeIsProp"] = menuitemTypeIsProp; exports["menuTypeIsProp"] = menuTypeIsProp; exports["onOffIsProp"] = onOffIsProp; exports["orderedListTypeIsProp"] = orderedListTypeIsProp; exports["preloadValueIsProp"] = preloadValueIsProp; exports["scopeValueIsProp"] = scopeValueIsProp; exports["stepValueIsProp"] = stepValueIsProp; exports["wrapValueIsProp"] = wrapValueIsProp; exports["newtypePropName"] = newtypePropName; exports["eqPropName"] = eqPropName; exports["ordPropName"] = ordPropName; exports["genericPropName"] = genericPropName; exports["newtypeAttrName"] = newtypeAttrName; exports["eqAttrName"] = eqAttrName; exports["ordAttrName"] = ordAttrName; exports["genericAttrName"] = genericAttrName; exports["newtypeClassName"] = newtypeClassName; exports["eqClassName"] = eqClassName; exports["ordClassName"] = ordClassName; exports["genericClassName"] = genericClassName; })(PS["Halogen.HTML.Core"] = PS["Halogen.HTML.Core"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Coroutine = PS["Control.Coroutine"]; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Aff_AVar = PS["Control.Monad.Aff.AVar"]; var Control_Monad_Aff_Class = PS["Control.Monad.Aff.Class"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Ordering = PS["Data.Ordering"]; var Data_Unit = PS["Data.Unit"]; var Prelude = PS["Prelude"]; // | The status of an `EventSource` subscription. When a query raised by an // | `EventSource` evaluates to `Done` the producer will be unsubscribed from. var Listening = (function () { function Listening() { }; Listening.value = new Listening(); return Listening; })(); // | The status of an `EventSource` subscription. When a query raised by an // | `EventSource` evaluates to `Done` the producer will be unsubscribed from. var Done = (function () { function Done() { }; Done.value = new Done(); return Done; })(); var EventSource = function (x) { return x; }; var unEventSource = function (v) { return v; }; var produceAff$prime = function (recv) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Aff_AVar.makeVar)(function (v) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Aff_AVar.makeVar)(function (v1) { var producer = Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorEmit)(Control_Monad_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorEmit))(Control_Monad_Aff.monadAff)(Control_Bind.bindFlipped(Control_Monad_Aff.bindAff)(Control_Monad_Aff_AVar.putVar(v1))(recv(Control_Monad_Aff_AVar.putVar(v)))))(function () { return Control_Coroutine.producer(Control_Monad_Aff.monadAff)(Control_Monad_Aff_AVar.takeVar(v)); }); var cancel = function (r) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Aff.attempt(Control_Monad_Aff_AVar.takeVar(v1)))(function (v2) { if (v2 instanceof Data_Either.Left) { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(false); }; if (v2 instanceof Data_Either.Right) { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Control_Monad_Aff_AVar.killVar(v1)(Control_Monad_Eff_Exception.error("finalized")))(function () { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(v2.value0)(function () { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(true); }); }); }; throw new Error("Failed pattern match at Halogen.Query.EventSource line 179, column 44 - line 184, column 20: " + [ v2.constructor.name ]); }); }; return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)({ producer: producer, cancel: cancel }); }); }); }; var produceAff = function (dictMonadAff) { return function (recv) { return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorEmit)((dictMonadAff.MonadEff0()).Monad0()))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorEmit))((dictMonadAff.MonadEff0()).Monad0())(Control_Monad_Aff_Class.liftAff(dictMonadAff)(Control_Monad_Aff_AVar.makeVar)))(function (v) { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorEmit)((dictMonadAff.MonadEff0()).Monad0()))(Data_Functor["void"](Control_Monad_Free_Trans.functorFreeT(Control_Coroutine.functorEmit)(((((dictMonadAff.MonadEff0()).Monad0()).Bind1()).Apply0()).Functor0()))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorEmit))((dictMonadAff.MonadEff0()).Monad0())(Control_Monad_Aff_Class.liftAff(dictMonadAff)(Control_Monad_Aff.forkAff(recv(Control_Monad_Aff_AVar.putVar(v)))))))(function () { return Control_Coroutine.producer((dictMonadAff.MonadEff0()).Monad0())(Control_Monad_Aff_Class.liftAff(dictMonadAff)(Control_Monad_Aff_AVar.takeVar(v))); }); }); }; }; var produce$prime = function (recv) { return produceAff$prime(function (send) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(recv(function ($50) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(Control_Monad_Aff.runAff(Data_Function["const"](Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit)))(Control_Applicative.pure(Control_Monad_Eff.applicativeEff))(send($50))); })))(function (v) { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(v)); }); }); }; var produce = function (recv) { return produceAff(Control_Monad_Aff_Class.monadAffAff)(function (send) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(recv(function ($51) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(Control_Monad_Aff.runAff(Data_Function["const"](Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit)))(Control_Applicative.pure(Control_Monad_Eff.applicativeEff))(send($51))); })); }); }; var interpret = function (dictFunctor) { return function (nat) { return function (v) { return EventSource(Data_Functor.map(dictFunctor)(function (e) { return { producer: Control_Monad_Free_Trans.interpret(Control_Coroutine.functorEmit)(dictFunctor)(Data_Bifunctor.lmap(Control_Coroutine.bifunctorEmit)(nat))(e.producer), done: e.done }; })(v)); }; }; }; var hoist = function (dictFunctor) { return function (nat) { return function (v) { return EventSource(Data_Functor.map(dictFunctor)(function (e) { return { producer: Control_Monad_Free_Trans.hoistFreeT(Control_Coroutine.functorEmit)(dictFunctor)(nat)(e.producer), done: nat(e.done) }; })(nat(v))); }; }; }; // | Similar to `eventSource_` but allows the attachment function to return an // | action to perform when the handler is detached. var eventSource_$prime = function (dictMonadAff) { return function (attach) { return function (query) { return Control_Bind.bind(((dictMonadAff.MonadEff0()).Monad0()).Bind1())(Control_Monad_Aff_Class.liftAff(dictMonadAff)(produce$prime(function (emit) { return attach(emit(new Data_Either.Left(query))); })))(function (v) { return Control_Applicative.pure(((dictMonadAff.MonadEff0()).Monad0()).Applicative0())({ producer: Control_Monad_Free_Trans.hoistFreeT(Control_Coroutine.functorEmit)(((((dictMonadAff.MonadEff0()).Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Aff_Class.liftAff(dictMonadAff))(v.producer), done: Control_Monad_Aff_Class.liftAff(dictMonadAff)(Data_Functor["void"](Control_Monad_Aff.functorAff)(v.cancel(Data_Unit.unit))) }); }); }; }; }; // | Creates an `EventSource` for a callback that accepts no arguments. // | // | - The first argument is the function that attaches the listener. // | - The second argument is the query to raise whenever the listener is // | triggered. var eventSource_ = function (dictMonadAff) { return function (attach) { return function (query) { var producer = produce(function (emit) { return attach(emit(new Data_Either.Left(query))); }); return Control_Applicative.pure(((dictMonadAff.MonadEff0()).Monad0()).Applicative0())({ producer: Control_Monad_Free_Trans.hoistFreeT(Control_Coroutine.functorEmit)(((((dictMonadAff.MonadEff0()).Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Aff_Class.liftAff(dictMonadAff))(producer), done: Control_Applicative.pure(((dictMonadAff.MonadEff0()).Monad0()).Applicative0())(Data_Unit.unit) }); }; }; }; var eqSubscribeStatus = new Data_Eq.Eq(function (x) { return function (y) { if (x instanceof Listening && y instanceof Listening) { return true; }; if (x instanceof Done && y instanceof Done) { return true; }; return false; }; }); var ordSubscribeStatus = new Data_Ord.Ord(function () { return eqSubscribeStatus; }, function (x) { return function (y) { if (x instanceof Listening && y instanceof Listening) { return Data_Ordering.EQ.value; }; if (x instanceof Listening) { return Data_Ordering.LT.value; }; if (y instanceof Listening) { return Data_Ordering.GT.value; }; if (x instanceof Done && y instanceof Done) { return Data_Ordering.EQ.value; }; throw new Error("Failed pattern match at Halogen.Query.EventSource line 63, column 8 - line 63, column 58: " + [ x.constructor.name, y.constructor.name ]); }; }); // | Takes a producer of `Maybe`s and filters out the `Nothings`. Useful for // | constructing `EventSource`s for producers that don't need to handle every // | event. var catMaybes = function (dictMonadRec) { return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(Control_Coroutine.functorEmit)(dictMonadRec.Monad0()))(Control_Bind.composeKleisli(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorEmit)(dictMonadRec.Monad0()))(function ($52) { return Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorEmit))(dictMonadRec.Monad0())(Control_Monad_Free_Trans.resume(Control_Coroutine.functorEmit)(dictMonadRec)($52)); })(function (v) { if (v instanceof Data_Either.Left) { return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorEmit)(dictMonadRec.Monad0()))(new Control_Monad_Rec_Class.Done(v.value0)); }; if (v instanceof Data_Either.Right) { return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(Control_Coroutine.functorEmit)((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0()))(Data_Foldable.for_(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorEmit)(dictMonadRec.Monad0()))(Data_Foldable.foldableMaybe)(v.value0.value0)(Control_Coroutine.emit(dictMonadRec.Monad0())))(new Control_Monad_Rec_Class.Loop(v.value0.value1)); }; throw new Error("Failed pattern match at Halogen.Query.EventSource line 137, column 41 - line 139, column 64: " + [ v.constructor.name ]); })); }; // | Creates an `EventSource` for a callback that accepts one argument. // | // | - The first argument is the function that attaches the listener. // | - The second argument is a handler that optionally produces a value in `f`. var eventSource = function (dictMonadAff) { return function (attach) { return function (handler) { var producer = produce(function (emit) { return attach(function ($53) { return emit(Data_Either.Left.create(handler($53))); }); }); return Control_Applicative.pure(((dictMonadAff.MonadEff0()).Monad0()).Applicative0())({ producer: Control_Monad_Free_Trans.hoistFreeT(Control_Coroutine.functorEmit)(((((dictMonadAff.MonadEff0()).Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Aff_Class.liftAff(dictMonadAff))(catMaybes(Control_Monad_Aff.monadRecAff)(producer)), done: Control_Applicative.pure(((dictMonadAff.MonadEff0()).Monad0()).Applicative0())(Data_Unit.unit) }); }; }; }; // | Similar to `eventSource` but allows the attachment function to return an // | action to perform when the handler is detached. var eventSource$prime = function (dictMonadAff) { return function (attach) { return function (handler) { return Control_Bind.bind(((dictMonadAff.MonadEff0()).Monad0()).Bind1())(Control_Monad_Aff_Class.liftAff(dictMonadAff)(produce$prime(function (emit) { return attach(function ($54) { return emit(Data_Either.Left.create(handler($54))); }); })))(function (v) { return Control_Applicative.pure(((dictMonadAff.MonadEff0()).Monad0()).Applicative0())({ producer: Control_Monad_Free_Trans.hoistFreeT(Control_Coroutine.functorEmit)(((((dictMonadAff.MonadEff0()).Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Aff_Class.liftAff(dictMonadAff))(catMaybes(Control_Monad_Aff.monadRecAff)(v.producer)), done: Control_Monad_Aff_Class.liftAff(dictMonadAff)(Data_Functor["void"](Control_Monad_Aff.functorAff)(v.cancel(Data_Unit.unit))) }); }); }; }; }; exports["EventSource"] = EventSource; exports["Listening"] = Listening; exports["Done"] = Done; exports["catMaybes"] = catMaybes; exports["eventSource"] = eventSource; exports["eventSource'"] = eventSource$prime; exports["eventSource_"] = eventSource_; exports["eventSource_'"] = eventSource_$prime; exports["hoist"] = hoist; exports["interpret"] = interpret; exports["produce"] = produce; exports["produce'"] = produce$prime; exports["produceAff"] = produceAff; exports["produceAff'"] = produceAff$prime; exports["unEventSource"] = unEventSource; exports["eqSubscribeStatus"] = eqSubscribeStatus; exports["ordSubscribeStatus"] = ordSubscribeStatus; })(PS["Halogen.Query.EventSource"] = PS["Halogen.Query.EventSource"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var ForkF = (function () { function ForkF(value0, value1) { this.value0 = value0; this.value1 = value1; }; ForkF.create = function (value0) { return function (value1) { return new ForkF(value0, value1); }; }; return ForkF; })(); var unFork = Unsafe_Coerce.unsafeCoerce; var mkFork = Unsafe_Coerce.unsafeCoerce; var hoistFork = function (nat) { return unFork(function (v) { return mkFork(new ForkF(nat(v.value0), v.value1)); }); }; var functorFork = new Data_Functor.Functor(function (f) { return unFork(function (v) { return mkFork(new ForkF(v.value0, Data_Functor.map(Data_Functor.functorFn)(f)(v.value1))); }); }); var fork = function (fx) { return mkFork(new ForkF(fx, Control_Category.id(Control_Category.categoryFn))); }; exports["ForkF"] = ForkF; exports["fork"] = fork; exports["hoistFork"] = hoistFork; exports["mkFork"] = mkFork; exports["unFork"] = unFork; exports["functorFork"] = functorFork; })(PS["Halogen.Query.ForkF"] = PS["Halogen.Query.ForkF"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Applicative_Free = PS["Control.Applicative.Free"]; var Control_Apply = PS["Control.Apply"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad = PS["Control.Monad"]; var Control_Monad_Aff_Class = PS["Control.Monad.Aff.Class"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Fork = PS["Control.Monad.Fork"]; var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"]; var Control_Monad_Free = PS["Control.Monad.Free"]; var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"]; var Control_Parallel_Class = PS["Control.Parallel.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Coyoneda = PS["Data.Coyoneda"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List = PS["Data.List"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"]; var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"]; var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; var Prelude = PS["Prelude"]; var HalogenAp = function (x) { return x; }; var HalogenM = function (x) { return x; }; // | The Halogen component algebra var State = (function () { function State(value0) { this.value0 = value0; }; State.create = function (value0) { return new State(value0); }; return State; })(); // | The Halogen component algebra var Subscribe = (function () { function Subscribe(value0, value1) { this.value0 = value0; this.value1 = value1; }; Subscribe.create = function (value0) { return function (value1) { return new Subscribe(value0, value1); }; }; return Subscribe; })(); // | The Halogen component algebra var Lift = (function () { function Lift(value0) { this.value0 = value0; }; Lift.create = function (value0) { return new Lift(value0); }; return Lift; })(); // | The Halogen component algebra var Halt = (function () { function Halt(value0) { this.value0 = value0; }; Halt.create = function (value0) { return new Halt(value0); }; return Halt; })(); // | The Halogen component algebra var GetSlots = (function () { function GetSlots(value0) { this.value0 = value0; }; GetSlots.create = function (value0) { return new GetSlots(value0); }; return GetSlots; })(); // | The Halogen component algebra var CheckSlot = (function () { function CheckSlot(value0, value1) { this.value0 = value0; this.value1 = value1; }; CheckSlot.create = function (value0) { return function (value1) { return new CheckSlot(value0, value1); }; }; return CheckSlot; })(); // | The Halogen component algebra var ChildQuery = (function () { function ChildQuery(value0, value1) { this.value0 = value0; this.value1 = value1; }; ChildQuery.create = function (value0) { return function (value1) { return new ChildQuery(value0, value1); }; }; return ChildQuery; })(); // | The Halogen component algebra var Raise = (function () { function Raise(value0, value1) { this.value0 = value0; this.value1 = value1; }; Raise.create = function (value0) { return function (value1) { return new Raise(value0, value1); }; }; return Raise; })(); // | The Halogen component algebra var Par = (function () { function Par(value0) { this.value0 = value0; }; Par.create = function (value0) { return new Par(value0); }; return Par; })(); // | The Halogen component algebra var Fork = (function () { function Fork(value0) { this.value0 = value0; }; Fork.create = function (value0) { return new Fork(value0); }; return Fork; })(); // | The Halogen component algebra var GetRef = (function () { function GetRef(value0, value1) { this.value0 = value0; this.value1 = value1; }; GetRef.create = function (value0) { return function (value1) { return new GetRef(value0, value1); }; }; return GetRef; })(); // | Provides a way of having a component subscribe to an `EventSource` from // | within an `Eval` function. var subscribe = function (es) { return HalogenM(Control_Monad_Free.liftF(new Subscribe(es, Data_Unit.unit))); }; // | Raises an output message for the component. var raise = function (o) { return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit))); }; var newtypeHalogenAp = new Data_Newtype.Newtype(function (n) { return n; }, HalogenAp); var monadTransHalogenM = new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) { return function (m) { return HalogenM(Control_Monad_Free.liftF(new Lift(m))); }; }); var mkQuery = function (dictEq) { return function (p) { return function ($68) { return HalogenM(Control_Monad_Free.liftF(ChildQuery.create(p)(Data_Coyoneda.coyoneda(Control_Category.id(Control_Category.categoryFn))($68)))); }; }; }; var hoist = function (dictFunctor) { return function (nat) { return function (v) { var go = function (v1) { if (v1 instanceof State) { return new State(v1.value0); }; if (v1 instanceof Subscribe) { return new Subscribe(Halogen_Query_EventSource.hoist(dictFunctor)(nat)(v1.value0), v1.value1); }; if (v1 instanceof Lift) { return new Lift(nat(v1.value0)); }; if (v1 instanceof Halt) { return new Halt(v1.value0); }; if (v1 instanceof GetSlots) { return new GetSlots(v1.value0); }; if (v1 instanceof CheckSlot) { return new CheckSlot(v1.value0, v1.value1); }; if (v1 instanceof ChildQuery) { return new ChildQuery(v1.value0, v1.value1); }; if (v1 instanceof Raise) { return new Raise(v1.value0, v1.value1); }; if (v1 instanceof Par) { return new Par(Data_Newtype.over(newtypeHalogenAp)(newtypeHalogenAp)(HalogenAp)(Control_Applicative_Free.hoistFreeAp(hoist(dictFunctor)(nat)))(v1.value0)); }; if (v1 instanceof Fork) { return new Fork(Halogen_Query_ForkF.hoistFork(hoist(dictFunctor)(nat))(v1.value0)); }; if (v1 instanceof GetRef) { return new GetRef(v1.value0, v1.value1); }; throw new Error("Failed pattern match at Halogen.Query.HalogenM line 150, column 8 - line 161, column 28: " + [ v1.constructor.name ]); }; return Control_Monad_Free.hoistFree(go)(v); }; }; }; var halt = function (msg) { return HalogenM(Control_Monad_Free.liftF(new Halt(msg))); }; var getSlots = HalogenM(Control_Monad_Free.liftF(new GetSlots(Control_Category.id(Control_Category.categoryFn)))); var getRef = function (p) { return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.id(Control_Category.categoryFn)))); }; var functorHalogenM = new Data_Functor.Functor(function (f) { return function (v) { return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v); }; }); var functorHalogenAp = Control_Applicative_Free.functorFreeAp; var functorHalogenF = function (dictFunctor) { return new Data_Functor.Functor(function (f) { return function (v) { if (v instanceof State) { return new State(function ($69) { return Data_Bifunctor.lmap(Data_Tuple.bifunctorTuple)(f)(v.value0($69)); }); }; if (v instanceof Subscribe) { return new Subscribe(v.value0, f(v.value1)); }; if (v instanceof Lift) { return new Lift(Data_Functor.map(dictFunctor)(f)(v.value0)); }; if (v instanceof Halt) { return new Halt(v.value0); }; if (v instanceof CheckSlot) { return new CheckSlot(v.value0, Data_Functor.map(Data_Functor.functorFn)(f)(v.value1)); }; if (v instanceof GetSlots) { return new GetSlots(Data_Functor.map(Data_Functor.functorFn)(f)(v.value0)); }; if (v instanceof ChildQuery) { return new ChildQuery(v.value0, Data_Functor.map(Data_Coyoneda.functorCoyoneda)(f)(v.value1)); }; if (v instanceof Raise) { return new Raise(v.value0, f(v.value1)); }; if (v instanceof Par) { return new Par(Data_Functor.map(functorHalogenAp)(f)(v.value0)); }; if (v instanceof Fork) { return new Fork(Data_Functor.map(Halogen_Query_ForkF.functorFork)(f)(v.value0)); }; if (v instanceof GetRef) { return new GetRef(v.value0, Data_Functor.map(Data_Functor.functorFn)(f)(v.value1)); }; throw new Error("Failed pattern match at Halogen.Query.HalogenM line 45, column 11 - line 56, column 37: " + [ v.constructor.name ]); }; }); }; var checkSlot = function (p) { return HalogenM(Control_Monad_Free.liftF(new CheckSlot(p, Control_Category.id(Control_Category.categoryFn)))); }; var applyHalogenM = new Control_Apply.Apply(function () { return functorHalogenM; }, function (v) { return function (v1) { return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1); }; }); var bindHalogenM = new Control_Bind.Bind(function () { return applyHalogenM; }, function (v) { return function (f) { return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) { var v1 = f(x); return v1; }); }; }); var applyHalogenAp = Control_Applicative_Free.applyFreeAp; var applicativeHalogenM = new Control_Applicative.Applicative(function () { return applyHalogenM; }, function (a) { return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a); }); var monadHalogenM = new Control_Monad.Monad(function () { return applicativeHalogenM; }, function () { return bindHalogenM; }); var monadAskHalogenM = function (dictMonadAsk) { return new Control_Monad_Reader_Class.MonadAsk(function () { return monadHalogenM; }, HalogenM(Control_Monad_Free.liftF(Lift.create(Control_Monad_Reader_Class.ask(dictMonadAsk))))); }; var monadEffHalogenM = function (dictMonadEff) { return new Control_Monad_Eff_Class.MonadEff(function () { return monadHalogenM; }, function (eff) { return HalogenM(Control_Monad_Free.liftF(Lift.create(Control_Monad_Eff_Class.liftEff(dictMonadEff)(eff)))); }); }; var monadAffHalogenM = function (dictMonadAff) { return new Control_Monad_Aff_Class.MonadAff(function () { return monadEffHalogenM(dictMonadAff.MonadEff0()); }, function (aff) { return HalogenM(Control_Monad_Free.liftF(Lift.create(Control_Monad_Aff_Class.liftAff(dictMonadAff)(aff)))); }); }; var monadForkHalogenM = function (dictMonadAff) { return new Control_Monad_Fork_Class.MonadFork(function () { return monadHalogenM; }, function (a) { return Data_Functor.map(functorHalogenM)(Data_Functor.map(Data_Functor.functorFn)(Control_Monad_Aff_Class.liftAff(monadAffHalogenM(dictMonadAff))))(Control_Monad_Free.liftF(Fork.create(Halogen_Query_ForkF.fork(a)))); }); }; var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () { return monadHalogenM; }, function ($70) { return HalogenM(Control_Monad_Free.liftF(State.create($70))); }); var monadTellHalogenM = function (dictMonadTell) { return new Control_Monad_Writer_Class.MonadTell(function () { return monadHalogenM; }, function ($71) { return HalogenM(Control_Monad_Free.liftF(Lift.create(Control_Monad_Writer_Class.tell(dictMonadTell)($71)))); }); }; var monadRecHalogenM = new Control_Monad_Rec_Class.MonadRec(function () { return monadHalogenM; }, function (k) { return function (a) { var go = function (v) { if (v instanceof Control_Monad_Rec_Class.Loop) { return Control_Monad_Rec_Class.tailRecM(monadRecHalogenM)(k)(v.value0); }; if (v instanceof Control_Monad_Rec_Class.Done) { return Control_Applicative.pure(applicativeHalogenM)(v.value0); }; throw new Error("Failed pattern match at Halogen.Query.HalogenM line 100, column 5 - line 100, column 31: " + [ v.constructor.name ]); }; return Control_Bind.bind(bindHalogenM)(k(a))(go); }; }); var applicativeHalogenAp = Control_Applicative_Free.applicativeFreeAp; var parallelHalogenM = new Control_Parallel_Class.Parallel(function () { return applicativeHalogenAp; }, function () { return monadHalogenM; }, function ($72) { return HalogenAp(Control_Applicative_Free.liftFreeAp($72)); }, function ($73) { return HalogenM(Control_Monad_Free.liftF(Par.create($73))); }); exports["HalogenAp"] = HalogenAp; exports["State"] = State; exports["Subscribe"] = Subscribe; exports["Lift"] = Lift; exports["Halt"] = Halt; exports["GetSlots"] = GetSlots; exports["CheckSlot"] = CheckSlot; exports["ChildQuery"] = ChildQuery; exports["Raise"] = Raise; exports["Par"] = Par; exports["Fork"] = Fork; exports["GetRef"] = GetRef; exports["HalogenM"] = HalogenM; exports["checkSlot"] = checkSlot; exports["getRef"] = getRef; exports["getSlots"] = getSlots; exports["halt"] = halt; exports["hoist"] = hoist; exports["mkQuery"] = mkQuery; exports["raise"] = raise; exports["subscribe"] = subscribe; exports["functorHalogenF"] = functorHalogenF; exports["newtypeHalogenAp"] = newtypeHalogenAp; exports["functorHalogenAp"] = functorHalogenAp; exports["applyHalogenAp"] = applyHalogenAp; exports["applicativeHalogenAp"] = applicativeHalogenAp; exports["functorHalogenM"] = functorHalogenM; exports["applyHalogenM"] = applyHalogenM; exports["applicativeHalogenM"] = applicativeHalogenM; exports["bindHalogenM"] = bindHalogenM; exports["monadHalogenM"] = monadHalogenM; exports["monadEffHalogenM"] = monadEffHalogenM; exports["monadAffHalogenM"] = monadAffHalogenM; exports["parallelHalogenM"] = parallelHalogenM; exports["monadForkHalogenM"] = monadForkHalogenM; exports["monadTransHalogenM"] = monadTransHalogenM; exports["monadRecHalogenM"] = monadRecHalogenM; exports["monadStateHalogenM"] = monadStateHalogenM; exports["monadAskHalogenM"] = monadAskHalogenM; exports["monadTellHalogenM"] = monadTellHalogenM; })(PS["Halogen.Query.HalogenM"] = PS["Halogen.Query.HalogenM"] || {}); (function(exports) { "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Bifunctor = PS["Data.Bifunctor"]; var Data_Const = PS["Data.Const"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"]; var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; //------------------------------------------------------------------------------ var ComponentSlot = (function () { function ComponentSlot(value0, value1, value2, value3, value4, value5) { this.value0 = value0; this.value1 = value1; this.value2 = value2; this.value3 = value3; this.value4 = value4; this.value5 = value5; }; ComponentSlot.create = function (value0) { return function (value1) { return function (value2) { return function (value3) { return function (value4) { return function (value5) { return new ComponentSlot(value0, value1, value2, value3, value4, value5); }; }; }; }; }; }; return ComponentSlot; })(); var unComponentSlot = function (f) { return function (cs) { var v = Unsafe_Coerce.unsafeCoerce(cs); return f(v.value0)(v.value1)(v.value2)(v.value3)(v.value4)(v.value5); }; }; // | Exposes the inner details of a component to a function to produce a new // | result. The inner details will not be allowed to be revealed in the result // | of the function - the compiler will complain about an escaped skolem. var unComponent = Unsafe_Coerce.unsafeCoerce; var mkComponentSlot = Unsafe_Coerce.unsafeCoerce(ComponentSlot.create); // | Makes a `Component` from a `Component'`, existentially hiding details about // | the component's state and potential children. var mkComponent = Unsafe_Coerce.unsafeCoerce; // | Builds a component that allows for children. var parentComponent = function (dictOrd) { return function (spec) { return mkComponent({ initialState: spec.initialState, render: spec.render, "eval": spec["eval"], receiver: spec.receiver, initializer: Data_Maybe.Nothing.value, finalizer: Data_Maybe.Nothing.value, mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd) }); }; }; // | Builds a component with lifecycle inputs that allows for children. var lifecycleParentComponent = function (dictOrd) { return function (spec) { return mkComponent({ initialState: spec.initialState, render: spec.render, "eval": spec["eval"], receiver: spec.receiver, initializer: spec.initializer, finalizer: spec.finalizer, mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd) }); }; }; // | Builds a component with lifecycle inputs and no possible children. var lifecycleComponent = function (dictBifunctor) { return function (spec) { return mkComponent({ initialState: spec.initialState, render: Unsafe_Coerce.unsafeCoerce(spec.render), "eval": spec["eval"], receiver: spec.receiver, initializer: spec.initializer, finalizer: spec.finalizer, mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid) }); }; }; var hoistSlot = function (dictBifunctor) { return function (dictFunctor) { return function (nat) { return unComponentSlot(function (p) { return function (ctor) { return function (input) { return function (inputQuery) { return function (outputQuery) { return function (projQuery) { return mkComponentSlot(p)(hoist(dictBifunctor)(dictFunctor)(nat)(ctor))(input)(inputQuery)(outputQuery)(projQuery); }; }; }; }; }; }); }; }; }; // | Changes the component's `m` type. A use case for this would be to interpret // | some `Free` monad as `Aff` so the component can be used with `runUI`. var hoist = function (dictBifunctor) { return function (dictFunctor) { return function (nat) { return unComponent(function (c) { return mkComponent({ initialState: c.initialState, render: function ($16) { return Data_Bifunctor.lmap(dictBifunctor)(hoistSlot(dictBifunctor)(dictFunctor)(nat))(c.render($16)); }, "eval": function ($17) { return Halogen_Query_HalogenM.hoist(dictFunctor)(nat)(c["eval"]($17)); }, receiver: c.receiver, initializer: c.initializer, finalizer: c.finalizer, mkOrdBox: c.mkOrdBox }); }); }; }; }; var functorSlotF = new Data_Functor.Functor(function (f) { return unComponentSlot(function (p) { return function (ctor) { return function (j) { return function (g) { return function (h) { return function (i) { return mkComponentSlot(p)(ctor)(j)(g)(function ($18) { return Data_Functor.map(Data_Maybe.functorMaybe)(f)(h($18)); })(i); }; }; }; }; }; }); }); // | Builds a component with no possible children. var component = function (dictBifunctor) { return function (spec) { return lifecycleComponent(dictBifunctor)({ initialState: spec.initialState, render: spec.render, "eval": spec["eval"], receiver: spec.receiver, initializer: Data_Maybe.Nothing.value, finalizer: Data_Maybe.Nothing.value }); }; }; var bifunctorSlotF = new Data_Bifunctor.Bifunctor(function (f) { return function (g) { return unComponentSlot(function (p) { return function (ctor) { return function (input) { return function (inputQuery) { return function (outputQuery) { return function (projQuery) { return mkComponentSlot(f(p))(ctor)(input)(inputQuery)(function ($19) { return Data_Functor.map(Data_Maybe.functorMaybe)(g)(outputQuery($19)); })(projQuery); }; }; }; }; }; }); }; }); exports["component"] = component; exports["hoist"] = hoist; exports["hoistSlot"] = hoistSlot; exports["lifecycleComponent"] = lifecycleComponent; exports["lifecycleParentComponent"] = lifecycleParentComponent; exports["mkComponent"] = mkComponent; exports["mkComponentSlot"] = mkComponentSlot; exports["parentComponent"] = parentComponent; exports["unComponent"] = unComponent; exports["unComponentSlot"] = unComponentSlot; exports["bifunctorSlotF"] = bifunctorSlotF; exports["functorSlotF"] = functorSlotF; })(PS["Halogen.Component"] = PS["Halogen.Component"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Map = PS["Data.Map"]; var Data_Maybe = PS["Data.Maybe"]; var Data_StrMap = PS["Data.StrMap"]; var Data_Traversable = PS["Data.Traversable"]; var Halogen_Aff_Effects = PS["Halogen.Aff.Effects"]; var Halogen_Component = PS["Halogen.Component"]; var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; // | The type used to track a driver's persistent state. // | // | - `h` is the type of value the components produce for rendering. // | - `r` is the type for the render state for the driver. // | - `s` is the component state type. // | - `f` is the projected component query algebra - used for multi-child-type // | components, by projecting to `z` we can avoid the need to remap the // | entire component. // | - `z` is the unprojected component query algebra. // | - `g` is the component child query algebra. // | - `p` is the type of slots for the component. // | - `i` is the invput value type. // | - `o` is the type of output messages from the component. // | - `eff` is the effect row for the target `Aff` var DriverState = function (x) { return x; }; var unRenderStateX = Unsafe_Coerce.unsafeCoerce; var unDriverStateX = Unsafe_Coerce.unsafeCoerce; var renderStateX_ = function (dictApplicative) { return function (f) { return unDriverStateX(function (st) { return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering); }); }; }; var mkRenderStateX = function (v) { return Unsafe_Coerce.unsafeCoerce; }; var renderStateX = function (dictFunctor) { return function (f) { return unDriverStateX(function (st) { return mkRenderStateX(st.prjQuery)(f(st.rendering)); }); }; }; var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce; var initDriverState = function (component) { return function (input) { return function (handler) { return function (prjQuery) { return function (lchs) { return function __do() { var v = Control_Monad_Eff_Ref.newRef(Unsafe_Coerce.unsafeCoerce({}))(); var v1 = Control_Monad_Eff_Ref.newRef(Data_Map.empty)(); var v2 = Control_Monad_Eff_Ref.newRef(Data_Map.empty)(); var v3 = Control_Monad_Eff_Ref.newRef(Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))(); var v4 = Control_Monad_Eff_Ref.newRef(new Data_Maybe.Just(Data_List_Types.Nil.value))(); var v5 = Control_Monad_Eff_Ref.newRef(Data_Maybe.Nothing.value)(); var v6 = Control_Monad_Eff_Ref.newRef(0)(); var v7 = Control_Monad_Eff_Ref.newRef(new Data_Maybe.Just(Data_Map.empty))(); var ds = { component: component, state: component.initialState(input), refs: Data_StrMap.empty, children: Data_Map.empty, childrenIn: v1, childrenOut: v2, selfRef: v, handler: handler, pendingQueries: v3, pendingOuts: v4, pendingHandlers: v5, rendering: Data_Maybe.Nothing.value, prjQuery: prjQuery, fresh: v6, subscriptions: v7, lifecycleHandlers: lchs }; Control_Monad_Eff_Ref.writeRef(v)(ds)(); return mkDriverStateXRef(v); }; }; }; }; }; }; exports["DriverState"] = DriverState; exports["initDriverState"] = initDriverState; exports["mkDriverStateXRef"] = mkDriverStateXRef; exports["renderStateX"] = renderStateX; exports["renderStateX_"] = renderStateX_; exports["unDriverStateX"] = unDriverStateX; exports["unRenderStateX"] = unRenderStateX; })(PS["Halogen.Aff.Driver.State"] = PS["Halogen.Aff.Driver.State"] || {}); (function(exports) { "use strict"; exports.reallyUnsafeRefEq = function (a) { return function (b) { return a === b; }; }; })(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {}); (function(exports) { "use strict"; var $foreign = PS["Unsafe.Reference"]; // | Compares two values of the same type using strict (`===`) equality. var unsafeRefEq = $foreign.reallyUnsafeRefEq; exports["unsafeRefEq"] = unsafeRefEq; exports["reallyUnsafeRefEq"] = $foreign.reallyUnsafeRefEq; })(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Applicative_Free = PS["Control.Applicative.Free"]; var Control_Bind = PS["Control.Bind"]; var Control_Coroutine = PS["Control.Coroutine"]; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Aff_AVar = PS["Control.Monad.Aff.AVar"]; var Control_Monad_Aff_Unsafe = PS["Control.Monad.Aff.Unsafe"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Fork = PS["Control.Monad.Fork"]; var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"]; var Control_Monad_Free = PS["Control.Monad.Free"]; var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Parallel = PS["Control.Parallel"]; var Control_Parallel_Class = PS["Control.Parallel.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Boolean = PS["Data.Boolean"]; var Data_Coyoneda = PS["Data.Coyoneda"]; var Data_Either = PS["Data.Either"]; var Data_Eq = PS["Data.Eq"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Map = PS["Data.Map"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Semiring = PS["Data.Semiring"]; var Data_StrMap = PS["Data.StrMap"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"]; var Halogen_Aff_Effects = PS["Halogen.Aff.Effects"]; var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"]; var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"]; var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"]; var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; var Prelude = PS["Prelude"]; var Unsafe_Reference = PS["Unsafe.Reference"]; var queuingHandler = function (handler) { return function (ref) { return function (message) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v) { if (v instanceof Data_Maybe.Nothing) { return handler(message); }; if (v instanceof Data_Maybe.Just) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.writeRef(ref)(new Data_Maybe.Just(new Data_List_Types.Cons(handler(message), v.value0)))); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 201, column 3 - line 205, column 57: " + [ v.constructor.name ]); }); }; }; }; var parSequenceAff_ = function (v) { if (v instanceof Data_List_Types.Nil) { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(Data_Unit.unit); }; if (v instanceof Data_List_Types.Cons && v.value1 instanceof Data_List_Types.Nil) { return Data_Functor["void"](Control_Monad_Aff.functorAff)(v.value0); }; if (v instanceof Data_List_Types.Cons) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Aff_AVar.makeVar)(function (v1) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.newRef(v.value1)))(function (v2) { var run = function (a) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Aff.attempt(a))(function (v3) { if (v3 instanceof Data_Either.Left) { return Control_Monad_Aff_AVar.putVar(v1)(new Data_Maybe.Just(v3.value0)); }; if (v3 instanceof Data_Either.Right) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(v2)))(function (v4) { if (v4 instanceof Data_List_Types.Nil) { return Control_Monad_Aff_AVar.putVar(v1)(Data_Maybe.Nothing.value); }; if (v4 instanceof Data_List_Types.Cons) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.writeRef(v2)(v4.value1)); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 55, column 15 - line 57, column 57: " + [ v4.constructor.name ]); }); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 51, column 23 - line 57, column 57: " + [ v3.constructor.name ]); }); }; return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Aff.forkAll(Data_List_Types.foldableList)(Data_Functor.map(Data_List_Types.functorList)(run)(v)))(function (v3) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Aff_AVar.peekVar(v1))(function (v4) { if (v4 instanceof Data_Maybe.Nothing) { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(Data_Unit.unit); }; if (v4 instanceof Data_Maybe.Just) { return Control_Monad_Error_Class.throwError(Control_Monad_Aff.monadThrowAff)(v4.value0); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 59, column 24 - line 61, column 33: " + [ v4.constructor.name ]); }); }); }); }); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 43, column 19 - line 61, column 33: " + [ v.constructor.name ]); }; var handleLifecycle = function (lchs) { return function (f) { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.writeRef(lchs)({ initializers: Data_List_Types.Nil.value, finalizers: Data_List_Types.Nil.value })))(function () { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(f))(function (v) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(lchs)))(function (v1) { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Data_Functor["void"](Control_Monad_Aff.functorAff)(Control_Monad_Aff.forkAll(Data_List_Types.foldableList)(v1.finalizers)))(function () { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(parSequenceAff_(v1.initializers))(function () { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v); }); }); }); }); }); }; }; var $$eval = function (render) { return function (r) { var go = function (ref) { return function (v) { if (v instanceof Halogen_Query_HalogenM.State) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v1) { var v2 = v.value0(v1.state); if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v2.value0); }; if (Data_Boolean.otherwise) { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.writeRef(ref)((function () { var $61 = {}; for (var $62 in v1) { if ({}.hasOwnProperty.call(v1, $62)) { $61[$62] = v1[$62]; }; }; $61.state = v2.value1; return $61; })())))(function () { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v2.value0); }); }); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 106, column 7 - line 112, column 21: " + [ v2.constructor.name ]); }); }; if (v instanceof Halogen_Query_HalogenM.Subscribe) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v1) { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Data_Functor["void"](Control_Monad_Aff.functorAff)(Control_Monad_Aff.forkAff(Control_Bind.bind(Control_Monad_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref["modifyRef'"](v1.fresh)(function (i) { return { state: i + 1 | 0, value: i }; })))(function (v3) { var done$prime = Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(v1.subscriptions)))(function (v4) { return Control_Applicative.when(Control_Monad_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map.member(Data_Ord.ordInt)(v3))(v4))(Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(v2.done)(function () { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.modifyRef(v1.subscriptions)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map["delete"](Data_Ord.ordInt)(v3)))); })); }); return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.modifyRef(v1.subscriptions)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map.insert(Data_Ord.ordInt)(v3)(done$prime)))))(function () { var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Control_Monad_Aff.monadAff))(Control_Coroutine["await"](Control_Monad_Aff.monadAff))(function (v4) { return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Control_Monad_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Control_Monad_Aff.monadAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(v1.subscriptions))))(function (v5) { return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Control_Monad_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Control_Monad_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Control_Monad_Aff.monadAff)(evalF(ref)(v4)))(function (v6) { return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Control_Monad_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer); })); }); }); return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Control_Coroutine.runProcess(Control_Monad_Aff.monadRecAff)(Control_Coroutine.pullFrom(Control_Monad_Aff.monadRecAff)(consumer)(v2.producer)))(function () { return done$prime; }); }); }); }))))(function () { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v.value1); }); }); }; if (v instanceof Halogen_Query_HalogenM.Lift) { return v.value0; }; if (v instanceof Halogen_Query_HalogenM.Halt) { return Control_Monad_Error_Class.throwError(Control_Monad_Aff.monadThrowAff)(Control_Monad_Eff_Exception.error(v.value0)); }; if (v instanceof Halogen_Query_HalogenM.GetSlots) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v1) { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_Map.keys(v1.children)))); }); }; if (v instanceof Halogen_Query_HalogenM.CheckSlot) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v1) { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v.value1(Data_Map.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children))); }); }; if (v instanceof Halogen_Query_HalogenM.ChildQuery) { return evalChildQuery(ref)(v.value0)(v.value1); }; if (v instanceof Halogen_Query_HalogenM.Raise) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v1) { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v.value1); }); }); }; if (v instanceof Halogen_Query_HalogenM.Par) { return Control_Parallel_Class.sequential(Control_Monad_Aff.parallelParAff)(Control_Applicative_Free.retractFreeAp(Control_Monad_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($128) { return Control_Parallel_Class.parallel(Control_Monad_Aff.parallelParAff)(evalM(ref)($128)); })(v.value0))); }; if (v instanceof Halogen_Query_HalogenM.Fork) { return Halogen_Query_ForkF.unFork(function (v1) { return Data_Functor.map(Control_Monad_Aff.functorAff)(function ($129) { return v1.value1(Data_Functor.map(Data_Functor.functorFn)(Control_Monad_Aff_Unsafe.unsafeCoerceAff)($129)); })(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0))); })(v.value0); }; if (v instanceof Halogen_Query_HalogenM.GetRef) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v1) { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v.value1(Data_StrMap.lookup(v.value0)(v1.refs))); }); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 103, column 12 - line 158, column 34: " + [ v.constructor.name ]); }; }; var evalM = function (ref) { return function (v) { return Control_Monad_Free.foldFree(Control_Monad_Aff.monadRecAff)(go(ref))(v); }; }; var evalF = function (ref) { return function (q) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v) { var v1 = v["component"]["eval"](q); return Control_Monad_Free.foldFree(Control_Monad_Aff.monadRecAff)(go(ref))(v1); }); }; }; var evalChildQuery = function (ref) { return function (p) { return Data_Coyoneda.unCoyoneda(function (k) { return function (q) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v) { var v1 = Data_Map.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children); if (v1 instanceof Data_Maybe.Just) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(v1.value0)))(function (v2) { return Halogen_Aff_Driver_State.unDriverStateX(function (ds) { var v3 = ds.prjQuery(q); if (v3 instanceof Data_Maybe.Just) { return Data_Functor.map(Control_Monad_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0)); }; if (v3 instanceof Data_Maybe.Nothing) { return Control_Monad_Error_Class.throwError(Control_Monad_Aff.monadThrowAff)(Control_Monad_Eff_Exception.error("Query projection failed for child query")); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 171, column 32 - line 173, column 82: " + [ v3.constructor.name ]); })(v2); }); }; if (v1 instanceof Data_Maybe.Nothing) { return Control_Monad_Error_Class.throwError(Control_Monad_Aff.monadThrowAff)(Control_Monad_Eff_Exception.error("Slot lookup failed for child query")); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 168, column 5 - line 174, column 73: " + [ v1.constructor.name ]); }); }; }); }; }; return function (v) { if (v instanceof Halogen_Query_InputF.RefUpdate) { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.modifyRef(r)(function (v1) { var $121 = {}; for (var $122 in v1) { if ({}.hasOwnProperty.call(v1, $122)) { $121[$122] = v1[$122]; }; }; $121.refs = Data_StrMap.alter(Data_Function["const"](v.value1))(v.value0)(v1.refs); return $121; })))(function () { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(v.value2); }); }; if (v instanceof Halogen_Query_InputF.Query) { return evalF(r)(v.value0); }; throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 89, column 3 - line 94, column 25: " + [ v.constructor.name ]); }; }; }; exports["eval"] = $$eval; exports["handleLifecycle"] = handleLifecycle; exports["parSequenceAff_"] = parSequenceAff_; exports["queuingHandler"] = queuingHandler; })(PS["Halogen.Aff.Driver.Eval"] = PS["Halogen.Aff.Driver.Eval"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Coroutine = PS["Control.Coroutine"]; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Aff_AVar = PS["Control.Monad.Aff.AVar"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Eff_Console = PS["Control.Monad.Eff.Console"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var Control_Monad_Eff_Unsafe = PS["Control.Monad.Eff.Unsafe"]; var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Either = PS["Data.Either"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Map = PS["Data.Map"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Ord = PS["Data.Ord"]; var Data_Semiring = PS["Data.Semiring"]; var Data_Traversable = PS["Data.Traversable"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Halogen = PS["Halogen"]; var Halogen_Aff_Driver_Eval = PS["Halogen.Aff.Driver.Eval"]; var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"]; var Halogen_Aff_Effects = PS["Halogen.Aff.Effects"]; var Halogen_Component = PS["Halogen.Component"]; var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"]; var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; var Prelude = PS["Prelude"]; var newLifecycleHandlers = Control_Monad_Eff_Ref.newRef({ initializers: Data_List_Types.Nil.value, finalizers: Data_List_Types.Nil.value }); // | TODO: we could do something more intelligent now this isn't baked into the // | virtual-dom rendering. Perhaps write to an avar when an error occurs... // | something other than a runtime exception anyway. var handleAff = function ($63) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(Control_Monad_Aff.runAff(Control_Monad_Eff_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit)))($63)); }; var runUI = function (renderSpec) { return function (component) { return function (i) { var subscribe = function (fresh) { return function (ref) { return function (consumer) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Aff_AVar.makeVar)(function (v) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(function __do() { var v1 = Control_Monad_Eff_Ref.readRef(fresh)(); Control_Monad_Eff_Ref.modifyRef(fresh)(function (v2) { return v2 + 1 | 0; })(); Control_Monad_Eff_Ref.modifyRef(ref)(Data_Map.insert(Data_Ord.ordInt)(v1)(v))(); return v1; }))(function (v1) { var producer = Control_Coroutine.producer(Control_Monad_Aff.monadAff)(Data_Functor.map(Control_Monad_Aff.functorAff)(Data_Either.Left.create)(Control_Monad_Aff_AVar.takeVar(v))); return Data_Functor["void"](Control_Monad_Aff.functorAff)(Control_Monad_Aff.forkAff(Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Control_Coroutine.runProcess(Control_Monad_Aff.monadRecAff)(Control_Coroutine.connect(Control_Monad_Aff.monadRecAff)(Control_Monad_Aff.parallelParAff)(producer)(consumer)))(function () { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.modifyRef(ref)(Data_Map["delete"](Data_Ord.ordInt)(v1))))(function () { return Control_Monad_Aff_AVar.killVar(v)(Control_Monad_Eff_Exception.error("ended")); }); }))); }); }); }; }; }; var rootHandler = function (ref) { return function (message) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.readRef(ref)))(function (v) { return Data_Functor["void"](Control_Monad_Aff.functorAff)(Control_Monad_Aff.forkAll(Data_Map.foldableMap)(Data_Functor.map(Data_Map.functorMap)(function ($$var) { return Control_Monad_Aff_AVar.putVar($$var)(message); })(v))); }); }; }; var handlePending = function (ref) { return function __do() { var v = Control_Monad_Eff_Ref.readRef(ref)(); Control_Monad_Eff_Ref.writeRef(ref)(Data_Maybe.Nothing.value)(); return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableMaybe)(v)(function ($64) { return handleAff(Control_Monad_Aff.forkAll(Data_List_Types.foldableList)(Data_List.reverse($64))); })(); }; }; var cleanupSubscriptions = function (v) { return function __do() { Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(Data_Foldable.traverse_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableMaybe)(function ($65) { return handleAff(Control_Monad_Aff.forkAll(Data_Map.foldableMap)($65)); }))(Control_Monad_Eff_Ref.readRef(v.subscriptions))(); return Control_Monad_Eff_Ref.writeRef(v.subscriptions)(Data_Maybe.Nothing.value)(); }; }; var squashChildInitializers = function (lchs) { return function (preInits) { return Halogen_Aff_Driver_State.unDriverStateX(function (st) { var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($66) { return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($66)); })(st.component.initializer); return Control_Monad_Eff_Ref.modifyRef(lchs)(function (handlers) { return { initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Halogen_Aff_Driver_Eval.parSequenceAff_(Data_List.reverse(handlers.initializers)))(function () { return Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(Data_Foldable.sequence_(Control_Monad_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(parentInitializer))(function () { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(function __do() { handlePending(st.pendingQueries)(); return handlePending(st.pendingOuts)(); }); }); }), preInits), finalizers: handlers.finalizers }; }); }); }; }; var runComponent = function (lchs) { return function (handler) { return function (j) { return function (prjQuery) { return Halogen_Component.unComponent(function (c) { return function __do() { var v = newLifecycleHandlers(); var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(prjQuery)(v)(); var v2 = Control_Monad_Eff_Ref.readRef(lchs)(); Control_Monad_Eff_Ref.writeRef(lchs)({ initializers: Data_List_Types.Nil.value, finalizers: v2.finalizers })(); Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(Halogen_Aff_Driver_State.unDriverStateX(function ($67) { return render(lchs)((function (v3) { return v3.selfRef; })($67)); }))(Control_Monad_Eff_Ref.readRef(v1))(); Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(squashChildInitializers(lchs)(v2.initializers))(Control_Monad_Eff_Ref.readRef(v1))(); return v1; }; }); }; }; }; }; var renderChild = function (lchs) { return function (handler) { return function (mkOrdBox) { return function (childrenInRef) { return function (childrenOutRef) { return Halogen_Component.unComponentSlot(function (p) { return function (ctor) { return function (input) { return function (inputQuery) { return function (outputQuery) { return function (prjQuery) { var ordP = mkOrdBox(p); return function __do() { var v = Control_Monad_Eff_Ref.readRef(childrenInRef)(); var v1 = (function () { var v1 = Data_Map.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v); if (v1 instanceof Data_Maybe.Just) { return function __do() { Control_Monad_Eff_Ref.writeRef(childrenInRef)(v1.value0.value1)(); Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) { return function __do() { var v2 = Control_Monad_Eff_Ref.readRef(v1.value0.value0)(); return Halogen_Aff_Driver_State.unDriverStateX(function (st) { return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($68) { return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($68))); }); })(v2)(); }; })(); return v1.value0.value0; }; }; if (v1 instanceof Data_Maybe.Nothing) { return runComponent(lchs)(function ($69) { return Data_Maybe.maybe(Control_Applicative.pure(Control_Monad_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($69)); })(input)(prjQuery)(ctor); }; throw new Error("Failed pattern match at Halogen.Aff.Driver line 260, column 14 - line 268, column 92: " + [ v1.constructor.name ]); })()(); var v2 = Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Map.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(Control_Monad_Eff_Ref.readRef(childrenOutRef))(); Control_Applicative.when(Control_Monad_Eff.applicativeEff)(v2)(Control_Monad_Eff_Unsafe.unsafeCoerceEff(Control_Monad_Eff_Console.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur")))(); Control_Monad_Eff_Ref.modifyRef(childrenOutRef)(Data_Map.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v1))(); return Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_Ref.readRef(v1))(Halogen_Aff_Driver_State.renderStateX(Control_Monad_Eff.functorEff)(function (v3) { if (v3 instanceof Data_Maybe.Nothing) { return Control_Monad_Eff_Exception["throw"]("Halogen internal error: child was not initialized in renderChild"); }; if (v3 instanceof Data_Maybe.Just) { return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(renderSpec.renderChild(v3.value0)); }; throw new Error("Failed pattern match at Halogen.Aff.Driver line 274, column 36 - line 276, column 50: " + [ v3.constructor.name ]); }))(); }; }; }; }; }; }; }); }; }; }; }; }; var render = function (lchs) { return function ($$var) { return function __do() { var v = Control_Monad_Eff_Ref.readRef($$var)(); var v1 = Data_Functor.map(Control_Monad_Eff.functorEff)(Data_Maybe.isNothing)(Control_Monad_Eff_Ref.readRef(v.pendingHandlers))(); Control_Applicative.when(Control_Monad_Eff.applicativeEff)(v1)(Control_Monad_Eff_Ref.writeRef(v.pendingHandlers)(new Data_Maybe.Just(Data_List_Types.Nil.value)))(); Control_Monad_Eff_Ref.writeRef(v.childrenOut)(Data_Map.empty)(); Control_Monad_Eff_Ref.writeRef(v.childrenIn)(v.children)(); var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) { return Data_Functor["void"](Control_Monad_Aff.functorAff)(evalF(v.selfRef)($70)); })(v.pendingHandlers); var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($71) { return handler(Halogen_Query_InputF.Query.create($71)); })(v.pendingQueries); var v2 = renderSpec.render(function ($72) { return handleAff(handler($72)); })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)(); var v3 = Control_Monad_Eff_Ref.readRef(v.childrenOut)(); Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Monad_Eff_Ref.readRef(v.childrenIn))(Data_Foldable.traverse_(Control_Monad_Eff.applicativeEff)(Data_Map.foldableMap)(function (childVar) { return function __do() { var v4 = Control_Monad_Eff_Ref.readRef(childVar)(); Halogen_Aff_Driver_State.renderStateX_(Control_Monad_Eff.applicativeEff)(renderSpec.removeChild)(v4)(); return finalize(lchs)(v4)(); }; }))(); Control_Monad_Eff_Ref.modifyRef(v.selfRef)(function (v4) { return { rendering: new Data_Maybe.Just(v2), children: v3, component: v4.component, state: v4.state, refs: v4.refs, childrenIn: v4.childrenIn, childrenOut: v4.childrenOut, selfRef: v4.selfRef, handler: v4.handler, pendingQueries: v4.pendingQueries, pendingOuts: v4.pendingOuts, pendingHandlers: v4.pendingHandlers, prjQuery: v4.prjQuery, fresh: v4.fresh, subscriptions: v4.subscriptions, lifecycleHandlers: v4.lifecycleHandlers }; })(); return Control_Applicative.when(Control_Monad_Eff.applicativeEff)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEff))(Data_Unit.unit)(function (v4) { return function __do() { var v5 = Control_Monad_Eff_Ref.readRef(v.pendingHandlers)(); Control_Monad_Eff_Ref.writeRef(v.pendingHandlers)(new Data_Maybe.Just(Data_List_Types.Nil.value))(); Data_Foldable.traverse_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableMaybe)(function ($73) { return handleAff(Control_Monad_Aff.forkAll(Data_List_Types.foldableList)(Data_List.reverse($73))); })(v5)(); var v6 = Control_Monad_Eff_Ref.readRef(v.pendingHandlers)(); var $57 = Data_Maybe.maybe(false)(Data_List["null"])(v6); if ($57) { return Data_Functor.voidLeft(Control_Monad_Eff.functorEff)(Control_Monad_Eff_Ref.writeRef(v.pendingHandlers)(Data_Maybe.Nothing.value))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))(); }; return new Control_Monad_Rec_Class.Loop(Data_Unit.unit); }; }))(); }; }; }; var finalize = function (lchs) { return Halogen_Aff_Driver_State.unDriverStateX(function (st) { return function __do() { cleanupSubscriptions(st)(); Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($74) { return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($74)); })(st.component.finalizer))(function (f) { return Control_Monad_Eff_Ref.modifyRef(lchs)(function (handlers) { return { initializers: handlers.initializers, finalizers: new Data_List_Types.Cons(f, handlers.finalizers) }; }); })(); return Data_Foldable.for_(Control_Monad_Eff.applicativeEff)(Data_Map.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Control_Monad_Eff.bindEff)(finalize(lchs))(Control_Monad_Eff_Ref.readRef))(); }; }); }; var evalF = function (ref) { return Halogen_Aff_Driver_Eval["eval"](render)(ref); }; var evalDriver = function (ref) { return function (prjQuery) { return function (q) { var v = prjQuery(q); if (v instanceof Data_Maybe.Just) { return evalF(ref)(new Halogen_Query_InputF.Query(v.value0)); }; if (v instanceof Data_Maybe.Nothing) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Exception.throwException(Control_Monad_Eff_Exception.error("Halogen internal error: query projection failed in runUI'"))); }; throw new Error("Failed pattern match at Halogen.Aff.Driver line 138, column 5 - line 140, column 110: " + [ v.constructor.name ]); }; }; }; return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(newLifecycleHandlers))(function (v) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Monad_Eff_Ref.newRef(0)))(function (v1) { return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() { var v2 = Control_Monad_Eff_Ref.newRef(Data_Map.empty)(); return Control_Bind.bind(Control_Monad_Eff.bindEff)(Control_Bind.bind(Control_Monad_Eff.bindEff)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Control_Monad_Eff_Ref.readRef))(Halogen_Aff_Driver_State.unDriverStateX(function (st) { return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)({ query: evalDriver(st.selfRef)(st.prjQuery), subscribe: subscribe(v1)(v2) }); }))(); }); }); }); }; }; }; exports["runUI"] = runUI; })(PS["Halogen.Aff.Driver"] = PS["Halogen.Aff.Driver"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Eff_Exception = PS["Control.Monad.Eff.Exception"]; var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"]; var Control_Monad_Except = PS["Control.Monad.Except"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM = PS["DOM"]; var DOM_Event_EventTarget = PS["DOM.Event.EventTarget"]; var DOM_HTML = PS["DOM.HTML"]; var DOM_HTML_Event_EventTypes = PS["DOM.HTML.Event.EventTypes"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_HTML_Window = PS["DOM.HTML.Window"]; var DOM_Node_ParentNode = PS["DOM.Node.ParentNode"]; var Data_Either = PS["Data.Either"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Unit = PS["Data.Unit"]; var Halogen_Aff_Effects = PS["Halogen.Aff.Effects"]; var Prelude = PS["Prelude"]; // | Tries to find an element in the document. var selectElement = function (query) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(Control_Bind.composeKleisliFlipped(Control_Monad_Eff.bindEff)(function ($8) { return DOM_Node_ParentNode.querySelector(query)(DOM_HTML_Types.htmlDocumentToParentNode($8)); })(DOM_HTML_Window.document))(DOM_HTML.window)))(function (v) { return Control_Applicative.pure(Control_Monad_Aff.applicativeAff)((function () { if (v instanceof Data_Maybe.Nothing) { return Data_Maybe.Nothing.value; }; if (v instanceof Data_Maybe.Just) { return Data_Either.either(Data_Function["const"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create)(Control_Monad_Except.runExcept(DOM_HTML_Types.readHTMLElement(Data_Foreign.toForeign(v.value0)))); }; throw new Error("Failed pattern match at Halogen.Aff.Util line 53, column 8 - line 55, column 88: " + [ v.constructor.name ]); })()); }); }; // | Runs an `Aff` value of the type commonly used by Halogen components. Any // | unhandled errors will be re-thrown as exceptions. var runHalogenAff = function ($9) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(Control_Monad_Aff.runAff(Control_Monad_Eff_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit)))($9)); }; // | Waits for the document to load. var awaitLoad = Control_Monad_Aff.makeAff(function (v) { return function (callback) { return Control_Monad_Eff_Class.liftEff(Control_Monad_Eff_Class.monadEffEff)(function __do() { var $10 = DOM_HTML.window(); return DOM_Event_EventTarget.addEventListener(DOM_HTML_Event_EventTypes.load)(DOM_Event_EventTarget.eventListener(function (v1) { return callback(Data_Unit.unit); }))(false)(DOM_HTML_Types.windowToEventTarget($10))(); }); }; }); // | Waits for the document to load and then finds the `body` element. var awaitBody = Control_Bind.discard(Control_Bind.discardUnit)(Control_Monad_Aff.bindAff)(awaitLoad)(function () { return Control_Bind.bind(Control_Monad_Aff.bindAff)(selectElement("body"))(function (v) { return Data_Maybe.maybe(Control_Monad_Error_Class.throwError(Control_Monad_Aff.monadThrowAff)(Control_Monad_Eff_Exception.error("Could not find body")))(Control_Applicative.pure(Control_Monad_Aff.applicativeAff))(v); }); }); exports["awaitBody"] = awaitBody; exports["awaitLoad"] = awaitLoad; exports["runHalogenAff"] = runHalogenAff; exports["selectElement"] = selectElement; })(PS["Halogen.Aff.Util"] = PS["Halogen.Aff.Util"] || {}); (function(exports) { "use strict"; var Data_Either = PS["Data.Either"]; var Data_Either_Nested = PS["Data.Either.Nested"]; var Data_Functor_Coproduct = PS["Data.Functor.Coproduct"]; var Data_Functor_Coproduct_Nested = PS["Data.Functor.Coproduct.Nested"]; var Data_Lens = PS["Data.Lens"]; var Data_Lens_Prism = PS["Data.Lens.Prism"]; var Data_Maybe = PS["Data.Maybe"]; var _Either9 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in9)(Data_Either_Nested.at9(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Either8 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in8)(Data_Either_Nested.at8(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Either7 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in7)(Data_Either_Nested.at7(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Either6 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in6)(Data_Either_Nested.at6(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Either5 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in5)(Data_Either_Nested.at5(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Either4 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in4)(Data_Either_Nested.at4(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Either3 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in3)(Data_Either_Nested.at3(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Either2 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in2)(Data_Either_Nested.at2(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Either10 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in10)(Data_Either_Nested.at10(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Either1 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Either_Nested.in1)(Data_Either_Nested.at1(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct9 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in9)(Data_Functor_Coproduct_Nested.at9(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct8 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in8)(Data_Functor_Coproduct_Nested.at8(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct7 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in7)(Data_Functor_Coproduct_Nested.at7(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct6 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in6)(Data_Functor_Coproduct_Nested.at6(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct5 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in5)(Data_Functor_Coproduct_Nested.at5(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct4 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in4)(Data_Functor_Coproduct_Nested.at4(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct3 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in3)(Data_Functor_Coproduct_Nested.at3(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct2 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in2)(Data_Functor_Coproduct_Nested.at2(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct10 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in10)(Data_Functor_Coproduct_Nested.at10(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; var _Coproduct1 = function (dictChoice) { return Data_Lens_Prism["prism'"](Data_Functor_Coproduct_Nested.in1)(Data_Functor_Coproduct_Nested.at1(Data_Maybe.Nothing.value)(Data_Maybe.Just.create))(dictChoice); }; exports["_Coproduct1"] = _Coproduct1; exports["_Coproduct10"] = _Coproduct10; exports["_Coproduct2"] = _Coproduct2; exports["_Coproduct3"] = _Coproduct3; exports["_Coproduct4"] = _Coproduct4; exports["_Coproduct5"] = _Coproduct5; exports["_Coproduct6"] = _Coproduct6; exports["_Coproduct7"] = _Coproduct7; exports["_Coproduct8"] = _Coproduct8; exports["_Coproduct9"] = _Coproduct9; exports["_Either1"] = _Either1; exports["_Either10"] = _Either10; exports["_Either2"] = _Either2; exports["_Either3"] = _Either3; exports["_Either4"] = _Either4; exports["_Either5"] = _Either5; exports["_Either6"] = _Either6; exports["_Either7"] = _Either7; exports["_Either8"] = _Either8; exports["_Either9"] = _Either9; })(PS["Halogen.Data.Prism"] = PS["Halogen.Data.Prism"] || {}); (function(exports) { "use strict"; var Control_Category = PS["Control.Category"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Lens = PS["Data.Lens"]; var Data_Lens_Fold = PS["Data.Lens.Fold"]; var Data_Lens_Internal_Forget = PS["Data.Lens.Internal.Forget"]; var Data_Lens_Internal_Tagged = PS["Data.Lens.Internal.Tagged"]; var Data_Lens_Prism = PS["Data.Lens.Prism"]; var Data_Lens_Prism_Coproduct = PS["Data.Lens.Prism.Coproduct"]; var Data_Lens_Prism_Either = PS["Data.Lens.Prism.Either"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Maybe_First = PS["Data.Maybe.First"]; var Halogen_Data_Prism = PS["Halogen.Data.Prism"]; var Prelude = PS["Prelude"]; // | Represents a path through `Either` and `Coproduct` types for the state, // | query algebra, and slots of a component. Used when installing children of // | different types within a single parent component. var ChildPath = (function () { function ChildPath(value0, value1) { this.value0 = value0; this.value1 = value1; }; ChildPath.create = function (value0) { return function (value1) { return new ChildPath(value0, value1); }; }; return ChildPath; })(); // | Uses a `ChildPath` definition to get a slot value of type `p'` from a // | value of type `p`. Used internally by Halogen. var prjSlot = function (v) { return Data_Lens_Fold.preview(v.value1(Data_Lens_Internal_Forget.choiceForget(Data_Maybe_First.monoidFirst))); }; // | Uses a `ChildPath` to attempt to get a query algebra value of type `f` // | from a value of type `f'`. Used internally by Halogen. var prjQuery = function (v) { return Data_Lens_Fold.preview(v.value0(Data_Lens_Internal_Forget.choiceForget(Data_Maybe_First.monoidFirst))); }; // | Uses a `ChildPath` definition to get a slot value of type `p'` from a // | value of type `p`. Used internally by Halogen. var injSlot = function (v) { return Data_Lens_Prism.review(v.value1(Data_Lens_Internal_Tagged.taggedChoice)); }; // | Uses a `ChildPath` definition to get a query algebra value of type `f'` // | from a value of type `f`. Used internally by Halogen. var injQuery = function (v) { return Data_Lens_Prism.review(v.value0(Data_Lens_Internal_Tagged.taggedChoice)); }; // | A `ChildPath` that goes to the right. var cpR = new ChildPath(function (dictChoice) { return Data_Lens_Prism_Coproduct._Right(dictChoice); }, function (dictChoice) { return Data_Lens_Prism_Either._Right(dictChoice); }); // | A `ChildPath` that goes to the left. var cpL = new ChildPath(function (dictChoice) { return Data_Lens_Prism_Coproduct._Left(dictChoice); }, function (dictChoice) { return Data_Lens_Prism_Either._Left(dictChoice); }); // | An identity `ChildPath`. var cpI = new ChildPath(function (dictChoice) { return Control_Category.id(Control_Category.categoryFn); }, function (dictChoice) { return Control_Category.id(Control_Category.categoryFn); }); // | A `ChildPath` for the 9th component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp9 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct9(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either9(dictChoice); }); // | A `ChildPath` for the 8th component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp8 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct8(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either8(dictChoice); }); // | A `ChildPath` for the 7th component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp7 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct7(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either7(dictChoice); }); // | A `ChildPath` for the 6th component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp6 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct6(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either6(dictChoice); }); // | A `ChildPath` for the 5th component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp5 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct5(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either5(dictChoice); }); // | A `ChildPath` for the 4th component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp4 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct4(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either4(dictChoice); }); // | A `ChildPath` for the 3rd component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp3 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct3(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either3(dictChoice); }); // | A `ChildPath` for the 2nd component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp2 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct2(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either2(dictChoice); }); // | A `ChildPath` for the 10th component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp10 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct10(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either10(dictChoice); }); // | A `ChildPath` for the 1st component defined using a `Either.Nested` and // | `Coproduct.Nested` representation for the sum. var cp1 = new ChildPath(function (dictChoice) { return Halogen_Data_Prism._Coproduct1(dictChoice); }, function (dictChoice) { return Halogen_Data_Prism._Either1(dictChoice); }); // | Composes two paths. var compose = function (v) { return function (v1) { return new ChildPath(function (dictChoice) { return function ($52) { return v.value0(dictChoice)(v1.value0(dictChoice)($52)); }; }, function (dictChoice) { return function ($53) { return v.value1(dictChoice)(v1.value1(dictChoice)($53)); }; }); }; }; exports["ChildPath"] = ChildPath; exports["compose"] = compose; exports["cp1"] = cp1; exports["cp10"] = cp10; exports["cp2"] = cp2; exports["cp3"] = cp3; exports["cp4"] = cp4; exports["cp5"] = cp5; exports["cp6"] = cp6; exports["cp7"] = cp7; exports["cp8"] = cp8; exports["cp9"] = cp9; exports["cpI"] = cpI; exports["cpL"] = cpL; exports["cpR"] = cpR; exports["injQuery"] = injQuery; exports["injSlot"] = injSlot; exports["prjQuery"] = prjQuery; exports["prjSlot"] = prjSlot; })(PS["Halogen.Component.ChildPath"] = PS["Halogen.Component.ChildPath"] || {}); (function(exports) { "use strict"; var Control_Applicative_Free = PS["Control.Applicative.Free"]; var Control_Monad_Free = PS["Control.Monad.Free"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Newtype = PS["Data.Newtype"]; var Data_Profunctor = PS["Data.Profunctor"]; var Halogen_Component = PS["Halogen.Component"]; var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"]; var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; var Prelude = PS["Prelude"]; var ProComponent = function (x) { return x; }; var newtypeProComponent = new Data_Newtype.Newtype(function (n) { return n; }, ProComponent); var mapOutput = function (f) { return function (v) { var go = function (v1) { if (v1 instanceof Halogen_Query_HalogenM.State) { return new Halogen_Query_HalogenM.State(v1.value0); }; if (v1 instanceof Halogen_Query_HalogenM.Subscribe) { return new Halogen_Query_HalogenM.Subscribe(v1.value0, v1.value1); }; if (v1 instanceof Halogen_Query_HalogenM.Lift) { return new Halogen_Query_HalogenM.Lift(v1.value0); }; if (v1 instanceof Halogen_Query_HalogenM.Halt) { return new Halogen_Query_HalogenM.Halt(v1.value0); }; if (v1 instanceof Halogen_Query_HalogenM.GetSlots) { return new Halogen_Query_HalogenM.GetSlots(v1.value0); }; if (v1 instanceof Halogen_Query_HalogenM.CheckSlot) { return new Halogen_Query_HalogenM.CheckSlot(v1.value0, v1.value1); }; if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) { return new Halogen_Query_HalogenM.ChildQuery(v1.value0, v1.value1); }; if (v1 instanceof Halogen_Query_HalogenM.Raise) { return new Halogen_Query_HalogenM.Raise(f(v1.value0), v1.value1); }; if (v1 instanceof Halogen_Query_HalogenM.Par) { return new Halogen_Query_HalogenM.Par(Data_Newtype.over(Halogen_Query_HalogenM.newtypeHalogenAp)(Halogen_Query_HalogenM.newtypeHalogenAp)(Halogen_Query_HalogenM.HalogenAp)(Control_Applicative_Free.hoistFreeAp(mapOutput(f)))(v1.value0)); }; if (v1 instanceof Halogen_Query_HalogenM.Fork) { return new Halogen_Query_HalogenM.Fork(Halogen_Query_ForkF.hoistFork(mapOutput(f))(v1.value0)); }; if (v1 instanceof Halogen_Query_HalogenM.GetRef) { return new Halogen_Query_HalogenM.GetRef(v1.value0, v1.value1); }; throw new Error("Failed pattern match at Halogen.Component.Profunctor line 42, column 8 - line 53, column 34: " + [ v1.constructor.name ]); }; return Control_Monad_Free.hoistFree(go)(v); }; }; var dimapProComponent = function (f) { return function (g) { return function (v) { var go = function (comp) { return Halogen_Component.mkComponent((function () { var $29 = {}; for (var $30 in comp) { if ({}.hasOwnProperty.call(comp, $30)) { $29[$30] = comp[$30]; }; }; $29.initialState = Data_Profunctor.lmap(Data_Profunctor.profunctorFn)(f)(comp.initialState); $29.receiver = Data_Profunctor.lmap(Data_Profunctor.profunctorFn)(f)(comp.receiver); $29["eval"] = Data_Functor.map(Data_Functor.functorFn)(mapOutput(g))(comp["eval"]); return $29; })()); }; return Halogen_Component.unComponent(go)(v); }; }; }; var profunctorProComponent = new Data_Profunctor.Profunctor(dimapProComponent); exports["ProComponent"] = ProComponent; exports["newtypeProComponent"] = newtypeProComponent; exports["profunctorProComponent"] = profunctorProComponent; })(PS["Halogen.Component.Profunctor"] = PS["Halogen.Component.Profunctor"] || {}); (function(exports) { // | A closed signature of type-indexed (refined) HTML properties; these can be // | used to ensure correctness by construction, and then erased into the // | standard unrefined versions. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"]; var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"]; var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"]; var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"]; var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"]; var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"]; var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"]; var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"]; var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"]; var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_MediaType = PS["Data.MediaType"]; var Data_Newtype = PS["Data.Newtype"]; var Data_String = PS["Data.String"]; var Data_Unit = PS["Data.Unit"]; var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; // | The phantom row `r` can be thought of as a context which is synthesized in // | the course of constructing a refined HTML expression. var IProp = function (x) { return x; }; // | The `ref` property allows an input to be raised once a `HTMLElement` has // | been created or destroyed in the DOM for the element that the property is // | attached to. var ref = (function () { var go = function (p) { return function (mel) { return Data_Maybe.Just.create(new Halogen_Query_InputF.RefUpdate(p, Data_Functor.map(Data_Maybe.functorMaybe)(Data_Foreign.toForeign)(mel), Data_Unit.unit)); }; }; return function ($6) { return Unsafe_Coerce.unsafeCoerce(Halogen_HTML_Core.ref)(go($6)); }; })(); // | Creates an indexed HTML property. var prop = function (dictIsProp) { return Unsafe_Coerce.unsafeCoerce(Halogen_HTML_Core.prop(dictIsProp)); }; var readOnly = prop(Halogen_HTML_Core.booleanIsProp)("readOnly"); var rel = prop(Halogen_HTML_Core.stringIsProp)("rel"); var required = prop(Halogen_HTML_Core.booleanIsProp)("required"); var rowSpan = prop(Halogen_HTML_Core.intIsProp)("rowSpan"); var rows = prop(Halogen_HTML_Core.intIsProp)("rows"); var selected = prop(Halogen_HTML_Core.booleanIsProp)("selected"); var spellcheck = prop(Halogen_HTML_Core.booleanIsProp)("spellcheck"); var src = prop(Halogen_HTML_Core.stringIsProp)("src"); var step = prop(Halogen_HTML_Core.stepValueIsProp)("step"); var tabIndex = prop(Halogen_HTML_Core.intIsProp)("tabIndex"); var target = prop(Halogen_HTML_Core.stringIsProp)("target"); var title = prop(Halogen_HTML_Core.stringIsProp)("title"); var type_ = function (dictIsProp) { return prop(dictIsProp)("type"); }; var value = prop(Halogen_HTML_Core.stringIsProp)("value"); var width = prop(Halogen_HTML_Core.intIsProp)("width"); var preload = prop(Halogen_HTML_Core.preloadValueIsProp)("preload"); var poster = prop(Halogen_HTML_Core.stringIsProp)("poster"); var placeholder = prop(Halogen_HTML_Core.stringIsProp)("placeholder"); var pattern = prop(Halogen_HTML_Core.stringIsProp)("pattern"); var noValidate = prop(Halogen_HTML_Core.booleanIsProp)("noValidate"); var newtypeIProp = new Data_Newtype.Newtype(function (n) { return n; }, IProp); var name = prop(Halogen_HTML_Core.stringIsProp)("name"); var muted = prop(Halogen_HTML_Core.booleanIsProp)("muted"); var multiple = prop(Halogen_HTML_Core.booleanIsProp)("multiple"); var min = prop(Halogen_HTML_Core.numberIsProp)("min"); var method = prop(Halogen_HTML_Core.formMethodIsProp)("method"); var max = prop(Halogen_HTML_Core.numberIsProp)("max"); var loop = prop(Halogen_HTML_Core.booleanIsProp)("loop"); var id_ = prop(Halogen_HTML_Core.stringIsProp)("id"); var href = prop(Halogen_HTML_Core.stringIsProp)("href"); var height = prop(Halogen_HTML_Core.intIsProp)("height"); var $$for = prop(Halogen_HTML_Core.stringIsProp)("htmlFor"); var enctype = prop(Halogen_HTML_Core.mediaTypeIsProp)("enctype"); var draggable = prop(Halogen_HTML_Core.booleanIsProp)("draggable"); var disabled = prop(Halogen_HTML_Core.booleanIsProp)("disabled"); var enabled = function ($7) { return disabled(!$7); }; var controls = prop(Halogen_HTML_Core.booleanIsProp)("controls"); var cols = prop(Halogen_HTML_Core.intIsProp)("cols"); var colSpan = prop(Halogen_HTML_Core.intIsProp)("colSpan"); var classes = function ($8) { return prop(Halogen_HTML_Core.stringIsProp)("className")(Data_String.joinWith(" ")(Data_Functor.map(Data_Functor.functorArray)(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName))($8))); }; var class_ = function ($9) { return prop(Halogen_HTML_Core.stringIsProp)("className")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($9)); }; var checked = prop(Halogen_HTML_Core.booleanIsProp)("checked"); var charset = prop(Halogen_HTML_Core.stringIsProp)("charset"); var autoplay = prop(Halogen_HTML_Core.booleanIsProp)("autoplay"); var autofocus = prop(Halogen_HTML_Core.booleanIsProp)("autofocus"); var autocomplete = function ($10) { return prop(Halogen_HTML_Core.onOffIsProp)("autocomplete")((function (b) { if (b) { return DOM_HTML_Indexed_OnOff.On.value; }; return DOM_HTML_Indexed_OnOff.Off.value; })($10)); }; // | Creates an indexed HTML attribute. var attrNS = function ($11) { return Unsafe_Coerce.unsafeCoerce(Halogen_HTML_Core.attr(Control_Applicative.pure(Data_Maybe.applicativeMaybe)($11))); }; // | Creates an indexed HTML attribute. var attr = Unsafe_Coerce.unsafeCoerce(Halogen_HTML_Core.attr(Data_Maybe.Nothing.value)); var alt = prop(Halogen_HTML_Core.stringIsProp)("alt"); var action = prop(Halogen_HTML_Core.stringIsProp)("action"); var accept = prop(Halogen_HTML_Core.mediaTypeIsProp)("accept"); exports["IProp"] = IProp; exports["accept"] = accept; exports["action"] = action; exports["alt"] = alt; exports["attr"] = attr; exports["attrNS"] = attrNS; exports["autocomplete"] = autocomplete; exports["autofocus"] = autofocus; exports["autoplay"] = autoplay; exports["charset"] = charset; exports["checked"] = checked; exports["class_"] = class_; exports["classes"] = classes; exports["colSpan"] = colSpan; exports["cols"] = cols; exports["controls"] = controls; exports["disabled"] = disabled; exports["draggable"] = draggable; exports["enabled"] = enabled; exports["enctype"] = enctype; exports["for"] = $$for; exports["height"] = height; exports["href"] = href; exports["id_"] = id_; exports["loop"] = loop; exports["max"] = max; exports["method"] = method; exports["min"] = min; exports["multiple"] = multiple; exports["muted"] = muted; exports["name"] = name; exports["noValidate"] = noValidate; exports["pattern"] = pattern; exports["placeholder"] = placeholder; exports["poster"] = poster; exports["preload"] = preload; exports["prop"] = prop; exports["readOnly"] = readOnly; exports["ref"] = ref; exports["rel"] = rel; exports["required"] = required; exports["rowSpan"] = rowSpan; exports["rows"] = rows; exports["selected"] = selected; exports["spellcheck"] = spellcheck; exports["src"] = src; exports["step"] = step; exports["tabIndex"] = tabIndex; exports["target"] = target; exports["title"] = title; exports["type_"] = type_; exports["value"] = value; exports["width"] = width; exports["newtypeIProp"] = newtypeIProp; })(PS["Halogen.HTML.Properties"] = PS["Halogen.HTML.Properties"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"]; var Data_Function = PS["Data.Function"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Tuple = PS["Data.Tuple"]; var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; var Halogen_VDom = PS["Halogen.VDom"]; var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var withKeys_ = function (ctor) { return function (children) { var v = ctor([ ]); if (v instanceof Halogen_VDom_Types.Elem) { return new Halogen_VDom_Types.Keyed(v.value0, Unsafe_Coerce.unsafeCoerce(children)); }; return v; }; }; var withKeys = function (ctor) { return function (props) { return function (children) { var v = ctor(props)([ ]); if (v instanceof Halogen_VDom_Types.Elem) { return new Halogen_VDom_Types.Keyed(v.value0, Unsafe_Coerce.unsafeCoerce(children)); }; return v; }; }; }; // | Creates a Namespaced HTML element that expects indexed properties, with // | keyed children. var keyedNS = function ($8) { return Unsafe_Coerce.unsafeCoerce(Halogen_HTML_Core.keyed(Control_Applicative.pure(Data_Maybe.applicativeMaybe)($8))); }; // | Creates an HTML element that expects indexed properties, with keyed // | children. var keyed = Unsafe_Coerce.unsafeCoerce(Halogen_HTML_Core.keyed(Data_Maybe.Nothing.value)); // | Creates a Namespaced HTML element that expects indexed properties. var elementNS = function ($9) { return Unsafe_Coerce.unsafeCoerce(Halogen_HTML_Core.element(Control_Applicative.pure(Data_Maybe.applicativeMaybe)($9))); }; // | Creates an HTML element that expects indexed properties. var element = Unsafe_Coerce.unsafeCoerce(Halogen_HTML_Core.element(Data_Maybe.Nothing.value)); var em = element("em"); var em_ = em([ ]); var embed = element("embed"); var embed_ = embed([ ]); var fieldset = element("fieldset"); var fieldset_ = fieldset([ ]); var figcaption = element("figcaption"); var figcaption_ = figcaption([ ]); var figure = element("figure"); var figure_ = figure([ ]); var footer = element("footer"); var footer_ = footer([ ]); var form = element("form"); var form_ = form([ ]); var h1 = element("h1"); var h1_ = h1([ ]); var h2 = element("h2"); var h2_ = h2([ ]); var h3 = element("h3"); var h3_ = h3([ ]); var h4 = element("h4"); var h4_ = h4([ ]); var h5 = element("h5"); var h5_ = h5([ ]); var h6 = element("h6"); var h6_ = h6([ ]); var head = element("head"); var head_ = head([ ]); var header = element("header"); var header_ = header([ ]); var hr = function (props) { return element("hr")(props)([ ]); }; var hr_ = hr([ ]); var html = element("html"); var html_ = html([ ]); var i = element("i"); var i_ = i([ ]); var iframe = function (props) { return element("iframe")(props)([ ]); }; var img = function (props) { return element("img")(props)([ ]); }; var input = function (props) { return element("input")(props)([ ]); }; var ins = element("ins"); var ins_ = ins([ ]); var kbd = element("kbd"); var kbd_ = kbd([ ]); var label = element("label"); var label_ = label([ ]); var legend = element("legend"); var legend_ = legend([ ]); var li = element("li"); var li_ = li([ ]); var link = function (props) { return element("link")(props)([ ]); }; var main = element("main"); var main_ = main([ ]); var map = element("map"); var map_ = map([ ]); var mark = element("mark"); var mark_ = mark([ ]); var menu = element("menu"); var menu_ = menu([ ]); var menuitem = element("menuitem"); var menuitem_ = menuitem([ ]); var meta = function (props) { return element("meta")(props)([ ]); }; var meter = element("meter"); var meter_ = meter([ ]); var nav = element("nav"); var nav_ = nav([ ]); var noscript = element("noscript"); var noscript_ = noscript([ ]); var object = element("object"); var object_ = object([ ]); var ol = element("ol"); var ol_ = ol([ ]); var optgroup = element("optgroup"); var optgroup_ = optgroup([ ]); var option = element("option"); var option_ = option([ ]); var output = element("output"); var output_ = output([ ]); var p = element("p"); var p_ = p([ ]); var param = function (props) { return element("param")(props)([ ]); }; var pre = element("pre"); var pre_ = pre([ ]); var progress = element("progress"); var progress_ = progress([ ]); var q = element("q"); var q_ = q([ ]); var rp = element("rp"); var rp_ = rp([ ]); var rt = element("rt"); var rt_ = rt([ ]); var ruby = element("ruby"); var ruby_ = ruby([ ]); var samp = element("samp"); var samp_ = samp([ ]); var script = element("script"); var script_ = script([ ]); var section = element("section"); var section_ = section([ ]); var select = element("select"); var select_ = select([ ]); var small = element("small"); var small_ = small([ ]); var source = function (props) { return element("source")(props)([ ]); }; var span = element("span"); var span_ = span([ ]); var strong = element("strong"); var strong_ = strong([ ]); var style = element("style"); var style_ = style([ ]); var sub = element("sub"); var sub_ = sub([ ]); var summary = element("summary"); var summary_ = summary([ ]); var sup = element("sup"); var sup_ = sup([ ]); var table = element("table"); var table_ = table([ ]); var tbody = element("tbody"); var tbody_ = tbody([ ]); var td = element("td"); var td_ = td([ ]); var textarea = function (es) { return element("textarea")(es)([ ]); }; var tfoot = element("tfoot"); var tfoot_ = tfoot([ ]); var th = element("th"); var th_ = th([ ]); var thead = element("thead"); var thead_ = thead([ ]); var time = element("time"); var time_ = time([ ]); var title = element("title"); var title_ = title([ ]); var tr = element("tr"); var tr_ = tr([ ]); var track = function (props) { return element("track")(props)([ ]); }; var u = element("u"); var u_ = u([ ]); var ul = element("ul"); var ul_ = ul([ ]); var $$var = element("var"); var var_ = $$var([ ]); var video = element("video"); var video_ = video([ ]); var wbr = function (props) { return element("wbr")(props)([ ]); }; var dt = element("dt"); var dt_ = dt([ ]); var dl = element("dl"); var dl_ = dl([ ]); var div = element("div"); var div_ = div([ ]); var dialog = element("dialog"); var dialog_ = dialog([ ]); var dfn = element("dfn"); var dfn_ = dfn([ ]); var details = element("details"); var details_ = details([ ]); var del = element("del"); var del_ = del([ ]); var dd = element("dd"); var dd_ = dd([ ]); var datalist = element("datalist"); var datalist_ = datalist([ ]); var command = function (props) { return element("command")(props)([ ]); }; var colgroup = element("colgroup"); var colgroup_ = colgroup([ ]); var col = function (props) { return element("col")(props)([ ]); }; var code = element("code"); var code_ = code([ ]); var cite = element("cite"); var cite_ = cite([ ]); var caption = element("caption"); var caption_ = caption([ ]); var canvas = function (props) { return element("canvas")(props)([ ]); }; var button = element("button"); var button_ = button([ ]); var br = function (props) { return element("br")(props)([ ]); }; var br_ = br([ ]); var body = element("body"); var body_ = body([ ]); var blockquote = element("blockquote"); var blockquote_ = blockquote([ ]); var bdo = element("bdo"); var bdo_ = bdo([ ]); var bdi = element("bdi"); var bdi_ = bdi([ ]); var base = function (props) { return element("base")(props)([ ]); }; var b = element("b"); var b_ = b([ ]); var audio = element("audio"); var audio_ = audio([ ]); var aside = element("aside"); var aside_ = aside([ ]); var article = element("article"); var article_ = article([ ]); var area = function (props) { return element("area")(props)([ ]); }; var address = element("address"); var address_ = address([ ]); var abbr = element("abbr"); var abbr_ = abbr([ ]); var a = element("a"); var a_ = a([ ]); exports["a"] = a; exports["a_"] = a_; exports["abbr"] = abbr; exports["abbr_"] = abbr_; exports["address"] = address; exports["address_"] = address_; exports["area"] = area; exports["article"] = article; exports["article_"] = article_; exports["aside"] = aside; exports["aside_"] = aside_; exports["audio"] = audio; exports["audio_"] = audio_; exports["b"] = b; exports["b_"] = b_; exports["base"] = base; exports["bdi"] = bdi; exports["bdi_"] = bdi_; exports["bdo"] = bdo; exports["bdo_"] = bdo_; exports["blockquote"] = blockquote; exports["blockquote_"] = blockquote_; exports["body"] = body; exports["body_"] = body_; exports["br"] = br; exports["br_"] = br_; exports["button"] = button; exports["button_"] = button_; exports["canvas"] = canvas; exports["caption"] = caption; exports["caption_"] = caption_; exports["cite"] = cite; exports["cite_"] = cite_; exports["code"] = code; exports["code_"] = code_; exports["col"] = col; exports["colgroup"] = colgroup; exports["colgroup_"] = colgroup_; exports["command"] = command; exports["datalist"] = datalist; exports["datalist_"] = datalist_; exports["dd"] = dd; exports["dd_"] = dd_; exports["del"] = del; exports["del_"] = del_; exports["details"] = details; exports["details_"] = details_; exports["dfn"] = dfn; exports["dfn_"] = dfn_; exports["dialog"] = dialog; exports["dialog_"] = dialog_; exports["div"] = div; exports["div_"] = div_; exports["dl"] = dl; exports["dl_"] = dl_; exports["dt"] = dt; exports["dt_"] = dt_; exports["element"] = element; exports["elementNS"] = elementNS; exports["em"] = em; exports["em_"] = em_; exports["embed"] = embed; exports["embed_"] = embed_; exports["fieldset"] = fieldset; exports["fieldset_"] = fieldset_; exports["figcaption"] = figcaption; exports["figcaption_"] = figcaption_; exports["figure"] = figure; exports["figure_"] = figure_; exports["footer"] = footer; exports["footer_"] = footer_; exports["form"] = form; exports["form_"] = form_; exports["h1"] = h1; exports["h1_"] = h1_; exports["h2"] = h2; exports["h2_"] = h2_; exports["h3"] = h3; exports["h3_"] = h3_; exports["h4"] = h4; exports["h4_"] = h4_; exports["h5"] = h5; exports["h5_"] = h5_; exports["h6"] = h6; exports["h6_"] = h6_; exports["head"] = head; exports["head_"] = head_; exports["header"] = header; exports["header_"] = header_; exports["hr"] = hr; exports["hr_"] = hr_; exports["html"] = html; exports["html_"] = html_; exports["i"] = i; exports["i_"] = i_; exports["iframe"] = iframe; exports["img"] = img; exports["input"] = input; exports["ins"] = ins; exports["ins_"] = ins_; exports["kbd"] = kbd; exports["kbd_"] = kbd_; exports["keyed"] = keyed; exports["keyedNS"] = keyedNS; exports["label"] = label; exports["label_"] = label_; exports["legend"] = legend; exports["legend_"] = legend_; exports["li"] = li; exports["li_"] = li_; exports["link"] = link; exports["main"] = main; exports["main_"] = main_; exports["map"] = map; exports["map_"] = map_; exports["mark"] = mark; exports["mark_"] = mark_; exports["menu"] = menu; exports["menu_"] = menu_; exports["menuitem"] = menuitem; exports["menuitem_"] = menuitem_; exports["meta"] = meta; exports["meter"] = meter; exports["meter_"] = meter_; exports["nav"] = nav; exports["nav_"] = nav_; exports["noscript"] = noscript; exports["noscript_"] = noscript_; exports["object"] = object; exports["object_"] = object_; exports["ol"] = ol; exports["ol_"] = ol_; exports["optgroup"] = optgroup; exports["optgroup_"] = optgroup_; exports["option"] = option; exports["option_"] = option_; exports["output"] = output; exports["output_"] = output_; exports["p"] = p; exports["p_"] = p_; exports["param"] = param; exports["pre"] = pre; exports["pre_"] = pre_; exports["progress"] = progress; exports["progress_"] = progress_; exports["q"] = q; exports["q_"] = q_; exports["rp"] = rp; exports["rp_"] = rp_; exports["rt"] = rt; exports["rt_"] = rt_; exports["ruby"] = ruby; exports["ruby_"] = ruby_; exports["samp"] = samp; exports["samp_"] = samp_; exports["script"] = script; exports["script_"] = script_; exports["section"] = section; exports["section_"] = section_; exports["select"] = select; exports["select_"] = select_; exports["small"] = small; exports["small_"] = small_; exports["source"] = source; exports["span"] = span; exports["span_"] = span_; exports["strong"] = strong; exports["strong_"] = strong_; exports["style"] = style; exports["style_"] = style_; exports["sub"] = sub; exports["sub_"] = sub_; exports["summary"] = summary; exports["summary_"] = summary_; exports["sup"] = sup; exports["sup_"] = sup_; exports["table"] = table; exports["table_"] = table_; exports["tbody"] = tbody; exports["tbody_"] = tbody_; exports["td"] = td; exports["td_"] = td_; exports["textarea"] = textarea; exports["tfoot"] = tfoot; exports["tfoot_"] = tfoot_; exports["th"] = th; exports["th_"] = th_; exports["thead"] = thead; exports["thead_"] = thead_; exports["time"] = time; exports["time_"] = time_; exports["title"] = title; exports["title_"] = title_; exports["tr"] = tr; exports["tr_"] = tr_; exports["track"] = track; exports["u"] = u; exports["u_"] = u_; exports["ul"] = ul; exports["ul_"] = ul_; exports["var"] = $$var; exports["var_"] = var_; exports["video"] = video; exports["video_"] = video_; exports["wbr"] = wbr; exports["withKeys"] = withKeys; exports["withKeys_"] = withKeys_; })(PS["Halogen.HTML.Elements"] = PS["Halogen.HTML.Elements"] || {}); (function(exports) { // | This module re-exports the types for the `HTML` DSL, and values for all // | supported HTML elements. "use strict"; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var Data_Functor = PS["Data.Functor"]; var Data_Maybe = PS["Data.Maybe"]; var Halogen_Component = PS["Halogen.Component"]; var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"]; var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; var Prelude = PS["Prelude"]; // | Defines a slot for a child component when a parent has multiple types of // | child component. Takes: // | - the `ChildPath` for this particular child component type // | - the slot "address" value // | - the component for the slot // | - the input value to pass to the component // | - a function mapping outputs from the component to a query in the parent var slot$prime = function (i) { return function (p) { return function (component) { return function (input) { return function (outputQuery) { var pq = Halogen_Component_ChildPath.prjQuery(i); var f = function ($2) { return Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Component_ChildPath.injQuery(i))(Halogen_Component.unComponent(function (v) { return v.receiver; })(component)($2)); }; return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(Halogen_Component_ChildPath.injSlot(i)(p))(component)(input)(f)(outputQuery)(pq)); }; }; }; }; }; // | Defines a slot for a child component. Takes: // | - the slot "address" value // | - the component for the slot // | - the input value to pass to the component // | - a function mapping outputs from the component to a query in the parent var slot = function (p) { return function (component) { return function (input) { return function (outputQuery) { var f = Halogen_Component.unComponent(function (v) { return v.receiver; })(component); return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create)); }; }; }; }; exports["slot"] = slot; exports["slot'"] = slot$prime; })(PS["Halogen.HTML"] = PS["Halogen.HTML"] || {}); (function(exports) { "use strict"; var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"]; var Data_Tuple = PS["Data.Tuple"]; var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; var ul = Halogen_HTML_Elements.keyed("ul"); var ul_ = ul([ ]); var tr = Halogen_HTML_Elements.keyed("tr"); var tr_ = tr([ ]); var thead = Halogen_HTML_Elements.keyed("thead"); var thead_ = thead([ ]); var tfoot = Halogen_HTML_Elements.keyed("tfoot"); var tfoot_ = tfoot([ ]); var tbody = Halogen_HTML_Elements.keyed("tbody"); var tbody_ = tbody([ ]); var table = Halogen_HTML_Elements.keyed("table"); var table_ = table([ ]); var ol = Halogen_HTML_Elements.keyed("ol"); var ol_ = ol([ ]); var menu = Halogen_HTML_Elements.keyed("menu"); var menu_ = menu([ ]); var header = Halogen_HTML_Elements.keyed("header"); var header_ = header([ ]); var form = Halogen_HTML_Elements.keyed("form"); var form_ = form([ ]); var footer = Halogen_HTML_Elements.keyed("footer"); var footer_ = footer([ ]); var fieldset = Halogen_HTML_Elements.keyed("fieldset"); var fieldset_ = fieldset([ ]); var dl = Halogen_HTML_Elements.keyed("dl"); var dl_ = dl([ ]); var div = Halogen_HTML_Elements.keyed("div"); var div_ = div([ ]); var dialog = Halogen_HTML_Elements.keyed("dialog"); var dialog_ = dialog([ ]); var colgroup = Halogen_HTML_Elements.keyed("colgroup"); var colgroup_ = colgroup([ ]); var article = Halogen_HTML_Elements.keyed("article"); var article_ = article([ ]); exports["article"] = article; exports["article_"] = article_; exports["colgroup"] = colgroup; exports["colgroup_"] = colgroup_; exports["dialog"] = dialog; exports["dialog_"] = dialog_; exports["div"] = div; exports["div_"] = div_; exports["dl"] = dl; exports["dl_"] = dl_; exports["fieldset"] = fieldset; exports["fieldset_"] = fieldset_; exports["footer"] = footer; exports["footer_"] = footer_; exports["form"] = form; exports["form_"] = form_; exports["header"] = header; exports["header_"] = header_; exports["menu"] = menu; exports["menu_"] = menu_; exports["ol"] = ol; exports["ol_"] = ol_; exports["table"] = table; exports["table_"] = table_; exports["tbody"] = tbody; exports["tbody_"] = tbody_; exports["tfoot"] = tfoot; exports["tfoot_"] = tfoot_; exports["thead"] = thead; exports["thead_"] = thead_; exports["tr"] = tr; exports["tr_"] = tr_; exports["ul"] = ul; exports["ul_"] = ul_; })(PS["Halogen.HTML.Elements.Keyed"] = PS["Halogen.HTML.Elements.Keyed"] || {}); (function(exports) { // | Functions and types used to describe the `HalogenF` algebra used in a // | component's `eval` function. "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad_Aff_Class = PS["Control.Monad.Aff.Class"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Except = PS["Control.Monad.Except"]; var Control_Monad_State_Class = PS["Control.Monad.State.Class"]; var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"]; var Control_Parallel = PS["Control.Parallel"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var Data_Either = PS["Data.Either"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_List = PS["Data.List"]; var Data_List_Types = PS["Data.List.Types"]; var Data_Map = PS["Data.Map"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Tuple = PS["Data.Tuple"]; var Data_Unit = PS["Data.Unit"]; var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"]; var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"]; var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"]; var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; var Prelude = PS["Prelude"]; // | Takes a data constructor of query algebra `f` and creates a request. // | // | For example: // | // | ```purescript // | data Query a = GetTickCount (Int -> a) // | // | getTickCount :: forall o eff. HalogenIO Query o (Aff (HalogenEffects eff)) -> Aff (HalogenEffects eff) Int // | getTickCount app = app.query (request GetTickCount) // | ``` var request = function (req) { return req(Control_Category.id(Control_Category.categoryFn)); }; // | Sends a query to all children of a specific type within a component, using // | a `ChildPath` to discriminate the type of child component to query. var queryAll$prime = function (dictOrd) { return function (dictEq) { return function (path) { return function (q) { return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_List.mapMaybe(Halogen_Component_ChildPath.prjSlot(path)))(Halogen_Query_HalogenM.getSlots))(function (v) { return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Map.fromFoldable(dictOrd)(Data_List_Types.foldableList))(Control_Parallel.parTraverse(Halogen_Query_HalogenM.parallelHalogenM)(Data_List_Types.traversableList)(function (p) { return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Tuple.Tuple.create(p))(Halogen_Query_HalogenM.mkQuery(dictEq)(Halogen_Component_ChildPath.injSlot(path)(p))(Halogen_Component_ChildPath.injQuery(path)(q))); })(v)); }); }; }; }; }; // | Sends a query to all children of a component. var queryAll = function (dictOrd) { return queryAll$prime(dictOrd)(dictOrd.Eq0())(Halogen_Component_ChildPath.cpI); }; // | Sends a query to a child of a component at the specified slot. var query = function (dictEq) { return function (p) { return function (q) { return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.checkSlot(p))(function (v) { if (v) { return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.Just.create)(Halogen_Query_HalogenM.mkQuery(dictEq)(p)(q)); }; return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value); }); }; }; }; // | Sends a query to a child of a component at the specified slot, using a // | `ChildPath` to discriminate the type of child component to query. var query$prime = function (dictEq) { return function (path) { return function (p) { return function (q) { return query(dictEq)(Halogen_Component_ChildPath.injSlot(path)(p))(Halogen_Component_ChildPath.injQuery(path)(q)); }; }; }; }; var getHTMLElementRef = (function () { var go = function ($10) { return Data_Either.either(Data_Function["const"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create)(Control_Monad_Except.runExcept(DOM_HTML_Types.readHTMLElement($10))); }; return function ($11) { return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) { return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(go)(v); })(Halogen_Query_HalogenM.getRef($11)); }; })(); // | Takes a data constructor of query algebra `f` and creates an action. // | // | For example: // | // | ```purescript // | data Query a = Tick a // | // | sendTick :: forall o eff. HalogenIO Query o (Aff (HalogenEffects eff)) -> Aff (HalogenEffects eff) Unit // | sendTick app = app.query (action Tick) // | ``` var action = function (act) { return act(Data_Unit.unit); }; exports["action"] = action; exports["getHTMLElementRef"] = getHTMLElementRef; exports["query"] = query; exports["query'"] = query$prime; exports["queryAll"] = queryAll; exports["queryAll'"] = queryAll$prime; exports["request"] = request; })(PS["Halogen.Query"] = PS["Halogen.Query"] || {}); (function(exports) { "use strict"; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Except = PS["Control.Monad.Except"]; var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"]; var Control_Semigroupoid = PS["Control.Semigroupoid"]; var DOM_Event_Event = PS["DOM.Event.Event"]; var DOM_Event_Types = PS["DOM.Event.Types"]; var DOM_HTML_Event_EventTypes = PS["DOM.HTML.Event.EventTypes"]; var DOM_HTML_Event_Types = PS["DOM.HTML.Event.Types"]; var Data_Either = PS["Data.Either"]; var Data_Foreign = PS["Data.Foreign"]; var Data_Foreign_Index = PS["Data.Foreign.Index"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_Identity = PS["Data.Identity"]; var Data_Maybe = PS["Data.Maybe"]; var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; var Halogen_Query = PS["Halogen.Query"]; var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; var Prelude = PS["Prelude"]; var Unsafe_Coerce = PS["Unsafe.Coerce"]; var touchHandler = Unsafe_Coerce.unsafeCoerce; var mouseHandler = Unsafe_Coerce.unsafeCoerce; var keyHandler = Unsafe_Coerce.unsafeCoerce; var input_ = function (f) { return function (v) { return Data_Maybe.Just.create(Halogen_Query.action(f)); }; }; var input = function (f) { return function (x) { return Data_Maybe.Just.create(Halogen_Query.action(f(x))); }; }; var handler = function (et) { return function ($1) { return Unsafe_Coerce.unsafeCoerce(Halogen_HTML_Core.handler)(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1)); }; }; var onAbort = handler(DOM_HTML_Event_EventTypes.abort); var onChange = handler(DOM_HTML_Event_EventTypes.change); var onClick = function ($2) { return handler(DOM_HTML_Event_EventTypes.click)(mouseHandler($2)); }; var onContextMenu = function ($3) { return handler(DOM_HTML_Event_EventTypes.contextmenu)(mouseHandler($3)); }; var onDoubleClick = function ($4) { return handler(DOM_HTML_Event_EventTypes.dblclick)(mouseHandler($4)); }; var onError = handler(DOM_HTML_Event_EventTypes.error); var onInput = handler(DOM_HTML_Event_EventTypes.input); var onInvalid = handler(DOM_HTML_Event_EventTypes.invalid); var onKeyDown = function ($5) { return handler(DOM_HTML_Event_EventTypes.keydown)(keyHandler($5)); }; var onKeyPress = function ($6) { return handler(DOM_HTML_Event_EventTypes.keypress)(keyHandler($6)); }; var onKeyUp = function ($7) { return handler(DOM_HTML_Event_EventTypes.keyup)(keyHandler($7)); }; var onLoad = handler(DOM_HTML_Event_EventTypes.load); var onMouseDown = function ($8) { return handler(DOM_HTML_Event_EventTypes.mousedown)(mouseHandler($8)); }; var onMouseEnter = function ($9) { return handler(DOM_HTML_Event_EventTypes.mouseenter)(mouseHandler($9)); }; var onMouseLeave = function ($10) { return handler(DOM_HTML_Event_EventTypes.mouseleave)(mouseHandler($10)); }; var onMouseMove = function ($11) { return handler(DOM_HTML_Event_EventTypes.mousemove)(mouseHandler($11)); }; var onMouseOut = function ($12) { return handler(DOM_HTML_Event_EventTypes.mouseout)(mouseHandler($12)); }; var onMouseOver = function ($13) { return handler(DOM_HTML_Event_EventTypes.mouseover)(mouseHandler($13)); }; var onMouseUp = function ($14) { return handler(DOM_HTML_Event_EventTypes.mouseup)(mouseHandler($14)); }; var onReset = handler(DOM_HTML_Event_EventTypes.reset); var onResize = handler(DOM_HTML_Event_EventTypes.resize); var onScroll = handler(DOM_HTML_Event_EventTypes.scroll); var onSelect = handler(DOM_HTML_Event_EventTypes.select); var onSubmit = handler(DOM_HTML_Event_EventTypes.submit); var onTouchCancel = function ($15) { return handler(DOM_HTML_Event_EventTypes.touchcancel)(touchHandler($15)); }; var onTouchEnd = function ($16) { return handler(DOM_HTML_Event_EventTypes.touchend)(touchHandler($16)); }; var onTouchEnter = function ($17) { return handler(DOM_HTML_Event_EventTypes.touchenter)(touchHandler($17)); }; var onTouchLeave = function ($18) { return handler(DOM_HTML_Event_EventTypes.touchleave)(touchHandler($18)); }; var onTouchMove = function ($19) { return handler(DOM_HTML_Event_EventTypes.touchmove)(touchHandler($19)); }; var onTouchStart = function ($20) { return handler(DOM_HTML_Event_EventTypes.touchstart)(touchHandler($20)); }; var onTransitionEnd = handler(DOM_HTML_Event_EventTypes.transitionend); var focusHandler = Unsafe_Coerce.unsafeCoerce; var onBlur = function ($21) { return handler(DOM_HTML_Event_EventTypes.blur)(focusHandler($21)); }; var onFocus = function ($22) { return handler(DOM_HTML_Event_EventTypes.focus)(focusHandler($22)); }; var onFocusIn = function ($23) { return handler(DOM_HTML_Event_EventTypes.focusin)(focusHandler($23)); }; var onFocusOut = function ($24) { return handler(DOM_HTML_Event_EventTypes.focusout)(focusHandler($24)); }; var dragHandler = Unsafe_Coerce.unsafeCoerce; var onDrag = function ($25) { return handler(DOM_HTML_Event_EventTypes.drag)(dragHandler($25)); }; var onDragEnd = function ($26) { return handler(DOM_HTML_Event_EventTypes.dragend)(dragHandler($26)); }; var onDragEnter = function ($27) { return handler(DOM_HTML_Event_EventTypes.dragenter)(dragHandler($27)); }; var onDragExit = function ($28) { return handler(DOM_HTML_Event_EventTypes.dragexit)(dragHandler($28)); }; var onDragLeave = function ($29) { return handler(DOM_HTML_Event_EventTypes.dragleave)(dragHandler($29)); }; var onDragOver = function ($30) { return handler(DOM_HTML_Event_EventTypes.dragover)(dragHandler($30)); }; var onDragStart = function ($31) { return handler(DOM_HTML_Event_EventTypes.dragstart)(dragHandler($31)); }; var onDrop = function ($32) { return handler(DOM_HTML_Event_EventTypes.drop)(dragHandler($32)); }; var clipboardHandler = Unsafe_Coerce.unsafeCoerce; var onCopy = function ($33) { return handler(DOM_HTML_Event_EventTypes.copy)(clipboardHandler($33)); }; var onCut = function ($34) { return handler(DOM_HTML_Event_EventTypes.cut)(clipboardHandler($34)); }; var onPaste = function ($35) { return handler(DOM_HTML_Event_EventTypes.paste)(clipboardHandler($35)); }; // | Attaches event handler to event `key` with getting `prop` field as an // | argument of `handler`. var addForeignPropHandler = function (key) { return function (prop) { return function (reader) { return function (f) { return handler(key)(function ($36) { return Data_Either.either(Data_Function["const"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Data_Foreign_Index.readProp(prop))(Data_Foreign.toForeign(DOM_Event_Event.currentTarget($36))))); }); }; }; }; }; // | Attaches an event handler which will fire when a checkbox is checked or // | unchecked. var onChecked = addForeignPropHandler(DOM_HTML_Event_EventTypes.change)("checked")(Data_Foreign.readBoolean); // | Attaches an event handler which will produce an input when the seleced index of a // | `select` element changes. var onSelectedIndexChange = addForeignPropHandler(DOM_HTML_Event_EventTypes.change)("selectedIndex")(Data_Foreign.readInt); // | Attaches an event handler which will produce an input when the value of an // | input field changes. var onValueChange = addForeignPropHandler(DOM_HTML_Event_EventTypes.change)("value")(Data_Foreign.readString); // | Attaches an event handler which will fire on input. var onValueInput = addForeignPropHandler(DOM_HTML_Event_EventTypes.input)("value")(Data_Foreign.readString); exports["handler"] = handler; exports["input"] = input; exports["input_"] = input_; exports["onAbort"] = onAbort; exports["onBlur"] = onBlur; exports["onChange"] = onChange; exports["onChecked"] = onChecked; exports["onClick"] = onClick; exports["onContextMenu"] = onContextMenu; exports["onCopy"] = onCopy; exports["onCut"] = onCut; exports["onDoubleClick"] = onDoubleClick; exports["onDrag"] = onDrag; exports["onDragEnd"] = onDragEnd; exports["onDragEnter"] = onDragEnter; exports["onDragExit"] = onDragExit; exports["onDragLeave"] = onDragLeave; exports["onDragOver"] = onDragOver; exports["onDragStart"] = onDragStart; exports["onDrop"] = onDrop; exports["onError"] = onError; exports["onFocus"] = onFocus; exports["onFocusIn"] = onFocusIn; exports["onFocusOut"] = onFocusOut; exports["onInput"] = onInput; exports["onInvalid"] = onInvalid; exports["onKeyDown"] = onKeyDown; exports["onKeyPress"] = onKeyPress; exports["onKeyUp"] = onKeyUp; exports["onLoad"] = onLoad; exports["onMouseDown"] = onMouseDown; exports["onMouseEnter"] = onMouseEnter; exports["onMouseLeave"] = onMouseLeave; exports["onMouseMove"] = onMouseMove; exports["onMouseOut"] = onMouseOut; exports["onMouseOver"] = onMouseOver; exports["onMouseUp"] = onMouseUp; exports["onPaste"] = onPaste; exports["onReset"] = onReset; exports["onResize"] = onResize; exports["onScroll"] = onScroll; exports["onSelect"] = onSelect; exports["onSelectedIndexChange"] = onSelectedIndexChange; exports["onSubmit"] = onSubmit; exports["onTouchCancel"] = onTouchCancel; exports["onTouchEnd"] = onTouchEnd; exports["onTouchEnter"] = onTouchEnter; exports["onTouchLeave"] = onTouchLeave; exports["onTouchMove"] = onTouchMove; exports["onTouchStart"] = onTouchStart; exports["onTransitionEnd"] = onTransitionEnd; exports["onValueChange"] = onValueChange; exports["onValueInput"] = onValueInput; })(PS["Halogen.HTML.Events"] = PS["Halogen.HTML.Events"] || {}); (function(exports) { // | This module provides properties for WAI-ARIA attributes. "use strict"; var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; var valueText = Halogen_HTML_Properties.attr("aria-valuetext"); var valueNow = Halogen_HTML_Properties.attr("aria-valuenow"); var valueMin = Halogen_HTML_Properties.attr("aria-valuemin"); var valueMax = Halogen_HTML_Properties.attr("aria-valuemax"); var sort = Halogen_HTML_Properties.attr("aria-sort"); var setSize = Halogen_HTML_Properties.attr("aria-setsize"); var selected = Halogen_HTML_Properties.attr("aria-selected"); var role = Halogen_HTML_Properties.attr("role"); var required = Halogen_HTML_Properties.attr("aria-required"); var relevant = Halogen_HTML_Properties.attr("aria-relevant"); var readOnly = Halogen_HTML_Properties.attr("aria-readonly"); var pressed = Halogen_HTML_Properties.attr("aria-pressed"); var posInSet = Halogen_HTML_Properties.attr("aria-posinset"); var owns = Halogen_HTML_Properties.attr("aria-owns"); var orientation = Halogen_HTML_Properties.attr("aria-orientation"); var multiSelectable = Halogen_HTML_Properties.attr("aria-multiselectable"); var multiLine = Halogen_HTML_Properties.attr("aria-multiline"); var live = Halogen_HTML_Properties.attr("aria-live"); var level = Halogen_HTML_Properties.attr("aria-level"); var labelledBy = Halogen_HTML_Properties.attr("aria-labelledby"); var label = Halogen_HTML_Properties.attr("aria-label"); var invalid = Halogen_HTML_Properties.attr("aria-invalid"); var hidden = Halogen_HTML_Properties.attr("aria-hidden"); var hasPopup = Halogen_HTML_Properties.attr("aria-haspopup"); var grabbed = Halogen_HTML_Properties.attr("aria-grabbed"); var flowTo = Halogen_HTML_Properties.attr("aria-flowto"); var expanded = Halogen_HTML_Properties.attr("aria-expanded"); var dropEffect = Halogen_HTML_Properties.attr("aria-dropeffect"); var disabled = Halogen_HTML_Properties.attr("aria-disabled"); var describedBy = Halogen_HTML_Properties.attr("aria-describedby"); var controls = Halogen_HTML_Properties.attr("aria-controls"); var checked = Halogen_HTML_Properties.attr("aria-checked"); var busy = Halogen_HTML_Properties.attr("aria-busy"); var autoComplete = Halogen_HTML_Properties.attr("aria-autocomplete"); var atomic = Halogen_HTML_Properties.attr("aria-atomic"); var activeDescendant = Halogen_HTML_Properties.attr("aria-activedescendant"); exports["activeDescendant"] = activeDescendant; exports["atomic"] = atomic; exports["autoComplete"] = autoComplete; exports["busy"] = busy; exports["checked"] = checked; exports["controls"] = controls; exports["describedBy"] = describedBy; exports["disabled"] = disabled; exports["dropEffect"] = dropEffect; exports["expanded"] = expanded; exports["flowTo"] = flowTo; exports["grabbed"] = grabbed; exports["hasPopup"] = hasPopup; exports["hidden"] = hidden; exports["invalid"] = invalid; exports["label"] = label; exports["labelledBy"] = labelledBy; exports["level"] = level; exports["live"] = live; exports["multiLine"] = multiLine; exports["multiSelectable"] = multiSelectable; exports["orientation"] = orientation; exports["owns"] = owns; exports["posInSet"] = posInSet; exports["pressed"] = pressed; exports["readOnly"] = readOnly; exports["relevant"] = relevant; exports["required"] = required; exports["role"] = role; exports["selected"] = selected; exports["setSize"] = setSize; exports["sort"] = sort; exports["valueMax"] = valueMax; exports["valueMin"] = valueMin; exports["valueNow"] = valueNow; exports["valueText"] = valueText; })(PS["Halogen.HTML.Properties.ARIA"] = PS["Halogen.HTML.Properties.ARIA"] || {}); (function(exports) { // | This module provides CSS class names for common Bootstrap 3 classes. "use strict"; var Halogen_HTML = PS["Halogen.HTML"]; var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; var woff2 = "woff2"; var woff = "woff"; var wellSm = "well-sm"; var wellLg = "well-lg"; var well = "well"; var warning = "warning"; var visibleXsInlineBlock = "visible-xs-inline-block"; var visibleXsInline = "visible-xs-inline"; var visibleXsBlock = "visible-xs-block"; var visibleXs = "visible-xs"; var visibleSmInlineBlock = "visible-sm-inline-block"; var visibleSmInline = "visible-sm-inline"; var visibleSmBlock = "visible-sm-block"; var visibleSm = "visible-sm"; var visiblePrintInlineBlock = "visible-print-inline-block"; var visiblePrintInline = "visible-print-inline"; var visiblePrintBlock = "visible-print-block"; var visiblePrint = "visible-print"; var visibleMdInlineBlock = "visible-md-inline-block"; var visibleMdInline = "visible-md-inline"; var visibleMdBlock = "visible-md-block"; var visibleMd = "visible-md"; var visibleLgInlineBlock = "visible-lg-inline-block"; var visibleLgInline = "visible-lg-inline"; var visibleLgBlock = "visible-lg-block"; var visibleLg = "visible-lg"; var ttf = "ttf"; var topRight = "top-right"; var topLeft = "top-left"; var top = "top"; var tooltipInner = "tooltip-inner"; var tooltipArrow = "tooltip-arrow"; var tooltip = "tooltip"; var thumbnail = "thumbnail"; var textWarning = "text-warning"; var textUppercase = "text-uppercase"; var textSuccess = "text-success"; var textRight = "text-right"; var textPrimary = "text-primary"; var textNowrap = "text-nowrap"; var textMuted = "text-muted"; var textLowercase = "text-lowercase"; var textLeft = "text-left"; var textJustify = "text-justify"; var textInfo = "text-info"; var textHide = "text-hide"; var textDanger = "text-danger"; var textCenter = "text-center"; var textCapitalize = "text-capitalize"; var tableStriped = "table-striped"; var tableResponsive = "table-responsive"; var tableHover = "table-hover"; var tableCondensed = "table-condensed"; var tableBordered = "table-bordered"; var table = "table"; var tabPane = "tab-pane"; var tabContent = "tab-content"; var svg = "svg"; var success = "success"; var srOnlyFocusable = "sr-only-focusable"; var srOnly = "sr-only"; var small = "small"; var show_ = "show"; var row = "row"; var right = "right"; var radioInline = "radio-inline"; var radio = "radio"; var pullRight = "pull-right"; var pullLeft = "pull-left"; var progressStriped = "progress-striped"; var progressBarWarning = "progress-bar-warning"; var progressBarSuccess = "progress-bar-success"; var progressBarStriped = "progress-bar-striped"; var progressBarInfo = "progress-bar-info"; var progressBarDanger = "progress-bar-danger"; var progressBar = "progress-bar"; var progress = "progress"; var previous = "previous"; var prev = "prev"; var preScrollable = "pre-scrollable"; var popoverTitle = "popover-title"; var popoverContent = "popover-content"; var popover = "popover"; var panelWarning = "panel-warning"; var panelTitle = "panel-title"; var panelSuccess = "panel-success"; var panelPrimary = "panel-primary"; var panelInfo = "panel-info"; var panelHeading = "panel-heading"; var panelGroup = "panel-group"; var panelFooter = "panel-footer"; var panelDefault = "panel-default"; var panelDanger = "panel-danger"; var panelCollapse = "panel-collapse"; var panelBody = "panel-body"; var panel = "panel"; var paginationSm = "pagination-sm"; var paginationLg = "pagination-lg"; var pagination = "pagination"; var pager = "pager"; var pageHeader = "page-header"; var open = "open"; var next = "next"; var navbarToggle = "navbar-toggle"; var navbarText = "navbar-text"; var navbarStaticTop = "navbar-static-top"; var navbarRight = "navbar-right"; var navbarNav = "navbar-nav"; var navbarLink = "navbar-link"; var navbarLeft = "navbar-left"; var navbarInverse = "navbar-inverse"; var navbarHeader = "navbar-header"; var navbarForm = "navbar-form"; var navbarFixedTop = "navbar-fixed-top"; var navbarFixedBottom = "navbar-fixed-bottom"; var navbarDefault = "navbar-default"; var navbarCollapse = "navbar-collapse"; var navbarBtn = "navbar-btn"; var navbarBrand = "navbar-brand"; var navbar = "navbar"; var navTabsJustified = "nav-tabs-justified"; var navTabs = "nav-tabs"; var navStacked = "nav-stacked"; var navPills = "nav-pills"; var navJustified = "nav-justified"; var navDivider = "nav-divider"; var nav = "nav"; var modalTitle = "modal-title"; var modalSm = "modal-sm"; var modalScrollbarMeasure = "modal-scrollbar-measure"; var modalOpen = "modal-open"; var modalLg = "modal-lg"; var modalHeader = "modal-header"; var modalFooter = "modal-footer"; var modalDialog = "modal-dialog"; var modalContent = "modal-content"; var modalBody = "modal-body"; var modalBackdrop = "modal-backdrop"; var modal = "modal"; var mediaRight = "media-right"; var mediaObject = "media-object"; var mediaMiddle = "media-middle"; var mediaList = "media-list"; var mediaLeft = "media-left"; var mediaHeading = "media-heading"; var mediaBottom = "media-bottom"; var mediaBody = "media-body"; var media = "media"; var mark = "mark"; var listUnstyled = "list-unstyled"; var listInline = "list-inline"; var listGroupItemWarning = "list-group-item-warning"; var listGroupItemText = "list-group-item-text"; var listGroupItemSuccess = "list-group-item-success"; var listGroupItemInfo = "list-group-item-info"; var listGroupItemHeading = "list-group-item-heading"; var listGroupItemDanger = "list-group-item-danger"; var listGroupItem = "list-group-item"; var listGroup = "list-group"; var left = "left"; var lead = "lead"; var labelWarning = "label-warning"; var labelSuccess = "label-success"; var labelPrimary = "label-primary"; var labelInfo = "label-info"; var labelDefault = "label-default"; var labelDanger = "label-danger"; var label = "label"; var jumbotron = "jumbotron"; var item = "item"; var invisible = "invisible"; var inputSm = "input-sm"; var inputLg = "input-lg"; var inputGroupSm = "input-group-sm"; var inputGroupLg = "input-group-lg"; var inputGroupBtn = "input-group-btn"; var inputGroupAddon = "input-group-addon"; var inputGroup = "input-group"; var initialism = "initialism"; var info = "info"; var in_ = "in"; var imgThumbnail = "img-thumbnail"; var imgRounded = "img-rounded"; var imgResponsive = "img-responsive"; var imgCircle = "img-circle"; var iconPrev = "icon-prev"; var iconNext = "icon-next"; var iconBar = "icon-bar"; var hide = "hide"; var hiddenXs = "hidden-xs"; var hiddenSm = "hidden-sm"; var hiddenPrint = "hidden-print"; var hiddenMd = "hidden-md"; var hiddenLg = "hidden-lg"; var hidden = "hidden"; var helpBlock = "help-block"; var hasWarning = "has-warning"; var hasSuccess = "has-success"; var hasFeedback = "has-feedback"; var hasError = "has-error"; var h6 = "h6"; var h5 = "h5"; var h4 = "h4"; var h3 = "h3"; var h2 = "h2"; var h1 = "h1"; var gradient = "gradient"; var glyphiconZoomOut = "glyphicon-zoom-out"; var glyphiconZoomIn = "glyphicon-zoom-in"; var glyphiconYen = "glyphicon-yen"; var glyphiconWrench = "glyphicon-wrench"; var glyphiconWarningSign = "glyphicon-warning-sign"; var glyphiconVolumeUp = "glyphicon-volume-up"; var glyphiconVolumeOff = "glyphicon-volume-off"; var glyphiconVolumeDown = "glyphicon-volume-down"; var glyphiconUser = "glyphicon-user"; var glyphiconUsd = "glyphicon-usd"; var glyphiconUpload = "glyphicon-upload"; var glyphiconUnchecked = "glyphicon-unchecked"; var glyphiconTriangleTop = "glyphicon-triangle-top"; var glyphiconTriangleRight = "glyphicon-triangle-right"; var glyphiconTriangleLeft = "glyphicon-triangle-left"; var glyphiconTriangleBottom = "glyphicon-triangle-bottom"; var glyphiconTreeDeciduous = "glyphicon-tree-deciduous"; var glyphiconTreeConifer = "glyphicon-tree-conifer"; var glyphiconTrash = "glyphicon-trash"; var glyphiconTransfer = "glyphicon-transfer"; var glyphiconTower = "glyphicon-tower"; var glyphiconTint = "glyphicon-tint"; var glyphiconTime = "glyphicon-time"; var glyphiconThumbsUp = "glyphicon-thumbs-up"; var glyphiconThumbsDown = "glyphicon-thumbs-down"; var glyphiconThList = "glyphicon-th-list"; var glyphiconThLarge = "glyphicon-th-large"; var glyphiconTh = "glyphicon-th"; var glyphiconTextWidth = "glyphicon-text-width"; var glyphiconTextSize = "glyphicon-text-size"; var glyphiconTextHeight = "glyphicon-text-height"; var glyphiconTextColor = "glyphicon-text-color"; var glyphiconTextBackground = "glyphicon-text-background"; var glyphiconTent = "glyphicon-tent"; var glyphiconTasks = "glyphicon-tasks"; var glyphiconTags = "glyphicon-tags"; var glyphiconTag = "glyphicon-tag"; var glyphiconSuperscript = "glyphicon-superscript"; var glyphiconSunglasses = "glyphicon-sunglasses"; var glyphiconSubtitles = "glyphicon-subtitles"; var glyphiconSubscript = "glyphicon-subscript"; var glyphiconStop = "glyphicon-stop"; var glyphiconStepForward = "glyphicon-step-forward"; var glyphiconStepBackward = "glyphicon-step-backward"; var glyphiconStats = "glyphicon-stats"; var glyphiconStarEmpty = "glyphicon-star-empty"; var glyphiconStar = "glyphicon-star"; var glyphiconSoundStereo = "glyphicon-sound-stereo"; var glyphiconSoundDolby = "glyphicon-sound-dolby"; var glyphiconSound7_1 = "glyphicon-sound-7-1"; var glyphiconSound6_1 = "glyphicon-sound-6-1"; var glyphiconSound5_1 = "glyphicon-sound-5-1"; var glyphiconSortByOrderAlt = "glyphicon-sort-by-order-alt"; var glyphiconSortByOrder = "glyphicon-sort-by-order"; var glyphiconSortByAttributesAlt = "glyphicon-sort-by-attributes-alt"; var glyphiconSortByAttributes = "glyphicon-sort-by-attributes"; var glyphiconSortByAlphabetAlt = "glyphicon-sort-by-alphabet-alt"; var glyphiconSortByAlphabet = "glyphicon-sort-by-alphabet"; var glyphiconSort = "glyphicon-sort"; var glyphiconSignal = "glyphicon-signal"; var glyphiconShoppingCart = "glyphicon-shopping-cart"; var glyphiconShareAlt = "glyphicon-share-alt"; var glyphiconShare = "glyphicon-share"; var glyphiconSend = "glyphicon-send"; var glyphiconSearch = "glyphicon-search"; var glyphiconSdVideo = "glyphicon-sd-video"; var glyphiconScreenshot = "glyphicon-screenshot"; var glyphiconScissors = "glyphicon-scissors"; var glyphiconScale = "glyphicon-scale"; var glyphiconSaved = "glyphicon-saved"; var glyphiconSaveFile = "glyphicon-save-file"; var glyphiconSave = "glyphicon-save"; var glyphiconRuble = "glyphicon-ruble"; var glyphiconRoad = "glyphicon-road"; var glyphiconRetweet = "glyphicon-retweet"; var glyphiconResizeVertical = "glyphicon-resize-vertical"; var glyphiconResizeSmall = "glyphicon-resize-small"; var glyphiconResizeHorizontal = "glyphicon-resize-horizontal"; var glyphiconResizeFull = "glyphicon-resize-full"; var glyphiconRepeat = "glyphicon-repeat"; var glyphiconRemoveSign = "glyphicon-remove-sign"; var glyphiconRemoveCircle = "glyphicon-remove-circle"; var glyphiconRemove = "glyphicon-remove"; var glyphiconRegistrationMark = "glyphicon-registration-mark"; var glyphiconRefresh = "glyphicon-refresh"; var glyphiconRecord = "glyphicon-record"; var glyphiconRandom = "glyphicon-random"; var glyphiconQuestionSign = "glyphicon-question-sign"; var glyphiconQueen = "glyphicon-queen"; var glyphiconQrcode = "glyphicon-qrcode"; var glyphiconPushpin = "glyphicon-pushpin"; var glyphiconPrint = "glyphicon-print"; var glyphiconPlusSign = "glyphicon-plus-sign"; var glyphiconPlus = "glyphicon-plus"; var glyphiconPlayCircle = "glyphicon-play-circle"; var glyphiconPlay = "glyphicon-play"; var glyphiconPlane = "glyphicon-plane"; var glyphiconPiggyBank = "glyphicon-piggy-bank"; var glyphiconPicture = "glyphicon-picture"; var glyphiconPhoneAlt = "glyphicon-phone-alt"; var glyphiconPhone = "glyphicon-phone"; var glyphiconPencil = "glyphicon-pencil"; var glyphiconPawn = "glyphicon-pawn"; var glyphiconPause = "glyphicon-pause"; var glyphiconPaste = "glyphicon-paste"; var glyphiconPaperclip = "glyphicon-paperclip"; var glyphiconOptionVertical = "glyphicon-option-vertical"; var glyphiconOptionHorizontal = "glyphicon-option-horizontal"; var glyphiconOpenFile = "glyphicon-open-file"; var glyphiconOpen = "glyphicon-open"; var glyphiconOkSign = "glyphicon-ok-sign"; var glyphiconOkCircle = "glyphicon-ok-circle"; var glyphiconOk = "glyphicon-ok"; var glyphiconOil = "glyphicon-oil"; var glyphiconOff = "glyphicon-off"; var glyphiconObjectAlignVertical = "glyphicon-object-align-vertical"; var glyphiconObjectAlignTop = "glyphicon-object-align-top"; var glyphiconObjectAlignRight = "glyphicon-object-align-right"; var glyphiconObjectAlignLeft = "glyphicon-object-align-left"; var glyphiconObjectAlignHorizontal = "glyphicon-object-align-horizontal"; var glyphiconObjectAlignBottom = "glyphicon-object-align-bottom"; var glyphiconNewWindow = "glyphicon-new-window"; var glyphiconMusic = "glyphicon-music"; var glyphiconMove = "glyphicon-move"; var glyphiconModalWindow = "glyphicon-modal-window"; var glyphiconMinusSign = "glyphicon-minus-sign"; var glyphiconMinus = "glyphicon-minus"; var glyphiconMenuUp = "glyphicon-menu-up"; var glyphiconMenuRight = "glyphicon-menu-right"; var glyphiconMenuLeft = "glyphicon-menu-left"; var glyphiconMenuHamburger = "glyphicon-menu-hamburger"; var glyphiconMenuDown = "glyphicon-menu-down"; var glyphiconMapMarker = "glyphicon-map-marker"; var glyphiconMagnet = "glyphicon-magnet"; var glyphiconLogOut = "glyphicon-log-out"; var glyphiconLogIn = "glyphicon-log-in"; var glyphiconLock = "glyphicon-lock"; var glyphiconListAlt = "glyphicon-list-alt"; var glyphiconList = "glyphicon-list"; var glyphiconLink = "glyphicon-link"; var glyphiconLevelUp = "glyphicon-level-up"; var glyphiconLeaf = "glyphicon-leaf"; var glyphiconLamp = "glyphicon-lamp"; var glyphiconKnight = "glyphicon-knight"; var glyphiconKing = "glyphicon-king"; var glyphiconItalic = "glyphicon-italic"; var glyphiconInfoSign = "glyphicon-info-sign"; var glyphiconIndentRight = "glyphicon-indent-right"; var glyphiconIndentLeft = "glyphicon-indent-left"; var glyphiconInbox = "glyphicon-inbox"; var glyphiconImport = "glyphicon-import"; var glyphiconIceLollyTasted = "glyphicon-ice-lolly-tasted"; var glyphiconIceLolly = "glyphicon-ice-lolly"; var glyphiconHourglass = "glyphicon-hourglass"; var glyphiconHome = "glyphicon-home"; var glyphiconHeartEmpty = "glyphicon-heart-empty"; var glyphiconHeart = "glyphicon-heart"; var glyphiconHeadphones = "glyphicon-headphones"; var glyphiconHeader = "glyphicon-header"; var glyphiconHdd = "glyphicon-hdd"; var glyphiconHdVideo = "glyphicon-hd-video"; var glyphiconHandUp = "glyphicon-hand-up"; var glyphiconHandRight = "glyphicon-hand-right"; var glyphiconHandLeft = "glyphicon-hand-left"; var glyphiconHandDown = "glyphicon-hand-down"; var glyphiconGrain = "glyphicon-grain"; var glyphiconGlobe = "glyphicon-globe"; var glyphiconGlass = "glyphicon-glass"; var glyphiconGift = "glyphicon-gift"; var glyphiconGbp = "glyphicon-gbp"; var glyphiconFullscreen = "glyphicon-fullscreen"; var glyphiconForward = "glyphicon-forward"; var glyphiconFont = "glyphicon-font"; var glyphiconFolderOpen = "glyphicon-folder-open"; var glyphiconFolderClose = "glyphicon-folder-close"; var glyphiconFloppySaved = "glyphicon-floppy-saved"; var glyphiconFloppySave = "glyphicon-floppy-save"; var glyphiconFloppyRemove = "glyphicon-floppy-remove"; var glyphiconFloppyOpen = "glyphicon-floppy-open"; var glyphiconFloppyDisk = "glyphicon-floppy-disk"; var glyphiconFlash = "glyphicon-flash"; var glyphiconFlag = "glyphicon-flag"; var glyphiconFire = "glyphicon-fire"; var glyphiconFilter = "glyphicon-filter"; var glyphiconFilm = "glyphicon-film"; var glyphiconFile = "glyphicon-file"; var glyphiconFastForward = "glyphicon-fast-forward"; var glyphiconFastBackward = "glyphicon-fast-backward"; var glyphiconFacetimeVideo = "glyphicon-facetime-video"; var glyphiconEyeOpen = "glyphicon-eye-open"; var glyphiconEyeClose = "glyphicon-eye-close"; var glyphiconExport = "glyphicon-export"; var glyphiconExpand = "glyphicon-expand"; var glyphiconExclamationSign = "glyphicon-exclamation-sign"; var glyphiconEuro = "glyphicon-euro"; var glyphiconEur = "glyphicon-eur"; var glyphiconErase = "glyphicon-erase"; var glyphiconEqualizer = "glyphicon-equalizer"; var glyphiconEnvelope = "glyphicon-envelope"; var glyphiconEject = "glyphicon-eject"; var glyphiconEducation = "glyphicon-education"; var glyphiconEdit = "glyphicon-edit"; var glyphiconEarphone = "glyphicon-earphone"; var glyphiconDuplicate = "glyphicon-duplicate"; var glyphiconDownloadAlt = "glyphicon-download-alt"; var glyphiconDownload = "glyphicon-download"; var glyphiconDashboard = "glyphicon-dashboard"; var glyphiconCutlery = "glyphicon-cutlery"; var glyphiconCreditCard = "glyphicon-credit-card"; var glyphiconCopyrightMark = "glyphicon-copyright-mark"; var glyphiconCopy = "glyphicon-copy"; var glyphiconConsole = "glyphicon-console"; var glyphiconCompressed = "glyphicon-compressed"; var glyphiconComment = "glyphicon-comment"; var glyphiconCollapseUp = "glyphicon-collapse-up"; var glyphiconCollapseDown = "glyphicon-collapse-down"; var glyphiconCog = "glyphicon-cog"; var glyphiconCloudUpload = "glyphicon-cloud-upload"; var glyphiconCloudDownload = "glyphicon-cloud-download"; var glyphiconCloud = "glyphicon-cloud"; var glyphiconCircleArrowUp = "glyphicon-circle-arrow-up"; var glyphiconCircleArrowRight = "glyphicon-circle-arrow-right"; var glyphiconCircleArrowLeft = "glyphicon-circle-arrow-left"; var glyphiconCircleArrowDown = "glyphicon-circle-arrow-down"; var glyphiconChevronUp = "glyphicon-chevron-up"; var glyphiconChevronRight = "glyphicon-chevron-right"; var glyphiconChevronLeft = "glyphicon-chevron-left"; var glyphiconChevronDown = "glyphicon-chevron-down"; var glyphiconCheck = "glyphicon-check"; var glyphiconCertificate = "glyphicon-certificate"; var glyphiconCd = "glyphicon-cd"; var glyphiconCamera = "glyphicon-camera"; var glyphiconCalendar = "glyphicon-calendar"; var glyphiconBullhorn = "glyphicon-bullhorn"; var glyphiconBriefcase = "glyphicon-briefcase"; var glyphiconBookmark = "glyphicon-bookmark"; var glyphiconBook = "glyphicon-book"; var glyphiconBold = "glyphicon-bold"; var glyphiconBlackboard = "glyphicon-blackboard"; var glyphiconBitcoin = "glyphicon-bitcoin"; var glyphiconBishop = "glyphicon-bishop"; var glyphiconBell = "glyphicon-bell"; var glyphiconBed = "glyphicon-bed"; var glyphiconBarcode = "glyphicon-barcode"; var glyphiconBanCircle = "glyphicon-ban-circle"; var glyphiconBackward = "glyphicon-backward"; var glyphiconBabyFormula = "glyphicon-baby-formula"; var glyphiconAsterisk = "glyphicon-asterisk"; var glyphiconArrowUp = "glyphicon-arrow-up"; var glyphiconArrowRight = "glyphicon-arrow-right"; var glyphiconArrowLeft = "glyphicon-arrow-left"; var glyphiconArrowDown = "glyphicon-arrow-down"; var glyphiconApple = "glyphicon-apple"; var glyphiconAlignRight = "glyphicon-align-right"; var glyphiconAlignLeft = "glyphicon-align-left"; var glyphiconAlignJustify = "glyphicon-align-justify"; var glyphiconAlignCenter = "glyphicon-align-center"; var glyphiconAlert = "glyphicon-alert"; var glyphiconAdjust = "glyphicon-adjust"; var glyphicon = "glyphicon"; var formInline = "form-inline"; var formHorizontal = "form-horizontal"; var formGroupSm = "form-group-sm"; var formGroupLg = "form-group-lg"; var formGroup = "form-group"; var formControlStatic = "form-control-static"; var formControlFeedback = "form-control-feedback"; var formControl = "form-control"; var focus = "focus"; var fade = "fade"; var eot = "eot"; var embedResponsiveItem = "embed-responsive-item"; var embedResponsive4By3 = "embed-responsive-4by3"; var embedResponsive16By9 = "embed-responsive-16by9"; var embedResponsive = "embed-responsive"; var dropup = "dropup"; var dropdownToggle = "dropdown-toggle"; var dropdownMenuRight = "dropdown-menu-right"; var dropdownMenuLeft = "dropdown-menu-left"; var dropdownMenu = "dropdown-menu"; var dropdownHeader = "dropdown-header"; var dropdownBackdrop = "dropdown-backdrop"; var dropdown = "dropdown"; var dlHorizontal = "dl-horizontal"; var divider = "divider"; var disabled = "disabled"; var danger = "danger"; var controlLabel = "control-label"; var containerFluid = "container-fluid"; var container = "container"; var collapsing = "collapsing"; var collapse = "collapse"; var colXsPush9 = "col-xs-push-9"; var colXsPush8 = "col-xs-push-8"; var colXsPush7 = "col-xs-push-7"; var colXsPush6 = "col-xs-push-6"; var colXsPush5 = "col-xs-push-5"; var colXsPush4 = "col-xs-push-4"; var colXsPush3 = "col-xs-push-3"; var colXsPush2 = "col-xs-push-2"; var colXsPush12 = "col-xs-push-12"; var colXsPush11 = "col-xs-push-11"; var colXsPush10 = "col-xs-push-10"; var colXsPush1 = "col-xs-push-1"; var colXsPush0 = "col-xs-push-0"; var colXsPull9 = "col-xs-pull-9"; var colXsPull8 = "col-xs-pull-8"; var colXsPull7 = "col-xs-pull-7"; var colXsPull6 = "col-xs-pull-6"; var colXsPull5 = "col-xs-pull-5"; var colXsPull4 = "col-xs-pull-4"; var colXsPull3 = "col-xs-pull-3"; var colXsPull2 = "col-xs-pull-2"; var colXsPull12 = "col-xs-pull-12"; var colXsPull11 = "col-xs-pull-11"; var colXsPull10 = "col-xs-pull-10"; var colXsPull1 = "col-xs-pull-1"; var colXsPull0 = "col-xs-pull-0"; var colXsOffset9 = "col-xs-offset-9"; var colXsOffset8 = "col-xs-offset-8"; var colXsOffset7 = "col-xs-offset-7"; var colXsOffset6 = "col-xs-offset-6"; var colXsOffset5 = "col-xs-offset-5"; var colXsOffset4 = "col-xs-offset-4"; var colXsOffset3 = "col-xs-offset-3"; var colXsOffset2 = "col-xs-offset-2"; var colXsOffset12 = "col-xs-offset-12"; var colXsOffset11 = "col-xs-offset-11"; var colXsOffset10 = "col-xs-offset-10"; var colXsOffset1 = "col-xs-offset-1"; var colXsOffset0 = "col-xs-offset-0"; var colXs9 = "col-xs-9"; var colXs8 = "col-xs-8"; var colXs7 = "col-xs-7"; var colXs6 = "col-xs-6"; var colXs5 = "col-xs-5"; var colXs4 = "col-xs-4"; var colXs3 = "col-xs-3"; var colXs2 = "col-xs-2"; var colXs12 = "col-xs-12"; var colXs11 = "col-xs-11"; var colXs10 = "col-xs-10"; var colXs1 = "col-xs-1"; var colSmPush9 = "col-sm-push-9"; var colSmPush8 = "col-sm-push-8"; var colSmPush7 = "col-sm-push-7"; var colSmPush6 = "col-sm-push-6"; var colSmPush5 = "col-sm-push-5"; var colSmPush4 = "col-sm-push-4"; var colSmPush3 = "col-sm-push-3"; var colSmPush2 = "col-sm-push-2"; var colSmPush12 = "col-sm-push-12"; var colSmPush11 = "col-sm-push-11"; var colSmPush10 = "col-sm-push-10"; var colSmPush1 = "col-sm-push-1"; var colSmPush0 = "col-sm-push-0"; var colSmPull9 = "col-sm-pull-9"; var colSmPull8 = "col-sm-pull-8"; var colSmPull7 = "col-sm-pull-7"; var colSmPull6 = "col-sm-pull-6"; var colSmPull5 = "col-sm-pull-5"; var colSmPull4 = "col-sm-pull-4"; var colSmPull3 = "col-sm-pull-3"; var colSmPull2 = "col-sm-pull-2"; var colSmPull12 = "col-sm-pull-12"; var colSmPull11 = "col-sm-pull-11"; var colSmPull10 = "col-sm-pull-10"; var colSmPull1 = "col-sm-pull-1"; var colSmPull0 = "col-sm-pull-0"; var colSmOffset9 = "col-sm-offset-9"; var colSmOffset8 = "col-sm-offset-8"; var colSmOffset7 = "col-sm-offset-7"; var colSmOffset6 = "col-sm-offset-6"; var colSmOffset5 = "col-sm-offset-5"; var colSmOffset4 = "col-sm-offset-4"; var colSmOffset3 = "col-sm-offset-3"; var colSmOffset2 = "col-sm-offset-2"; var colSmOffset12 = "col-sm-offset-12"; var colSmOffset11 = "col-sm-offset-11"; var colSmOffset10 = "col-sm-offset-10"; var colSmOffset1 = "col-sm-offset-1"; var colSmOffset0 = "col-sm-offset-0"; var colSm9 = "col-sm-9"; var colSm8 = "col-sm-8"; var colSm7 = "col-sm-7"; var colSm6 = "col-sm-6"; var colSm5 = "col-sm-5"; var colSm4 = "col-sm-4"; var colSm3 = "col-sm-3"; var colSm2 = "col-sm-2"; var colSm12 = "col-sm-12"; var colSm11 = "col-sm-11"; var colSm10 = "col-sm-10"; var colSm1 = "col-sm-1"; var colMdPush9 = "col-md-push-9"; var colMdPush8 = "col-md-push-8"; var colMdPush7 = "col-md-push-7"; var colMdPush6 = "col-md-push-6"; var colMdPush5 = "col-md-push-5"; var colMdPush4 = "col-md-push-4"; var colMdPush3 = "col-md-push-3"; var colMdPush2 = "col-md-push-2"; var colMdPush12 = "col-md-push-12"; var colMdPush11 = "col-md-push-11"; var colMdPush10 = "col-md-push-10"; var colMdPush1 = "col-md-push-1"; var colMdPush0 = "col-md-push-0"; var colMdPull9 = "col-md-pull-9"; var colMdPull8 = "col-md-pull-8"; var colMdPull7 = "col-md-pull-7"; var colMdPull6 = "col-md-pull-6"; var colMdPull5 = "col-md-pull-5"; var colMdPull4 = "col-md-pull-4"; var colMdPull3 = "col-md-pull-3"; var colMdPull2 = "col-md-pull-2"; var colMdPull12 = "col-md-pull-12"; var colMdPull11 = "col-md-pull-11"; var colMdPull10 = "col-md-pull-10"; var colMdPull1 = "col-md-pull-1"; var colMdPull0 = "col-md-pull-0"; var colMdOffset9 = "col-md-offset-9"; var colMdOffset8 = "col-md-offset-8"; var colMdOffset7 = "col-md-offset-7"; var colMdOffset6 = "col-md-offset-6"; var colMdOffset5 = "col-md-offset-5"; var colMdOffset4 = "col-md-offset-4"; var colMdOffset3 = "col-md-offset-3"; var colMdOffset2 = "col-md-offset-2"; var colMdOffset12 = "col-md-offset-12"; var colMdOffset11 = "col-md-offset-11"; var colMdOffset10 = "col-md-offset-10"; var colMdOffset1 = "col-md-offset-1"; var colMdOffset0 = "col-md-offset-0"; var colMd9 = "col-md-9"; var colMd8 = "col-md-8"; var colMd7 = "col-md-7"; var colMd6 = "col-md-6"; var colMd5 = "col-md-5"; var colMd4 = "col-md-4"; var colMd3 = "col-md-3"; var colMd2 = "col-md-2"; var colMd12 = "col-md-12"; var colMd11 = "col-md-11"; var colMd10 = "col-md-10"; var colMd1 = "col-md-1"; var colLgPush9 = "col-lg-push-9"; var colLgPush8 = "col-lg-push-8"; var colLgPush7 = "col-lg-push-7"; var colLgPush6 = "col-lg-push-6"; var colLgPush5 = "col-lg-push-5"; var colLgPush4 = "col-lg-push-4"; var colLgPush3 = "col-lg-push-3"; var colLgPush2 = "col-lg-push-2"; var colLgPush12 = "col-lg-push-12"; var colLgPush11 = "col-lg-push-11"; var colLgPush10 = "col-lg-push-10"; var colLgPush1 = "col-lg-push-1"; var colLgPush0 = "col-lg-push-0"; var colLgPull9 = "col-lg-pull-9"; var colLgPull8 = "col-lg-pull-8"; var colLgPull7 = "col-lg-pull-7"; var colLgPull6 = "col-lg-pull-6"; var colLgPull5 = "col-lg-pull-5"; var colLgPull4 = "col-lg-pull-4"; var colLgPull3 = "col-lg-pull-3"; var colLgPull2 = "col-lg-pull-2"; var colLgPull12 = "col-lg-pull-12"; var colLgPull11 = "col-lg-pull-11"; var colLgPull10 = "col-lg-pull-10"; var colLgPull1 = "col-lg-pull-1"; var colLgPull0 = "col-lg-pull-0"; var colLgOffset9 = "col-lg-offset-9"; var colLgOffset8 = "col-lg-offset-8"; var colLgOffset7 = "col-lg-offset-7"; var colLgOffset6 = "col-lg-offset-6"; var colLgOffset5 = "col-lg-offset-5"; var colLgOffset4 = "col-lg-offset-4"; var colLgOffset3 = "col-lg-offset-3"; var colLgOffset2 = "col-lg-offset-2"; var colLgOffset12 = "col-lg-offset-12"; var colLgOffset11 = "col-lg-offset-11"; var colLgOffset10 = "col-lg-offset-10"; var colLgOffset1 = "col-lg-offset-1"; var colLgOffset0 = "col-lg-offset-0"; var colLg9 = "col-lg-9"; var colLg8 = "col-lg-8"; var colLg7 = "col-lg-7"; var colLg6 = "col-lg-6"; var colLg5 = "col-lg-5"; var colLg4 = "col-lg-4"; var colLg3 = "col-lg-3"; var colLg2 = "col-lg-2"; var colLg12 = "col-lg-12"; var colLg11 = "col-lg-11"; var colLg10 = "col-lg-10"; var colLg1 = "col-lg-1"; var close = "close"; var clearfix = "clearfix"; var checkboxInline = "checkbox-inline"; var checkbox = "checkbox"; var centerBlock = "center-block"; var carouselInner = "carousel-inner"; var carouselIndicators = "carousel-indicators"; var carouselControl = "carousel-control"; var carouselCaption = "carousel-caption"; var carousel = "carousel"; var caret = "caret"; var caption = "caption"; var btnXs = "btn-xs"; var btnWarning = "btn-warning"; var btnToolbar = "btn-toolbar"; var btnSuccess = "btn-success"; var btnSm = "btn-sm"; var btnPrimary = "btn-primary"; var btnLink = "btn-link"; var btnLg = "btn-lg"; var btnInfo = "btn-info"; var btnGroupXs = "btn-group-xs"; var btnGroupVertical = "btn-group-vertical"; var btnGroupSm = "btn-group-sm"; var btnGroupLg = "btn-group-lg"; var btnGroupJustified = "btn-group-justified"; var btnGroup = "btn-group"; var btnDefault = "btn-default"; var btnDanger = "btn-danger"; var btnBlock = "btn-block"; var btn = "btn"; var breadcrumb = "breadcrumb"; var bottomRight = "bottom-right"; var bottomLeft = "bottom-left"; var bottom = "bottom"; var blockquoteReverse = "blockquote-reverse"; var bgWarning = "bg-warning"; var bgSuccess = "bg-success"; var bgPrimary = "bg-primary"; var bgInfo = "bg-info"; var bgDanger = "bg-danger"; var badge = "badge"; var arrow = "arrow"; var alertWarning = "alert-warning"; var alertSuccess = "alert-success"; var alertLink = "alert-link"; var alertInfo = "alert-info"; var alertDismissible = "alert-dismissible"; var alertDismissable = "alert-dismissable"; var alertDanger = "alert-danger"; var alert = "alert"; var affix = "affix"; var active = "active"; exports["active"] = active; exports["affix"] = affix; exports["alert"] = alert; exports["alertDanger"] = alertDanger; exports["alertDismissable"] = alertDismissable; exports["alertDismissible"] = alertDismissible; exports["alertInfo"] = alertInfo; exports["alertLink"] = alertLink; exports["alertSuccess"] = alertSuccess; exports["alertWarning"] = alertWarning; exports["arrow"] = arrow; exports["badge"] = badge; exports["bgDanger"] = bgDanger; exports["bgInfo"] = bgInfo; exports["bgPrimary"] = bgPrimary; exports["bgSuccess"] = bgSuccess; exports["bgWarning"] = bgWarning; exports["blockquoteReverse"] = blockquoteReverse; exports["bottom"] = bottom; exports["bottomLeft"] = bottomLeft; exports["bottomRight"] = bottomRight; exports["breadcrumb"] = breadcrumb; exports["btn"] = btn; exports["btnBlock"] = btnBlock; exports["btnDanger"] = btnDanger; exports["btnDefault"] = btnDefault; exports["btnGroup"] = btnGroup; exports["btnGroupJustified"] = btnGroupJustified; exports["btnGroupLg"] = btnGroupLg; exports["btnGroupSm"] = btnGroupSm; exports["btnGroupVertical"] = btnGroupVertical; exports["btnGroupXs"] = btnGroupXs; exports["btnInfo"] = btnInfo; exports["btnLg"] = btnLg; exports["btnLink"] = btnLink; exports["btnPrimary"] = btnPrimary; exports["btnSm"] = btnSm; exports["btnSuccess"] = btnSuccess; exports["btnToolbar"] = btnToolbar; exports["btnWarning"] = btnWarning; exports["btnXs"] = btnXs; exports["caption"] = caption; exports["caret"] = caret; exports["carousel"] = carousel; exports["carouselCaption"] = carouselCaption; exports["carouselControl"] = carouselControl; exports["carouselIndicators"] = carouselIndicators; exports["carouselInner"] = carouselInner; exports["centerBlock"] = centerBlock; exports["checkbox"] = checkbox; exports["checkboxInline"] = checkboxInline; exports["clearfix"] = clearfix; exports["close"] = close; exports["colLg1"] = colLg1; exports["colLg10"] = colLg10; exports["colLg11"] = colLg11; exports["colLg12"] = colLg12; exports["colLg2"] = colLg2; exports["colLg3"] = colLg3; exports["colLg4"] = colLg4; exports["colLg5"] = colLg5; exports["colLg6"] = colLg6; exports["colLg7"] = colLg7; exports["colLg8"] = colLg8; exports["colLg9"] = colLg9; exports["colLgOffset0"] = colLgOffset0; exports["colLgOffset1"] = colLgOffset1; exports["colLgOffset10"] = colLgOffset10; exports["colLgOffset11"] = colLgOffset11; exports["colLgOffset12"] = colLgOffset12; exports["colLgOffset2"] = colLgOffset2; exports["colLgOffset3"] = colLgOffset3; exports["colLgOffset4"] = colLgOffset4; exports["colLgOffset5"] = colLgOffset5; exports["colLgOffset6"] = colLgOffset6; exports["colLgOffset7"] = colLgOffset7; exports["colLgOffset8"] = colLgOffset8; exports["colLgOffset9"] = colLgOffset9; exports["colLgPull0"] = colLgPull0; exports["colLgPull1"] = colLgPull1; exports["colLgPull10"] = colLgPull10; exports["colLgPull11"] = colLgPull11; exports["colLgPull12"] = colLgPull12; exports["colLgPull2"] = colLgPull2; exports["colLgPull3"] = colLgPull3; exports["colLgPull4"] = colLgPull4; exports["colLgPull5"] = colLgPull5; exports["colLgPull6"] = colLgPull6; exports["colLgPull7"] = colLgPull7; exports["colLgPull8"] = colLgPull8; exports["colLgPull9"] = colLgPull9; exports["colLgPush0"] = colLgPush0; exports["colLgPush1"] = colLgPush1; exports["colLgPush10"] = colLgPush10; exports["colLgPush11"] = colLgPush11; exports["colLgPush12"] = colLgPush12; exports["colLgPush2"] = colLgPush2; exports["colLgPush3"] = colLgPush3; exports["colLgPush4"] = colLgPush4; exports["colLgPush5"] = colLgPush5; exports["colLgPush6"] = colLgPush6; exports["colLgPush7"] = colLgPush7; exports["colLgPush8"] = colLgPush8; exports["colLgPush9"] = colLgPush9; exports["colMd1"] = colMd1; exports["colMd10"] = colMd10; exports["colMd11"] = colMd11; exports["colMd12"] = colMd12; exports["colMd2"] = colMd2; exports["colMd3"] = colMd3; exports["colMd4"] = colMd4; exports["colMd5"] = colMd5; exports["colMd6"] = colMd6; exports["colMd7"] = colMd7; exports["colMd8"] = colMd8; exports["colMd9"] = colMd9; exports["colMdOffset0"] = colMdOffset0; exports["colMdOffset1"] = colMdOffset1; exports["colMdOffset10"] = colMdOffset10; exports["colMdOffset11"] = colMdOffset11; exports["colMdOffset12"] = colMdOffset12; exports["colMdOffset2"] = colMdOffset2; exports["colMdOffset3"] = colMdOffset3; exports["colMdOffset4"] = colMdOffset4; exports["colMdOffset5"] = colMdOffset5; exports["colMdOffset6"] = colMdOffset6; exports["colMdOffset7"] = colMdOffset7; exports["colMdOffset8"] = colMdOffset8; exports["colMdOffset9"] = colMdOffset9; exports["colMdPull0"] = colMdPull0; exports["colMdPull1"] = colMdPull1; exports["colMdPull10"] = colMdPull10; exports["colMdPull11"] = colMdPull11; exports["colMdPull12"] = colMdPull12; exports["colMdPull2"] = colMdPull2; exports["colMdPull3"] = colMdPull3; exports["colMdPull4"] = colMdPull4; exports["colMdPull5"] = colMdPull5; exports["colMdPull6"] = colMdPull6; exports["colMdPull7"] = colMdPull7; exports["colMdPull8"] = colMdPull8; exports["colMdPull9"] = colMdPull9; exports["colMdPush0"] = colMdPush0; exports["colMdPush1"] = colMdPush1; exports["colMdPush10"] = colMdPush10; exports["colMdPush11"] = colMdPush11; exports["colMdPush12"] = colMdPush12; exports["colMdPush2"] = colMdPush2; exports["colMdPush3"] = colMdPush3; exports["colMdPush4"] = colMdPush4; exports["colMdPush5"] = colMdPush5; exports["colMdPush6"] = colMdPush6; exports["colMdPush7"] = colMdPush7; exports["colMdPush8"] = colMdPush8; exports["colMdPush9"] = colMdPush9; exports["colSm1"] = colSm1; exports["colSm10"] = colSm10; exports["colSm11"] = colSm11; exports["colSm12"] = colSm12; exports["colSm2"] = colSm2; exports["colSm3"] = colSm3; exports["colSm4"] = colSm4; exports["colSm5"] = colSm5; exports["colSm6"] = colSm6; exports["colSm7"] = colSm7; exports["colSm8"] = colSm8; exports["colSm9"] = colSm9; exports["colSmOffset0"] = colSmOffset0; exports["colSmOffset1"] = colSmOffset1; exports["colSmOffset10"] = colSmOffset10; exports["colSmOffset11"] = colSmOffset11; exports["colSmOffset12"] = colSmOffset12; exports["colSmOffset2"] = colSmOffset2; exports["colSmOffset3"] = colSmOffset3; exports["colSmOffset4"] = colSmOffset4; exports["colSmOffset5"] = colSmOffset5; exports["colSmOffset6"] = colSmOffset6; exports["colSmOffset7"] = colSmOffset7; exports["colSmOffset8"] = colSmOffset8; exports["colSmOffset9"] = colSmOffset9; exports["colSmPull0"] = colSmPull0; exports["colSmPull1"] = colSmPull1; exports["colSmPull10"] = colSmPull10; exports["colSmPull11"] = colSmPull11; exports["colSmPull12"] = colSmPull12; exports["colSmPull2"] = colSmPull2; exports["colSmPull3"] = colSmPull3; exports["colSmPull4"] = colSmPull4; exports["colSmPull5"] = colSmPull5; exports["colSmPull6"] = colSmPull6; exports["colSmPull7"] = colSmPull7; exports["colSmPull8"] = colSmPull8; exports["colSmPull9"] = colSmPull9; exports["colSmPush0"] = colSmPush0; exports["colSmPush1"] = colSmPush1; exports["colSmPush10"] = colSmPush10; exports["colSmPush11"] = colSmPush11; exports["colSmPush12"] = colSmPush12; exports["colSmPush2"] = colSmPush2; exports["colSmPush3"] = colSmPush3; exports["colSmPush4"] = colSmPush4; exports["colSmPush5"] = colSmPush5; exports["colSmPush6"] = colSmPush6; exports["colSmPush7"] = colSmPush7; exports["colSmPush8"] = colSmPush8; exports["colSmPush9"] = colSmPush9; exports["colXs1"] = colXs1; exports["colXs10"] = colXs10; exports["colXs11"] = colXs11; exports["colXs12"] = colXs12; exports["colXs2"] = colXs2; exports["colXs3"] = colXs3; exports["colXs4"] = colXs4; exports["colXs5"] = colXs5; exports["colXs6"] = colXs6; exports["colXs7"] = colXs7; exports["colXs8"] = colXs8; exports["colXs9"] = colXs9; exports["colXsOffset0"] = colXsOffset0; exports["colXsOffset1"] = colXsOffset1; exports["colXsOffset10"] = colXsOffset10; exports["colXsOffset11"] = colXsOffset11; exports["colXsOffset12"] = colXsOffset12; exports["colXsOffset2"] = colXsOffset2; exports["colXsOffset3"] = colXsOffset3; exports["colXsOffset4"] = colXsOffset4; exports["colXsOffset5"] = colXsOffset5; exports["colXsOffset6"] = colXsOffset6; exports["colXsOffset7"] = colXsOffset7; exports["colXsOffset8"] = colXsOffset8; exports["colXsOffset9"] = colXsOffset9; exports["colXsPull0"] = colXsPull0; exports["colXsPull1"] = colXsPull1; exports["colXsPull10"] = colXsPull10; exports["colXsPull11"] = colXsPull11; exports["colXsPull12"] = colXsPull12; exports["colXsPull2"] = colXsPull2; exports["colXsPull3"] = colXsPull3; exports["colXsPull4"] = colXsPull4; exports["colXsPull5"] = colXsPull5; exports["colXsPull6"] = colXsPull6; exports["colXsPull7"] = colXsPull7; exports["colXsPull8"] = colXsPull8; exports["colXsPull9"] = colXsPull9; exports["colXsPush0"] = colXsPush0; exports["colXsPush1"] = colXsPush1; exports["colXsPush10"] = colXsPush10; exports["colXsPush11"] = colXsPush11; exports["colXsPush12"] = colXsPush12; exports["colXsPush2"] = colXsPush2; exports["colXsPush3"] = colXsPush3; exports["colXsPush4"] = colXsPush4; exports["colXsPush5"] = colXsPush5; exports["colXsPush6"] = colXsPush6; exports["colXsPush7"] = colXsPush7; exports["colXsPush8"] = colXsPush8; exports["colXsPush9"] = colXsPush9; exports["collapse"] = collapse; exports["collapsing"] = collapsing; exports["container"] = container; exports["containerFluid"] = containerFluid; exports["controlLabel"] = controlLabel; exports["danger"] = danger; exports["disabled"] = disabled; exports["divider"] = divider; exports["dlHorizontal"] = dlHorizontal; exports["dropdown"] = dropdown; exports["dropdownBackdrop"] = dropdownBackdrop; exports["dropdownHeader"] = dropdownHeader; exports["dropdownMenu"] = dropdownMenu; exports["dropdownMenuLeft"] = dropdownMenuLeft; exports["dropdownMenuRight"] = dropdownMenuRight; exports["dropdownToggle"] = dropdownToggle; exports["dropup"] = dropup; exports["embedResponsive"] = embedResponsive; exports["embedResponsive16By9"] = embedResponsive16By9; exports["embedResponsive4By3"] = embedResponsive4By3; exports["embedResponsiveItem"] = embedResponsiveItem; exports["eot"] = eot; exports["fade"] = fade; exports["focus"] = focus; exports["formControl"] = formControl; exports["formControlFeedback"] = formControlFeedback; exports["formControlStatic"] = formControlStatic; exports["formGroup"] = formGroup; exports["formGroupLg"] = formGroupLg; exports["formGroupSm"] = formGroupSm; exports["formHorizontal"] = formHorizontal; exports["formInline"] = formInline; exports["glyphicon"] = glyphicon; exports["glyphiconAdjust"] = glyphiconAdjust; exports["glyphiconAlert"] = glyphiconAlert; exports["glyphiconAlignCenter"] = glyphiconAlignCenter; exports["glyphiconAlignJustify"] = glyphiconAlignJustify; exports["glyphiconAlignLeft"] = glyphiconAlignLeft; exports["glyphiconAlignRight"] = glyphiconAlignRight; exports["glyphiconApple"] = glyphiconApple; exports["glyphiconArrowDown"] = glyphiconArrowDown; exports["glyphiconArrowLeft"] = glyphiconArrowLeft; exports["glyphiconArrowRight"] = glyphiconArrowRight; exports["glyphiconArrowUp"] = glyphiconArrowUp; exports["glyphiconAsterisk"] = glyphiconAsterisk; exports["glyphiconBabyFormula"] = glyphiconBabyFormula; exports["glyphiconBackward"] = glyphiconBackward; exports["glyphiconBanCircle"] = glyphiconBanCircle; exports["glyphiconBarcode"] = glyphiconBarcode; exports["glyphiconBed"] = glyphiconBed; exports["glyphiconBell"] = glyphiconBell; exports["glyphiconBishop"] = glyphiconBishop; exports["glyphiconBitcoin"] = glyphiconBitcoin; exports["glyphiconBlackboard"] = glyphiconBlackboard; exports["glyphiconBold"] = glyphiconBold; exports["glyphiconBook"] = glyphiconBook; exports["glyphiconBookmark"] = glyphiconBookmark; exports["glyphiconBriefcase"] = glyphiconBriefcase; exports["glyphiconBullhorn"] = glyphiconBullhorn; exports["glyphiconCalendar"] = glyphiconCalendar; exports["glyphiconCamera"] = glyphiconCamera; exports["glyphiconCd"] = glyphiconCd; exports["glyphiconCertificate"] = glyphiconCertificate; exports["glyphiconCheck"] = glyphiconCheck; exports["glyphiconChevronDown"] = glyphiconChevronDown; exports["glyphiconChevronLeft"] = glyphiconChevronLeft; exports["glyphiconChevronRight"] = glyphiconChevronRight; exports["glyphiconChevronUp"] = glyphiconChevronUp; exports["glyphiconCircleArrowDown"] = glyphiconCircleArrowDown; exports["glyphiconCircleArrowLeft"] = glyphiconCircleArrowLeft; exports["glyphiconCircleArrowRight"] = glyphiconCircleArrowRight; exports["glyphiconCircleArrowUp"] = glyphiconCircleArrowUp; exports["glyphiconCloud"] = glyphiconCloud; exports["glyphiconCloudDownload"] = glyphiconCloudDownload; exports["glyphiconCloudUpload"] = glyphiconCloudUpload; exports["glyphiconCog"] = glyphiconCog; exports["glyphiconCollapseDown"] = glyphiconCollapseDown; exports["glyphiconCollapseUp"] = glyphiconCollapseUp; exports["glyphiconComment"] = glyphiconComment; exports["glyphiconCompressed"] = glyphiconCompressed; exports["glyphiconConsole"] = glyphiconConsole; exports["glyphiconCopy"] = glyphiconCopy; exports["glyphiconCopyrightMark"] = glyphiconCopyrightMark; exports["glyphiconCreditCard"] = glyphiconCreditCard; exports["glyphiconCutlery"] = glyphiconCutlery; exports["glyphiconDashboard"] = glyphiconDashboard; exports["glyphiconDownload"] = glyphiconDownload; exports["glyphiconDownloadAlt"] = glyphiconDownloadAlt; exports["glyphiconDuplicate"] = glyphiconDuplicate; exports["glyphiconEarphone"] = glyphiconEarphone; exports["glyphiconEdit"] = glyphiconEdit; exports["glyphiconEducation"] = glyphiconEducation; exports["glyphiconEject"] = glyphiconEject; exports["glyphiconEnvelope"] = glyphiconEnvelope; exports["glyphiconEqualizer"] = glyphiconEqualizer; exports["glyphiconErase"] = glyphiconErase; exports["glyphiconEur"] = glyphiconEur; exports["glyphiconEuro"] = glyphiconEuro; exports["glyphiconExclamationSign"] = glyphiconExclamationSign; exports["glyphiconExpand"] = glyphiconExpand; exports["glyphiconExport"] = glyphiconExport; exports["glyphiconEyeClose"] = glyphiconEyeClose; exports["glyphiconEyeOpen"] = glyphiconEyeOpen; exports["glyphiconFacetimeVideo"] = glyphiconFacetimeVideo; exports["glyphiconFastBackward"] = glyphiconFastBackward; exports["glyphiconFastForward"] = glyphiconFastForward; exports["glyphiconFile"] = glyphiconFile; exports["glyphiconFilm"] = glyphiconFilm; exports["glyphiconFilter"] = glyphiconFilter; exports["glyphiconFire"] = glyphiconFire; exports["glyphiconFlag"] = glyphiconFlag; exports["glyphiconFlash"] = glyphiconFlash; exports["glyphiconFloppyDisk"] = glyphiconFloppyDisk; exports["glyphiconFloppyOpen"] = glyphiconFloppyOpen; exports["glyphiconFloppyRemove"] = glyphiconFloppyRemove; exports["glyphiconFloppySave"] = glyphiconFloppySave; exports["glyphiconFloppySaved"] = glyphiconFloppySaved; exports["glyphiconFolderClose"] = glyphiconFolderClose; exports["glyphiconFolderOpen"] = glyphiconFolderOpen; exports["glyphiconFont"] = glyphiconFont; exports["glyphiconForward"] = glyphiconForward; exports["glyphiconFullscreen"] = glyphiconFullscreen; exports["glyphiconGbp"] = glyphiconGbp; exports["glyphiconGift"] = glyphiconGift; exports["glyphiconGlass"] = glyphiconGlass; exports["glyphiconGlobe"] = glyphiconGlobe; exports["glyphiconGrain"] = glyphiconGrain; exports["glyphiconHandDown"] = glyphiconHandDown; exports["glyphiconHandLeft"] = glyphiconHandLeft; exports["glyphiconHandRight"] = glyphiconHandRight; exports["glyphiconHandUp"] = glyphiconHandUp; exports["glyphiconHdVideo"] = glyphiconHdVideo; exports["glyphiconHdd"] = glyphiconHdd; exports["glyphiconHeader"] = glyphiconHeader; exports["glyphiconHeadphones"] = glyphiconHeadphones; exports["glyphiconHeart"] = glyphiconHeart; exports["glyphiconHeartEmpty"] = glyphiconHeartEmpty; exports["glyphiconHome"] = glyphiconHome; exports["glyphiconHourglass"] = glyphiconHourglass; exports["glyphiconIceLolly"] = glyphiconIceLolly; exports["glyphiconIceLollyTasted"] = glyphiconIceLollyTasted; exports["glyphiconImport"] = glyphiconImport; exports["glyphiconInbox"] = glyphiconInbox; exports["glyphiconIndentLeft"] = glyphiconIndentLeft; exports["glyphiconIndentRight"] = glyphiconIndentRight; exports["glyphiconInfoSign"] = glyphiconInfoSign; exports["glyphiconItalic"] = glyphiconItalic; exports["glyphiconKing"] = glyphiconKing; exports["glyphiconKnight"] = glyphiconKnight; exports["glyphiconLamp"] = glyphiconLamp; exports["glyphiconLeaf"] = glyphiconLeaf; exports["glyphiconLevelUp"] = glyphiconLevelUp; exports["glyphiconLink"] = glyphiconLink; exports["glyphiconList"] = glyphiconList; exports["glyphiconListAlt"] = glyphiconListAlt; exports["glyphiconLock"] = glyphiconLock; exports["glyphiconLogIn"] = glyphiconLogIn; exports["glyphiconLogOut"] = glyphiconLogOut; exports["glyphiconMagnet"] = glyphiconMagnet; exports["glyphiconMapMarker"] = glyphiconMapMarker; exports["glyphiconMenuDown"] = glyphiconMenuDown; exports["glyphiconMenuHamburger"] = glyphiconMenuHamburger; exports["glyphiconMenuLeft"] = glyphiconMenuLeft; exports["glyphiconMenuRight"] = glyphiconMenuRight; exports["glyphiconMenuUp"] = glyphiconMenuUp; exports["glyphiconMinus"] = glyphiconMinus; exports["glyphiconMinusSign"] = glyphiconMinusSign; exports["glyphiconModalWindow"] = glyphiconModalWindow; exports["glyphiconMove"] = glyphiconMove; exports["glyphiconMusic"] = glyphiconMusic; exports["glyphiconNewWindow"] = glyphiconNewWindow; exports["glyphiconObjectAlignBottom"] = glyphiconObjectAlignBottom; exports["glyphiconObjectAlignHorizontal"] = glyphiconObjectAlignHorizontal; exports["glyphiconObjectAlignLeft"] = glyphiconObjectAlignLeft; exports["glyphiconObjectAlignRight"] = glyphiconObjectAlignRight; exports["glyphiconObjectAlignTop"] = glyphiconObjectAlignTop; exports["glyphiconObjectAlignVertical"] = glyphiconObjectAlignVertical; exports["glyphiconOff"] = glyphiconOff; exports["glyphiconOil"] = glyphiconOil; exports["glyphiconOk"] = glyphiconOk; exports["glyphiconOkCircle"] = glyphiconOkCircle; exports["glyphiconOkSign"] = glyphiconOkSign; exports["glyphiconOpen"] = glyphiconOpen; exports["glyphiconOpenFile"] = glyphiconOpenFile; exports["glyphiconOptionHorizontal"] = glyphiconOptionHorizontal; exports["glyphiconOptionVertical"] = glyphiconOptionVertical; exports["glyphiconPaperclip"] = glyphiconPaperclip; exports["glyphiconPaste"] = glyphiconPaste; exports["glyphiconPause"] = glyphiconPause; exports["glyphiconPawn"] = glyphiconPawn; exports["glyphiconPencil"] = glyphiconPencil; exports["glyphiconPhone"] = glyphiconPhone; exports["glyphiconPhoneAlt"] = glyphiconPhoneAlt; exports["glyphiconPicture"] = glyphiconPicture; exports["glyphiconPiggyBank"] = glyphiconPiggyBank; exports["glyphiconPlane"] = glyphiconPlane; exports["glyphiconPlay"] = glyphiconPlay; exports["glyphiconPlayCircle"] = glyphiconPlayCircle; exports["glyphiconPlus"] = glyphiconPlus; exports["glyphiconPlusSign"] = glyphiconPlusSign; exports["glyphiconPrint"] = glyphiconPrint; exports["glyphiconPushpin"] = glyphiconPushpin; exports["glyphiconQrcode"] = glyphiconQrcode; exports["glyphiconQueen"] = glyphiconQueen; exports["glyphiconQuestionSign"] = glyphiconQuestionSign; exports["glyphiconRandom"] = glyphiconRandom; exports["glyphiconRecord"] = glyphiconRecord; exports["glyphiconRefresh"] = glyphiconRefresh; exports["glyphiconRegistrationMark"] = glyphiconRegistrationMark; exports["glyphiconRemove"] = glyphiconRemove; exports["glyphiconRemoveCircle"] = glyphiconRemoveCircle; exports["glyphiconRemoveSign"] = glyphiconRemoveSign; exports["glyphiconRepeat"] = glyphiconRepeat; exports["glyphiconResizeFull"] = glyphiconResizeFull; exports["glyphiconResizeHorizontal"] = glyphiconResizeHorizontal; exports["glyphiconResizeSmall"] = glyphiconResizeSmall; exports["glyphiconResizeVertical"] = glyphiconResizeVertical; exports["glyphiconRetweet"] = glyphiconRetweet; exports["glyphiconRoad"] = glyphiconRoad; exports["glyphiconRuble"] = glyphiconRuble; exports["glyphiconSave"] = glyphiconSave; exports["glyphiconSaveFile"] = glyphiconSaveFile; exports["glyphiconSaved"] = glyphiconSaved; exports["glyphiconScale"] = glyphiconScale; exports["glyphiconScissors"] = glyphiconScissors; exports["glyphiconScreenshot"] = glyphiconScreenshot; exports["glyphiconSdVideo"] = glyphiconSdVideo; exports["glyphiconSearch"] = glyphiconSearch; exports["glyphiconSend"] = glyphiconSend; exports["glyphiconShare"] = glyphiconShare; exports["glyphiconShareAlt"] = glyphiconShareAlt; exports["glyphiconShoppingCart"] = glyphiconShoppingCart; exports["glyphiconSignal"] = glyphiconSignal; exports["glyphiconSort"] = glyphiconSort; exports["glyphiconSortByAlphabet"] = glyphiconSortByAlphabet; exports["glyphiconSortByAlphabetAlt"] = glyphiconSortByAlphabetAlt; exports["glyphiconSortByAttributes"] = glyphiconSortByAttributes; exports["glyphiconSortByAttributesAlt"] = glyphiconSortByAttributesAlt; exports["glyphiconSortByOrder"] = glyphiconSortByOrder; exports["glyphiconSortByOrderAlt"] = glyphiconSortByOrderAlt; exports["glyphiconSound5_1"] = glyphiconSound5_1; exports["glyphiconSound6_1"] = glyphiconSound6_1; exports["glyphiconSound7_1"] = glyphiconSound7_1; exports["glyphiconSoundDolby"] = glyphiconSoundDolby; exports["glyphiconSoundStereo"] = glyphiconSoundStereo; exports["glyphiconStar"] = glyphiconStar; exports["glyphiconStarEmpty"] = glyphiconStarEmpty; exports["glyphiconStats"] = glyphiconStats; exports["glyphiconStepBackward"] = glyphiconStepBackward; exports["glyphiconStepForward"] = glyphiconStepForward; exports["glyphiconStop"] = glyphiconStop; exports["glyphiconSubscript"] = glyphiconSubscript; exports["glyphiconSubtitles"] = glyphiconSubtitles; exports["glyphiconSunglasses"] = glyphiconSunglasses; exports["glyphiconSuperscript"] = glyphiconSuperscript; exports["glyphiconTag"] = glyphiconTag; exports["glyphiconTags"] = glyphiconTags; exports["glyphiconTasks"] = glyphiconTasks; exports["glyphiconTent"] = glyphiconTent; exports["glyphiconTextBackground"] = glyphiconTextBackground; exports["glyphiconTextColor"] = glyphiconTextColor; exports["glyphiconTextHeight"] = glyphiconTextHeight; exports["glyphiconTextSize"] = glyphiconTextSize; exports["glyphiconTextWidth"] = glyphiconTextWidth; exports["glyphiconTh"] = glyphiconTh; exports["glyphiconThLarge"] = glyphiconThLarge; exports["glyphiconThList"] = glyphiconThList; exports["glyphiconThumbsDown"] = glyphiconThumbsDown; exports["glyphiconThumbsUp"] = glyphiconThumbsUp; exports["glyphiconTime"] = glyphiconTime; exports["glyphiconTint"] = glyphiconTint; exports["glyphiconTower"] = glyphiconTower; exports["glyphiconTransfer"] = glyphiconTransfer; exports["glyphiconTrash"] = glyphiconTrash; exports["glyphiconTreeConifer"] = glyphiconTreeConifer; exports["glyphiconTreeDeciduous"] = glyphiconTreeDeciduous; exports["glyphiconTriangleBottom"] = glyphiconTriangleBottom; exports["glyphiconTriangleLeft"] = glyphiconTriangleLeft; exports["glyphiconTriangleRight"] = glyphiconTriangleRight; exports["glyphiconTriangleTop"] = glyphiconTriangleTop; exports["glyphiconUnchecked"] = glyphiconUnchecked; exports["glyphiconUpload"] = glyphiconUpload; exports["glyphiconUsd"] = glyphiconUsd; exports["glyphiconUser"] = glyphiconUser; exports["glyphiconVolumeDown"] = glyphiconVolumeDown; exports["glyphiconVolumeOff"] = glyphiconVolumeOff; exports["glyphiconVolumeUp"] = glyphiconVolumeUp; exports["glyphiconWarningSign"] = glyphiconWarningSign; exports["glyphiconWrench"] = glyphiconWrench; exports["glyphiconYen"] = glyphiconYen; exports["glyphiconZoomIn"] = glyphiconZoomIn; exports["glyphiconZoomOut"] = glyphiconZoomOut; exports["gradient"] = gradient; exports["h1"] = h1; exports["h2"] = h2; exports["h3"] = h3; exports["h4"] = h4; exports["h5"] = h5; exports["h6"] = h6; exports["hasError"] = hasError; exports["hasFeedback"] = hasFeedback; exports["hasSuccess"] = hasSuccess; exports["hasWarning"] = hasWarning; exports["helpBlock"] = helpBlock; exports["hidden"] = hidden; exports["hiddenLg"] = hiddenLg; exports["hiddenMd"] = hiddenMd; exports["hiddenPrint"] = hiddenPrint; exports["hiddenSm"] = hiddenSm; exports["hiddenXs"] = hiddenXs; exports["hide"] = hide; exports["iconBar"] = iconBar; exports["iconNext"] = iconNext; exports["iconPrev"] = iconPrev; exports["imgCircle"] = imgCircle; exports["imgResponsive"] = imgResponsive; exports["imgRounded"] = imgRounded; exports["imgThumbnail"] = imgThumbnail; exports["in_"] = in_; exports["info"] = info; exports["initialism"] = initialism; exports["inputGroup"] = inputGroup; exports["inputGroupAddon"] = inputGroupAddon; exports["inputGroupBtn"] = inputGroupBtn; exports["inputGroupLg"] = inputGroupLg; exports["inputGroupSm"] = inputGroupSm; exports["inputLg"] = inputLg; exports["inputSm"] = inputSm; exports["invisible"] = invisible; exports["item"] = item; exports["jumbotron"] = jumbotron; exports["label"] = label; exports["labelDanger"] = labelDanger; exports["labelDefault"] = labelDefault; exports["labelInfo"] = labelInfo; exports["labelPrimary"] = labelPrimary; exports["labelSuccess"] = labelSuccess; exports["labelWarning"] = labelWarning; exports["lead"] = lead; exports["left"] = left; exports["listGroup"] = listGroup; exports["listGroupItem"] = listGroupItem; exports["listGroupItemDanger"] = listGroupItemDanger; exports["listGroupItemHeading"] = listGroupItemHeading; exports["listGroupItemInfo"] = listGroupItemInfo; exports["listGroupItemSuccess"] = listGroupItemSuccess; exports["listGroupItemText"] = listGroupItemText; exports["listGroupItemWarning"] = listGroupItemWarning; exports["listInline"] = listInline; exports["listUnstyled"] = listUnstyled; exports["mark"] = mark; exports["media"] = media; exports["mediaBody"] = mediaBody; exports["mediaBottom"] = mediaBottom; exports["mediaHeading"] = mediaHeading; exports["mediaLeft"] = mediaLeft; exports["mediaList"] = mediaList; exports["mediaMiddle"] = mediaMiddle; exports["mediaObject"] = mediaObject; exports["mediaRight"] = mediaRight; exports["modal"] = modal; exports["modalBackdrop"] = modalBackdrop; exports["modalBody"] = modalBody; exports["modalContent"] = modalContent; exports["modalDialog"] = modalDialog; exports["modalFooter"] = modalFooter; exports["modalHeader"] = modalHeader; exports["modalLg"] = modalLg; exports["modalOpen"] = modalOpen; exports["modalScrollbarMeasure"] = modalScrollbarMeasure; exports["modalSm"] = modalSm; exports["modalTitle"] = modalTitle; exports["nav"] = nav; exports["navDivider"] = navDivider; exports["navJustified"] = navJustified; exports["navPills"] = navPills; exports["navStacked"] = navStacked; exports["navTabs"] = navTabs; exports["navTabsJustified"] = navTabsJustified; exports["navbar"] = navbar; exports["navbarBrand"] = navbarBrand; exports["navbarBtn"] = navbarBtn; exports["navbarCollapse"] = navbarCollapse; exports["navbarDefault"] = navbarDefault; exports["navbarFixedBottom"] = navbarFixedBottom; exports["navbarFixedTop"] = navbarFixedTop; exports["navbarForm"] = navbarForm; exports["navbarHeader"] = navbarHeader; exports["navbarInverse"] = navbarInverse; exports["navbarLeft"] = navbarLeft; exports["navbarLink"] = navbarLink; exports["navbarNav"] = navbarNav; exports["navbarRight"] = navbarRight; exports["navbarStaticTop"] = navbarStaticTop; exports["navbarText"] = navbarText; exports["navbarToggle"] = navbarToggle; exports["next"] = next; exports["open"] = open; exports["pageHeader"] = pageHeader; exports["pager"] = pager; exports["pagination"] = pagination; exports["paginationLg"] = paginationLg; exports["paginationSm"] = paginationSm; exports["panel"] = panel; exports["panelBody"] = panelBody; exports["panelCollapse"] = panelCollapse; exports["panelDanger"] = panelDanger; exports["panelDefault"] = panelDefault; exports["panelFooter"] = panelFooter; exports["panelGroup"] = panelGroup; exports["panelHeading"] = panelHeading; exports["panelInfo"] = panelInfo; exports["panelPrimary"] = panelPrimary; exports["panelSuccess"] = panelSuccess; exports["panelTitle"] = panelTitle; exports["panelWarning"] = panelWarning; exports["popover"] = popover; exports["popoverContent"] = popoverContent; exports["popoverTitle"] = popoverTitle; exports["preScrollable"] = preScrollable; exports["prev"] = prev; exports["previous"] = previous; exports["progress"] = progress; exports["progressBar"] = progressBar; exports["progressBarDanger"] = progressBarDanger; exports["progressBarInfo"] = progressBarInfo; exports["progressBarStriped"] = progressBarStriped; exports["progressBarSuccess"] = progressBarSuccess; exports["progressBarWarning"] = progressBarWarning; exports["progressStriped"] = progressStriped; exports["pullLeft"] = pullLeft; exports["pullRight"] = pullRight; exports["radio"] = radio; exports["radioInline"] = radioInline; exports["right"] = right; exports["row"] = row; exports["show_"] = show_; exports["small"] = small; exports["srOnly"] = srOnly; exports["srOnlyFocusable"] = srOnlyFocusable; exports["success"] = success; exports["svg"] = svg; exports["tabContent"] = tabContent; exports["tabPane"] = tabPane; exports["table"] = table; exports["tableBordered"] = tableBordered; exports["tableCondensed"] = tableCondensed; exports["tableHover"] = tableHover; exports["tableResponsive"] = tableResponsive; exports["tableStriped"] = tableStriped; exports["textCapitalize"] = textCapitalize; exports["textCenter"] = textCenter; exports["textDanger"] = textDanger; exports["textHide"] = textHide; exports["textInfo"] = textInfo; exports["textJustify"] = textJustify; exports["textLeft"] = textLeft; exports["textLowercase"] = textLowercase; exports["textMuted"] = textMuted; exports["textNowrap"] = textNowrap; exports["textPrimary"] = textPrimary; exports["textRight"] = textRight; exports["textSuccess"] = textSuccess; exports["textUppercase"] = textUppercase; exports["textWarning"] = textWarning; exports["thumbnail"] = thumbnail; exports["tooltip"] = tooltip; exports["tooltipArrow"] = tooltipArrow; exports["tooltipInner"] = tooltipInner; exports["top"] = top; exports["topLeft"] = topLeft; exports["topRight"] = topRight; exports["ttf"] = ttf; exports["visibleLg"] = visibleLg; exports["visibleLgBlock"] = visibleLgBlock; exports["visibleLgInline"] = visibleLgInline; exports["visibleLgInlineBlock"] = visibleLgInlineBlock; exports["visibleMd"] = visibleMd; exports["visibleMdBlock"] = visibleMdBlock; exports["visibleMdInline"] = visibleMdInline; exports["visibleMdInlineBlock"] = visibleMdInlineBlock; exports["visiblePrint"] = visiblePrint; exports["visiblePrintBlock"] = visiblePrintBlock; exports["visiblePrintInline"] = visiblePrintInline; exports["visiblePrintInlineBlock"] = visiblePrintInlineBlock; exports["visibleSm"] = visibleSm; exports["visibleSmBlock"] = visibleSmBlock; exports["visibleSmInline"] = visibleSmInline; exports["visibleSmInlineBlock"] = visibleSmInlineBlock; exports["visibleXs"] = visibleXs; exports["visibleXsBlock"] = visibleXsBlock; exports["visibleXsInline"] = visibleXsInline; exports["visibleXsInlineBlock"] = visibleXsInlineBlock; exports["warning"] = warning; exports["well"] = well; exports["wellLg"] = wellLg; exports["wellSm"] = wellSm; exports["woff"] = woff; exports["woff2"] = woff2; })(PS["Halogen.Themes.Bootstrap3"] = PS["Halogen.Themes.Bootstrap3"] || {}); (function(exports) { // | This module provides convenience functions for creating _input groups_. "use strict"; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Monoid = PS["Data.Monoid"]; var Data_Semigroup = PS["Data.Semigroup"]; var Halogen_HTML = PS["Halogen.HTML"]; var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"]; var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"]; var Halogen_Themes_Bootstrap3 = PS["Halogen.Themes.Bootstrap3"]; var Prelude = PS["Prelude"]; // | Represents an input group add-on element // | // | We need to distinguish buttons from regular add-ons because of the // | different CSS classes var RegularAddOn = (function () { function RegularAddOn(value0) { this.value0 = value0; }; RegularAddOn.create = function (value0) { return new RegularAddOn(value0); }; return RegularAddOn; })(); // | Represents an input group add-on element // | // | We need to distinguish buttons from regular add-ons because of the // | different CSS classes var ButtonAddOn = (function () { function ButtonAddOn(value0) { this.value0 = value0; }; ButtonAddOn.create = function (value0) { return new ButtonAddOn(value0); }; return ButtonAddOn; })(); // | Create an input group. // | // | An input group consists of a control with optional elements placed before and after. var inputGroup = function (before) { return function (ctl) { return function (after) { var addon = function (v) { if (v instanceof RegularAddOn) { return [ Halogen_HTML_Elements.span([ Halogen_HTML_Properties.class_(Halogen_Themes_Bootstrap3.inputGroupAddon) ])([ v.value0 ]) ]; }; if (v instanceof ButtonAddOn) { return [ Halogen_HTML_Elements.span([ Halogen_HTML_Properties.class_(Halogen_Themes_Bootstrap3.inputGroupBtn) ])([ v.value0 ]) ]; }; throw new Error("Failed pattern match at Halogen.Themes.Bootstrap3.InputGroup line 31, column 5 - line 31, column 45: " + [ v.constructor.name ]); }; return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.class_(Halogen_Themes_Bootstrap3.inputGroup) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Data_Foldable.foldMap(Data_Foldable.foldableMaybe)(Data_Monoid.monoidArray)(addon)(before))(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ ctl ])(Data_Foldable.foldMap(Data_Foldable.foldableMaybe)(Data_Monoid.monoidArray)(addon)(after)))); }; }; }; exports["RegularAddOn"] = RegularAddOn; exports["ButtonAddOn"] = ButtonAddOn; exports["inputGroup"] = inputGroup; })(PS["Halogen.Themes.Bootstrap3.InputGroup"] = PS["Halogen.Themes.Bootstrap3.InputGroup"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var DOM = PS["DOM"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Array = PS["Data.Array"]; var Data_Eq = PS["Data.Eq"]; var Data_Function_Uncurried = PS["Data.Function.Uncurried"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Nullable = PS["Data.Nullable"]; var Data_Tuple = PS["Data.Tuple"]; var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"]; var Halogen_VDom_Types = PS["Halogen.VDom.Types"]; var Halogen_VDom_Util = PS["Halogen.VDom.Util"]; var Prelude = PS["Prelude"]; // | Widget machines recursively reference the configured spec to potentially // | enable recursive trees of Widgets. var VDomSpec = function (x) { return x; }; var eqElemSpec = function (a, b) { if (Data_Eq.eq(Halogen_VDom_Types.eqElemName)(a.value1)(b.value1)) { if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) { return true; }; if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) { return true; }; return false; }; return false; }; var buildWidget = function (v) { var patch = function (v1) { return function (v2) { if (v2 instanceof Halogen_VDom_Types.Grafted) { return patch(v1)(Halogen_VDom_Types.runGraft(v2.value0)); }; if (v2 instanceof Halogen_VDom_Types.Widget) { return function __do() { var v3 = v1.value1(v2.value0)(); return new Halogen_VDom_Machine.Step(v3.value0, patch(v3), v3.value2); }; }; return function __do() { v1.value2(); return buildVDom(v)(v2)(); }; }; }; var render = function (w) { return function __do() { var v1 = v.buildWidget(v)(w)(); return new Halogen_VDom_Machine.Step(v1.value0, patch(v1), v1.value2); }; }; return render; }; // | Starts an initial `VDom` machine by providing a `VDomSpec`. // | // | ```purescript // | main = do // | machine1 ← buildVDom spec vdomTree1 // | machine2 ← Machine.step machine1 vdomTree2 // | machine3 ← Machine.step machine2 vdomTree3 // | ... // | ```` var buildVDom = function (spec) { var render = function (v) { if (v instanceof Halogen_VDom_Types.Text) { return buildText(spec)(v.value0); }; if (v instanceof Halogen_VDom_Types.Elem) { return buildElem(spec)(v.value0)(v.value1); }; if (v instanceof Halogen_VDom_Types.Keyed) { return buildKeyed(spec)(v.value0)(v.value1); }; if (v instanceof Halogen_VDom_Types.Widget) { return buildWidget(spec)(v.value0); }; if (v instanceof Halogen_VDom_Types.Grafted) { return buildVDom(spec)(Halogen_VDom_Types.runGraft(v.value0)); }; throw new Error("Failed pattern match at Halogen.VDom.DOM line 58, column 12 - line 63, column 44: " + [ v.constructor.name ]); }; return render; }; var buildText = function (v) { var done = function (node) { return function __do() { var v1 = Halogen_VDom_Util.unsafeParent(node); return Halogen_VDom_Util.removeChild(node, v1)(); }; }; var patch = function (node, s1) { return function (v1) { if (v1 instanceof Halogen_VDom_Types.Grafted) { return patch(node, s1)(Halogen_VDom_Types.runGraft(v1.value0)); }; if (v1 instanceof Halogen_VDom_Types.Text) { var res = new Halogen_VDom_Machine.Step(node, patch(node, v1.value0), done(node)); var v2 = s1 === v1.value0; if (v2) { return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(res); }; return function __do() { Halogen_VDom_Util.setTextContent(v1.value0, node)(); return res; }; }; return function __do() { done(node)(); return buildVDom(v)(v1)(); }; }; }; var render = function (s) { return function __do() { var v1 = Halogen_VDom_Util.createTextNode(s, v.document)(); return new Halogen_VDom_Machine.Step(v1, patch(v1, s), done(v1)); }; }; return render; }; var buildKeyed = function (v) { var done = function (node, attrs, steps) { return function __do() { var v1 = Halogen_VDom_Util.unsafeParent(node); Halogen_VDom_Util.removeChild(node, v1)(); Halogen_VDom_Util.forInE(steps, function (v2, v3) { return v3.value2; })(); return Halogen_VDom_Machine.halt(attrs)(); }; }; var patch = function (node, attrs, v1, ch1, len1) { return function (v2) { if (v2 instanceof Halogen_VDom_Types.Grafted) { return patch(node, attrs, v1, ch1, len1)(Halogen_VDom_Types.runGraft(v2.value0)); }; if (v2 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v1, v2.value0)) { var v3 = Data_Array.length(v2.value1); if (len1 === 0 && v3 === 0) { return function __do() { var v5 = Halogen_VDom_Machine.step(attrs)(v2.value0.value2)(); return new Halogen_VDom_Machine.Step(node, patch(node, v5, v2.value0, ch1, 0), done(node, v5, ch1)); }; }; var onThis = function (k, v5) { return v5.value2; }; var onThese = function (k, ix$prime, v5, v6) { return function __do() { var v7 = v5.value1(v6.value1)(); Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node)(); return v7; }; }; var onThat = function (k, ix, v5) { return function __do() { var v6 = buildVDom(v)(v5.value1)(); Halogen_VDom_Util.insertChildIx(ix, v6.value0, node)(); return v6; }; }; return function __do() { var v5 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v2.value1, Data_Tuple.fst, onThese, onThis, onThat)(); var v6 = Halogen_VDom_Machine.step(attrs)(v2.value0.value2)(); return new Halogen_VDom_Machine.Step(node, patch(node, v6, v2.value0, v5, v3), done(node, v6, v5)); }; }; return function __do() { done(node, attrs, ch1)(); return buildVDom(v)(v2)(); }; }; }; var render = function (v1) { return function (ch1) { return function __do() { var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document)(); var node = DOM_Node_Types.elementToNode(v2); var onChild = function (k, ix, v3) { return function __do() { var v4 = buildVDom(v)(v3.value1)(); Halogen_VDom_Util.insertChildIx(ix, v4.value0, node)(); return v4; }; }; var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild)(); var v4 = v.buildAttributes(v2)(v1.value2)(); return new Halogen_VDom_Machine.Step(node, patch(node, v4, v1, v3, Data_Array.length(ch1)), done(node, v4, v3)); }; }; }; return render; }; var buildElem = function (v) { var done = function (node, attrs, steps) { return function __do() { var v1 = Halogen_VDom_Util.unsafeParent(node); Halogen_VDom_Util.removeChild(node, v1)(); Control_Monad_Eff.foreachE(steps)(Halogen_VDom_Machine.halt)(); return Halogen_VDom_Machine.halt(attrs)(); }; }; var patch = function (node, attrs, v1, ch1) { return function (v2) { if (v2 instanceof Halogen_VDom_Types.Grafted) { return patch(node, attrs, v1, ch1)(Halogen_VDom_Types.runGraft(v2.value0)); }; if (v2 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v1, v2.value0)) { var v3 = Data_Array.length(v2.value1); var v4 = Data_Array.length(ch1); if (v4 === 0 && v3 === 0) { return function __do() { var v5 = Halogen_VDom_Machine.step(attrs)(v2.value0.value2)(); return new Halogen_VDom_Machine.Step(node, patch(node, v5, v2.value0, ch1), done(node, v5, ch1)); }; }; var onThis = function (ix, v5) { return v5.value2; }; var onThese = function (ix, v5, vdom) { return function __do() { var v6 = v5.value1(vdom)(); Halogen_VDom_Util.insertChildIx(ix, v6.value0, node)(); return v6; }; }; var onThat = function (ix, vdom) { return function __do() { var v5 = buildVDom(v)(vdom)(); Halogen_VDom_Util.insertChildIx(ix, v5.value0, node)(); return v5; }; }; return function __do() { var v5 = Halogen_VDom_Util.diffWithIxE(ch1, v2.value1, onThese, onThis, onThat)(); var v6 = Halogen_VDom_Machine.step(attrs)(v2.value0.value2)(); return new Halogen_VDom_Machine.Step(node, patch(node, v6, v2.value0, v5), done(node, v6, v5)); }; }; return function __do() { done(node, attrs, ch1)(); return buildVDom(v)(v2)(); }; }; }; var render = function (v1) { return function (ch1) { return function __do() { var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document)(); var node = DOM_Node_Types.elementToNode(v2); var onChild = function (ix, child) { return function __do() { var v3 = buildVDom(v)(child)(); Halogen_VDom_Util.insertChildIx(ix, v3.value0, node)(); return v3; }; }; var v3 = Halogen_VDom_Util.forE(ch1, onChild)(); var v4 = v.buildAttributes(v2)(v1.value2)(); return new Halogen_VDom_Machine.Step(node, patch(node, v4, v1, v3), done(node, v4, v3)); }; }; }; return render; }; exports["VDomSpec"] = VDomSpec; exports["buildElem"] = buildElem; exports["buildKeyed"] = buildKeyed; exports["buildText"] = buildText; exports["buildVDom"] = buildVDom; exports["buildWidget"] = buildWidget; })(PS["Halogen.VDom.DOM"] = PS["Halogen.VDom.DOM"] || {}); (function(exports) { "use strict"; var Control_Applicative = PS["Control.Applicative"]; var Control_Bind = PS["Control.Bind"]; var Control_Category = PS["Control.Category"]; var Control_Monad_Aff = PS["Control.Monad.Aff"]; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Control_Monad_Eff_Class = PS["Control.Monad.Eff.Class"]; var Control_Monad_Eff_Ref = PS["Control.Monad.Eff.Ref"]; var DOM = PS["DOM"]; var DOM_HTML = PS["DOM.HTML"]; var DOM_HTML_Types = PS["DOM.HTML.Types"]; var DOM_HTML_Window = PS["DOM.HTML.Window"]; var DOM_Node_Node = PS["DOM.Node.Node"]; var DOM_Node_Types = PS["DOM.Node.Types"]; var Data_Foldable = PS["Data.Foldable"]; var Data_Function = PS["Data.Function"]; var Data_Functor = PS["Data.Functor"]; var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"]; var Data_Maybe = PS["Data.Maybe"]; var Data_Unit = PS["Data.Unit"]; var Halogen_Aff_Driver = PS["Halogen.Aff.Driver"]; var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"]; var Halogen_Aff_Effects = PS["Halogen.Aff.Effects"]; var Halogen_Component = PS["Halogen.Component"]; var Halogen_HTML_Core = PS["Halogen.HTML.Core"]; var Halogen_Query_InputF = PS["Halogen.Query.InputF"]; var Halogen_VDom = PS["Halogen.VDom"]; var Halogen_VDom_DOM = PS["Halogen.VDom.DOM"]; var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"]; var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"]; var Prelude = PS["Prelude"]; var Unsafe_Reference = PS["Unsafe.Reference"]; var RenderState = function (x) { return x; }; var substInParent = function (v) { return function (v1) { return function (v2) { if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(DOM_Node_Node.insertBefore(v)(v1.value0)(v2.value0)); }; if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) { return Data_Functor["void"](Control_Monad_Eff.functorEff)(DOM_Node_Node.appendChild(v)(v2.value0)); }; return Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); }; }; }; var removeChild = function (v) { return function __do() { var v1 = DOM_Node_Node.parentNode(v.node)(); return Data_Foldable.traverse_(Control_Monad_Eff.applicativeEff)(Data_Foldable.foldableMaybe)(function (pn) { return DOM_Node_Node.removeChild(v.node)(pn); })(v1)(); }; }; var mkSpec = function (handler) { return function (renderChildRef) { return function (document) { var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) { return v.node; }); var done = Control_Applicative.pure(Control_Monad_Eff.applicativeEff)(Data_Unit.unit); var patch = function (slot) { return function __do() { var v = Control_Monad_Eff_Ref.readRef(renderChildRef)(); var v1 = v(slot)(); var node = getNode(v1); return new Halogen_VDom_Machine.Step(node, patch, done); }; }; var buildWidget = function (spec) { return function (slot) { return function __do() { var v = Control_Monad_Eff_Ref.readRef(renderChildRef)(); var v1 = v(slot)(); var node = getNode(v1); return new Halogen_VDom_Machine.Step(node, patch, done); }; }; }; var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler); return { buildWidget: buildWidget, buildAttributes: buildAttributes, document: document }; }; }; }; var renderSpec = function (document) { return function (container) { var render = function (handler) { return function (child) { return function (v) { return function (v1) { if (v1 instanceof Data_Maybe.Nothing) { return function __do() { var v2 = Control_Monad_Eff_Ref.newRef(child)(); var spec = mkSpec(handler)(v2)(document); var v3 = Halogen_VDom_DOM.buildVDom(spec)(v)(); var node = Halogen_VDom_Machine.extract(v3); Data_Functor["void"](Control_Monad_Eff.functorEff)(DOM_Node_Node.appendChild(node)(DOM_HTML_Types.htmlElementToNode(container)))(); return { machine: v3, node: node, renderChildRef: v2 }; }; }; if (v1 instanceof Data_Maybe.Just) { return function __do() { Control_Monad_Eff_Ref.writeRef(v1.value0.renderChildRef)(child)(); var v2 = DOM_Node_Node.parentNode(v1.value0.node)(); var v3 = DOM_Node_Node.nextSibling(v1.value0.node)(); var v4 = Halogen_VDom_Machine.step(v1.value0.machine)(v)(); var newNode = Halogen_VDom_Machine.extract(v4); Control_Applicative.when(Control_Monad_Eff.applicativeEff)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))(); return { machine: v4, node: newNode, renderChildRef: v1.value0.renderChildRef }; }; }; throw new Error("Failed pattern match at Halogen.VDom.Driver line 121, column 5 - line 137, column 80: " + [ v1.constructor.name ]); }; }; }; }; return { render: render, renderChild: Control_Category.id(Control_Category.categoryFn), removeChild: removeChild }; }; }; var runUI = function (component) { return function (i) { return function (element) { return Control_Bind.bind(Control_Monad_Aff.bindAff)(Control_Monad_Eff_Class.liftEff(Control_Monad_Aff.monadEffAff)(Data_Functor.map(Control_Monad_Eff.functorEff)(DOM_HTML_Types.htmlDocumentToDocument)(Control_Bind.bindFlipped(Control_Monad_Eff.bindEff)(DOM_HTML_Window.document)(DOM_HTML.window))))(function (v) { return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i); }); }; }; }; exports["runUI"] = runUI; })(PS["Halogen.VDom.Driver"] = PS["Halogen.VDom.Driver"] || {}); (function(exports) { "use strict"; var Control_Monad_Eff = PS["Control.Monad.Eff"]; var Flipmode = function (x) { return x; }; // | This type class asserts that effect rows `a` and `b` are equal. // | // | The functional dependencies and the single instance below will force the // | two type arguments to unify when either one is known. // | // | Note: any instance will necessarily ovelap with `refl` below, so instances // | of this class should not be defined in libraries. var EffectRowEquals = function (from, to) { this.from = from; this.to = to; }; var unflip = function (v) { return v; }; var to = function (dict) { return dict.to; }; var refl = new EffectRowEquals(function (a) { return a; }, function (a) { return a; }); var from = function (dict) { return dict.from; }; // | A version of `to` that can be applied to types like `Eff`, `Aff`, etc. var effTo = function (dictEffectRowEquals) { return function (e) { return unflip(to(dictEffectRowEquals)(e)); }; }; // | A version of `from` that can be applied to types like `Eff`, `Aff`, etc. var effFrom = function (dictEffectRowEquals) { return function (e) { return unflip(from(dictEffectRowEquals)(e)); }; }; exports["EffectRowEquals"] = EffectRowEquals; exports["effFrom"] = effFrom; exports["effTo"] = effTo; exports["from"] = from; exports["to"] = to; exports["refl"] = refl; })(PS["Type.Row.Effect.Equality"] = PS["Type.Row.Effect.Equality"] || {}); var module = {}; (function(module) { "use strict"; var Control_Applicative = PS['Control.Applicative']; var Control_Bind = PS['Control.Bind']; var Control_Monad_Aff = PS['Control.Monad.Aff']; var Control_Monad_Eff = PS['Control.Monad.Eff']; var Control_Monad_State_Class = PS['Control.Monad.State.Class']; var Data_Function = PS['Data.Function']; var Data_HeytingAlgebra = PS['Data.HeytingAlgebra']; var Data_Maybe = PS['Data.Maybe']; var Data_Unit = PS['Data.Unit']; var Halogen = PS['Halogen']; var Halogen_Aff = PS['Halogen.Aff']; var Halogen_Aff_Util = PS['Halogen.Aff.Util']; var Halogen_Component = PS['Halogen.Component']; var Halogen_HTML = PS['Halogen.HTML']; var Halogen_HTML_Core = PS['Halogen.HTML.Core']; var Halogen_HTML_Elements = PS['Halogen.HTML.Elements']; var Halogen_HTML_Events = PS['Halogen.HTML.Events']; var Halogen_HTML_Properties = PS['Halogen.HTML.Properties']; var Halogen_Query_HalogenM = PS['Halogen.Query.HalogenM']; var Halogen_VDom_Driver = PS['Halogen.VDom.Driver']; var Prelude = PS['Prelude']; var Toggle = (function () { function Toggle(value0) { this.value0 = value0; }; Toggle.create = function (value0) { return new Toggle(value0); }; return Toggle; })(); var IsOn = (function () { function IsOn(value0) { this.value0 = value0; }; IsOn.create = function (value0) { return new IsOn(value0); }; return IsOn; })(); var Toggled = (function () { function Toggled(value0) { this.value0 = value0; }; Toggled.create = function (value0) { return new Toggled(value0); }; return Toggled; })(); var myButton = (function () { var render = function (state) { var label = (function () { if (state) { return "On"; }; return "Off"; })(); return Halogen_HTML_Elements.button([ Halogen_HTML_Properties.title(label), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(Toggle.create)) ])([ Halogen_HTML_Core.text(label) ]); }; var $$eval = function (v) { if (v instanceof Toggle) { return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) { var nextState = !v1; return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)(nextState))(function () { return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(new Toggled(nextState)))(function () { return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0); }); }); }); }; if (v instanceof IsOn) { return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) { return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0(v1)); }); }; throw new Error("Failed pattern match at Main line 46, column 10 - line 55, column 25: " + [ v.constructor.name ]); }; return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({ initialState: Data_Function["const"](false), render: render, "eval": $$eval, receiver: Data_Function["const"](Data_Maybe.Nothing.value) }); })(); var main = Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Control_Monad_Aff.bindAff)(Halogen_Aff_Util.awaitBody)(function (v) { return Halogen_VDom_Driver.runUI(myButton)(Data_Unit.unit)(v); })); module.exports = { Toggled: Toggled, Toggle: Toggle, IsOn: IsOn, main: main, myButton: myButton }; })(module); console.log(module.exports.main); module.exports.main && module.exports.main();