Created
August 21, 2015 03:01
-
-
Save JoeyEremondi/4c7b2e03d87e2e815b02 to your computer and use it in GitHub Desktop.
Non-native Elm JS output: DCE vs no DCE
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var Elm = Elm || { Native: {} }; | |
Elm.Array = Elm.Array || {}; | |
Elm.Array.make = function (_elm) { | |
"use strict"; | |
_elm.Array = _elm.Array || {}; | |
if (_elm.Array.values) | |
return _elm.Array.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Array", | |
$Basics = Elm.Basics.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Array = Elm.Native.Array.make(_elm); | |
var append = $Native$Array.append; | |
var length = $Native$Array.length; | |
var isEmpty = function (array) { | |
return _U.eq(length(array), | |
0); | |
}; | |
var slice = $Native$Array.slice; | |
var set = $Native$Array.set; | |
var get = F2(function (i, | |
array) { | |
return _U.cmp(0, | |
i) < 1 && _U.cmp(i, | |
$Native$Array.length(array)) < 0 ? $Maybe.Just(A2($Native$Array.get, | |
i, | |
array)) : $Maybe.Nothing; | |
}); | |
var push = $Native$Array.push; | |
var empty = $Native$Array.empty; | |
var filter = F2(function (isOkay, | |
arr) { | |
return function () { | |
var update = F2(function (x, | |
xs) { | |
return isOkay(x) ? A2($Native$Array.push, | |
x, | |
xs) : xs; | |
}); | |
return A3($Native$Array.foldl, | |
update, | |
$Native$Array.empty, | |
arr); | |
}(); | |
}); | |
var foldr = $Native$Array.foldr; | |
var foldl = $Native$Array.foldl; | |
var indexedMap = $Native$Array.indexedMap; | |
var map = $Native$Array.map; | |
var toIndexedList = function (array) { | |
return A3($List.map2, | |
F2(function (v0,v1) { | |
return {ctor: "_Tuple2" | |
,_0: v0 | |
,_1: v1}; | |
}), | |
_L.range(0, | |
$Native$Array.length(array) - 1), | |
$Native$Array.toList(array)); | |
}; | |
var toList = $Native$Array.toList; | |
var fromList = $Native$Array.fromList; | |
var initialize = $Native$Array.initialize; | |
var repeat = F2(function (n,e) { | |
return A2(initialize, | |
n, | |
$Basics.always(e)); | |
}); | |
var Array = {ctor: "Array"}; | |
_elm.Array.values = {_op: _op | |
,empty: empty | |
,repeat: repeat | |
,initialize: initialize | |
,fromList: fromList | |
,isEmpty: isEmpty | |
,length: length | |
,push: push | |
,append: append | |
,get: get | |
,set: set | |
,slice: slice | |
,toList: toList | |
,toIndexedList: toIndexedList | |
,map: map | |
,indexedMap: indexedMap | |
,filter: filter | |
,foldl: foldl | |
,foldr: foldr}; | |
return _elm.Array.values; | |
}; | |
Elm.Basics = Elm.Basics || {}; | |
Elm.Basics.make = function (_elm) { | |
"use strict"; | |
_elm.Basics = _elm.Basics || {}; | |
if (_elm.Basics.values) | |
return _elm.Basics.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Basics", | |
$Native$Basics = Elm.Native.Basics.make(_elm), | |
$Native$Show = Elm.Native.Show.make(_elm), | |
$Native$Utils = Elm.Native.Utils.make(_elm); | |
var uncurry = F2(function (f, | |
_v0) { | |
return function () { | |
switch (_v0.ctor) | |
{case "_Tuple2": return A2(f, | |
_v0._0, | |
_v0._1);} | |
_U.badCase($moduleName, | |
"on line 595, column 3 to 8"); | |
}(); | |
}); | |
var curry = F3(function (f, | |
a, | |
b) { | |
return f({ctor: "_Tuple2" | |
,_0: a | |
,_1: b}); | |
}); | |
var flip = F3(function (f,b,a) { | |
return A2(f,a,b); | |
}); | |
var snd = function (_v4) { | |
return function () { | |
switch (_v4.ctor) | |
{case "_Tuple2": return _v4._1;} | |
_U.badCase($moduleName, | |
"on line 573, column 3 to 4"); | |
}(); | |
}; | |
var fst = function (_v8) { | |
return function () { | |
switch (_v8.ctor) | |
{case "_Tuple2": return _v8._0;} | |
_U.badCase($moduleName, | |
"on line 567, column 3 to 4"); | |
}(); | |
}; | |
var always = F2(function (a, | |
_v12) { | |
return function () { | |
return a; | |
}(); | |
}); | |
var identity = function (x) { | |
return x; | |
}; | |
_op["<|"] = F2(function (f,x) { | |
return f(x); | |
}); | |
_op["|>"] = F2(function (x,f) { | |
return f(x); | |
}); | |
_op[">>"] = F3(function (f, | |
g, | |
x) { | |
return g(f(x)); | |
}); | |
_op["<<"] = F3(function (g, | |
f, | |
x) { | |
return g(f(x)); | |
}); | |
_op["++"] = $Native$Utils.append; | |
var toString = $Native$Show.toString; | |
var isInfinite = $Native$Basics.isInfinite; | |
var isNaN = $Native$Basics.isNaN; | |
var toFloat = $Native$Basics.toFloat; | |
var ceiling = $Native$Basics.ceiling; | |
var floor = $Native$Basics.floor; | |
var truncate = $Native$Basics.truncate; | |
var round = $Native$Basics.round; | |
var otherwise = true; | |
var not = $Native$Basics.not; | |
var xor = $Native$Basics.xor; | |
_op["||"] = $Native$Basics.or; | |
_op["&&"] = $Native$Basics.and; | |
var max = $Native$Basics.max; | |
var min = $Native$Basics.min; | |
var GT = {ctor: "GT"}; | |
var EQ = {ctor: "EQ"}; | |
var LT = {ctor: "LT"}; | |
var compare = $Native$Basics.compare; | |
_op[">="] = $Native$Basics.ge; | |
_op["<="] = $Native$Basics.le; | |
_op[">"] = $Native$Basics.gt; | |
_op["<"] = $Native$Basics.lt; | |
_op["/="] = $Native$Basics.neq; | |
_op["=="] = $Native$Basics.eq; | |
var e = $Native$Basics.e; | |
var pi = $Native$Basics.pi; | |
var clamp = $Native$Basics.clamp; | |
var logBase = $Native$Basics.logBase; | |
var abs = $Native$Basics.abs; | |
var negate = $Native$Basics.negate; | |
var sqrt = $Native$Basics.sqrt; | |
var atan2 = $Native$Basics.atan2; | |
var atan = $Native$Basics.atan; | |
var asin = $Native$Basics.asin; | |
var acos = $Native$Basics.acos; | |
var tan = $Native$Basics.tan; | |
var sin = $Native$Basics.sin; | |
var cos = $Native$Basics.cos; | |
_op["^"] = $Native$Basics.exp; | |
_op["%"] = $Native$Basics.mod; | |
var rem = $Native$Basics.rem; | |
_op["//"] = $Native$Basics.div; | |
_op["/"] = $Native$Basics.floatDiv; | |
_op["*"] = $Native$Basics.mul; | |
_op["-"] = $Native$Basics.sub; | |
_op["+"] = $Native$Basics.add; | |
var toPolar = $Native$Basics.toPolar; | |
var fromPolar = $Native$Basics.fromPolar; | |
var turns = $Native$Basics.turns; | |
var degrees = $Native$Basics.degrees; | |
var radians = function (t) { | |
return t; | |
}; | |
_elm.Basics.values = {_op: _op | |
,max: max | |
,min: min | |
,compare: compare | |
,not: not | |
,xor: xor | |
,otherwise: otherwise | |
,rem: rem | |
,negate: negate | |
,abs: abs | |
,sqrt: sqrt | |
,clamp: clamp | |
,logBase: logBase | |
,e: e | |
,pi: pi | |
,cos: cos | |
,sin: sin | |
,tan: tan | |
,acos: acos | |
,asin: asin | |
,atan: atan | |
,atan2: atan2 | |
,round: round | |
,floor: floor | |
,ceiling: ceiling | |
,truncate: truncate | |
,toFloat: toFloat | |
,degrees: degrees | |
,radians: radians | |
,turns: turns | |
,toPolar: toPolar | |
,fromPolar: fromPolar | |
,isNaN: isNaN | |
,isInfinite: isInfinite | |
,toString: toString | |
,fst: fst | |
,snd: snd | |
,identity: identity | |
,always: always | |
,flip: flip | |
,curry: curry | |
,uncurry: uncurry | |
,LT: LT | |
,EQ: EQ | |
,GT: GT}; | |
return _elm.Basics.values; | |
}; | |
Elm.Char = Elm.Char || {}; | |
Elm.Char.make = function (_elm) { | |
"use strict"; | |
_elm.Char = _elm.Char || {}; | |
if (_elm.Char.values) | |
return _elm.Char.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Char", | |
$Basics = Elm.Basics.make(_elm), | |
$Native$Char = Elm.Native.Char.make(_elm); | |
var fromCode = $Native$Char.fromCode; | |
var toCode = $Native$Char.toCode; | |
var toLocaleLower = $Native$Char.toLocaleLower; | |
var toLocaleUpper = $Native$Char.toLocaleUpper; | |
var toLower = $Native$Char.toLower; | |
var toUpper = $Native$Char.toUpper; | |
var isBetween = F3(function (low, | |
high, | |
$char) { | |
return function () { | |
var code = toCode($char); | |
return _U.cmp(code, | |
toCode(low)) > -1 && _U.cmp(code, | |
toCode(high)) < 1; | |
}(); | |
}); | |
var isUpper = A2(isBetween, | |
_U.chr("A"), | |
_U.chr("Z")); | |
var isLower = A2(isBetween, | |
_U.chr("a"), | |
_U.chr("z")); | |
var isDigit = A2(isBetween, | |
_U.chr("0"), | |
_U.chr("9")); | |
var isOctDigit = A2(isBetween, | |
_U.chr("0"), | |
_U.chr("7")); | |
var isHexDigit = function ($char) { | |
return isDigit($char) || (A3(isBetween, | |
_U.chr("a"), | |
_U.chr("f"), | |
$char) || A3(isBetween, | |
_U.chr("A"), | |
_U.chr("F"), | |
$char)); | |
}; | |
_elm.Char.values = {_op: _op | |
,isUpper: isUpper | |
,isLower: isLower | |
,isDigit: isDigit | |
,isOctDigit: isOctDigit | |
,isHexDigit: isHexDigit | |
,toUpper: toUpper | |
,toLower: toLower | |
,toLocaleUpper: toLocaleUpper | |
,toLocaleLower: toLocaleLower | |
,toCode: toCode | |
,fromCode: fromCode}; | |
return _elm.Char.values; | |
}; | |
Elm.Color = Elm.Color || {}; | |
Elm.Color.make = function (_elm) { | |
"use strict"; | |
_elm.Color = _elm.Color || {}; | |
if (_elm.Color.values) | |
return _elm.Color.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Color", | |
$Basics = Elm.Basics.make(_elm); | |
var Radial = F5(function (a, | |
b, | |
c, | |
d, | |
e) { | |
return {ctor: "Radial" | |
,_0: a | |
,_1: b | |
,_2: c | |
,_3: d | |
,_4: e}; | |
}); | |
var radial = Radial; | |
var Linear = F3(function (a, | |
b, | |
c) { | |
return {ctor: "Linear" | |
,_0: a | |
,_1: b | |
,_2: c}; | |
}); | |
var linear = Linear; | |
var fmod = F2(function (f,n) { | |
return function () { | |
var integer = $Basics.floor(f); | |
return $Basics.toFloat(A2($Basics._op["%"], | |
integer, | |
n)) + f - $Basics.toFloat(integer); | |
}(); | |
}); | |
var rgbToHsl = F3(function (red, | |
green, | |
blue) { | |
return function () { | |
var b = $Basics.toFloat(blue) / 255; | |
var g = $Basics.toFloat(green) / 255; | |
var r = $Basics.toFloat(red) / 255; | |
var cMax = A2($Basics.max, | |
A2($Basics.max,r,g), | |
b); | |
var cMin = A2($Basics.min, | |
A2($Basics.min,r,g), | |
b); | |
var c = cMax - cMin; | |
var lightness = (cMax + cMin) / 2; | |
var saturation = _U.eq(lightness, | |
0) ? 0 : c / (1 - $Basics.abs(2 * lightness - 1)); | |
var hue = $Basics.degrees(60) * (_U.eq(cMax, | |
r) ? A2(fmod, | |
(g - b) / c, | |
6) : _U.eq(cMax, | |
g) ? (b - r) / c + 2 : _U.eq(cMax, | |
b) ? (r - g) / c + 4 : _U.badIf($moduleName, | |
"between lines 150 and 152")); | |
return {ctor: "_Tuple3" | |
,_0: hue | |
,_1: saturation | |
,_2: lightness}; | |
}(); | |
}); | |
var hslToRgb = F3(function (hue, | |
saturation, | |
lightness) { | |
return function () { | |
var hue$ = hue / $Basics.degrees(60); | |
var chroma = (1 - $Basics.abs(2 * lightness - 1)) * saturation; | |
var x = chroma * (1 - $Basics.abs(A2(fmod, | |
hue$, | |
2) - 1)); | |
var $ = _U.cmp(hue$, | |
0) < 0 ? {ctor: "_Tuple3" | |
,_0: 0 | |
,_1: 0 | |
,_2: 0} : _U.cmp(hue$, | |
1) < 0 ? {ctor: "_Tuple3" | |
,_0: chroma | |
,_1: x | |
,_2: 0} : _U.cmp(hue$, | |
2) < 0 ? {ctor: "_Tuple3" | |
,_0: x | |
,_1: chroma | |
,_2: 0} : _U.cmp(hue$, | |
3) < 0 ? {ctor: "_Tuple3" | |
,_0: 0 | |
,_1: chroma | |
,_2: x} : _U.cmp(hue$, | |
4) < 0 ? {ctor: "_Tuple3" | |
,_0: 0 | |
,_1: x | |
,_2: chroma} : _U.cmp(hue$, | |
5) < 0 ? {ctor: "_Tuple3" | |
,_0: x | |
,_1: 0 | |
,_2: chroma} : _U.cmp(hue$, | |
6) < 0 ? {ctor: "_Tuple3" | |
,_0: chroma | |
,_1: 0 | |
,_2: x} : {ctor: "_Tuple3" | |
,_0: 0 | |
,_1: 0 | |
,_2: 0}, | |
r = $._0, | |
g = $._1, | |
b = $._2; | |
var m = lightness - chroma / 2; | |
return {ctor: "_Tuple3" | |
,_0: r + m | |
,_1: g + m | |
,_2: b + m}; | |
}(); | |
}); | |
var toRgb = function (color) { | |
return function () { | |
switch (color.ctor) | |
{case "HSLA": | |
return function () { | |
var $ = A3(hslToRgb, | |
color._0, | |
color._1, | |
color._2), | |
r = $._0, | |
g = $._1, | |
b = $._2; | |
return {_: {} | |
,alpha: color._3 | |
,blue: $Basics.round(255 * b) | |
,green: $Basics.round(255 * g) | |
,red: $Basics.round(255 * r)}; | |
}(); | |
case "RGBA": return {_: {} | |
,alpha: color._3 | |
,blue: color._2 | |
,green: color._1 | |
,red: color._0};} | |
_U.badCase($moduleName, | |
"between lines 124 and 132"); | |
}(); | |
}; | |
var toHsl = function (color) { | |
return function () { | |
switch (color.ctor) | |
{case "HSLA": return {_: {} | |
,alpha: color._3 | |
,hue: color._0 | |
,lightness: color._2 | |
,saturation: color._1}; | |
case "RGBA": | |
return function () { | |
var $ = A3(rgbToHsl, | |
color._0, | |
color._1, | |
color._2), | |
h = $._0, | |
s = $._1, | |
l = $._2; | |
return {_: {} | |
,alpha: color._3 | |
,hue: h | |
,lightness: l | |
,saturation: s}; | |
}();} | |
_U.badCase($moduleName, | |
"between lines 114 and 118"); | |
}(); | |
}; | |
var HSLA = F4(function (a, | |
b, | |
c, | |
d) { | |
return {ctor: "HSLA" | |
,_0: a | |
,_1: b | |
,_2: c | |
,_3: d}; | |
}); | |
var hsla = F4(function (hue, | |
saturation, | |
lightness, | |
alpha) { | |
return A4(HSLA, | |
hue - $Basics.turns($Basics.toFloat($Basics.floor(hue / (2 * $Basics.pi)))), | |
saturation, | |
lightness, | |
alpha); | |
}); | |
var hsl = F3(function (hue, | |
saturation, | |
lightness) { | |
return A4(hsla, | |
hue, | |
saturation, | |
lightness, | |
1); | |
}); | |
var complement = function (color) { | |
return function () { | |
switch (color.ctor) | |
{case "HSLA": return A4(hsla, | |
color._0 + $Basics.degrees(180), | |
color._1, | |
color._2, | |
color._3); | |
case "RGBA": | |
return function () { | |
var $ = A3(rgbToHsl, | |
color._0, | |
color._1, | |
color._2), | |
h = $._0, | |
s = $._1, | |
l = $._2; | |
return A4(hsla, | |
h + $Basics.degrees(180), | |
s, | |
l, | |
color._3); | |
}();} | |
_U.badCase($moduleName, | |
"between lines 105 and 108"); | |
}(); | |
}; | |
var grayscale = function (p) { | |
return A4(HSLA,0,0,1 - p,1); | |
}; | |
var greyscale = function (p) { | |
return A4(HSLA,0,0,1 - p,1); | |
}; | |
var RGBA = F4(function (a, | |
b, | |
c, | |
d) { | |
return {ctor: "RGBA" | |
,_0: a | |
,_1: b | |
,_2: c | |
,_3: d}; | |
}); | |
var rgba = RGBA; | |
var rgb = F3(function (r,g,b) { | |
return A4(RGBA,r,g,b,1); | |
}); | |
var lightRed = A4(RGBA, | |
239, | |
41, | |
41, | |
1); | |
var red = A4(RGBA,204,0,0,1); | |
var darkRed = A4(RGBA, | |
164, | |
0, | |
0, | |
1); | |
var lightOrange = A4(RGBA, | |
252, | |
175, | |
62, | |
1); | |
var orange = A4(RGBA, | |
245, | |
121, | |
0, | |
1); | |
var darkOrange = A4(RGBA, | |
206, | |
92, | |
0, | |
1); | |
var lightYellow = A4(RGBA, | |
255, | |
233, | |
79, | |
1); | |
var yellow = A4(RGBA, | |
237, | |
212, | |
0, | |
1); | |
var darkYellow = A4(RGBA, | |
196, | |
160, | |
0, | |
1); | |
var lightGreen = A4(RGBA, | |
138, | |
226, | |
52, | |
1); | |
var green = A4(RGBA, | |
115, | |
210, | |
22, | |
1); | |
var darkGreen = A4(RGBA, | |
78, | |
154, | |
6, | |
1); | |
var lightBlue = A4(RGBA, | |
114, | |
159, | |
207, | |
1); | |
var blue = A4(RGBA, | |
52, | |
101, | |
164, | |
1); | |
var darkBlue = A4(RGBA, | |
32, | |
74, | |
135, | |
1); | |
var lightPurple = A4(RGBA, | |
173, | |
127, | |
168, | |
1); | |
var purple = A4(RGBA, | |
117, | |
80, | |
123, | |
1); | |
var darkPurple = A4(RGBA, | |
92, | |
53, | |
102, | |
1); | |
var lightBrown = A4(RGBA, | |
233, | |
185, | |
110, | |
1); | |
var brown = A4(RGBA, | |
193, | |
125, | |
17, | |
1); | |
var darkBrown = A4(RGBA, | |
143, | |
89, | |
2, | |
1); | |
var black = A4(RGBA,0,0,0,1); | |
var white = A4(RGBA, | |
255, | |
255, | |
255, | |
1); | |
var lightGrey = A4(RGBA, | |
238, | |
238, | |
236, | |
1); | |
var grey = A4(RGBA, | |
211, | |
215, | |
207, | |
1); | |
var darkGrey = A4(RGBA, | |
186, | |
189, | |
182, | |
1); | |
var lightGray = A4(RGBA, | |
238, | |
238, | |
236, | |
1); | |
var gray = A4(RGBA, | |
211, | |
215, | |
207, | |
1); | |
var darkGray = A4(RGBA, | |
186, | |
189, | |
182, | |
1); | |
var lightCharcoal = A4(RGBA, | |
136, | |
138, | |
133, | |
1); | |
var charcoal = A4(RGBA, | |
85, | |
87, | |
83, | |
1); | |
var darkCharcoal = A4(RGBA, | |
46, | |
52, | |
54, | |
1); | |
_elm.Color.values = {_op: _op | |
,rgb: rgb | |
,rgba: rgba | |
,hsl: hsl | |
,hsla: hsla | |
,greyscale: greyscale | |
,grayscale: grayscale | |
,complement: complement | |
,linear: linear | |
,radial: radial | |
,toRgb: toRgb | |
,toHsl: toHsl | |
,red: red | |
,orange: orange | |
,yellow: yellow | |
,green: green | |
,blue: blue | |
,purple: purple | |
,brown: brown | |
,lightRed: lightRed | |
,lightOrange: lightOrange | |
,lightYellow: lightYellow | |
,lightGreen: lightGreen | |
,lightBlue: lightBlue | |
,lightPurple: lightPurple | |
,lightBrown: lightBrown | |
,darkRed: darkRed | |
,darkOrange: darkOrange | |
,darkYellow: darkYellow | |
,darkGreen: darkGreen | |
,darkBlue: darkBlue | |
,darkPurple: darkPurple | |
,darkBrown: darkBrown | |
,white: white | |
,lightGrey: lightGrey | |
,grey: grey | |
,darkGrey: darkGrey | |
,lightCharcoal: lightCharcoal | |
,charcoal: charcoal | |
,darkCharcoal: darkCharcoal | |
,black: black | |
,lightGray: lightGray | |
,gray: gray | |
,darkGray: darkGray}; | |
return _elm.Color.values; | |
}; | |
Elm.Debug = Elm.Debug || {}; | |
Elm.Debug.make = function (_elm) { | |
"use strict"; | |
_elm.Debug = _elm.Debug || {}; | |
if (_elm.Debug.values) | |
return _elm.Debug.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Debug", | |
$Graphics$Collage = Elm.Graphics.Collage.make(_elm), | |
$Native$Debug = Elm.Native.Debug.make(_elm); | |
var trace = $Native$Debug.tracePath; | |
var watchSummary = $Native$Debug.watchSummary; | |
var watch = $Native$Debug.watch; | |
var crash = $Native$Debug.crash; | |
var log = $Native$Debug.log; | |
_elm.Debug.values = {_op: _op | |
,log: log | |
,crash: crash | |
,watch: watch | |
,watchSummary: watchSummary | |
,trace: trace}; | |
return _elm.Debug.values; | |
}; | |
Elm.Dict = Elm.Dict || {}; | |
Elm.Dict.make = function (_elm) { | |
"use strict"; | |
_elm.Dict = _elm.Dict || {}; | |
if (_elm.Dict.values) | |
return _elm.Dict.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Dict", | |
$Basics = Elm.Basics.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Debug = Elm.Native.Debug.make(_elm), | |
$String = Elm.String.make(_elm); | |
var foldr = F3(function (f, | |
acc, | |
t) { | |
return function () { | |
switch (t.ctor) | |
{case "RBEmpty": | |
switch (t._0.ctor) | |
{case "LBlack": return acc;} | |
break; | |
case "RBNode": return A3(foldr, | |
f, | |
A3(f, | |
t._1, | |
t._2, | |
A3(foldr,f,acc,t._4)), | |
t._3);} | |
_U.badCase($moduleName, | |
"between lines 417 and 421"); | |
}(); | |
}); | |
var keys = function (dict) { | |
return A3(foldr, | |
F3(function (key, | |
value, | |
keyList) { | |
return A2($List._op["::"], | |
key, | |
keyList); | |
}), | |
_L.fromArray([]), | |
dict); | |
}; | |
var values = function (dict) { | |
return A3(foldr, | |
F3(function (key, | |
value, | |
valueList) { | |
return A2($List._op["::"], | |
value, | |
valueList); | |
}), | |
_L.fromArray([]), | |
dict); | |
}; | |
var toList = function (dict) { | |
return A3(foldr, | |
F3(function (key,value,list) { | |
return A2($List._op["::"], | |
{ctor: "_Tuple2" | |
,_0: key | |
,_1: value}, | |
list); | |
}), | |
_L.fromArray([]), | |
dict); | |
}; | |
var foldl = F3(function (f, | |
acc, | |
dict) { | |
return function () { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBlack": return acc;} | |
break; | |
case "RBNode": return A3(foldl, | |
f, | |
A3(f, | |
dict._1, | |
dict._2, | |
A3(foldl,f,acc,dict._3)), | |
dict._4);} | |
_U.badCase($moduleName, | |
"between lines 406 and 410"); | |
}(); | |
}); | |
var isBBlack = function (dict) { | |
return function () { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBBlack": return true;} | |
break; | |
case "RBNode": | |
switch (dict._0.ctor) | |
{case "BBlack": return true;} | |
break;} | |
return false; | |
}(); | |
}; | |
var showFlag = function (f) { | |
return function () { | |
switch (f.ctor) | |
{case "Insert": return "Insert"; | |
case "Remove": return "Remove"; | |
case "Same": return "Same";} | |
_U.badCase($moduleName, | |
"between lines 182 and 185"); | |
}(); | |
}; | |
var Same = {ctor: "Same"}; | |
var Remove = {ctor: "Remove"}; | |
var Insert = {ctor: "Insert"}; | |
var get = F2(function (targetKey, | |
dict) { | |
return function () { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBlack": | |
return $Maybe.Nothing;} | |
break; | |
case "RBNode": | |
return function () { | |
var _v29 = A2($Basics.compare, | |
targetKey, | |
dict._1); | |
switch (_v29.ctor) | |
{case "EQ": | |
return $Maybe.Just(dict._2); | |
case "GT": return A2(get, | |
targetKey, | |
dict._4); | |
case "LT": return A2(get, | |
targetKey, | |
dict._3);} | |
_U.badCase($moduleName, | |
"between lines 129 and 132"); | |
}();} | |
_U.badCase($moduleName, | |
"between lines 124 and 132"); | |
}(); | |
}); | |
var member = F2(function (key, | |
dict) { | |
return function () { | |
var _v30 = A2(get,key,dict); | |
switch (_v30.ctor) | |
{case "Just": return true; | |
case "Nothing": return false;} | |
_U.badCase($moduleName, | |
"between lines 138 and 140"); | |
}(); | |
}); | |
var max = function (dict) { | |
return function () { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
return $Native$Debug.crash("(max Empty) is not defined"); | |
case "RBNode": | |
switch (dict._4.ctor) | |
{case "RBEmpty": | |
return {ctor: "_Tuple2" | |
,_0: dict._1 | |
,_1: dict._2};} | |
return max(dict._4);} | |
_U.badCase($moduleName, | |
"between lines 100 and 108"); | |
}(); | |
}; | |
var min = function (dict) { | |
return function () { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBlack": | |
return $Native$Debug.crash("(min Empty) is not defined");} | |
break; | |
case "RBNode": | |
switch (dict._3.ctor) | |
{case "RBEmpty": | |
switch (dict._3._0.ctor) | |
{case "LBlack": | |
return {ctor: "_Tuple2" | |
,_0: dict._1 | |
,_1: dict._2};} | |
break;} | |
return min(dict._3);} | |
_U.badCase($moduleName, | |
"between lines 87 and 95"); | |
}(); | |
}; | |
var RBEmpty = function (a) { | |
return {ctor: "RBEmpty" | |
,_0: a}; | |
}; | |
var RBNode = F5(function (a, | |
b, | |
c, | |
d, | |
e) { | |
return {ctor: "RBNode" | |
,_0: a | |
,_1: b | |
,_2: c | |
,_3: d | |
,_4: e}; | |
}); | |
var showLColor = function (color) { | |
return function () { | |
switch (color.ctor) | |
{case "LBBlack": | |
return "LBBlack"; | |
case "LBlack": return "LBlack";} | |
_U.badCase($moduleName, | |
"between lines 70 and 72"); | |
}(); | |
}; | |
var LBBlack = {ctor: "LBBlack"}; | |
var LBlack = {ctor: "LBlack"}; | |
var empty = RBEmpty(LBlack); | |
var isEmpty = function (dict) { | |
return _U.eq(dict,empty); | |
}; | |
var map = F2(function (f,dict) { | |
return function () { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBlack": | |
return RBEmpty(LBlack);} | |
break; | |
case "RBNode": return A5(RBNode, | |
dict._0, | |
dict._1, | |
A2(f,dict._1,dict._2), | |
A2(map,f,dict._3), | |
A2(map,f,dict._4));} | |
_U.badCase($moduleName, | |
"between lines 394 and 399"); | |
}(); | |
}); | |
var showNColor = function (c) { | |
return function () { | |
switch (c.ctor) | |
{case "BBlack": return "BBlack"; | |
case "Black": return "Black"; | |
case "NBlack": return "NBlack"; | |
case "Red": return "Red";} | |
_U.badCase($moduleName, | |
"between lines 56 and 60"); | |
}(); | |
}; | |
var reportRemBug = F4(function (msg, | |
c, | |
lgot, | |
rgot) { | |
return $Native$Debug.crash($String.concat(_L.fromArray(["Internal red-black tree invariant violated, expected " | |
,msg | |
," and got " | |
,showNColor(c) | |
,"/" | |
,lgot | |
,"/" | |
,rgot | |
,"\nPlease report this bug to <https://github.com/elm-lang/Elm/issues>"]))); | |
}); | |
var NBlack = {ctor: "NBlack"}; | |
var BBlack = {ctor: "BBlack"}; | |
var Black = {ctor: "Black"}; | |
var ensureBlackRoot = function (dict) { | |
return function () { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBlack": return dict;} | |
break; | |
case "RBNode": | |
switch (dict._0.ctor) | |
{case "Black": return dict; | |
case "Red": return A5(RBNode, | |
Black, | |
dict._1, | |
dict._2, | |
dict._3, | |
dict._4);} | |
break;} | |
_U.badCase($moduleName, | |
"between lines 154 and 162"); | |
}(); | |
}; | |
var blackish = function (t) { | |
return function () { | |
switch (t.ctor) | |
{case "RBEmpty": return true; | |
case "RBNode": | |
return _U.eq(t._0, | |
Black) || _U.eq(t._0,BBlack);} | |
_U.badCase($moduleName, | |
"between lines 339 and 341"); | |
}(); | |
}; | |
var blacken = function (t) { | |
return function () { | |
switch (t.ctor) | |
{case "RBEmpty": | |
return RBEmpty(LBlack); | |
case "RBNode": return A5(RBNode, | |
Black, | |
t._1, | |
t._2, | |
t._3, | |
t._4);} | |
_U.badCase($moduleName, | |
"between lines 378 and 380"); | |
}(); | |
}; | |
var Red = {ctor: "Red"}; | |
var moreBlack = function (color) { | |
return function () { | |
switch (color.ctor) | |
{case "BBlack": | |
return $Native$Debug.crash("Can\'t make a double black node more black!"); | |
case "Black": return BBlack; | |
case "NBlack": return Red; | |
case "Red": return Black;} | |
_U.badCase($moduleName, | |
"between lines 244 and 248"); | |
}(); | |
}; | |
var lessBlack = function (color) { | |
return function () { | |
switch (color.ctor) | |
{case "BBlack": return Black; | |
case "Black": return Red; | |
case "NBlack": | |
return $Native$Debug.crash("Can\'t make a negative black node less black!"); | |
case "Red": return NBlack;} | |
_U.badCase($moduleName, | |
"between lines 253 and 257"); | |
}(); | |
}; | |
var lessBlackTree = function (dict) { | |
return function () { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBBlack": | |
return RBEmpty(LBlack);} | |
break; | |
case "RBNode": return A5(RBNode, | |
lessBlack(dict._0), | |
dict._1, | |
dict._2, | |
dict._3, | |
dict._4);} | |
_U.badCase($moduleName, | |
"between lines 262 and 264"); | |
}(); | |
}; | |
var redden = function (t) { | |
return function () { | |
switch (t.ctor) | |
{case "RBEmpty": | |
return $Native$Debug.crash("can\'t make a Leaf red"); | |
case "RBNode": return A5(RBNode, | |
Red, | |
t._1, | |
t._2, | |
t._3, | |
t._4);} | |
_U.badCase($moduleName, | |
"between lines 386 and 388"); | |
}(); | |
}; | |
var balance_node = function (t) { | |
return function () { | |
var assemble = function (col) { | |
return function (xk) { | |
return function (xv) { | |
return function (yk) { | |
return function (yv) { | |
return function (zk) { | |
return function (zv) { | |
return function (a) { | |
return function (b) { | |
return function (c) { | |
return function (d) { | |
return A5(RBNode, | |
lessBlack(col), | |
yk, | |
yv, | |
A5(RBNode,Black,xk,xv,a,b), | |
A5(RBNode,Black,zk,zv,c,d)); | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
return blackish(t) ? function () { | |
switch (t.ctor) | |
{case "RBNode": | |
switch (t._3.ctor) | |
{case "RBNode": | |
switch (t._3._0.ctor) | |
{case "Red": | |
switch (t._3._3.ctor) | |
{case "RBNode": | |
switch (t._3._3._0.ctor) | |
{case "Red": | |
return assemble(t._0)(t._3._3._1)(t._3._3._2)(t._3._1)(t._3._2)(t._1)(t._2)(t._3._3._3)(t._3._3._4)(t._3._4)(t._4);} | |
break;} | |
switch (t._3._4.ctor) | |
{case "RBNode": | |
switch (t._3._4._0.ctor) | |
{case "Red": | |
return assemble(t._0)(t._3._1)(t._3._2)(t._3._4._1)(t._3._4._2)(t._1)(t._2)(t._3._3)(t._3._4._3)(t._3._4._4)(t._4);} | |
break;} | |
break;} | |
break;} | |
switch (t._4.ctor) | |
{case "RBNode": | |
switch (t._4._0.ctor) | |
{case "Red": | |
switch (t._4._3.ctor) | |
{case "RBNode": | |
switch (t._4._3._0.ctor) | |
{case "Red": | |
return assemble(t._0)(t._1)(t._2)(t._4._3._1)(t._4._3._2)(t._4._1)(t._4._2)(t._3)(t._4._3._3)(t._4._3._4)(t._4._4);} | |
break;} | |
switch (t._4._4.ctor) | |
{case "RBNode": | |
switch (t._4._4._0.ctor) | |
{case "Red": | |
return assemble(t._0)(t._1)(t._2)(t._4._1)(t._4._2)(t._4._4._1)(t._4._4._2)(t._3)(t._4._3)(t._4._4._3)(t._4._4._4);} | |
break;} | |
break;} | |
break;} | |
switch (t._0.ctor) | |
{case "BBlack": | |
switch (t._4.ctor) | |
{case "RBNode": | |
switch (t._4._0.ctor) | |
{case "NBlack": | |
switch (t._4._3.ctor) | |
{case "RBNode": | |
switch (t._4._3._0.ctor) | |
{case "Black": | |
return function () { | |
switch (t._4._4.ctor) | |
{case "RBNode": | |
switch (t._4._4._0.ctor) | |
{case "Black": | |
return A5(RBNode, | |
Black, | |
t._4._3._1, | |
t._4._3._2, | |
A5(RBNode, | |
Black, | |
t._1, | |
t._2, | |
t._3, | |
t._4._3._3), | |
A5(balance, | |
Black, | |
t._4._1, | |
t._4._2, | |
t._4._3._4, | |
redden(t._4._4)));} | |
break;} | |
return t; | |
}();} | |
break;} | |
break;} | |
break;} | |
switch (t._3.ctor) | |
{case "RBNode": | |
switch (t._3._0.ctor) | |
{case "NBlack": | |
switch (t._3._4.ctor) | |
{case "RBNode": | |
switch (t._3._4._0.ctor) | |
{case "Black": | |
return function () { | |
switch (t._3._3.ctor) | |
{case "RBNode": | |
switch (t._3._3._0.ctor) | |
{case "Black": | |
return A5(RBNode, | |
Black, | |
t._3._4._1, | |
t._3._4._2, | |
A5(balance, | |
Black, | |
t._3._1, | |
t._3._2, | |
redden(t._3._3), | |
t._3._4._3), | |
A5(RBNode, | |
Black, | |
t._1, | |
t._2, | |
t._3._4._4, | |
t._4));} | |
break;} | |
return t; | |
}();} | |
break;} | |
break;} | |
break;} | |
break;} | |
break;} | |
return t; | |
}() : t; | |
}(); | |
}; | |
var balance = F5(function (c, | |
k, | |
v, | |
l, | |
r) { | |
return balance_node(A5(RBNode, | |
c, | |
k, | |
v, | |
l, | |
r)); | |
}); | |
var bubble = F5(function (c, | |
k, | |
v, | |
l, | |
r) { | |
return isBBlack(l) || isBBlack(r) ? A5(balance, | |
moreBlack(c), | |
k, | |
v, | |
lessBlackTree(l), | |
lessBlackTree(r)) : A5(RBNode, | |
c, | |
k, | |
v, | |
l, | |
r); | |
}); | |
var remove_max = F5(function (c, | |
k, | |
v, | |
l, | |
r) { | |
return function () { | |
switch (r.ctor) | |
{case "RBEmpty": return A3(rem, | |
c, | |
l, | |
r); | |
case "RBNode": return A5(bubble, | |
c, | |
k, | |
v, | |
l, | |
A5(remove_max, | |
r._0, | |
r._1, | |
r._2, | |
r._3, | |
r._4));} | |
_U.badCase($moduleName, | |
"between lines 323 and 328"); | |
}(); | |
}); | |
var rem = F3(function (c,l,r) { | |
return function () { | |
var _v169 = {ctor: "_Tuple2" | |
,_0: l | |
,_1: r}; | |
switch (_v169.ctor) | |
{case "_Tuple2": | |
switch (_v169._0.ctor) | |
{case "RBEmpty": | |
switch (_v169._1.ctor) | |
{case "RBEmpty": | |
return function () { | |
switch (c.ctor) | |
{case "Black": | |
return RBEmpty(LBBlack); | |
case "Red": | |
return RBEmpty(LBlack);} | |
_U.badCase($moduleName, | |
"between lines 282 and 286"); | |
}(); | |
case "RBNode": | |
return function () { | |
var _v191 = {ctor: "_Tuple3" | |
,_0: c | |
,_1: _v169._0._0 | |
,_2: _v169._1._0}; | |
switch (_v191.ctor) | |
{case "_Tuple3": | |
switch (_v191._0.ctor) | |
{case "Black": | |
switch (_v191._1.ctor) | |
{case "LBlack": | |
switch (_v191._2.ctor) | |
{case "Red": return A5(RBNode, | |
Black, | |
_v169._1._1, | |
_v169._1._2, | |
_v169._1._3, | |
_v169._1._4);} | |
break;} | |
break;} | |
break;} | |
return A4(reportRemBug, | |
"Black/LBlack/Red", | |
c, | |
showLColor(_v169._0._0), | |
showNColor(_v169._1._0)); | |
}();} | |
break; | |
case "RBNode": | |
switch (_v169._1.ctor) | |
{case "RBEmpty": | |
return function () { | |
var _v195 = {ctor: "_Tuple3" | |
,_0: c | |
,_1: _v169._0._0 | |
,_2: _v169._1._0}; | |
switch (_v195.ctor) | |
{case "_Tuple3": | |
switch (_v195._0.ctor) | |
{case "Black": | |
switch (_v195._1.ctor) | |
{case "Red": | |
switch (_v195._2.ctor) | |
{case "LBlack": | |
return A5(RBNode, | |
Black, | |
_v169._0._1, | |
_v169._0._2, | |
_v169._0._3, | |
_v169._0._4);} | |
break;} | |
break;} | |
break;} | |
return A4(reportRemBug, | |
"Black/Red/LBlack", | |
c, | |
showNColor(_v169._0._0), | |
showLColor(_v169._1._0)); | |
}(); | |
case "RBNode": | |
return function () { | |
var l$ = A5(remove_max, | |
_v169._0._0, | |
_v169._0._1, | |
_v169._0._2, | |
_v169._0._3, | |
_v169._0._4); | |
var r = A5(RBNode, | |
_v169._1._0, | |
_v169._1._1, | |
_v169._1._2, | |
_v169._1._3, | |
_v169._1._4); | |
var l = A5(RBNode, | |
_v169._0._0, | |
_v169._0._1, | |
_v169._0._2, | |
_v169._0._3, | |
_v169._0._4); | |
var $ = max(l), | |
k = $._0, | |
v = $._1; | |
return A5(bubble,c,k,v,l$,r); | |
}();} | |
break;} | |
break;} | |
_U.badCase($moduleName, | |
"between lines 280 and 309"); | |
}(); | |
}); | |
var update = F3(function (k, | |
alter, | |
dict) { | |
return function () { | |
var up = function (dict) { | |
return function () { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBlack": | |
return function () { | |
var _v206 = alter($Maybe.Nothing); | |
switch (_v206.ctor) | |
{case "Just": | |
return {ctor: "_Tuple2" | |
,_0: Insert | |
,_1: A5(RBNode, | |
Red, | |
k, | |
_v206._0, | |
empty, | |
empty)}; | |
case "Nothing": | |
return {ctor: "_Tuple2" | |
,_0: Same | |
,_1: empty};} | |
_U.badCase($moduleName, | |
"between lines 194 and 198"); | |
}();} | |
break; | |
case "RBNode": | |
return function () { | |
var _v208 = A2($Basics.compare, | |
k, | |
dict._1); | |
switch (_v208.ctor) | |
{case "EQ": return function () { | |
var _v209 = alter($Maybe.Just(dict._2)); | |
switch (_v209.ctor) | |
{case "Just": | |
return {ctor: "_Tuple2" | |
,_0: Same | |
,_1: A5(RBNode, | |
dict._0, | |
dict._1, | |
_v209._0, | |
dict._3, | |
dict._4)}; | |
case "Nothing": | |
return {ctor: "_Tuple2" | |
,_0: Remove | |
,_1: A3(rem, | |
dict._0, | |
dict._3, | |
dict._4)};} | |
_U.badCase($moduleName, | |
"between lines 201 and 206"); | |
}(); | |
case "GT": return function () { | |
var $ = up(dict._4), | |
flag = $._0, | |
newRight = $._1; | |
return function () { | |
switch (flag.ctor) | |
{case "Insert": | |
return {ctor: "_Tuple2" | |
,_0: Insert | |
,_1: A5(balance, | |
dict._0, | |
dict._1, | |
dict._2, | |
dict._3, | |
newRight)}; | |
case "Remove": | |
return {ctor: "_Tuple2" | |
,_0: Remove | |
,_1: A5(bubble, | |
dict._0, | |
dict._1, | |
dict._2, | |
dict._3, | |
newRight)}; | |
case "Same": | |
return {ctor: "_Tuple2" | |
,_0: Same | |
,_1: A5(RBNode, | |
dict._0, | |
dict._1, | |
dict._2, | |
dict._3, | |
newRight)};} | |
_U.badCase($moduleName, | |
"between lines 215 and 220"); | |
}(); | |
}(); | |
case "LT": return function () { | |
var $ = up(dict._3), | |
flag = $._0, | |
newLeft = $._1; | |
return function () { | |
switch (flag.ctor) | |
{case "Insert": | |
return {ctor: "_Tuple2" | |
,_0: Insert | |
,_1: A5(balance, | |
dict._0, | |
dict._1, | |
dict._2, | |
newLeft, | |
dict._4)}; | |
case "Remove": | |
return {ctor: "_Tuple2" | |
,_0: Remove | |
,_1: A5(bubble, | |
dict._0, | |
dict._1, | |
dict._2, | |
newLeft, | |
dict._4)}; | |
case "Same": | |
return {ctor: "_Tuple2" | |
,_0: Same | |
,_1: A5(RBNode, | |
dict._0, | |
dict._1, | |
dict._2, | |
newLeft, | |
dict._4)};} | |
_U.badCase($moduleName, | |
"between lines 208 and 213"); | |
}(); | |
}();} | |
_U.badCase($moduleName, | |
"between lines 199 and 220"); | |
}();} | |
_U.badCase($moduleName, | |
"between lines 192 and 220"); | |
}(); | |
}; | |
var $ = up(dict), | |
flag = $._0, | |
updatedDict = $._1; | |
return function () { | |
switch (flag.ctor) | |
{case "Insert": | |
return ensureBlackRoot(updatedDict); | |
case "Remove": | |
return blacken(updatedDict); | |
case "Same": | |
return updatedDict;} | |
_U.badCase($moduleName, | |
"between lines 222 and 225"); | |
}(); | |
}(); | |
}); | |
var insert = F3(function (key, | |
value, | |
dict) { | |
return A3(update, | |
key, | |
$Basics.always($Maybe.Just(value)), | |
dict); | |
}); | |
var singleton = F2(function (key, | |
value) { | |
return A3(insert, | |
key, | |
value, | |
empty); | |
}); | |
var union = F2(function (t1, | |
t2) { | |
return A3(foldl, | |
insert, | |
t2, | |
t1); | |
}); | |
var fromList = function (assocs) { | |
return A3($List.foldl, | |
F2(function (_v214,dict) { | |
return function () { | |
switch (_v214.ctor) | |
{case "_Tuple2": | |
return A3(insert, | |
_v214._0, | |
_v214._1, | |
dict);} | |
_U.badCase($moduleName, | |
"on line 466, column 38 to 59"); | |
}(); | |
}), | |
empty, | |
assocs); | |
}; | |
var filter = F2(function (predicate, | |
dictionary) { | |
return function () { | |
var add = F3(function (key, | |
value, | |
dict) { | |
return A2(predicate, | |
key, | |
value) ? A3(insert, | |
key, | |
value, | |
dict) : dict; | |
}); | |
return A3(foldl, | |
add, | |
empty, | |
dictionary); | |
}(); | |
}); | |
var intersect = F2(function (t1, | |
t2) { | |
return A2(filter, | |
F2(function (k,_v218) { | |
return function () { | |
return A2(member,k,t2); | |
}(); | |
}), | |
t1); | |
}); | |
var partition = F2(function (predicate, | |
dict) { | |
return function () { | |
var add = F3(function (key, | |
value, | |
_v220) { | |
return function () { | |
switch (_v220.ctor) | |
{case "_Tuple2": | |
return A2(predicate, | |
key, | |
value) ? {ctor: "_Tuple2" | |
,_0: A3(insert, | |
key, | |
value, | |
_v220._0) | |
,_1: _v220._1} : {ctor: "_Tuple2" | |
,_0: _v220._0 | |
,_1: A3(insert, | |
key, | |
value, | |
_v220._1)};} | |
_U.badCase($moduleName, | |
"between lines 487 and 489"); | |
}(); | |
}); | |
return A3(foldl, | |
add, | |
{ctor: "_Tuple2" | |
,_0: empty | |
,_1: empty}, | |
dict); | |
}(); | |
}); | |
var remove = F2(function (key, | |
dict) { | |
return A3(update, | |
key, | |
$Basics.always($Maybe.Nothing), | |
dict); | |
}); | |
var diff = F2(function (t1,t2) { | |
return A3(foldl, | |
F3(function (k,v,t) { | |
return A2(remove,k,t); | |
}), | |
t1, | |
t2); | |
}); | |
_elm.Dict.values = {_op: _op | |
,empty: empty | |
,singleton: singleton | |
,insert: insert | |
,update: update | |
,isEmpty: isEmpty | |
,get: get | |
,remove: remove | |
,member: member | |
,filter: filter | |
,partition: partition | |
,foldl: foldl | |
,foldr: foldr | |
,map: map | |
,union: union | |
,intersect: intersect | |
,diff: diff | |
,keys: keys | |
,values: values | |
,toList: toList | |
,fromList: fromList}; | |
return _elm.Dict.values; | |
}; | |
Elm.Graphics = Elm.Graphics || {}; | |
Elm.Graphics.Collage = Elm.Graphics.Collage || {}; | |
Elm.Graphics.Collage.make = function (_elm) { | |
"use strict"; | |
_elm.Graphics = _elm.Graphics || {}; | |
_elm.Graphics.Collage = _elm.Graphics.Collage || {}; | |
if (_elm.Graphics.Collage.values) | |
return _elm.Graphics.Collage.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Graphics.Collage", | |
$Basics = Elm.Basics.make(_elm), | |
$Color = Elm.Color.make(_elm), | |
$Graphics$Element = Elm.Graphics.Element.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Native$Graphics$Collage = Elm.Native.Graphics.Collage.make(_elm), | |
$Text = Elm.Text.make(_elm), | |
$Transform2D = Elm.Transform2D.make(_elm); | |
var ngon = F2(function (n,r) { | |
return function () { | |
var m = $Basics.toFloat(n); | |
var t = 2 * $Basics.pi / m; | |
var f = function (i) { | |
return {ctor: "_Tuple2" | |
,_0: r * $Basics.cos(t * i) | |
,_1: r * $Basics.sin(t * i)}; | |
}; | |
return A2($List.map, | |
f, | |
_L.range(0,m - 1)); | |
}(); | |
}); | |
var oval = F2(function (w,h) { | |
return function () { | |
var hh = h / 2; | |
var hw = w / 2; | |
var n = 50; | |
var t = 2 * $Basics.pi / n; | |
var f = function (i) { | |
return {ctor: "_Tuple2" | |
,_0: hw * $Basics.cos(t * i) | |
,_1: hh * $Basics.sin(t * i)}; | |
}; | |
return A2($List.map, | |
f, | |
_L.range(0,n - 1)); | |
}(); | |
}); | |
var circle = function (r) { | |
return A2(oval,2 * r,2 * r); | |
}; | |
var rect = F2(function (w,h) { | |
return function () { | |
var hh = h / 2; | |
var hw = w / 2; | |
return _L.fromArray([{ctor: "_Tuple2" | |
,_0: 0 - hw | |
,_1: 0 - hh} | |
,{ctor: "_Tuple2" | |
,_0: 0 - hw | |
,_1: hh} | |
,{ctor: "_Tuple2",_0: hw,_1: hh} | |
,{ctor: "_Tuple2" | |
,_0: hw | |
,_1: 0 - hh}]); | |
}(); | |
}); | |
var square = function (n) { | |
return A2(rect,n,n); | |
}; | |
var polygon = function (points) { | |
return points; | |
}; | |
var segment = F2(function (p1, | |
p2) { | |
return _L.fromArray([p1,p2]); | |
}); | |
var path = function (ps) { | |
return ps; | |
}; | |
var collage = $Native$Graphics$Collage.collage; | |
var alpha = F2(function (a,f) { | |
return _U.replace([["alpha" | |
,a]], | |
f); | |
}); | |
var rotate = F2(function (t,f) { | |
return _U.replace([["theta" | |
,f.theta + t]], | |
f); | |
}); | |
var scale = F2(function (s,f) { | |
return _U.replace([["scale" | |
,f.scale * s]], | |
f); | |
}); | |
var moveY = F2(function (y,f) { | |
return _U.replace([["y" | |
,f.y + y]], | |
f); | |
}); | |
var moveX = F2(function (x,f) { | |
return _U.replace([["x" | |
,f.x + x]], | |
f); | |
}); | |
var move = F2(function (_v0,f) { | |
return function () { | |
switch (_v0.ctor) | |
{case "_Tuple2": | |
return _U.replace([["x" | |
,f.x + _v0._0] | |
,["y",f.y + _v0._1]], | |
f);} | |
_U.badCase($moduleName, | |
"on line 226, column 3 to 37"); | |
}(); | |
}); | |
var form = function (f) { | |
return {_: {} | |
,alpha: 1 | |
,form: f | |
,scale: 1 | |
,theta: 0 | |
,x: 0 | |
,y: 0}; | |
}; | |
var Fill = function (a) { | |
return {ctor: "Fill",_0: a}; | |
}; | |
var Line = function (a) { | |
return {ctor: "Line",_0: a}; | |
}; | |
var FGroup = F2(function (a,b) { | |
return {ctor: "FGroup" | |
,_0: a | |
,_1: b}; | |
}); | |
var group = function (fs) { | |
return form(A2(FGroup, | |
$Transform2D.identity, | |
fs)); | |
}; | |
var groupTransform = F2(function (matrix, | |
fs) { | |
return form(A2(FGroup, | |
matrix, | |
fs)); | |
}); | |
var FElement = function (a) { | |
return {ctor: "FElement" | |
,_0: a}; | |
}; | |
var toForm = function (e) { | |
return form(FElement(e)); | |
}; | |
var FImage = F4(function (a, | |
b, | |
c, | |
d) { | |
return {ctor: "FImage" | |
,_0: a | |
,_1: b | |
,_2: c | |
,_3: d}; | |
}); | |
var sprite = F4(function (w, | |
h, | |
pos, | |
src) { | |
return form(A4(FImage, | |
w, | |
h, | |
pos, | |
src)); | |
}); | |
var FText = function (a) { | |
return {ctor: "FText",_0: a}; | |
}; | |
var text = function (t) { | |
return form(FText(t)); | |
}; | |
var FOutlinedText = F2(function (a, | |
b) { | |
return {ctor: "FOutlinedText" | |
,_0: a | |
,_1: b}; | |
}); | |
var outlinedText = F2(function (ls, | |
t) { | |
return form(A2(FOutlinedText, | |
ls, | |
t)); | |
}); | |
var FShape = F2(function (a,b) { | |
return {ctor: "FShape" | |
,_0: a | |
,_1: b}; | |
}); | |
var fill = F2(function (style, | |
shape) { | |
return form(A2(FShape, | |
Fill(style), | |
shape)); | |
}); | |
var outlined = F2(function (style, | |
shape) { | |
return form(A2(FShape, | |
Line(style), | |
shape)); | |
}); | |
var FPath = F2(function (a,b) { | |
return {ctor: "FPath" | |
,_0: a | |
,_1: b}; | |
}); | |
var traced = F2(function (style, | |
path) { | |
return form(A2(FPath, | |
style, | |
path)); | |
}); | |
var LineStyle = F6(function (a, | |
b, | |
c, | |
d, | |
e, | |
f) { | |
return {_: {} | |
,cap: c | |
,color: a | |
,dashOffset: f | |
,dashing: e | |
,join: d | |
,width: b}; | |
}); | |
var Clipped = {ctor: "Clipped"}; | |
var Sharp = function (a) { | |
return {ctor: "Sharp",_0: a}; | |
}; | |
var Smooth = {ctor: "Smooth"}; | |
var Padded = {ctor: "Padded"}; | |
var Round = {ctor: "Round"}; | |
var Flat = {ctor: "Flat"}; | |
var defaultLine = {_: {} | |
,cap: Flat | |
,color: $Color.black | |
,dashOffset: 0 | |
,dashing: _L.fromArray([]) | |
,join: Sharp(10) | |
,width: 1}; | |
var solid = function (clr) { | |
return _U.replace([["color" | |
,clr]], | |
defaultLine); | |
}; | |
var dashed = function (clr) { | |
return _U.replace([["color" | |
,clr] | |
,["dashing" | |
,_L.fromArray([8,4])]], | |
defaultLine); | |
}; | |
var dotted = function (clr) { | |
return _U.replace([["color" | |
,clr] | |
,["dashing" | |
,_L.fromArray([3,3])]], | |
defaultLine); | |
}; | |
var Grad = function (a) { | |
return {ctor: "Grad",_0: a}; | |
}; | |
var gradient = F2(function (grad, | |
shape) { | |
return A2(fill, | |
Grad(grad), | |
shape); | |
}); | |
var Texture = function (a) { | |
return {ctor: "Texture" | |
,_0: a}; | |
}; | |
var textured = F2(function (src, | |
shape) { | |
return A2(fill, | |
Texture(src), | |
shape); | |
}); | |
var Solid = function (a) { | |
return {ctor: "Solid",_0: a}; | |
}; | |
var filled = F2(function (color, | |
shape) { | |
return A2(fill, | |
Solid(color), | |
shape); | |
}); | |
var Form = F6(function (a, | |
b, | |
c, | |
d, | |
e, | |
f) { | |
return {_: {} | |
,alpha: e | |
,form: f | |
,scale: b | |
,theta: a | |
,x: c | |
,y: d}; | |
}); | |
_elm.Graphics.Collage.values = {_op: _op | |
,collage: collage | |
,toForm: toForm | |
,filled: filled | |
,textured: textured | |
,gradient: gradient | |
,outlined: outlined | |
,traced: traced | |
,text: text | |
,outlinedText: outlinedText | |
,move: move | |
,moveX: moveX | |
,moveY: moveY | |
,scale: scale | |
,rotate: rotate | |
,alpha: alpha | |
,group: group | |
,groupTransform: groupTransform | |
,rect: rect | |
,oval: oval | |
,square: square | |
,circle: circle | |
,ngon: ngon | |
,polygon: polygon | |
,segment: segment | |
,path: path | |
,solid: solid | |
,dashed: dashed | |
,dotted: dotted | |
,defaultLine: defaultLine | |
,Form: Form | |
,LineStyle: LineStyle | |
,Flat: Flat | |
,Round: Round | |
,Padded: Padded | |
,Smooth: Smooth | |
,Sharp: Sharp | |
,Clipped: Clipped}; | |
return _elm.Graphics.Collage.values; | |
}; | |
Elm.Graphics = Elm.Graphics || {}; | |
Elm.Graphics.Element = Elm.Graphics.Element || {}; | |
Elm.Graphics.Element.make = function (_elm) { | |
"use strict"; | |
_elm.Graphics = _elm.Graphics || {}; | |
_elm.Graphics.Element = _elm.Graphics.Element || {}; | |
if (_elm.Graphics.Element.values) | |
return _elm.Graphics.Element.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Graphics.Element", | |
$Basics = Elm.Basics.make(_elm), | |
$Color = Elm.Color.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Graphics$Element = Elm.Native.Graphics.Element.make(_elm), | |
$Text = Elm.Text.make(_elm); | |
var DOut = {ctor: "DOut"}; | |
var outward = DOut; | |
var DIn = {ctor: "DIn"}; | |
var inward = DIn; | |
var DRight = {ctor: "DRight"}; | |
var right = DRight; | |
var DLeft = {ctor: "DLeft"}; | |
var left = DLeft; | |
var DDown = {ctor: "DDown"}; | |
var down = DDown; | |
var DUp = {ctor: "DUp"}; | |
var up = DUp; | |
var Position = F4(function (a, | |
b, | |
c, | |
d) { | |
return {_: {} | |
,horizontal: a | |
,vertical: b | |
,x: c | |
,y: d}; | |
}); | |
var Relative = function (a) { | |
return {ctor: "Relative" | |
,_0: a}; | |
}; | |
var relative = Relative; | |
var Absolute = function (a) { | |
return {ctor: "Absolute" | |
,_0: a}; | |
}; | |
var absolute = Absolute; | |
var N = {ctor: "N"}; | |
var bottomLeftAt = F2(function (x, | |
y) { | |
return {_: {} | |
,horizontal: N | |
,vertical: N | |
,x: x | |
,y: y}; | |
}); | |
var Z = {ctor: "Z"}; | |
var middle = {_: {} | |
,horizontal: Z | |
,vertical: Z | |
,x: Relative(0.5) | |
,y: Relative(0.5)}; | |
var midLeft = _U.replace([["horizontal" | |
,N] | |
,["x",Absolute(0)]], | |
middle); | |
var middleAt = F2(function (x, | |
y) { | |
return {_: {} | |
,horizontal: Z | |
,vertical: Z | |
,x: x | |
,y: y}; | |
}); | |
var midLeftAt = F2(function (x, | |
y) { | |
return {_: {} | |
,horizontal: N | |
,vertical: Z | |
,x: x | |
,y: y}; | |
}); | |
var midBottomAt = F2(function (x, | |
y) { | |
return {_: {} | |
,horizontal: Z | |
,vertical: N | |
,x: x | |
,y: y}; | |
}); | |
var P = {ctor: "P"}; | |
var topLeft = {_: {} | |
,horizontal: N | |
,vertical: P | |
,x: Absolute(0) | |
,y: Absolute(0)}; | |
var bottomLeft = _U.replace([["vertical" | |
,N]], | |
topLeft); | |
var topRight = _U.replace([["horizontal" | |
,P]], | |
topLeft); | |
var bottomRight = _U.replace([["horizontal" | |
,P]], | |
bottomLeft); | |
var midRight = _U.replace([["horizontal" | |
,P]], | |
midLeft); | |
var midTop = _U.replace([["vertical" | |
,P] | |
,["y",Absolute(0)]], | |
middle); | |
var midBottom = _U.replace([["vertical" | |
,N]], | |
midTop); | |
var topLeftAt = F2(function (x, | |
y) { | |
return {_: {} | |
,horizontal: N | |
,vertical: P | |
,x: x | |
,y: y}; | |
}); | |
var topRightAt = F2(function (x, | |
y) { | |
return {_: {} | |
,horizontal: P | |
,vertical: P | |
,x: x | |
,y: y}; | |
}); | |
var bottomRightAt = F2(function (x, | |
y) { | |
return {_: {} | |
,horizontal: P | |
,vertical: N | |
,x: x | |
,y: y}; | |
}); | |
var midRightAt = F2(function (x, | |
y) { | |
return {_: {} | |
,horizontal: P | |
,vertical: Z | |
,x: x | |
,y: y}; | |
}); | |
var midTopAt = F2(function (x, | |
y) { | |
return {_: {} | |
,horizontal: Z | |
,vertical: P | |
,x: x | |
,y: y}; | |
}); | |
var justified = $Native$Graphics$Element.block("justify"); | |
var centered = $Native$Graphics$Element.block("center"); | |
var rightAligned = $Native$Graphics$Element.block("right"); | |
var leftAligned = $Native$Graphics$Element.block("left"); | |
var show = function (value) { | |
return leftAligned($Text.monospace($Text.fromString($Basics.toString(value)))); | |
}; | |
var Tiled = {ctor: "Tiled"}; | |
var Cropped = function (a) { | |
return {ctor: "Cropped" | |
,_0: a}; | |
}; | |
var Fitted = {ctor: "Fitted"}; | |
var Plain = {ctor: "Plain"}; | |
var Custom = {ctor: "Custom"}; | |
var RawHtml = {ctor: "RawHtml"}; | |
var Spacer = {ctor: "Spacer"}; | |
var Flow = F2(function (a,b) { | |
return {ctor: "Flow" | |
,_0: a | |
,_1: b}; | |
}); | |
var Container = F2(function (a, | |
b) { | |
return {ctor: "Container" | |
,_0: a | |
,_1: b}; | |
}); | |
var Image = F4(function (a, | |
b, | |
c, | |
d) { | |
return {ctor: "Image" | |
,_0: a | |
,_1: b | |
,_2: c | |
,_3: d}; | |
}); | |
var newElement = $Native$Graphics$Element.newElement; | |
var image = F3(function (w, | |
h, | |
src) { | |
return A3(newElement, | |
w, | |
h, | |
A4(Image,Plain,w,h,src)); | |
}); | |
var fittedImage = F3(function (w, | |
h, | |
src) { | |
return A3(newElement, | |
w, | |
h, | |
A4(Image,Fitted,w,h,src)); | |
}); | |
var croppedImage = F4(function (pos, | |
w, | |
h, | |
src) { | |
return A3(newElement, | |
w, | |
h, | |
A4(Image,Cropped(pos),w,h,src)); | |
}); | |
var tiledImage = F3(function (w, | |
h, | |
src) { | |
return A3(newElement, | |
w, | |
h, | |
A4(Image,Tiled,w,h,src)); | |
}); | |
var container = F4(function (w, | |
h, | |
pos, | |
e) { | |
return A3(newElement, | |
w, | |
h, | |
A2(Container,pos,e)); | |
}); | |
var spacer = F2(function (w,h) { | |
return A3(newElement, | |
w, | |
h, | |
Spacer); | |
}); | |
var link = F2(function (href, | |
e) { | |
return function () { | |
var p = e.props; | |
return {_: {} | |
,element: e.element | |
,props: _U.replace([["href" | |
,href]], | |
p)}; | |
}(); | |
}); | |
var tag = F2(function (name,e) { | |
return function () { | |
var p = e.props; | |
return {_: {} | |
,element: e.element | |
,props: _U.replace([["tag" | |
,name]], | |
p)}; | |
}(); | |
}); | |
var color = F2(function (c,e) { | |
return function () { | |
var p = e.props; | |
return {_: {} | |
,element: e.element | |
,props: _U.replace([["color" | |
,$Maybe.Just(c)]], | |
p)}; | |
}(); | |
}); | |
var opacity = F2(function (o, | |
e) { | |
return function () { | |
var p = e.props; | |
return {_: {} | |
,element: e.element | |
,props: _U.replace([["opacity" | |
,o]], | |
p)}; | |
}(); | |
}); | |
var height = F2(function (nh, | |
e) { | |
return function () { | |
var p = e.props; | |
var props = function () { | |
var _v0 = e.element; | |
switch (_v0.ctor) | |
{case "Image": | |
return _U.replace([["width" | |
,$Basics.round($Basics.toFloat(_v0._1) / $Basics.toFloat(_v0._2) * $Basics.toFloat(nh))]], | |
p);} | |
return p; | |
}(); | |
return {_: {} | |
,element: e.element | |
,props: _U.replace([["height" | |
,nh]], | |
p)}; | |
}(); | |
}); | |
var width = F2(function (nw,e) { | |
return function () { | |
var p = e.props; | |
var props = function () { | |
var _v5 = e.element; | |
switch (_v5.ctor) | |
{case "Image": | |
return _U.replace([["height" | |
,$Basics.round($Basics.toFloat(_v5._2) / $Basics.toFloat(_v5._1) * $Basics.toFloat(nw))]], | |
p); | |
case "RawHtml": | |
return _U.replace([["height" | |
,$Basics.snd(A2($Native$Graphics$Element.htmlHeight, | |
nw, | |
e.element))]], | |
p);} | |
return p; | |
}(); | |
return {_: {} | |
,element: e.element | |
,props: _U.replace([["width" | |
,nw]], | |
props)}; | |
}(); | |
}); | |
var size = F3(function (w,h,e) { | |
return A2(height, | |
h, | |
A2(width,w,e)); | |
}); | |
var sizeOf = function (e) { | |
return {ctor: "_Tuple2" | |
,_0: e.props.width | |
,_1: e.props.height}; | |
}; | |
var heightOf = function (e) { | |
return e.props.height; | |
}; | |
var widthOf = function (e) { | |
return e.props.width; | |
}; | |
var above = F2(function (hi, | |
lo) { | |
return A3(newElement, | |
A2($Basics.max, | |
widthOf(hi), | |
widthOf(lo)), | |
heightOf(hi) + heightOf(lo), | |
A2(Flow, | |
DDown, | |
_L.fromArray([hi,lo]))); | |
}); | |
var below = F2(function (lo, | |
hi) { | |
return A3(newElement, | |
A2($Basics.max, | |
widthOf(hi), | |
widthOf(lo)), | |
heightOf(hi) + heightOf(lo), | |
A2(Flow, | |
DDown, | |
_L.fromArray([hi,lo]))); | |
}); | |
var beside = F2(function (lft, | |
rht) { | |
return A3(newElement, | |
widthOf(lft) + widthOf(rht), | |
A2($Basics.max, | |
heightOf(lft), | |
heightOf(rht)), | |
A2(Flow, | |
right, | |
_L.fromArray([lft,rht]))); | |
}); | |
var layers = function (es) { | |
return function () { | |
var hs = A2($List.map, | |
heightOf, | |
es); | |
var ws = A2($List.map, | |
widthOf, | |
es); | |
return A3(newElement, | |
A2($Maybe.withDefault, | |
0, | |
$List.maximum(ws)), | |
A2($Maybe.withDefault, | |
0, | |
$List.maximum(hs)), | |
A2(Flow,DOut,es)); | |
}(); | |
}; | |
var empty = A2(spacer,0,0); | |
var flow = F2(function (dir, | |
es) { | |
return function () { | |
var newFlow = F2(function (w, | |
h) { | |
return A3(newElement, | |
w, | |
h, | |
A2(Flow,dir,es)); | |
}); | |
var maxOrZero = function (list) { | |
return A2($Maybe.withDefault, | |
0, | |
$List.maximum(list)); | |
}; | |
var hs = A2($List.map, | |
heightOf, | |
es); | |
var ws = A2($List.map, | |
widthOf, | |
es); | |
return _U.eq(es, | |
_L.fromArray([])) ? empty : function () { | |
switch (dir.ctor) | |
{case "DDown": | |
return A2(newFlow, | |
maxOrZero(ws), | |
$List.sum(hs)); | |
case "DIn": return A2(newFlow, | |
maxOrZero(ws), | |
maxOrZero(hs)); | |
case "DLeft": return A2(newFlow, | |
$List.sum(ws), | |
maxOrZero(hs)); | |
case "DOut": return A2(newFlow, | |
maxOrZero(ws), | |
maxOrZero(hs)); | |
case "DRight": | |
return A2(newFlow, | |
$List.sum(ws), | |
maxOrZero(hs)); | |
case "DUp": return A2(newFlow, | |
maxOrZero(ws), | |
$List.sum(hs));} | |
_U.badCase($moduleName, | |
"between lines 362 and 368"); | |
}(); | |
}(); | |
}); | |
var Properties = F9(function (a, | |
b, | |
c, | |
d, | |
e, | |
f, | |
g, | |
h, | |
i) { | |
return {_: {} | |
,click: i | |
,color: e | |
,height: c | |
,hover: h | |
,href: f | |
,id: a | |
,opacity: d | |
,tag: g | |
,width: b}; | |
}); | |
var Element = F2(function (a, | |
b) { | |
return {_: {} | |
,element: b | |
,props: a}; | |
}); | |
_elm.Graphics.Element.values = {_op: _op | |
,image: image | |
,fittedImage: fittedImage | |
,croppedImage: croppedImage | |
,tiledImage: tiledImage | |
,leftAligned: leftAligned | |
,rightAligned: rightAligned | |
,centered: centered | |
,justified: justified | |
,show: show | |
,width: width | |
,height: height | |
,size: size | |
,color: color | |
,opacity: opacity | |
,link: link | |
,tag: tag | |
,widthOf: widthOf | |
,heightOf: heightOf | |
,sizeOf: sizeOf | |
,flow: flow | |
,up: up | |
,down: down | |
,left: left | |
,right: right | |
,inward: inward | |
,outward: outward | |
,layers: layers | |
,above: above | |
,below: below | |
,beside: beside | |
,empty: empty | |
,spacer: spacer | |
,container: container | |
,middle: middle | |
,midTop: midTop | |
,midBottom: midBottom | |
,midLeft: midLeft | |
,midRight: midRight | |
,topLeft: topLeft | |
,topRight: topRight | |
,bottomLeft: bottomLeft | |
,bottomRight: bottomRight | |
,absolute: absolute | |
,relative: relative | |
,middleAt: middleAt | |
,midTopAt: midTopAt | |
,midBottomAt: midBottomAt | |
,midLeftAt: midLeftAt | |
,midRightAt: midRightAt | |
,topLeftAt: topLeftAt | |
,topRightAt: topRightAt | |
,bottomLeftAt: bottomLeftAt | |
,bottomRightAt: bottomRightAt | |
,Element: Element | |
,Position: Position}; | |
return _elm.Graphics.Element.values; | |
}; | |
Elm.Html = Elm.Html || {}; | |
Elm.Html.make = function (_elm) { | |
"use strict"; | |
_elm.Html = _elm.Html || {}; | |
if (_elm.Html.values) | |
return _elm.Html.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Html", | |
$Basics = Elm.Basics.make(_elm), | |
$Graphics$Element = Elm.Graphics.Element.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$VirtualDom = Elm.VirtualDom.make(_elm); | |
var fromElement = $VirtualDom.fromElement; | |
var toElement = $VirtualDom.toElement; | |
var text = $VirtualDom.text; | |
var node = $VirtualDom.node; | |
var body = node("body"); | |
var section = node("section"); | |
var nav = node("nav"); | |
var article = node("article"); | |
var aside = node("aside"); | |
var h1 = node("h1"); | |
var h2 = node("h2"); | |
var h3 = node("h3"); | |
var h4 = node("h4"); | |
var h5 = node("h5"); | |
var h6 = node("h6"); | |
var header = node("header"); | |
var footer = node("footer"); | |
var address = node("address"); | |
var main$ = node("main"); | |
var p = node("p"); | |
var hr = node("hr"); | |
var pre = node("pre"); | |
var blockquote = node("blockquote"); | |
var ol = node("ol"); | |
var ul = node("ul"); | |
var li = node("li"); | |
var dl = node("dl"); | |
var dt = node("dt"); | |
var dd = node("dd"); | |
var figure = node("figure"); | |
var figcaption = node("figcaption"); | |
var div = node("div"); | |
var a = node("a"); | |
var em = node("em"); | |
var strong = node("strong"); | |
var small = node("small"); | |
var s = node("s"); | |
var cite = node("cite"); | |
var q = node("q"); | |
var dfn = node("dfn"); | |
var abbr = node("abbr"); | |
var time = node("time"); | |
var code = node("code"); | |
var $var = node("var"); | |
var samp = node("samp"); | |
var kbd = node("kbd"); | |
var sub = node("sub"); | |
var sup = node("sup"); | |
var i = node("i"); | |
var b = node("b"); | |
var u = node("u"); | |
var mark = node("mark"); | |
var ruby = node("ruby"); | |
var rt = node("rt"); | |
var rp = node("rp"); | |
var bdi = node("bdi"); | |
var bdo = node("bdo"); | |
var span = node("span"); | |
var br = node("br"); | |
var wbr = node("wbr"); | |
var ins = node("ins"); | |
var del = node("del"); | |
var img = node("img"); | |
var iframe = node("iframe"); | |
var embed = node("embed"); | |
var object = node("object"); | |
var param = node("param"); | |
var video = node("video"); | |
var audio = node("audio"); | |
var source = node("source"); | |
var track = node("track"); | |
var canvas = node("canvas"); | |
var svg = node("svg"); | |
var math = node("math"); | |
var table = node("table"); | |
var caption = node("caption"); | |
var colgroup = node("colgroup"); | |
var col = node("col"); | |
var tbody = node("tbody"); | |
var thead = node("thead"); | |
var tfoot = node("tfoot"); | |
var tr = node("tr"); | |
var td = node("td"); | |
var th = node("th"); | |
var form = node("form"); | |
var fieldset = node("fieldset"); | |
var legend = node("legend"); | |
var label = node("label"); | |
var input = node("input"); | |
var button = node("button"); | |
var select = node("select"); | |
var datalist = node("datalist"); | |
var optgroup = node("optgroup"); | |
var option = node("option"); | |
var textarea = node("textarea"); | |
var keygen = node("keygen"); | |
var output = node("output"); | |
var progress = node("progress"); | |
var meter = node("meter"); | |
var details = node("details"); | |
var summary = node("summary"); | |
var menuitem = node("menuitem"); | |
var menu = node("menu"); | |
_elm.Html.values = {_op: _op | |
,node: node | |
,text: text | |
,toElement: toElement | |
,fromElement: fromElement | |
,body: body | |
,section: section | |
,nav: nav | |
,article: article | |
,aside: aside | |
,h1: h1 | |
,h2: h2 | |
,h3: h3 | |
,h4: h4 | |
,h5: h5 | |
,h6: h6 | |
,header: header | |
,footer: footer | |
,address: address | |
,main$: main$ | |
,p: p | |
,hr: hr | |
,pre: pre | |
,blockquote: blockquote | |
,ol: ol | |
,ul: ul | |
,li: li | |
,dl: dl | |
,dt: dt | |
,dd: dd | |
,figure: figure | |
,figcaption: figcaption | |
,div: div | |
,a: a | |
,em: em | |
,strong: strong | |
,small: small | |
,s: s | |
,cite: cite | |
,q: q | |
,dfn: dfn | |
,abbr: abbr | |
,time: time | |
,code: code | |
,$var: $var | |
,samp: samp | |
,kbd: kbd | |
,sub: sub | |
,sup: sup | |
,i: i | |
,b: b | |
,u: u | |
,mark: mark | |
,ruby: ruby | |
,rt: rt | |
,rp: rp | |
,bdi: bdi | |
,bdo: bdo | |
,span: span | |
,br: br | |
,wbr: wbr | |
,ins: ins | |
,del: del | |
,img: img | |
,iframe: iframe | |
,embed: embed | |
,object: object | |
,param: param | |
,video: video | |
,audio: audio | |
,source: source | |
,track: track | |
,canvas: canvas | |
,svg: svg | |
,math: math | |
,table: table | |
,caption: caption | |
,colgroup: colgroup | |
,col: col | |
,tbody: tbody | |
,thead: thead | |
,tfoot: tfoot | |
,tr: tr | |
,td: td | |
,th: th | |
,form: form | |
,fieldset: fieldset | |
,legend: legend | |
,label: label | |
,input: input | |
,button: button | |
,select: select | |
,datalist: datalist | |
,optgroup: optgroup | |
,option: option | |
,textarea: textarea | |
,keygen: keygen | |
,output: output | |
,progress: progress | |
,meter: meter | |
,details: details | |
,summary: summary | |
,menuitem: menuitem | |
,menu: menu}; | |
return _elm.Html.values; | |
}; | |
Elm.Html = Elm.Html || {}; | |
Elm.Html.Attributes = Elm.Html.Attributes || {}; | |
Elm.Html.Attributes.make = function (_elm) { | |
"use strict"; | |
_elm.Html = _elm.Html || {}; | |
_elm.Html.Attributes = _elm.Html.Attributes || {}; | |
if (_elm.Html.Attributes.values) | |
return _elm.Html.Attributes.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Html.Attributes", | |
$Basics = Elm.Basics.make(_elm), | |
$Html = Elm.Html.make(_elm), | |
$Json$Encode = Elm.Json.Encode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$String = Elm.String.make(_elm), | |
$VirtualDom = Elm.VirtualDom.make(_elm); | |
var attribute = $VirtualDom.attribute; | |
var property = $VirtualDom.property; | |
var stringProperty = F2(function (name, | |
string) { | |
return A2(property, | |
name, | |
$Json$Encode.string(string)); | |
}); | |
var $class = function (name) { | |
return A2(stringProperty, | |
"className", | |
name); | |
}; | |
var id = function (name) { | |
return A2(stringProperty, | |
"id", | |
name); | |
}; | |
var title = function (name) { | |
return A2(stringProperty, | |
"title", | |
name); | |
}; | |
var accesskey = function ($char) { | |
return A2(stringProperty, | |
"accesskey", | |
$String.fromList(_L.fromArray([$char]))); | |
}; | |
var contextmenu = function (value) { | |
return A2(stringProperty, | |
"contextmenu", | |
value); | |
}; | |
var dir = function (value) { | |
return A2(stringProperty, | |
"dir", | |
value); | |
}; | |
var draggable = function (value) { | |
return A2(stringProperty, | |
"draggable", | |
value); | |
}; | |
var dropzone = function (value) { | |
return A2(stringProperty, | |
"dropzone", | |
value); | |
}; | |
var itemprop = function (value) { | |
return A2(stringProperty, | |
"itemprop", | |
value); | |
}; | |
var lang = function (value) { | |
return A2(stringProperty, | |
"lang", | |
value); | |
}; | |
var tabindex = function (n) { | |
return A2(stringProperty, | |
"tabIndex", | |
$Basics.toString(n)); | |
}; | |
var charset = function (value) { | |
return A2(stringProperty, | |
"charset", | |
value); | |
}; | |
var content = function (value) { | |
return A2(stringProperty, | |
"content", | |
value); | |
}; | |
var httpEquiv = function (value) { | |
return A2(stringProperty, | |
"httpEquiv", | |
value); | |
}; | |
var language = function (value) { | |
return A2(stringProperty, | |
"language", | |
value); | |
}; | |
var src = function (value) { | |
return A2(stringProperty, | |
"src", | |
value); | |
}; | |
var height = function (value) { | |
return A2(stringProperty, | |
"height", | |
$Basics.toString(value)); | |
}; | |
var width = function (value) { | |
return A2(stringProperty, | |
"width", | |
$Basics.toString(value)); | |
}; | |
var alt = function (value) { | |
return A2(stringProperty, | |
"alt", | |
value); | |
}; | |
var preload = function (value) { | |
return A2(stringProperty, | |
"preload", | |
value); | |
}; | |
var poster = function (value) { | |
return A2(stringProperty, | |
"poster", | |
value); | |
}; | |
var kind = function (value) { | |
return A2(stringProperty, | |
"kind", | |
value); | |
}; | |
var srclang = function (value) { | |
return A2(stringProperty, | |
"srclang", | |
value); | |
}; | |
var sandbox = function (value) { | |
return A2(stringProperty, | |
"sandbox", | |
value); | |
}; | |
var srcdoc = function (value) { | |
return A2(stringProperty, | |
"srcdoc", | |
value); | |
}; | |
var type$ = function (value) { | |
return A2(stringProperty, | |
"type", | |
value); | |
}; | |
var value = function (value) { | |
return A2(stringProperty, | |
"value", | |
value); | |
}; | |
var placeholder = function (value) { | |
return A2(stringProperty, | |
"placeholder", | |
value); | |
}; | |
var accept = function (value) { | |
return A2(stringProperty, | |
"accept", | |
value); | |
}; | |
var acceptCharset = function (value) { | |
return A2(stringProperty, | |
"acceptCharset", | |
value); | |
}; | |
var action = function (value) { | |
return A2(stringProperty, | |
"action", | |
value); | |
}; | |
var autocomplete = function (bool) { | |
return A2(stringProperty, | |
"autocomplete", | |
bool ? "on" : "off"); | |
}; | |
var autosave = function (value) { | |
return A2(stringProperty, | |
"autosave", | |
value); | |
}; | |
var enctype = function (value) { | |
return A2(stringProperty, | |
"enctype", | |
value); | |
}; | |
var formaction = function (value) { | |
return A2(stringProperty, | |
"formaction", | |
value); | |
}; | |
var list = function (value) { | |
return A2(stringProperty, | |
"list", | |
value); | |
}; | |
var minlength = function (n) { | |
return A2(stringProperty, | |
"minLength", | |
$Basics.toString(n)); | |
}; | |
var maxlength = function (n) { | |
return A2(stringProperty, | |
"maxLength", | |
$Basics.toString(n)); | |
}; | |
var method = function (value) { | |
return A2(stringProperty, | |
"method", | |
value); | |
}; | |
var name = function (value) { | |
return A2(stringProperty, | |
"name", | |
value); | |
}; | |
var pattern = function (value) { | |
return A2(stringProperty, | |
"pattern", | |
value); | |
}; | |
var size = function (n) { | |
return A2(stringProperty, | |
"size", | |
$Basics.toString(n)); | |
}; | |
var $for = function (value) { | |
return A2(stringProperty, | |
"htmlFor", | |
value); | |
}; | |
var form = function (value) { | |
return A2(stringProperty, | |
"form", | |
value); | |
}; | |
var max = function (value) { | |
return A2(stringProperty, | |
"max", | |
value); | |
}; | |
var min = function (value) { | |
return A2(stringProperty, | |
"min", | |
value); | |
}; | |
var step = function (n) { | |
return A2(stringProperty, | |
"step", | |
n); | |
}; | |
var cols = function (n) { | |
return A2(stringProperty, | |
"cols", | |
$Basics.toString(n)); | |
}; | |
var rows = function (n) { | |
return A2(stringProperty, | |
"rows", | |
$Basics.toString(n)); | |
}; | |
var wrap = function (value) { | |
return A2(stringProperty, | |
"wrap", | |
value); | |
}; | |
var usemap = function (value) { | |
return A2(stringProperty, | |
"useMap", | |
value); | |
}; | |
var shape = function (value) { | |
return A2(stringProperty, | |
"shape", | |
value); | |
}; | |
var coords = function (value) { | |
return A2(stringProperty, | |
"coords", | |
value); | |
}; | |
var challenge = function (value) { | |
return A2(stringProperty, | |
"challenge", | |
value); | |
}; | |
var keytype = function (value) { | |
return A2(stringProperty, | |
"keytype", | |
value); | |
}; | |
var align = function (value) { | |
return A2(stringProperty, | |
"align", | |
value); | |
}; | |
var cite = function (value) { | |
return A2(stringProperty, | |
"cite", | |
value); | |
}; | |
var href = function (value) { | |
return A2(stringProperty, | |
"href", | |
value); | |
}; | |
var target = function (value) { | |
return A2(stringProperty, | |
"target", | |
value); | |
}; | |
var downloadAs = function (value) { | |
return A2(stringProperty, | |
"download", | |
value); | |
}; | |
var hreflang = function (value) { | |
return A2(stringProperty, | |
"hreflang", | |
value); | |
}; | |
var media = function (value) { | |
return A2(stringProperty, | |
"media", | |
value); | |
}; | |
var ping = function (value) { | |
return A2(stringProperty, | |
"ping", | |
value); | |
}; | |
var rel = function (value) { | |
return A2(stringProperty, | |
"rel", | |
value); | |
}; | |
var datetime = function (value) { | |
return A2(stringProperty, | |
"datetime", | |
value); | |
}; | |
var pubdate = function (value) { | |
return A2(stringProperty, | |
"pubdate", | |
value); | |
}; | |
var start = function (n) { | |
return A2(stringProperty, | |
"start", | |
$Basics.toString(n)); | |
}; | |
var colspan = function (n) { | |
return A2(stringProperty, | |
"colSpan", | |
$Basics.toString(n)); | |
}; | |
var headers = function (value) { | |
return A2(stringProperty, | |
"headers", | |
value); | |
}; | |
var rowspan = function (n) { | |
return A2(stringProperty, | |
"rowSpan", | |
$Basics.toString(n)); | |
}; | |
var scope = function (value) { | |
return A2(stringProperty, | |
"scope", | |
value); | |
}; | |
var manifest = function (value) { | |
return A2(stringProperty, | |
"manifest", | |
value); | |
}; | |
var boolProperty = F2(function (name, | |
bool) { | |
return A2(property, | |
name, | |
$Json$Encode.bool(bool)); | |
}); | |
var hidden = function (bool) { | |
return A2(boolProperty, | |
"hidden", | |
bool); | |
}; | |
var contenteditable = function (bool) { | |
return A2(boolProperty, | |
"contentEditable", | |
bool); | |
}; | |
var spellcheck = function (bool) { | |
return A2(boolProperty, | |
"spellcheck", | |
bool); | |
}; | |
var async = function (bool) { | |
return A2(boolProperty, | |
"async", | |
bool); | |
}; | |
var defer = function (bool) { | |
return A2(boolProperty, | |
"defer", | |
bool); | |
}; | |
var scoped = function (bool) { | |
return A2(boolProperty, | |
"scoped", | |
bool); | |
}; | |
var autoplay = function (bool) { | |
return A2(boolProperty, | |
"autoplay", | |
bool); | |
}; | |
var controls = function (bool) { | |
return A2(boolProperty, | |
"controls", | |
bool); | |
}; | |
var loop = function (bool) { | |
return A2(boolProperty, | |
"loop", | |
bool); | |
}; | |
var $default = function (bool) { | |
return A2(boolProperty, | |
"default", | |
bool); | |
}; | |
var seamless = function (bool) { | |
return A2(boolProperty, | |
"seamless", | |
bool); | |
}; | |
var checked = function (bool) { | |
return A2(boolProperty, | |
"checked", | |
bool); | |
}; | |
var selected = function (bool) { | |
return A2(boolProperty, | |
"selected", | |
bool); | |
}; | |
var autofocus = function (bool) { | |
return A2(boolProperty, | |
"autofocus", | |
bool); | |
}; | |
var disabled = function (bool) { | |
return A2(boolProperty, | |
"disabled", | |
bool); | |
}; | |
var multiple = function (bool) { | |
return A2(boolProperty, | |
"multiple", | |
bool); | |
}; | |
var novalidate = function (bool) { | |
return A2(boolProperty, | |
"noValidate", | |
bool); | |
}; | |
var readonly = function (bool) { | |
return A2(boolProperty, | |
"readOnly", | |
bool); | |
}; | |
var required = function (bool) { | |
return A2(boolProperty, | |
"required", | |
bool); | |
}; | |
var ismap = function (value) { | |
return A2(boolProperty, | |
"isMap", | |
value); | |
}; | |
var download = function (bool) { | |
return A2(boolProperty, | |
"download", | |
bool); | |
}; | |
var reversed = function (bool) { | |
return A2(boolProperty, | |
"reversed", | |
bool); | |
}; | |
var classList = function (list) { | |
return $class($String.join(" ")($List.map($Basics.fst)($List.filter($Basics.snd)(list)))); | |
}; | |
var style = function (props) { | |
return property("style")($Json$Encode.object($List.map(function (_v0) { | |
return function () { | |
switch (_v0.ctor) | |
{case "_Tuple2": | |
return {ctor: "_Tuple2" | |
,_0: _v0._0 | |
,_1: $Json$Encode.string(_v0._1)};} | |
_U.badCase($moduleName, | |
"on line 133, column 35 to 57"); | |
}(); | |
})(props))); | |
}; | |
var key = function (k) { | |
return A2(stringProperty, | |
"key", | |
k); | |
}; | |
_elm.Html.Attributes.values = {_op: _op | |
,key: key | |
,style: style | |
,classList: classList | |
,property: property | |
,stringProperty: stringProperty | |
,boolProperty: boolProperty | |
,attribute: attribute | |
,$class: $class | |
,hidden: hidden | |
,id: id | |
,title: title | |
,accesskey: accesskey | |
,contenteditable: contenteditable | |
,contextmenu: contextmenu | |
,dir: dir | |
,draggable: draggable | |
,dropzone: dropzone | |
,itemprop: itemprop | |
,lang: lang | |
,spellcheck: spellcheck | |
,tabindex: tabindex | |
,async: async | |
,charset: charset | |
,content: content | |
,defer: defer | |
,httpEquiv: httpEquiv | |
,language: language | |
,scoped: scoped | |
,src: src | |
,height: height | |
,width: width | |
,alt: alt | |
,autoplay: autoplay | |
,controls: controls | |
,loop: loop | |
,preload: preload | |
,poster: poster | |
,$default: $default | |
,kind: kind | |
,srclang: srclang | |
,sandbox: sandbox | |
,seamless: seamless | |
,srcdoc: srcdoc | |
,type$: type$ | |
,value: value | |
,checked: checked | |
,placeholder: placeholder | |
,selected: selected | |
,accept: accept | |
,acceptCharset: acceptCharset | |
,action: action | |
,autocomplete: autocomplete | |
,autofocus: autofocus | |
,autosave: autosave | |
,disabled: disabled | |
,enctype: enctype | |
,formaction: formaction | |
,list: list | |
,minlength: minlength | |
,maxlength: maxlength | |
,method: method | |
,multiple: multiple | |
,name: name | |
,novalidate: novalidate | |
,pattern: pattern | |
,readonly: readonly | |
,required: required | |
,size: size | |
,$for: $for | |
,form: form | |
,max: max | |
,min: min | |
,step: step | |
,cols: cols | |
,rows: rows | |
,wrap: wrap | |
,ismap: ismap | |
,usemap: usemap | |
,shape: shape | |
,coords: coords | |
,challenge: challenge | |
,keytype: keytype | |
,align: align | |
,cite: cite | |
,href: href | |
,target: target | |
,download: download | |
,downloadAs: downloadAs | |
,hreflang: hreflang | |
,media: media | |
,ping: ping | |
,rel: rel | |
,datetime: datetime | |
,pubdate: pubdate | |
,reversed: reversed | |
,start: start | |
,colspan: colspan | |
,headers: headers | |
,rowspan: rowspan | |
,scope: scope | |
,manifest: manifest}; | |
return _elm.Html.Attributes.values; | |
}; | |
Elm.Html = Elm.Html || {}; | |
Elm.Html.Events = Elm.Html.Events || {}; | |
Elm.Html.Events.make = function (_elm) { | |
"use strict"; | |
_elm.Html = _elm.Html || {}; | |
_elm.Html.Events = _elm.Html.Events || {}; | |
if (_elm.Html.Events.values) | |
return _elm.Html.Events.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Html.Events", | |
$Basics = Elm.Basics.make(_elm), | |
$Html = Elm.Html.make(_elm), | |
$Json$Decode = Elm.Json.Decode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$VirtualDom = Elm.VirtualDom.make(_elm); | |
var keyCode = A2($Json$Decode._op[":="], | |
"keyCode", | |
$Json$Decode.$int); | |
var targetChecked = A2($Json$Decode.at, | |
_L.fromArray(["target" | |
,"checked"]), | |
$Json$Decode.bool); | |
var targetValue = A2($Json$Decode.at, | |
_L.fromArray(["target" | |
,"value"]), | |
$Json$Decode.string); | |
var on = $VirtualDom.on; | |
var messageOn = F3(function (name, | |
addr, | |
msg) { | |
return A3(on, | |
name, | |
$Json$Decode.value, | |
function (_v0) { | |
return function () { | |
return A2($Signal.message, | |
addr, | |
msg); | |
}(); | |
}); | |
}); | |
var onClick = messageOn("click"); | |
var onDoubleClick = messageOn("dblclick"); | |
var onMouseMove = messageOn("mousemove"); | |
var onMouseDown = messageOn("mousedown"); | |
var onMouseUp = messageOn("mouseup"); | |
var onMouseEnter = messageOn("mouseenter"); | |
var onMouseLeave = messageOn("mouseleave"); | |
var onMouseOver = messageOn("mouseover"); | |
var onMouseOut = messageOn("mouseout"); | |
var onBlur = messageOn("blur"); | |
var onFocus = messageOn("focus"); | |
var onSubmit = messageOn("submit"); | |
var onKey = F3(function (name, | |
addr, | |
handler) { | |
return A3(on, | |
name, | |
keyCode, | |
function (code) { | |
return A2($Signal.message, | |
addr, | |
handler(code)); | |
}); | |
}); | |
var onKeyUp = onKey("keyup"); | |
var onKeyDown = onKey("keydown"); | |
var onKeyPress = onKey("keypress"); | |
_elm.Html.Events.values = {_op: _op | |
,onBlur: onBlur | |
,onFocus: onFocus | |
,onSubmit: onSubmit | |
,onKeyUp: onKeyUp | |
,onKeyDown: onKeyDown | |
,onKeyPress: onKeyPress | |
,onClick: onClick | |
,onDoubleClick: onDoubleClick | |
,onMouseMove: onMouseMove | |
,onMouseDown: onMouseDown | |
,onMouseUp: onMouseUp | |
,onMouseEnter: onMouseEnter | |
,onMouseLeave: onMouseLeave | |
,onMouseOver: onMouseOver | |
,onMouseOut: onMouseOut | |
,on: on | |
,targetValue: targetValue | |
,targetChecked: targetChecked | |
,keyCode: keyCode}; | |
return _elm.Html.Events.values; | |
}; | |
Elm.Html = Elm.Html || {}; | |
Elm.Html.Lazy = Elm.Html.Lazy || {}; | |
Elm.Html.Lazy.make = function (_elm) { | |
"use strict"; | |
_elm.Html = _elm.Html || {}; | |
_elm.Html.Lazy = _elm.Html.Lazy || {}; | |
if (_elm.Html.Lazy.values) | |
return _elm.Html.Lazy.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Html.Lazy", | |
$Basics = Elm.Basics.make(_elm), | |
$Html = Elm.Html.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$VirtualDom = Elm.VirtualDom.make(_elm); | |
var lazy3 = $VirtualDom.lazy3; | |
var lazy2 = $VirtualDom.lazy2; | |
var lazy = $VirtualDom.lazy; | |
_elm.Html.Lazy.values = {_op: _op | |
,lazy: lazy | |
,lazy2: lazy2 | |
,lazy3: lazy3}; | |
return _elm.Html.Lazy.values; | |
}; | |
Elm.Json = Elm.Json || {}; | |
Elm.Json.Decode = Elm.Json.Decode || {}; | |
Elm.Json.Decode.make = function (_elm) { | |
"use strict"; | |
_elm.Json = _elm.Json || {}; | |
_elm.Json.Decode = _elm.Json.Decode || {}; | |
if (_elm.Json.Decode.values) | |
return _elm.Json.Decode.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Json.Decode", | |
$Array = Elm.Array.make(_elm), | |
$Dict = Elm.Dict.make(_elm), | |
$Json$Encode = Elm.Json.Encode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Json = Elm.Native.Json.make(_elm), | |
$Result = Elm.Result.make(_elm); | |
var tuple8 = $Native$Json.decodeTuple8; | |
var tuple7 = $Native$Json.decodeTuple7; | |
var tuple6 = $Native$Json.decodeTuple6; | |
var tuple5 = $Native$Json.decodeTuple5; | |
var tuple4 = $Native$Json.decodeTuple4; | |
var tuple3 = $Native$Json.decodeTuple3; | |
var tuple2 = $Native$Json.decodeTuple2; | |
var tuple1 = $Native$Json.decodeTuple1; | |
var succeed = $Native$Json.succeed; | |
var fail = $Native$Json.fail; | |
var andThen = $Native$Json.andThen; | |
var customDecoder = $Native$Json.customDecoder; | |
var decodeValue = $Native$Json.runDecoderValue; | |
var value = $Native$Json.decodeValue; | |
var maybe = $Native$Json.decodeMaybe; | |
var $null = $Native$Json.decodeNull; | |
var array = $Native$Json.decodeArray; | |
var list = $Native$Json.decodeList; | |
var bool = $Native$Json.decodeBool; | |
var $int = $Native$Json.decodeInt; | |
var $float = $Native$Json.decodeFloat; | |
var string = $Native$Json.decodeString; | |
var oneOf = $Native$Json.oneOf; | |
var keyValuePairs = $Native$Json.decodeKeyValuePairs; | |
var object8 = $Native$Json.decodeObject8; | |
var object7 = $Native$Json.decodeObject7; | |
var object6 = $Native$Json.decodeObject6; | |
var object5 = $Native$Json.decodeObject5; | |
var object4 = $Native$Json.decodeObject4; | |
var object3 = $Native$Json.decodeObject3; | |
var object2 = $Native$Json.decodeObject2; | |
var object1 = $Native$Json.decodeObject1; | |
_op[":="] = $Native$Json.decodeField; | |
var at = F2(function (fields, | |
decoder) { | |
return A3($List.foldr, | |
F2(function (x,y) { | |
return A2(_op[":="],x,y); | |
}), | |
decoder, | |
fields); | |
}); | |
var decodeString = $Native$Json.runDecoderString; | |
var map = $Native$Json.decodeObject1; | |
var dict = function (decoder) { | |
return A2(map, | |
$Dict.fromList, | |
keyValuePairs(decoder)); | |
}; | |
var Decoder = {ctor: "Decoder"}; | |
_elm.Json.Decode.values = {_op: _op | |
,decodeString: decodeString | |
,decodeValue: decodeValue | |
,string: string | |
,$int: $int | |
,$float: $float | |
,bool: bool | |
,$null: $null | |
,list: list | |
,array: array | |
,tuple1: tuple1 | |
,tuple2: tuple2 | |
,tuple3: tuple3 | |
,tuple4: tuple4 | |
,tuple5: tuple5 | |
,tuple6: tuple6 | |
,tuple7: tuple7 | |
,tuple8: tuple8 | |
,at: at | |
,object1: object1 | |
,object2: object2 | |
,object3: object3 | |
,object4: object4 | |
,object5: object5 | |
,object6: object6 | |
,object7: object7 | |
,object8: object8 | |
,keyValuePairs: keyValuePairs | |
,dict: dict | |
,maybe: maybe | |
,oneOf: oneOf | |
,map: map | |
,fail: fail | |
,succeed: succeed | |
,andThen: andThen | |
,value: value | |
,customDecoder: customDecoder | |
,Decoder: Decoder}; | |
return _elm.Json.Decode.values; | |
}; | |
Elm.Json = Elm.Json || {}; | |
Elm.Json.Encode = Elm.Json.Encode || {}; | |
Elm.Json.Encode.make = function (_elm) { | |
"use strict"; | |
_elm.Json = _elm.Json || {}; | |
_elm.Json.Encode = _elm.Json.Encode || {}; | |
if (_elm.Json.Encode.values) | |
return _elm.Json.Encode.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Json.Encode", | |
$Array = Elm.Array.make(_elm), | |
$Native$Json = Elm.Native.Json.make(_elm); | |
var list = $Native$Json.encodeList; | |
var array = $Native$Json.encodeArray; | |
var object = $Native$Json.encodeObject; | |
var $null = $Native$Json.encodeNull; | |
var bool = $Native$Json.identity; | |
var $float = $Native$Json.identity; | |
var $int = $Native$Json.identity; | |
var string = $Native$Json.identity; | |
var encode = $Native$Json.encode; | |
var Value = {ctor: "Value"}; | |
_elm.Json.Encode.values = {_op: _op | |
,encode: encode | |
,string: string | |
,$int: $int | |
,$float: $float | |
,bool: bool | |
,$null: $null | |
,list: list | |
,array: array | |
,object: object | |
,Value: Value}; | |
return _elm.Json.Encode.values; | |
}; | |
Elm.List = Elm.List || {}; | |
Elm.List.make = function (_elm) { | |
"use strict"; | |
_elm.List = _elm.List || {}; | |
if (_elm.List.values) | |
return _elm.List.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "List", | |
$Basics = Elm.Basics.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$List = Elm.Native.List.make(_elm); | |
var sortWith = $Native$List.sortWith; | |
var sortBy = $Native$List.sortBy; | |
var sort = function (xs) { | |
return A2(sortBy, | |
$Basics.identity, | |
xs); | |
}; | |
var repeat = $Native$List.repeat; | |
var drop = $Native$List.drop; | |
var take = $Native$List.take; | |
var map5 = $Native$List.map5; | |
var map4 = $Native$List.map4; | |
var map3 = $Native$List.map3; | |
var map2 = $Native$List.map2; | |
var any = $Native$List.any; | |
var all = F2(function (pred, | |
xs) { | |
return $Basics.not(A2(any, | |
function ($) { | |
return $Basics.not(pred($)); | |
}, | |
xs)); | |
}); | |
var foldr = $Native$List.foldr; | |
var foldl = $Native$List.foldl; | |
var length = function (xs) { | |
return A3(foldl, | |
F2(function (_v0,i) { | |
return function () { | |
return i + 1; | |
}(); | |
}), | |
0, | |
xs); | |
}; | |
var sum = function (numbers) { | |
return A3(foldl, | |
F2(function (x,y) { | |
return x + y; | |
}), | |
0, | |
numbers); | |
}; | |
var product = function (numbers) { | |
return A3(foldl, | |
F2(function (x,y) { | |
return x * y; | |
}), | |
1, | |
numbers); | |
}; | |
var maximum = function (list) { | |
return function () { | |
switch (list.ctor) | |
{case "::": | |
return $Maybe.Just(A3(foldl, | |
$Basics.max, | |
list._0, | |
list._1));} | |
return $Maybe.Nothing; | |
}(); | |
}; | |
var minimum = function (list) { | |
return function () { | |
switch (list.ctor) | |
{case "::": | |
return $Maybe.Just(A3(foldl, | |
$Basics.min, | |
list._0, | |
list._1));} | |
return $Maybe.Nothing; | |
}(); | |
}; | |
var indexedMap = F2(function (f, | |
xs) { | |
return A3(map2, | |
f, | |
_L.range(0,length(xs) - 1), | |
xs); | |
}); | |
var member = F2(function (x, | |
xs) { | |
return A2(any, | |
function (a) { | |
return _U.eq(a,x); | |
}, | |
xs); | |
}); | |
var isEmpty = function (xs) { | |
return function () { | |
switch (xs.ctor) | |
{case "[]": return true;} | |
return false; | |
}(); | |
}; | |
var tail = function (list) { | |
return function () { | |
switch (list.ctor) | |
{case "::": | |
return $Maybe.Just(list._1); | |
case "[]": | |
return $Maybe.Nothing;} | |
_U.badCase($moduleName, | |
"between lines 87 and 89"); | |
}(); | |
}; | |
var head = function (list) { | |
return function () { | |
switch (list.ctor) | |
{case "::": | |
return $Maybe.Just(list._0); | |
case "[]": | |
return $Maybe.Nothing;} | |
_U.badCase($moduleName, | |
"between lines 75 and 77"); | |
}(); | |
}; | |
_op["::"] = $Native$List.cons; | |
var map = F2(function (f,xs) { | |
return A3(foldr, | |
F2(function (x,acc) { | |
return A2(_op["::"], | |
f(x), | |
acc); | |
}), | |
_L.fromArray([]), | |
xs); | |
}); | |
var filter = F2(function (pred, | |
xs) { | |
return function () { | |
var conditionalCons = F2(function (x, | |
xs$) { | |
return pred(x) ? A2(_op["::"], | |
x, | |
xs$) : xs$; | |
}); | |
return A3(foldr, | |
conditionalCons, | |
_L.fromArray([]), | |
xs); | |
}(); | |
}); | |
var maybeCons = F3(function (f, | |
mx, | |
xs) { | |
return function () { | |
var _v15 = f(mx); | |
switch (_v15.ctor) | |
{case "Just": | |
return A2(_op["::"],_v15._0,xs); | |
case "Nothing": return xs;} | |
_U.badCase($moduleName, | |
"between lines 179 and 181"); | |
}(); | |
}); | |
var filterMap = F2(function (f, | |
xs) { | |
return A3(foldr, | |
maybeCons(f), | |
_L.fromArray([]), | |
xs); | |
}); | |
var reverse = function (list) { | |
return A3(foldl, | |
F2(function (x,y) { | |
return A2(_op["::"],x,y); | |
}), | |
_L.fromArray([]), | |
list); | |
}; | |
var scanl = F3(function (f, | |
b, | |
xs) { | |
return function () { | |
var scan1 = F2(function (x, | |
accAcc) { | |
return function () { | |
switch (accAcc.ctor) | |
{case "::": return A2(_op["::"], | |
A2(f,x,accAcc._0), | |
accAcc); | |
case "[]": | |
return _L.fromArray([]);} | |
_U.badCase($moduleName, | |
"between lines 148 and 151"); | |
}(); | |
}); | |
return reverse(A3(foldl, | |
scan1, | |
_L.fromArray([b]), | |
xs)); | |
}(); | |
}); | |
var append = F2(function (xs, | |
ys) { | |
return function () { | |
switch (ys.ctor) | |
{case "[]": return xs;} | |
return A3(foldr, | |
F2(function (x,y) { | |
return A2(_op["::"],x,y); | |
}), | |
ys, | |
xs); | |
}(); | |
}); | |
var concat = function (lists) { | |
return A3(foldr, | |
append, | |
_L.fromArray([]), | |
lists); | |
}; | |
var concatMap = F2(function (f, | |
list) { | |
return concat(A2(map, | |
f, | |
list)); | |
}); | |
var partition = F2(function (pred, | |
list) { | |
return function () { | |
var step = F2(function (x, | |
_v21) { | |
return function () { | |
switch (_v21.ctor) | |
{case "_Tuple2": | |
return pred(x) ? {ctor: "_Tuple2" | |
,_0: A2(_op["::"],x,_v21._0) | |
,_1: _v21._1} : {ctor: "_Tuple2" | |
,_0: _v21._0 | |
,_1: A2(_op["::"], | |
x, | |
_v21._1)};} | |
_U.badCase($moduleName, | |
"between lines 301 and 303"); | |
}(); | |
}); | |
return A3(foldr, | |
step, | |
{ctor: "_Tuple2" | |
,_0: _L.fromArray([]) | |
,_1: _L.fromArray([])}, | |
list); | |
}(); | |
}); | |
var unzip = function (pairs) { | |
return function () { | |
var step = F2(function (_v25, | |
_v26) { | |
return function () { | |
switch (_v26.ctor) | |
{case "_Tuple2": | |
return function () { | |
switch (_v25.ctor) | |
{case "_Tuple2": | |
return {ctor: "_Tuple2" | |
,_0: A2(_op["::"], | |
_v25._0, | |
_v26._0) | |
,_1: A2(_op["::"], | |
_v25._1, | |
_v26._1)};} | |
_U.badCase($moduleName, | |
"on line 339, column 12 to 28"); | |
}();} | |
_U.badCase($moduleName, | |
"on line 339, column 12 to 28"); | |
}(); | |
}); | |
return A3(foldr, | |
step, | |
{ctor: "_Tuple2" | |
,_0: _L.fromArray([]) | |
,_1: _L.fromArray([])}, | |
pairs); | |
}(); | |
}; | |
var intersperse = F2(function (sep, | |
xs) { | |
return function () { | |
switch (xs.ctor) | |
{case "::": return function () { | |
var step = F2(function (x, | |
rest) { | |
return A2(_op["::"], | |
sep, | |
A2(_op["::"],x,rest)); | |
}); | |
var spersed = A3(foldr, | |
step, | |
_L.fromArray([]), | |
xs._1); | |
return A2(_op["::"], | |
xs._0, | |
spersed); | |
}(); | |
case "[]": | |
return _L.fromArray([]);} | |
_U.badCase($moduleName, | |
"between lines 350 and 356"); | |
}(); | |
}); | |
_elm.List.values = {_op: _op | |
,isEmpty: isEmpty | |
,length: length | |
,reverse: reverse | |
,member: member | |
,head: head | |
,tail: tail | |
,filter: filter | |
,take: take | |
,drop: drop | |
,repeat: repeat | |
,append: append | |
,concat: concat | |
,intersperse: intersperse | |
,partition: partition | |
,unzip: unzip | |
,map: map | |
,map2: map2 | |
,map3: map3 | |
,map4: map4 | |
,map5: map5 | |
,filterMap: filterMap | |
,concatMap: concatMap | |
,indexedMap: indexedMap | |
,foldr: foldr | |
,foldl: foldl | |
,sum: sum | |
,product: product | |
,maximum: maximum | |
,minimum: minimum | |
,all: all | |
,any: any | |
,scanl: scanl | |
,sort: sort | |
,sortBy: sortBy | |
,sortWith: sortWith}; | |
return _elm.List.values; | |
}; | |
Elm.Maybe = Elm.Maybe || {}; | |
Elm.Maybe.make = function (_elm) { | |
"use strict"; | |
_elm.Maybe = _elm.Maybe || {}; | |
if (_elm.Maybe.values) | |
return _elm.Maybe.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Maybe"; | |
var withDefault = F2(function ($default, | |
maybe) { | |
return function () { | |
switch (maybe.ctor) | |
{case "Just": return maybe._0; | |
case "Nothing": | |
return $default;} | |
_U.badCase($moduleName, | |
"between lines 45 and 47"); | |
}(); | |
}); | |
var Nothing = {ctor: "Nothing"}; | |
var oneOf = function (maybes) { | |
return function () { | |
switch (maybes.ctor) | |
{case "::": return function () { | |
switch (maybes._0.ctor) | |
{case "Just": return maybes._0; | |
case "Nothing": | |
return oneOf(maybes._1);} | |
_U.badCase($moduleName, | |
"between lines 64 and 66"); | |
}(); | |
case "[]": return Nothing;} | |
_U.badCase($moduleName, | |
"between lines 59 and 66"); | |
}(); | |
}; | |
var andThen = F2(function (maybeValue, | |
callback) { | |
return function () { | |
switch (maybeValue.ctor) | |
{case "Just": | |
return callback(maybeValue._0); | |
case "Nothing": return Nothing;} | |
_U.badCase($moduleName, | |
"between lines 110 and 112"); | |
}(); | |
}); | |
var Just = function (a) { | |
return {ctor: "Just",_0: a}; | |
}; | |
var map = F2(function (f, | |
maybe) { | |
return function () { | |
switch (maybe.ctor) | |
{case "Just": | |
return Just(f(maybe._0)); | |
case "Nothing": return Nothing;} | |
_U.badCase($moduleName, | |
"between lines 76 and 78"); | |
}(); | |
}); | |
_elm.Maybe.values = {_op: _op | |
,andThen: andThen | |
,map: map | |
,withDefault: withDefault | |
,oneOf: oneOf | |
,Just: Just | |
,Nothing: Nothing}; | |
return _elm.Maybe.values; | |
}; | |
Elm.Result = Elm.Result || {}; | |
Elm.Result.make = function (_elm) { | |
"use strict"; | |
_elm.Result = _elm.Result || {}; | |
if (_elm.Result.values) | |
return _elm.Result.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Result", | |
$Maybe = Elm.Maybe.make(_elm); | |
var toMaybe = function (result) { | |
return function () { | |
switch (result.ctor) | |
{case "Err": | |
return $Maybe.Nothing; | |
case "Ok": | |
return $Maybe.Just(result._0);} | |
_U.badCase($moduleName, | |
"between lines 164 and 166"); | |
}(); | |
}; | |
var Err = function (a) { | |
return {ctor: "Err",_0: a}; | |
}; | |
var andThen = F2(function (result, | |
callback) { | |
return function () { | |
switch (result.ctor) | |
{case "Err": | |
return Err(result._0); | |
case "Ok": | |
return callback(result._0);} | |
_U.badCase($moduleName, | |
"between lines 126 and 128"); | |
}(); | |
}); | |
var Ok = function (a) { | |
return {ctor: "Ok",_0: a}; | |
}; | |
var map = F2(function (func, | |
ra) { | |
return function () { | |
switch (ra.ctor) | |
{case "Err": return Err(ra._0); | |
case "Ok": | |
return Ok(func(ra._0));} | |
_U.badCase($moduleName, | |
"between lines 41 and 43"); | |
}(); | |
}); | |
var map2 = F3(function (func, | |
ra, | |
rb) { | |
return function () { | |
var _v9 = {ctor: "_Tuple2" | |
,_0: ra | |
,_1: rb}; | |
switch (_v9.ctor) | |
{case "_Tuple2": | |
switch (_v9._0.ctor) | |
{case "Err": | |
return Err(_v9._0._0); | |
case "Ok": switch (_v9._1.ctor) | |
{case "Ok": return Ok(A2(func, | |
_v9._0._0, | |
_v9._1._0));} | |
break;} | |
switch (_v9._1.ctor) | |
{case "Err": | |
return Err(_v9._1._0);} | |
break;} | |
_U.badCase($moduleName, | |
"between lines 55 and 58"); | |
}(); | |
}); | |
var map3 = F4(function (func, | |
ra, | |
rb, | |
rc) { | |
return function () { | |
var _v16 = {ctor: "_Tuple3" | |
,_0: ra | |
,_1: rb | |
,_2: rc}; | |
switch (_v16.ctor) | |
{case "_Tuple3": | |
switch (_v16._0.ctor) | |
{case "Err": | |
return Err(_v16._0._0); | |
case "Ok": switch (_v16._1.ctor) | |
{case "Ok": | |
switch (_v16._2.ctor) | |
{case "Ok": return Ok(A3(func, | |
_v16._0._0, | |
_v16._1._0, | |
_v16._2._0));} | |
break;} | |
break;} | |
switch (_v16._1.ctor) | |
{case "Err": | |
return Err(_v16._1._0);} | |
switch (_v16._2.ctor) | |
{case "Err": | |
return Err(_v16._2._0);} | |
break;} | |
_U.badCase($moduleName, | |
"between lines 63 and 67"); | |
}(); | |
}); | |
var map4 = F5(function (func, | |
ra, | |
rb, | |
rc, | |
rd) { | |
return function () { | |
var _v26 = {ctor: "_Tuple4" | |
,_0: ra | |
,_1: rb | |
,_2: rc | |
,_3: rd}; | |
switch (_v26.ctor) | |
{case "_Tuple4": | |
switch (_v26._0.ctor) | |
{case "Err": | |
return Err(_v26._0._0); | |
case "Ok": switch (_v26._1.ctor) | |
{case "Ok": | |
switch (_v26._2.ctor) | |
{case "Ok": | |
switch (_v26._3.ctor) | |
{case "Ok": return Ok(A4(func, | |
_v26._0._0, | |
_v26._1._0, | |
_v26._2._0, | |
_v26._3._0));} | |
break;} | |
break;} | |
break;} | |
switch (_v26._1.ctor) | |
{case "Err": | |
return Err(_v26._1._0);} | |
switch (_v26._2.ctor) | |
{case "Err": | |
return Err(_v26._2._0);} | |
switch (_v26._3.ctor) | |
{case "Err": | |
return Err(_v26._3._0);} | |
break;} | |
_U.badCase($moduleName, | |
"between lines 72 and 77"); | |
}(); | |
}); | |
var map5 = F6(function (func, | |
ra, | |
rb, | |
rc, | |
rd, | |
re) { | |
return function () { | |
var _v39 = {ctor: "_Tuple5" | |
,_0: ra | |
,_1: rb | |
,_2: rc | |
,_3: rd | |
,_4: re}; | |
switch (_v39.ctor) | |
{case "_Tuple5": | |
switch (_v39._0.ctor) | |
{case "Err": | |
return Err(_v39._0._0); | |
case "Ok": switch (_v39._1.ctor) | |
{case "Ok": | |
switch (_v39._2.ctor) | |
{case "Ok": | |
switch (_v39._3.ctor) | |
{case "Ok": | |
switch (_v39._4.ctor) | |
{case "Ok": return Ok(A5(func, | |
_v39._0._0, | |
_v39._1._0, | |
_v39._2._0, | |
_v39._3._0, | |
_v39._4._0));} | |
break;} | |
break;} | |
break;} | |
break;} | |
switch (_v39._1.ctor) | |
{case "Err": | |
return Err(_v39._1._0);} | |
switch (_v39._2.ctor) | |
{case "Err": | |
return Err(_v39._2._0);} | |
switch (_v39._3.ctor) | |
{case "Err": | |
return Err(_v39._3._0);} | |
switch (_v39._4.ctor) | |
{case "Err": | |
return Err(_v39._4._0);} | |
break;} | |
_U.badCase($moduleName, | |
"between lines 82 and 88"); | |
}(); | |
}); | |
var formatError = F2(function (f, | |
result) { | |
return function () { | |
switch (result.ctor) | |
{case "Err": | |
return Err(f(result._0)); | |
case "Ok": | |
return Ok(result._0);} | |
_U.badCase($moduleName, | |
"between lines 148 and 150"); | |
}(); | |
}); | |
var fromMaybe = F2(function (err, | |
maybe) { | |
return function () { | |
switch (maybe.ctor) | |
{case "Just": | |
return Ok(maybe._0); | |
case "Nothing": | |
return Err(err);} | |
_U.badCase($moduleName, | |
"between lines 180 and 182"); | |
}(); | |
}); | |
_elm.Result.values = {_op: _op | |
,map: map | |
,map2: map2 | |
,map3: map3 | |
,map4: map4 | |
,map5: map5 | |
,andThen: andThen | |
,toMaybe: toMaybe | |
,fromMaybe: fromMaybe | |
,formatError: formatError | |
,Ok: Ok | |
,Err: Err}; | |
return _elm.Result.values; | |
}; | |
Elm.Signal = Elm.Signal || {}; | |
Elm.Signal.make = function (_elm) { | |
"use strict"; | |
_elm.Signal = _elm.Signal || {}; | |
if (_elm.Signal.values) | |
return _elm.Signal.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Signal", | |
$Basics = Elm.Basics.make(_elm), | |
$Debug = Elm.Debug.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Signal = Elm.Native.Signal.make(_elm), | |
$Task = Elm.Task.make(_elm); | |
var send = F2(function (_v0, | |
value) { | |
return function () { | |
switch (_v0.ctor) | |
{case "Address": | |
return A2($Task.onError, | |
_v0._0(value), | |
function (_v3) { | |
return function () { | |
return $Task.succeed({ctor: "_Tuple0"}); | |
}(); | |
});} | |
_U.badCase($moduleName, | |
"between lines 370 and 371"); | |
}(); | |
}); | |
var Message = function (a) { | |
return {ctor: "Message" | |
,_0: a}; | |
}; | |
var message = F2(function (_v5, | |
value) { | |
return function () { | |
switch (_v5.ctor) | |
{case "Address": | |
return Message(_v5._0(value));} | |
_U.badCase($moduleName, | |
"on line 352, column 5 to 24"); | |
}(); | |
}); | |
var mailbox = $Native$Signal.mailbox; | |
var Address = function (a) { | |
return {ctor: "Address" | |
,_0: a}; | |
}; | |
var forwardTo = F2(function (_v8, | |
f) { | |
return function () { | |
switch (_v8.ctor) | |
{case "Address": | |
return Address(function (x) { | |
return _v8._0(f(x)); | |
});} | |
_U.badCase($moduleName, | |
"on line 339, column 5 to 29"); | |
}(); | |
}); | |
var Mailbox = F2(function (a, | |
b) { | |
return {_: {} | |
,address: a | |
,signal: b}; | |
}); | |
var sampleOn = $Native$Signal.sampleOn; | |
var dropRepeats = $Native$Signal.dropRepeats; | |
var filterMap = $Native$Signal.filterMap; | |
var filter = F3(function (isOk, | |
base, | |
signal) { | |
return A3(filterMap, | |
function (value) { | |
return isOk(value) ? $Maybe.Just(value) : $Maybe.Nothing; | |
}, | |
base, | |
signal); | |
}); | |
var merge = F2(function (left, | |
right) { | |
return A3($Native$Signal.genericMerge, | |
$Basics.always, | |
left, | |
right); | |
}); | |
var mergeMany = function (signalList) { | |
return function () { | |
var _v11 = $List.reverse(signalList); | |
switch (_v11.ctor) | |
{case "::": | |
return A3($List.foldl, | |
merge, | |
_v11._0, | |
_v11._1); | |
case "[]": | |
return $Debug.crash("mergeMany was given an empty list!");} | |
_U.badCase($moduleName, | |
"between lines 177 and 182"); | |
}(); | |
}; | |
var foldp = $Native$Signal.foldp; | |
var map5 = $Native$Signal.map5; | |
var map4 = $Native$Signal.map4; | |
var map3 = $Native$Signal.map3; | |
var map2 = $Native$Signal.map2; | |
_op["~"] = F2(function (funcs, | |
args) { | |
return A3(map2, | |
F2(function (f,v) { | |
return f(v); | |
}), | |
funcs, | |
args); | |
}); | |
var map = $Native$Signal.map; | |
_op["<~"] = map; | |
var constant = $Native$Signal.constant; | |
var Signal = {ctor: "Signal"}; | |
_elm.Signal.values = {_op: _op | |
,merge: merge | |
,mergeMany: mergeMany | |
,map: map | |
,map2: map2 | |
,map3: map3 | |
,map4: map4 | |
,map5: map5 | |
,constant: constant | |
,dropRepeats: dropRepeats | |
,filter: filter | |
,filterMap: filterMap | |
,sampleOn: sampleOn | |
,foldp: foldp | |
,mailbox: mailbox | |
,send: send | |
,message: message | |
,forwardTo: forwardTo | |
,Mailbox: Mailbox}; | |
return _elm.Signal.values; | |
}; | |
Elm.String = Elm.String || {}; | |
Elm.String.make = function (_elm) { | |
"use strict"; | |
_elm.String = _elm.String || {}; | |
if (_elm.String.values) | |
return _elm.String.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "String", | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$String = Elm.Native.String.make(_elm), | |
$Result = Elm.Result.make(_elm); | |
var fromList = $Native$String.fromList; | |
var toList = $Native$String.toList; | |
var toFloat = $Native$String.toFloat; | |
var toInt = $Native$String.toInt; | |
var indices = $Native$String.indexes; | |
var indexes = $Native$String.indexes; | |
var endsWith = $Native$String.endsWith; | |
var startsWith = $Native$String.startsWith; | |
var contains = $Native$String.contains; | |
var all = $Native$String.all; | |
var any = $Native$String.any; | |
var toLower = $Native$String.toLower; | |
var toUpper = $Native$String.toUpper; | |
var lines = $Native$String.lines; | |
var words = $Native$String.words; | |
var trimRight = $Native$String.trimRight; | |
var trimLeft = $Native$String.trimLeft; | |
var trim = $Native$String.trim; | |
var padRight = $Native$String.padRight; | |
var padLeft = $Native$String.padLeft; | |
var pad = $Native$String.pad; | |
var dropRight = $Native$String.dropRight; | |
var dropLeft = $Native$String.dropLeft; | |
var right = $Native$String.right; | |
var left = $Native$String.left; | |
var slice = $Native$String.slice; | |
var repeat = $Native$String.repeat; | |
var join = $Native$String.join; | |
var split = $Native$String.split; | |
var foldr = $Native$String.foldr; | |
var foldl = $Native$String.foldl; | |
var reverse = $Native$String.reverse; | |
var filter = $Native$String.filter; | |
var map = $Native$String.map; | |
var length = $Native$String.length; | |
var concat = $Native$String.concat; | |
var append = $Native$String.append; | |
var uncons = $Native$String.uncons; | |
var cons = $Native$String.cons; | |
var fromChar = function ($char) { | |
return A2(cons,$char,""); | |
}; | |
var isEmpty = $Native$String.isEmpty; | |
_elm.String.values = {_op: _op | |
,isEmpty: isEmpty | |
,length: length | |
,reverse: reverse | |
,repeat: repeat | |
,cons: cons | |
,uncons: uncons | |
,fromChar: fromChar | |
,append: append | |
,concat: concat | |
,split: split | |
,join: join | |
,words: words | |
,lines: lines | |
,slice: slice | |
,left: left | |
,right: right | |
,dropLeft: dropLeft | |
,dropRight: dropRight | |
,contains: contains | |
,startsWith: startsWith | |
,endsWith: endsWith | |
,indexes: indexes | |
,indices: indices | |
,toInt: toInt | |
,toFloat: toFloat | |
,toList: toList | |
,fromList: fromList | |
,toUpper: toUpper | |
,toLower: toLower | |
,pad: pad | |
,padLeft: padLeft | |
,padRight: padRight | |
,trim: trim | |
,trimLeft: trimLeft | |
,trimRight: trimRight | |
,map: map | |
,filter: filter | |
,foldl: foldl | |
,foldr: foldr | |
,any: any | |
,all: all}; | |
return _elm.String.values; | |
}; | |
Elm.Task = Elm.Task || {}; | |
Elm.Task.make = function (_elm) { | |
"use strict"; | |
_elm.Task = _elm.Task || {}; | |
if (_elm.Task.values) | |
return _elm.Task.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Task", | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Task = Elm.Native.Task.make(_elm), | |
$Result = Elm.Result.make(_elm); | |
var sleep = $Native$Task.sleep; | |
var spawn = $Native$Task.spawn; | |
var ThreadID = function (a) { | |
return {ctor: "ThreadID" | |
,_0: a}; | |
}; | |
var onError = $Native$Task.catch_; | |
var andThen = $Native$Task.andThen; | |
var fail = $Native$Task.fail; | |
var mapError = F2(function (f, | |
promise) { | |
return A2(onError, | |
promise, | |
function (err) { | |
return fail(f(err)); | |
}); | |
}); | |
var succeed = $Native$Task.succeed; | |
var map = F2(function (func, | |
promiseA) { | |
return A2(andThen, | |
promiseA, | |
function (a) { | |
return succeed(func(a)); | |
}); | |
}); | |
var map2 = F3(function (func, | |
promiseA, | |
promiseB) { | |
return A2(andThen, | |
promiseA, | |
function (a) { | |
return A2(andThen, | |
promiseB, | |
function (b) { | |
return succeed(A2(func,a,b)); | |
}); | |
}); | |
}); | |
var map3 = F4(function (func, | |
promiseA, | |
promiseB, | |
promiseC) { | |
return A2(andThen, | |
promiseA, | |
function (a) { | |
return A2(andThen, | |
promiseB, | |
function (b) { | |
return A2(andThen, | |
promiseC, | |
function (c) { | |
return succeed(A3(func, | |
a, | |
b, | |
c)); | |
}); | |
}); | |
}); | |
}); | |
var map4 = F5(function (func, | |
promiseA, | |
promiseB, | |
promiseC, | |
promiseD) { | |
return A2(andThen, | |
promiseA, | |
function (a) { | |
return A2(andThen, | |
promiseB, | |
function (b) { | |
return A2(andThen, | |
promiseC, | |
function (c) { | |
return A2(andThen, | |
promiseD, | |
function (d) { | |
return succeed(A4(func, | |
a, | |
b, | |
c, | |
d)); | |
}); | |
}); | |
}); | |
}); | |
}); | |
var map5 = F6(function (func, | |
promiseA, | |
promiseB, | |
promiseC, | |
promiseD, | |
promiseE) { | |
return A2(andThen, | |
promiseA, | |
function (a) { | |
return A2(andThen, | |
promiseB, | |
function (b) { | |
return A2(andThen, | |
promiseC, | |
function (c) { | |
return A2(andThen, | |
promiseD, | |
function (d) { | |
return A2(andThen, | |
promiseE, | |
function (e) { | |
return succeed(A5(func, | |
a, | |
b, | |
c, | |
d, | |
e)); | |
}); | |
}); | |
}); | |
}); | |
}); | |
}); | |
var andMap = F2(function (promiseFunc, | |
promiseValue) { | |
return A2(andThen, | |
promiseFunc, | |
function (func) { | |
return A2(andThen, | |
promiseValue, | |
function (value) { | |
return succeed(func(value)); | |
}); | |
}); | |
}); | |
var sequence = function (promises) { | |
return function () { | |
switch (promises.ctor) | |
{case "::": return A3(map2, | |
F2(function (x,y) { | |
return A2($List._op["::"], | |
x, | |
y); | |
}), | |
promises._0, | |
sequence(promises._1)); | |
case "[]": | |
return succeed(_L.fromArray([]));} | |
_U.badCase($moduleName, | |
"between lines 101 and 106"); | |
}(); | |
}; | |
var toMaybe = function (task) { | |
return A2(onError, | |
A2(map,$Maybe.Just,task), | |
function (_v3) { | |
return function () { | |
return succeed($Maybe.Nothing); | |
}(); | |
}); | |
}; | |
var fromMaybe = F2(function ($default, | |
maybe) { | |
return function () { | |
switch (maybe.ctor) | |
{case "Just": | |
return succeed(maybe._0); | |
case "Nothing": | |
return fail($default);} | |
_U.badCase($moduleName, | |
"between lines 139 and 141"); | |
}(); | |
}); | |
var toResult = function (task) { | |
return A2(onError, | |
A2(map,$Result.Ok,task), | |
function (msg) { | |
return succeed($Result.Err(msg)); | |
}); | |
}; | |
var fromResult = function (result) { | |
return function () { | |
switch (result.ctor) | |
{case "Err": | |
return fail(result._0); | |
case "Ok": | |
return succeed(result._0);} | |
_U.badCase($moduleName, | |
"between lines 151 and 153"); | |
}(); | |
}; | |
var Task = {ctor: "Task"}; | |
_elm.Task.values = {_op: _op | |
,succeed: succeed | |
,fail: fail | |
,map: map | |
,map2: map2 | |
,map3: map3 | |
,map4: map4 | |
,map5: map5 | |
,andMap: andMap | |
,sequence: sequence | |
,andThen: andThen | |
,onError: onError | |
,mapError: mapError | |
,toMaybe: toMaybe | |
,fromMaybe: fromMaybe | |
,toResult: toResult | |
,fromResult: fromResult | |
,spawn: spawn | |
,sleep: sleep}; | |
return _elm.Task.values; | |
}; | |
Elm.Text = Elm.Text || {}; | |
Elm.Text.make = function (_elm) { | |
"use strict"; | |
_elm.Text = _elm.Text || {}; | |
if (_elm.Text.values) | |
return _elm.Text.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Text", | |
$Color = Elm.Color.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Text = Elm.Native.Text.make(_elm); | |
var line = $Native$Text.line; | |
var italic = $Native$Text.italic; | |
var bold = $Native$Text.bold; | |
var color = $Native$Text.color; | |
var height = $Native$Text.height; | |
var link = $Native$Text.link; | |
var monospace = $Native$Text.monospace; | |
var typeface = $Native$Text.typeface; | |
var style = $Native$Text.style; | |
var append = $Native$Text.append; | |
var fromString = $Native$Text.fromString; | |
var empty = fromString(""); | |
var concat = function (texts) { | |
return A3($List.foldr, | |
append, | |
empty, | |
texts); | |
}; | |
var join = F2(function (seperator, | |
texts) { | |
return concat(A2($List.intersperse, | |
seperator, | |
texts)); | |
}); | |
var defaultStyle = {_: {} | |
,bold: false | |
,color: $Color.black | |
,height: $Maybe.Nothing | |
,italic: false | |
,line: $Maybe.Nothing | |
,typeface: _L.fromArray([])}; | |
var Style = F6(function (a, | |
b, | |
c, | |
d, | |
e, | |
f) { | |
return {_: {} | |
,bold: d | |
,color: c | |
,height: b | |
,italic: e | |
,line: f | |
,typeface: a}; | |
}); | |
var Through = {ctor: "Through"}; | |
var Over = {ctor: "Over"}; | |
var Under = {ctor: "Under"}; | |
var Text = {ctor: "Text"}; | |
_elm.Text.values = {_op: _op | |
,fromString: fromString | |
,empty: empty | |
,append: append | |
,concat: concat | |
,join: join | |
,link: link | |
,style: style | |
,defaultStyle: defaultStyle | |
,typeface: typeface | |
,monospace: monospace | |
,height: height | |
,color: color | |
,bold: bold | |
,italic: italic | |
,line: line | |
,Style: Style | |
,Under: Under | |
,Over: Over | |
,Through: Through}; | |
return _elm.Text.values; | |
}; | |
Elm.Todo = Elm.Todo || {}; | |
Elm.Todo.make = function (_elm) { | |
"use strict"; | |
_elm.Todo = _elm.Todo || {}; | |
if (_elm.Todo.values) | |
return _elm.Todo.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Todo", | |
$Basics = Elm.Basics.make(_elm), | |
$Html = Elm.Html.make(_elm), | |
$Html$Attributes = Elm.Html.Attributes.make(_elm), | |
$Html$Events = Elm.Html.Events.make(_elm), | |
$Html$Lazy = Elm.Html.Lazy.make(_elm), | |
$Json$Decode = Elm.Json.Decode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$String = Elm.String.make(_elm); | |
var getStorage = Elm.Native.Port.make(_elm).inbound("getStorage", | |
"Maybe.Maybe Todo.Model", | |
function (v) { | |
return v === null ? Elm.Maybe.make(_elm).Nothing : Elm.Maybe.make(_elm).Just(typeof v === "object" && "tasks" in v && "field" in v && "uid" in v && "visibility" in v ? {_: {} | |
,tasks: typeof v.tasks === "object" && v.tasks instanceof Array ? Elm.Native.List.make(_elm).fromArray(v.tasks.map(function (v) { | |
return typeof v === "object" && "description" in v && "completed" in v && "editing" in v && "id" in v ? {_: {} | |
,description: typeof v.description === "string" || typeof v.description === "object" && v.description instanceof String ? v.description : _U.badPort("a string", | |
v.description) | |
,completed: typeof v.completed === "boolean" ? v.completed : _U.badPort("a boolean (true or false)", | |
v.completed) | |
,editing: typeof v.editing === "boolean" ? v.editing : _U.badPort("a boolean (true or false)", | |
v.editing) | |
,id: typeof v.id === "number" ? v.id : _U.badPort("a number", | |
v.id)} : _U.badPort("an object with fields `description`, `completed`, `editing`, `id`", | |
v); | |
})) : _U.badPort("an array", | |
v.tasks) | |
,field: typeof v.field === "string" || typeof v.field === "object" && v.field instanceof String ? v.field : _U.badPort("a string", | |
v.field) | |
,uid: typeof v.uid === "number" ? v.uid : _U.badPort("a number", | |
v.uid) | |
,visibility: typeof v.visibility === "string" || typeof v.visibility === "object" && v.visibility instanceof String ? v.visibility : _U.badPort("a string", | |
v.visibility)} : _U.badPort("an object with fields `tasks`, `field`, `uid`, `visibility`", | |
v)); | |
}); | |
var infoFooter = A2($Html.footer, | |
_L.fromArray([$Html$Attributes.id("info")]), | |
_L.fromArray([A2($Html.p, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text("Double-click to edit a todo")])) | |
,A2($Html.p, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text("Written by ") | |
,A2($Html.a, | |
_L.fromArray([$Html$Attributes.href("https://github.com/evancz")]), | |
_L.fromArray([$Html.text("Evan Czaplicki")]))])) | |
,A2($Html.p, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text("Part of ") | |
,A2($Html.a, | |
_L.fromArray([$Html$Attributes.href("http://todomvc.com")]), | |
_L.fromArray([$Html.text("TodoMVC")]))]))])); | |
var is13 = function (code) { | |
return _U.eq(code, | |
13) ? $Result.Ok({ctor: "_Tuple0"}) : $Result.Err("not the right key code"); | |
}; | |
var onEnter = F2(function (address, | |
value) { | |
return A3($Html$Events.on, | |
"keydown", | |
A2($Json$Decode.customDecoder, | |
$Html$Events.keyCode, | |
is13), | |
function (_v0) { | |
return function () { | |
return A2($Signal.message, | |
address, | |
value); | |
}(); | |
}); | |
}); | |
var ChangeVisibility = function (a) { | |
return {ctor: "ChangeVisibility" | |
,_0: a}; | |
}; | |
var visibilitySwap = F4(function (address, | |
uri, | |
visibility, | |
actualVisibility) { | |
return A2($Html.li, | |
_L.fromArray([A2($Html$Events.onClick, | |
address, | |
ChangeVisibility(visibility))]), | |
_L.fromArray([A2($Html.a, | |
_L.fromArray([$Html$Attributes.href(uri) | |
,$Html$Attributes.classList(_L.fromArray([{ctor: "_Tuple2" | |
,_0: "selected" | |
,_1: _U.eq(visibility, | |
actualVisibility)}]))]), | |
_L.fromArray([$Html.text(visibility)]))])); | |
}); | |
var CheckAll = function (a) { | |
return {ctor: "CheckAll" | |
,_0: a}; | |
}; | |
var Check = F2(function (a,b) { | |
return {ctor: "Check" | |
,_0: a | |
,_1: b}; | |
}); | |
var DeleteComplete = {ctor: "DeleteComplete"}; | |
var controls = F3(function (address, | |
visibility, | |
tasks) { | |
return function () { | |
var tasksCompleted = $List.length(A2($List.filter, | |
function (_) { | |
return _.completed; | |
}, | |
tasks)); | |
var tasksLeft = $List.length(tasks) - tasksCompleted; | |
var item_ = _U.eq(tasksLeft, | |
1) ? " item" : " items"; | |
return A2($Html.footer, | |
_L.fromArray([$Html$Attributes.id("footer") | |
,$Html$Attributes.hidden($List.isEmpty(tasks))]), | |
_L.fromArray([A2($Html.span, | |
_L.fromArray([$Html$Attributes.id("todo-count")]), | |
_L.fromArray([A2($Html.strong, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text($Basics.toString(tasksLeft))])) | |
,$Html.text(A2($Basics._op["++"], | |
item_, | |
" left"))])) | |
,A2($Html.ul, | |
_L.fromArray([$Html$Attributes.id("filters")]), | |
_L.fromArray([A4(visibilitySwap, | |
address, | |
"#/", | |
"All", | |
visibility) | |
,$Html.text(" ") | |
,A4(visibilitySwap, | |
address, | |
"#/active", | |
"Active", | |
visibility) | |
,$Html.text(" ") | |
,A4(visibilitySwap, | |
address, | |
"#/completed", | |
"Completed", | |
visibility)])) | |
,A2($Html.button, | |
_L.fromArray([$Html$Attributes.$class("clear-completed") | |
,$Html$Attributes.id("clear-completed") | |
,$Html$Attributes.hidden(_U.eq(tasksCompleted, | |
0)) | |
,A2($Html$Events.onClick, | |
address, | |
DeleteComplete)]), | |
_L.fromArray([$Html.text(A2($Basics._op["++"], | |
"Clear completed (", | |
A2($Basics._op["++"], | |
$Basics.toString(tasksCompleted), | |
")")))]))])); | |
}(); | |
}); | |
var Delete = function (a) { | |
return {ctor: "Delete" | |
,_0: a}; | |
}; | |
var Add = {ctor: "Add"}; | |
var UpdateTask = F2(function (a, | |
b) { | |
return {ctor: "UpdateTask" | |
,_0: a | |
,_1: b}; | |
}); | |
var EditingTask = F2(function (a, | |
b) { | |
return {ctor: "EditingTask" | |
,_0: a | |
,_1: b}; | |
}); | |
var todoItem = F2(function (address, | |
todo) { | |
return A2($Html.li, | |
_L.fromArray([$Html$Attributes.classList(_L.fromArray([{ctor: "_Tuple2" | |
,_0: "completed" | |
,_1: todo.completed} | |
,{ctor: "_Tuple2" | |
,_0: "editing" | |
,_1: todo.editing}]))]), | |
_L.fromArray([A2($Html.div, | |
_L.fromArray([$Html$Attributes.$class("view")]), | |
_L.fromArray([A2($Html.input, | |
_L.fromArray([$Html$Attributes.$class("toggle") | |
,$Html$Attributes.type$("checkbox") | |
,$Html$Attributes.checked(todo.completed) | |
,A2($Html$Events.onClick, | |
address, | |
A2(Check, | |
todo.id, | |
$Basics.not(todo.completed)))]), | |
_L.fromArray([])) | |
,A2($Html.label, | |
_L.fromArray([A2($Html$Events.onDoubleClick, | |
address, | |
A2(EditingTask,todo.id,true))]), | |
_L.fromArray([$Html.text(todo.description)])) | |
,A2($Html.button, | |
_L.fromArray([$Html$Attributes.$class("destroy") | |
,A2($Html$Events.onClick, | |
address, | |
Delete(todo.id))]), | |
_L.fromArray([]))])) | |
,A2($Html.input, | |
_L.fromArray([$Html$Attributes.$class("edit") | |
,$Html$Attributes.value(todo.description) | |
,$Html$Attributes.name("title") | |
,$Html$Attributes.id(A2($Basics._op["++"], | |
"todo-", | |
$Basics.toString(todo.id))) | |
,A3($Html$Events.on, | |
"input", | |
$Html$Events.targetValue, | |
function ($) { | |
return $Signal.message(address)(UpdateTask(todo.id)($)); | |
}) | |
,A2($Html$Events.onBlur, | |
address, | |
A2(EditingTask,todo.id,false)) | |
,A2(onEnter, | |
address, | |
A2(EditingTask, | |
todo.id, | |
false))]), | |
_L.fromArray([]))])); | |
}); | |
var taskList = F3(function (address, | |
visibility, | |
tasks) { | |
return function () { | |
var cssVisibility = $List.isEmpty(tasks) ? "hidden" : "visible"; | |
var allCompleted = A2($List.all, | |
function (_) { | |
return _.completed; | |
}, | |
tasks); | |
var isVisible = function (todo) { | |
return function () { | |
switch (visibility) | |
{case "Active": | |
return $Basics.not(todo.completed); | |
case "All": return true; | |
case "Completed": | |
return todo.completed;} | |
_U.badCase($moduleName, | |
"between lines 184 and 189"); | |
}(); | |
}; | |
return A2($Html.section, | |
_L.fromArray([$Html$Attributes.id("main") | |
,$Html$Attributes.style(_L.fromArray([{ctor: "_Tuple2" | |
,_0: "visibility" | |
,_1: cssVisibility}]))]), | |
_L.fromArray([A2($Html.input, | |
_L.fromArray([$Html$Attributes.id("toggle-all") | |
,$Html$Attributes.type$("checkbox") | |
,$Html$Attributes.name("toggle") | |
,$Html$Attributes.checked(allCompleted) | |
,A2($Html$Events.onClick, | |
address, | |
CheckAll($Basics.not(allCompleted)))]), | |
_L.fromArray([])) | |
,A2($Html.label, | |
_L.fromArray([$Html$Attributes.$for("toggle-all")]), | |
_L.fromArray([$Html.text("Mark all as complete")])) | |
,A2($Html.ul, | |
_L.fromArray([$Html$Attributes.id("todo-list")]), | |
A2($List.map, | |
todoItem(address), | |
A2($List.filter, | |
isVisible, | |
tasks)))])); | |
}(); | |
}); | |
var UpdateField = function (a) { | |
return {ctor: "UpdateField" | |
,_0: a}; | |
}; | |
var taskEntry = F2(function (address, | |
task) { | |
return A2($Html.header, | |
_L.fromArray([$Html$Attributes.id("header")]), | |
_L.fromArray([A2($Html.h1, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text("todos")])) | |
,A2($Html.input, | |
_L.fromArray([$Html$Attributes.id("new-todo") | |
,$Html$Attributes.placeholder("What needs to be done?") | |
,$Html$Attributes.autofocus(true) | |
,$Html$Attributes.value(task) | |
,$Html$Attributes.name("newTodo") | |
,A3($Html$Events.on, | |
"input", | |
$Html$Events.targetValue, | |
function ($) { | |
return $Signal.message(address)(UpdateField($)); | |
}) | |
,A2(onEnter,address,Add)]), | |
_L.fromArray([]))])); | |
}); | |
var view = F2(function (address, | |
model) { | |
return A2($Html.div, | |
_L.fromArray([$Html$Attributes.$class("todomvc-wrapper") | |
,$Html$Attributes.style(_L.fromArray([{ctor: "_Tuple2" | |
,_0: "visibility" | |
,_1: "hidden"}]))]), | |
_L.fromArray([A2($Html.section, | |
_L.fromArray([$Html$Attributes.id("todoapp")]), | |
_L.fromArray([A3($Html$Lazy.lazy2, | |
taskEntry, | |
address, | |
model.field) | |
,A4($Html$Lazy.lazy3, | |
taskList, | |
address, | |
model.visibility, | |
model.tasks) | |
,A4($Html$Lazy.lazy3, | |
controls, | |
address, | |
model.visibility, | |
model.tasks)])) | |
,infoFooter])); | |
}); | |
var NoOp = {ctor: "NoOp"}; | |
var actions = $Signal.mailbox(NoOp); | |
var focus = Elm.Native.Port.make(_elm).outboundSignal("focus", | |
function (v) { | |
return v; | |
}, | |
function () { | |
var toSelector = function (_v3) { | |
return function () { | |
switch (_v3.ctor) | |
{case "EditingTask": | |
return A2($Basics._op["++"], | |
"#todo-", | |
$Basics.toString(_v3._0));} | |
_U.badCase($moduleName, | |
"on line 336, column 42 to 65"); | |
}(); | |
}; | |
var needsFocus = function (act) { | |
return function () { | |
switch (act.ctor) | |
{case "EditingTask": | |
return act._1;} | |
return false; | |
}(); | |
}; | |
return $Signal.map(toSelector)(A2($Signal.filter, | |
needsFocus, | |
A2(EditingTask, | |
0, | |
true))(actions.signal)); | |
}()); | |
var emptyModel = {_: {} | |
,field: "" | |
,tasks: _L.fromArray([]) | |
,uid: 0 | |
,visibility: "All"}; | |
var initialModel = A2($Maybe.withDefault, | |
emptyModel, | |
getStorage); | |
var newTask = F2(function (desc, | |
id) { | |
return {_: {} | |
,completed: false | |
,description: desc | |
,editing: false | |
,id: id}; | |
}); | |
var update = F2(function (action, | |
model) { | |
return function () { | |
switch (action.ctor) | |
{case "Add": | |
return _U.replace([["uid" | |
,model.uid + 1] | |
,["field",""] | |
,["tasks" | |
,$String.isEmpty(model.field) ? model.tasks : A2($Basics._op["++"], | |
model.tasks, | |
_L.fromArray([A2(newTask, | |
model.field, | |
model.uid)]))]], | |
model); | |
case "ChangeVisibility": | |
return _U.replace([["visibility" | |
,action._0]], | |
model); | |
case "Check": | |
return function () { | |
var updateTask = function (t) { | |
return _U.eq(t.id, | |
action._0) ? _U.replace([["completed" | |
,action._1]], | |
t) : t; | |
}; | |
return _U.replace([["tasks" | |
,A2($List.map, | |
updateTask, | |
model.tasks)]], | |
model); | |
}(); | |
case "CheckAll": | |
return function () { | |
var updateTask = function (t) { | |
return _U.replace([["completed" | |
,action._0]], | |
t); | |
}; | |
return _U.replace([["tasks" | |
,A2($List.map, | |
updateTask, | |
model.tasks)]], | |
model); | |
}(); | |
case "Delete": | |
return _U.replace([["tasks" | |
,A2($List.filter, | |
function (t) { | |
return !_U.eq(t.id, | |
action._0); | |
}, | |
model.tasks)]], | |
model); | |
case "DeleteComplete": | |
return _U.replace([["tasks" | |
,A2($List.filter, | |
function ($) { | |
return $Basics.not(function (_) { | |
return _.completed; | |
}($)); | |
}, | |
model.tasks)]], | |
model); | |
case "EditingTask": | |
return function () { | |
var updateTask = function (t) { | |
return _U.eq(t.id, | |
action._0) ? _U.replace([["editing" | |
,action._1]], | |
t) : t; | |
}; | |
return _U.replace([["tasks" | |
,A2($List.map, | |
updateTask, | |
model.tasks)]], | |
model); | |
}(); | |
case "NoOp": return model; | |
case "UpdateField": | |
return _U.replace([["field" | |
,action._0]], | |
model); | |
case "UpdateTask": | |
return function () { | |
var updateTask = function (t) { | |
return _U.eq(t.id, | |
action._0) ? _U.replace([["description" | |
,action._1]], | |
t) : t; | |
}; | |
return _U.replace([["tasks" | |
,A2($List.map, | |
updateTask, | |
model.tasks)]], | |
model); | |
}();} | |
_U.badCase($moduleName, | |
"between lines 87 and 130"); | |
}(); | |
}); | |
var model = A3($Signal.foldp, | |
update, | |
initialModel, | |
actions.signal); | |
var main = A2($Signal.map, | |
view(actions.address), | |
model); | |
var setStorage = Elm.Native.Port.make(_elm).outboundSignal("setStorage", | |
function (v) { | |
return {tasks: Elm.Native.List.make(_elm).toArray(v.tasks).map(function (v) { | |
return {description: v.description | |
,completed: v.completed | |
,editing: v.editing | |
,id: v.id}; | |
}) | |
,field: v.field | |
,uid: v.uid | |
,visibility: v.visibility}; | |
}, | |
model); | |
var Task = F4(function (a, | |
b, | |
c, | |
d) { | |
return {_: {} | |
,completed: b | |
,description: a | |
,editing: c | |
,id: d}; | |
}); | |
var Model = F4(function (a, | |
b, | |
c, | |
d) { | |
return {_: {} | |
,field: b | |
,tasks: a | |
,uid: c | |
,visibility: d}; | |
}); | |
_elm.Todo.values = {_op: _op | |
,Model: Model | |
,Task: Task | |
,newTask: newTask | |
,emptyModel: emptyModel | |
,NoOp: NoOp | |
,UpdateField: UpdateField | |
,EditingTask: EditingTask | |
,UpdateTask: UpdateTask | |
,Add: Add | |
,Delete: Delete | |
,DeleteComplete: DeleteComplete | |
,Check: Check | |
,CheckAll: CheckAll | |
,ChangeVisibility: ChangeVisibility | |
,update: update | |
,view: view | |
,onEnter: onEnter | |
,is13: is13 | |
,taskEntry: taskEntry | |
,taskList: taskList | |
,todoItem: todoItem | |
,controls: controls | |
,visibilitySwap: visibilitySwap | |
,infoFooter: infoFooter | |
,main: main | |
,model: model | |
,initialModel: initialModel | |
,actions: actions}; | |
return _elm.Todo.values; | |
}; | |
Elm.Transform2D = Elm.Transform2D || {}; | |
Elm.Transform2D.make = function (_elm) { | |
"use strict"; | |
_elm.Transform2D = _elm.Transform2D || {}; | |
if (_elm.Transform2D.values) | |
return _elm.Transform2D.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Transform2D", | |
$Native$Transform2D = Elm.Native.Transform2D.make(_elm); | |
var multiply = $Native$Transform2D.multiply; | |
var rotation = $Native$Transform2D.rotation; | |
var matrix = $Native$Transform2D.matrix; | |
var translation = F2(function (x, | |
y) { | |
return A6(matrix, | |
1, | |
0, | |
0, | |
1, | |
x, | |
y); | |
}); | |
var scale = function (s) { | |
return A6(matrix, | |
s, | |
0, | |
0, | |
s, | |
0, | |
0); | |
}; | |
var scaleX = function (x) { | |
return A6(matrix, | |
x, | |
0, | |
0, | |
1, | |
0, | |
0); | |
}; | |
var scaleY = function (y) { | |
return A6(matrix, | |
1, | |
0, | |
0, | |
y, | |
0, | |
0); | |
}; | |
var identity = $Native$Transform2D.identity; | |
var Transform2D = {ctor: "Transform2D"}; | |
_elm.Transform2D.values = {_op: _op | |
,identity: identity | |
,matrix: matrix | |
,multiply: multiply | |
,rotation: rotation | |
,translation: translation | |
,scale: scale | |
,scaleX: scaleX | |
,scaleY: scaleY}; | |
return _elm.Transform2D.values; | |
}; | |
Elm.VirtualDom = Elm.VirtualDom || {}; | |
Elm.VirtualDom.make = function (_elm) { | |
"use strict"; | |
_elm.VirtualDom = _elm.VirtualDom || {}; | |
if (_elm.VirtualDom.values) | |
return _elm.VirtualDom.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "VirtualDom", | |
$Basics = Elm.Basics.make(_elm), | |
$Graphics$Element = Elm.Graphics.Element.make(_elm), | |
$Json$Decode = Elm.Json.Decode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$VirtualDom = Elm.Native.VirtualDom.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm); | |
var lazy3 = $Native$VirtualDom.lazy3; | |
var lazy2 = $Native$VirtualDom.lazy2; | |
var lazy = $Native$VirtualDom.lazy; | |
var on = $Native$VirtualDom.on; | |
var attribute = $Native$VirtualDom.attribute; | |
var property = $Native$VirtualDom.property; | |
var Property = {ctor: "Property"}; | |
var fromElement = $Native$VirtualDom.fromElement; | |
var toElement = $Native$VirtualDom.toElement; | |
var text = $Native$VirtualDom.text; | |
var node = $Native$VirtualDom.node; | |
var Node = {ctor: "Node"}; | |
_elm.VirtualDom.values = {_op: _op | |
,Node: Node | |
,node: node | |
,text: text | |
,toElement: toElement | |
,fromElement: fromElement | |
,Property: Property | |
,property: property | |
,attribute: attribute | |
,on: on | |
,lazy: lazy | |
,lazy2: lazy2 | |
,lazy3: lazy3}; | |
return _elm.VirtualDom.values; | |
}; | |
Elm.Window = Elm.Window || {}; | |
Elm.Window.make = function (_elm) { | |
"use strict"; | |
_elm.Window = _elm.Window || {}; | |
if (_elm.Window.values) | |
return _elm.Window.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Window", | |
$Basics = Elm.Basics.make(_elm), | |
$Native$Window = Elm.Native.Window.make(_elm), | |
$Signal = Elm.Signal.make(_elm); | |
var dimensions = $Native$Window.dimensions; | |
var width = A2($Signal.map, | |
$Basics.fst, | |
dimensions); | |
var height = A2($Signal.map, | |
$Basics.snd, | |
dimensions); | |
_elm.Window.values = {_op: _op | |
,dimensions: dimensions | |
,width: width | |
,height: height}; | |
return _elm.Window.values; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Elm.Array = Elm.Array || {}; | |
Elm.Array.make = function(_elm){ | |
"use strict"; | |
_elm.Array = _elm.Array || {}; | |
if (_elm.Array.values) | |
return _elm.Array.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Array", | |
$Basics = Elm.Basics.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Array = Elm.Native.Array.make(_elm);var toList = $Native$Array.toList;_elm.Array.values = { _op : _op, | |
toList : toList}; | |
return _elm.Array.values;};Elm.Basics = Elm.Basics || {}; | |
Elm.Basics.make = function(_elm){ | |
"use strict"; | |
_elm.Basics = _elm.Basics || {}; | |
if (_elm.Basics.values) | |
return _elm.Basics.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Basics", | |
$Native$Basics = Elm.Native.Basics.make(_elm), | |
$Native$Show = Elm.Native.Show.make(_elm), | |
$Native$Utils = Elm.Native.Utils.make(_elm);var snd = function (_v1) { | |
var _ = _v1; | |
var b = function () { | |
switch (_.ctor) | |
{case "_Tuple2": return _._1;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}(); | |
return b; | |
}; | |
var fst = function (_v5) { | |
var _ = _v5; | |
var a = function () { | |
switch (_.ctor) | |
{case "_Tuple2": return _._0;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}(); | |
return a; | |
}; | |
_op["<|"] = F2(function (f,x) { | |
return f(x); | |
}); | |
_op["|>"] = F2(function (x,f) { | |
return f(x); | |
}); | |
_op["<<"] = F3(function (g, | |
f, | |
x) { | |
return g(f(x)); | |
}); | |
_op["++"] = $Native$Utils.append; | |
var toString = $Native$Show.toString; | |
var not = $Native$Basics.not; | |
_op["||"] = $Native$Basics.or; | |
_op["&&"] = $Native$Basics.and; | |
var compare = $Native$Basics.compare; | |
_op[">="] = $Native$Basics.ge; | |
_op["<="] = $Native$Basics.le; | |
_op["/="] = $Native$Basics.neq; | |
_op["=="] = $Native$Basics.eq; | |
_op["-"] = $Native$Basics.sub; | |
_op["+"] = $Native$Basics.add;_elm.Basics.values = { _op : _op, | |
compare : compare, | |
not : not, | |
toString : toString, | |
fst : fst, | |
snd : snd}; | |
return _elm.Basics.values;};Elm.Char = Elm.Char || {}; | |
Elm.Char.make = function(_elm){ | |
"use strict"; | |
_elm.Char = _elm.Char || {}; | |
if (_elm.Char.values) | |
return _elm.Char.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Char", | |
$Basics = Elm.Basics.make(_elm), | |
$Native$Char = Elm.Native.Char.make(_elm);var toCode = $Native$Char.toCode; | |
var isBetween = F3(function (low, | |
high, | |
$char) { | |
var code = toCode($char); | |
return _U.cmp(code, | |
toCode(low)) > -1 && _U.cmp(code, | |
toCode(high)) < 1; | |
}); | |
var isDigit = A2(isBetween, | |
_U.chr("0"), | |
_U.chr("9"));_elm.Char.values = { _op : _op, | |
isDigit : isDigit, | |
toCode : toCode}; | |
return _elm.Char.values;};Elm.Color = Elm.Color || {}; | |
Elm.Color.make = function(_elm){ | |
"use strict"; | |
_elm.Color = _elm.Color || {}; | |
if (_elm.Color.values) | |
return _elm.Color.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Color", | |
$Basics = Elm.Basics.make(_elm);_elm.Color.values = { _op : _op}; | |
return _elm.Color.values;};Elm.Debug = Elm.Debug || {}; | |
Elm.Debug.make = function(_elm){ | |
"use strict"; | |
_elm.Debug = _elm.Debug || {}; | |
if (_elm.Debug.values) | |
return _elm.Debug.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Debug", | |
$Graphics$Collage = Elm.Graphics.Collage.make(_elm), | |
$Native$Debug = Elm.Native.Debug.make(_elm);_elm.Debug.values = { _op : _op}; | |
return _elm.Debug.values;};Elm.Dict = Elm.Dict || {}; | |
Elm.Dict.make = function(_elm){ | |
"use strict"; | |
_elm.Dict = _elm.Dict || {}; | |
if (_elm.Dict.values) | |
return _elm.Dict.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Dict", | |
$Basics = Elm.Basics.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Debug = Elm.Native.Debug.make(_elm), | |
$String = Elm.String.make(_elm);var foldr = F3(function (f, | |
acc, | |
t) { | |
_v0: while (true) { | |
switch (t.ctor) | |
{case "RBEmpty": | |
switch (t._0.ctor) | |
{case "LBlack": return acc;} | |
break; | |
case "RBNode": var _v8 = f, | |
_v9 = A3(f, | |
t._1, | |
t._2, | |
A3(foldr,f,acc,t._4)), | |
_v10 = t._3; | |
f = _v8; | |
acc = _v9; | |
t = _v10; | |
continue _v0;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
} | |
}); | |
var toList = function (dict) { | |
return A3(foldr, | |
F3(function (key,value,list) { | |
return A2($List._op["::"], | |
{ctor: "_Tuple2" | |
,_0: key | |
,_1: value}, | |
list); | |
}), | |
_L.fromArray([]), | |
dict); | |
}; | |
var isBBlack = function (dict) { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBBlack": return true;} | |
break; | |
case "RBNode": | |
switch (dict._0.ctor) | |
{case "BBlack": return true;} | |
break;} | |
return false; | |
}; | |
var Same = {ctor: "Same"}; | |
var Remove = {ctor: "Remove"}; | |
var Insert = {ctor: "Insert"}; | |
var max = function (dict) { | |
_v45: while (true) { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
return $Native$Debug.crash("(max Empty) is not defined"); | |
case "RBNode": | |
switch (dict._4.ctor) | |
{case "RBEmpty": | |
return {ctor: "_Tuple2" | |
,_0: dict._1 | |
,_1: dict._2};} | |
var _v54 = dict._4; | |
dict = _v54; | |
continue _v45;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
} | |
}; | |
var RBEmpty = function (a) { | |
return {ctor: "RBEmpty" | |
,_0: a}; | |
}; | |
var RBNode = F5(function (a, | |
b, | |
c, | |
d, | |
e) { | |
return {ctor: "RBNode" | |
,_0: a | |
,_1: b | |
,_2: c | |
,_3: d | |
,_4: e}; | |
}); | |
var showLColor = function (color) { | |
switch (color.ctor) | |
{case "LBBlack": | |
return "LBBlack"; | |
case "LBlack": return "LBlack";} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var LBBlack = {ctor: "LBBlack"}; | |
var LBlack = {ctor: "LBlack"}; | |
var empty = RBEmpty(LBlack); | |
var showNColor = function (c) { | |
switch (c.ctor) | |
{case "BBlack": return "BBlack"; | |
case "Black": return "Black"; | |
case "NBlack": return "NBlack"; | |
case "Red": return "Red";} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var reportRemBug = F4(function (msg, | |
c, | |
lgot, | |
rgot) { | |
return $Native$Debug.crash($String.concat(_L.fromArray(["Internal red-black tree invariant violated, expected " | |
,msg | |
," and got " | |
,showNColor(c) | |
,"/" | |
,lgot | |
,"/" | |
,rgot | |
,"\nPlease report this bug to <https://github.com/elm-lang/Elm/issues>"]))); | |
}); | |
var NBlack = {ctor: "NBlack"}; | |
var BBlack = {ctor: "BBlack"}; | |
var Black = {ctor: "Black"}; | |
var ensureBlackRoot = function (dict) { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBlack": return dict;} | |
break; | |
case "RBNode": | |
switch (dict._0.ctor) | |
{case "Black": return dict; | |
case "Red": return A5(RBNode, | |
Black, | |
dict._1, | |
dict._2, | |
dict._3, | |
dict._4);} | |
break;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var blackish = function (t) { | |
switch (t.ctor) | |
{case "RBEmpty": return true; | |
case "RBNode": | |
return _U.eq(t._0, | |
Black) || _U.eq(t._0,BBlack);} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var blacken = function (t) { | |
switch (t.ctor) | |
{case "RBEmpty": | |
return RBEmpty(LBlack); | |
case "RBNode": return A5(RBNode, | |
Black, | |
t._1, | |
t._2, | |
t._3, | |
t._4);} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var Red = {ctor: "Red"}; | |
var moreBlack = function (color) { | |
switch (color.ctor) | |
{case "BBlack": | |
return $Native$Debug.crash("Can\'t make a double black node more black!"); | |
case "Black": return BBlack; | |
case "NBlack": return Red; | |
case "Red": return Black;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var lessBlack = function (color) { | |
switch (color.ctor) | |
{case "BBlack": return Black; | |
case "Black": return Red; | |
case "NBlack": | |
return $Native$Debug.crash("Can\'t make a negative black node less black!"); | |
case "Red": return NBlack;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var lessBlackTree = function (dict) { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBBlack": | |
return RBEmpty(LBlack);} | |
break; | |
case "RBNode": return A5(RBNode, | |
lessBlack(dict._0), | |
dict._1, | |
dict._2, | |
dict._3, | |
dict._4);} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var redden = function (t) { | |
switch (t.ctor) | |
{case "RBEmpty": | |
return $Native$Debug.crash("can\'t make a Leaf red"); | |
case "RBNode": return A5(RBNode, | |
Red, | |
t._1, | |
t._2, | |
t._3, | |
t._4);} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var balance_node = function (t) { | |
var assemble = function (col) { | |
return function (xk) { | |
return function (xv) { | |
return function (yk) { | |
return function (yv) { | |
return function (zk) { | |
return function (zv) { | |
return function (a) { | |
return function (b) { | |
return function (c) { | |
return function (d) { | |
return A5(RBNode, | |
lessBlack(col), | |
yk, | |
yv, | |
A5(RBNode,Black,xk,xv,a,b), | |
A5(RBNode,Black,zk,zv,c,d)); | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
}; | |
if (blackish(t)) { | |
switch (t.ctor) | |
{case "RBNode": | |
switch (t._3.ctor) | |
{case "RBNode": | |
switch (t._3._0.ctor) | |
{case "Red": | |
switch (t._3._3.ctor) | |
{case "RBNode": | |
switch (t._3._3._0.ctor) | |
{case "Red": | |
return assemble(t._0)(t._3._3._1)(t._3._3._2)(t._3._1)(t._3._2)(t._1)(t._2)(t._3._3._3)(t._3._3._4)(t._3._4)(t._4);} | |
break;} | |
switch (t._3._4.ctor) | |
{case "RBNode": | |
switch (t._3._4._0.ctor) | |
{case "Red": | |
return assemble(t._0)(t._3._1)(t._3._2)(t._3._4._1)(t._3._4._2)(t._1)(t._2)(t._3._3)(t._3._4._3)(t._3._4._4)(t._4);} | |
break;} | |
break;} | |
break;} | |
switch (t._4.ctor) | |
{case "RBNode": | |
switch (t._4._0.ctor) | |
{case "Red": | |
switch (t._4._3.ctor) | |
{case "RBNode": | |
switch (t._4._3._0.ctor) | |
{case "Red": | |
return assemble(t._0)(t._1)(t._2)(t._4._3._1)(t._4._3._2)(t._4._1)(t._4._2)(t._3)(t._4._3._3)(t._4._3._4)(t._4._4);} | |
break;} | |
switch (t._4._4.ctor) | |
{case "RBNode": | |
switch (t._4._4._0.ctor) | |
{case "Red": | |
return assemble(t._0)(t._1)(t._2)(t._4._1)(t._4._2)(t._4._4._1)(t._4._4._2)(t._3)(t._4._3)(t._4._4._3)(t._4._4._4);} | |
break;} | |
break;} | |
break;} | |
switch (t._0.ctor) | |
{case "BBlack": | |
switch (t._4.ctor) | |
{case "RBNode": | |
switch (t._4._0.ctor) | |
{case "NBlack": | |
switch (t._4._3.ctor) | |
{case "RBNode": | |
switch (t._4._3._0.ctor) | |
{case "Black": | |
switch (t._4._4.ctor) | |
{case "RBNode": | |
switch (t._4._4._0.ctor) | |
{case "Black": return A5(RBNode, | |
Black, | |
t._4._3._1, | |
t._4._3._2, | |
A5(RBNode, | |
Black, | |
t._1, | |
t._2, | |
t._3, | |
t._4._3._3), | |
A5(balance, | |
Black, | |
t._4._1, | |
t._4._2, | |
t._4._3._4, | |
redden(t._4._4)));} | |
break;} | |
return t;} | |
break;} | |
break;} | |
break;} | |
switch (t._3.ctor) | |
{case "RBNode": | |
switch (t._3._0.ctor) | |
{case "NBlack": | |
switch (t._3._4.ctor) | |
{case "RBNode": | |
switch (t._3._4._0.ctor) | |
{case "Black": | |
switch (t._3._3.ctor) | |
{case "RBNode": | |
switch (t._3._3._0.ctor) | |
{case "Black": return A5(RBNode, | |
Black, | |
t._3._4._1, | |
t._3._4._2, | |
A5(balance, | |
Black, | |
t._3._1, | |
t._3._2, | |
redden(t._3._3), | |
t._3._4._3), | |
A5(RBNode, | |
Black, | |
t._1, | |
t._2, | |
t._3._4._4, | |
t._4));} | |
break;} | |
return t;} | |
break;} | |
break;} | |
break;} | |
break;} | |
break;} | |
return t; | |
} else return t; | |
}; | |
var balance = F5(function (c, | |
k, | |
v, | |
l, | |
r) { | |
return balance_node(A5(RBNode, | |
c, | |
k, | |
v, | |
l, | |
r)); | |
}); | |
var bubble = F5(function (c, | |
k, | |
v, | |
l, | |
r) { | |
return isBBlack(l) || isBBlack(r) ? A5(balance, | |
moreBlack(c), | |
k, | |
v, | |
lessBlackTree(l), | |
lessBlackTree(r)) : A5(RBNode, | |
c, | |
k, | |
v, | |
l, | |
r); | |
}); | |
var remove_max = F5(function (c, | |
k, | |
v, | |
l, | |
r) { | |
switch (r.ctor) | |
{case "RBEmpty": return A3(rem, | |
c, | |
l, | |
r); | |
case "RBNode": return A5(bubble, | |
c, | |
k, | |
v, | |
l, | |
A5(remove_max, | |
r._0, | |
r._1, | |
r._2, | |
r._3, | |
r._4));} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}); | |
var rem = F3(function (c,l,r) { | |
var _v186 = {ctor: "_Tuple2" | |
,_0: l | |
,_1: r}; | |
switch (_v186.ctor) | |
{case "_Tuple2": | |
switch (_v186._0.ctor) | |
{case "RBEmpty": | |
switch (_v186._1.ctor) | |
{case "RBEmpty": switch (c.ctor) | |
{case "Black": | |
return RBEmpty(LBBlack); | |
case "Red": | |
return RBEmpty(LBlack);} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
case "RBNode": | |
var _v208 = {ctor: "_Tuple3" | |
,_0: c | |
,_1: _v186._0._0 | |
,_2: _v186._1._0}; | |
switch (_v208.ctor) | |
{case "_Tuple3": | |
switch (_v208._0.ctor) | |
{case "Black": | |
switch (_v208._1.ctor) | |
{case "LBlack": | |
switch (_v208._2.ctor) | |
{case "Red": return A5(RBNode, | |
Black, | |
_v186._1._1, | |
_v186._1._2, | |
_v186._1._3, | |
_v186._1._4);} | |
break;} | |
break;} | |
break;} | |
return A4(reportRemBug, | |
"Black/LBlack/Red", | |
c, | |
showLColor(_v186._0._0), | |
showNColor(_v186._1._0));} | |
break; | |
case "RBNode": | |
switch (_v186._1.ctor) | |
{case "RBEmpty": | |
var _v212 = {ctor: "_Tuple3" | |
,_0: c | |
,_1: _v186._0._0 | |
,_2: _v186._1._0}; | |
switch (_v212.ctor) | |
{case "_Tuple3": | |
switch (_v212._0.ctor) | |
{case "Black": | |
switch (_v212._1.ctor) | |
{case "Red": | |
switch (_v212._2.ctor) | |
{case "LBlack": | |
return A5(RBNode, | |
Black, | |
_v186._0._1, | |
_v186._0._2, | |
_v186._0._3, | |
_v186._0._4);} | |
break;} | |
break;} | |
break;} | |
return A4(reportRemBug, | |
"Black/Red/LBlack", | |
c, | |
showNColor(_v186._0._0), | |
showLColor(_v186._1._0)); | |
case "RBNode": | |
var l$ = A5(remove_max, | |
_v186._0._0, | |
_v186._0._1, | |
_v186._0._2, | |
_v186._0._3, | |
_v186._0._4); | |
var r = A5(RBNode, | |
_v186._1._0, | |
_v186._1._1, | |
_v186._1._2, | |
_v186._1._3, | |
_v186._1._4); | |
var l = A5(RBNode, | |
_v186._0._0, | |
_v186._0._1, | |
_v186._0._2, | |
_v186._0._3, | |
_v186._0._4); | |
var $ = max(l), | |
k = $._0, | |
v = $._1; | |
return A5(bubble,c,k,v,l$,r);} | |
break;} | |
break;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}); | |
var update = F3(function (k, | |
alter, | |
dict) { | |
var up = function (dict) { | |
switch (dict.ctor) | |
{case "RBEmpty": | |
switch (dict._0.ctor) | |
{case "LBlack": | |
var _v223 = alter($Maybe.Nothing); | |
switch (_v223.ctor) | |
{case "Just": | |
return {ctor: "_Tuple2" | |
,_0: Insert | |
,_1: A5(RBNode, | |
Red, | |
k, | |
_v223._0, | |
empty, | |
empty)}; | |
case "Nothing": | |
return {ctor: "_Tuple2" | |
,_0: Same | |
,_1: empty};} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now");} | |
break; | |
case "RBNode": | |
var _v225 = A2($Basics.compare, | |
k, | |
dict._1); | |
switch (_v225.ctor) | |
{case "EQ": | |
var _v226 = alter($Maybe.Just(dict._2)); | |
switch (_v226.ctor) | |
{case "Just": | |
return {ctor: "_Tuple2" | |
,_0: Same | |
,_1: A5(RBNode, | |
dict._0, | |
dict._1, | |
_v226._0, | |
dict._3, | |
dict._4)}; | |
case "Nothing": | |
return {ctor: "_Tuple2" | |
,_0: Remove | |
,_1: A3(rem, | |
dict._0, | |
dict._3, | |
dict._4)};} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
case "GT": var $ = up(dict._4), | |
flag = $._0, | |
newRight = $._1; | |
switch (flag.ctor) | |
{case "Insert": | |
return {ctor: "_Tuple2" | |
,_0: Insert | |
,_1: A5(balance, | |
dict._0, | |
dict._1, | |
dict._2, | |
dict._3, | |
newRight)}; | |
case "Remove": | |
return {ctor: "_Tuple2" | |
,_0: Remove | |
,_1: A5(bubble, | |
dict._0, | |
dict._1, | |
dict._2, | |
dict._3, | |
newRight)}; | |
case "Same": | |
return {ctor: "_Tuple2" | |
,_0: Same | |
,_1: A5(RBNode, | |
dict._0, | |
dict._1, | |
dict._2, | |
dict._3, | |
newRight)};} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
case "LT": var $ = up(dict._3), | |
flag = $._0, | |
newLeft = $._1; | |
switch (flag.ctor) | |
{case "Insert": | |
return {ctor: "_Tuple2" | |
,_0: Insert | |
,_1: A5(balance, | |
dict._0, | |
dict._1, | |
dict._2, | |
newLeft, | |
dict._4)}; | |
case "Remove": | |
return {ctor: "_Tuple2" | |
,_0: Remove | |
,_1: A5(bubble, | |
dict._0, | |
dict._1, | |
dict._2, | |
newLeft, | |
dict._4)}; | |
case "Same": | |
return {ctor: "_Tuple2" | |
,_0: Same | |
,_1: A5(RBNode, | |
dict._0, | |
dict._1, | |
dict._2, | |
newLeft, | |
dict._4)};} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now");} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now");} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
var $ = up(dict), | |
flag = $._0, | |
updatedDict = $._1; | |
switch (flag.ctor) | |
{case "Insert": | |
return ensureBlackRoot(updatedDict); | |
case "Remove": | |
return blacken(updatedDict); | |
case "Same": | |
return updatedDict;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
});_elm.Dict.values = { _op : _op, | |
empty : empty, | |
update : update, | |
foldr : foldr, | |
toList : toList}; | |
return _elm.Dict.values;};Elm.Graphics = Elm.Graphics || {}; | |
Elm.Graphics.Collage = Elm.Graphics.Collage || {}; | |
Elm.Graphics.Collage.make = function(_elm){ | |
"use strict"; | |
_elm.Graphics = _elm.Graphics || {}; | |
_elm.Graphics.Collage = _elm.Graphics.Collage || {}; | |
if (_elm.Graphics.Collage.values) | |
return _elm.Graphics.Collage.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Graphics.Collage", | |
$Basics = Elm.Basics.make(_elm), | |
$Color = Elm.Color.make(_elm), | |
$Graphics$Element = Elm.Graphics.Element.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Native$Graphics$Collage = Elm.Native.Graphics.Collage.make(_elm), | |
$Text = Elm.Text.make(_elm), | |
$Transform2D = Elm.Transform2D.make(_elm);_elm.Graphics.Collage.values = { _op : _op}; | |
return _elm.Graphics.Collage.values;};Elm.Graphics = Elm.Graphics || {}; | |
Elm.Graphics.Element = Elm.Graphics.Element || {}; | |
Elm.Graphics.Element.make = function(_elm){ | |
"use strict"; | |
_elm.Graphics = _elm.Graphics || {}; | |
_elm.Graphics.Element = _elm.Graphics.Element || {}; | |
if (_elm.Graphics.Element.values) | |
return _elm.Graphics.Element.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Graphics.Element", | |
$Basics = Elm.Basics.make(_elm), | |
$Color = Elm.Color.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Graphics$Element = Elm.Native.Graphics.Element.make(_elm), | |
$Text = Elm.Text.make(_elm);_elm.Graphics.Element.values = { _op : _op}; | |
return _elm.Graphics.Element.values;};Elm.Html = Elm.Html || {}; | |
Elm.Html.make = function(_elm){ | |
"use strict"; | |
_elm.Html = _elm.Html || {}; | |
if (_elm.Html.values) | |
return _elm.Html.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Html", | |
$Basics = Elm.Basics.make(_elm), | |
$Graphics$Element = Elm.Graphics.Element.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$VirtualDom = Elm.VirtualDom.make(_elm);var text = $VirtualDom.text; | |
var node = $VirtualDom.node; | |
var section = node("section"); | |
var h1 = node("h1"); | |
var header = node("header"); | |
var footer = node("footer"); | |
var p = node("p"); | |
var ul = node("ul"); | |
var li = node("li"); | |
var div = node("div"); | |
var a = node("a"); | |
var strong = node("strong"); | |
var span = node("span"); | |
var label = node("label"); | |
var input = node("input"); | |
var button = node("button");_elm.Html.values = { _op : _op, | |
node : node, | |
text : text, | |
section : section, | |
h1 : h1, | |
header : header, | |
footer : footer, | |
p : p, | |
ul : ul, | |
li : li, | |
div : div, | |
a : a, | |
strong : strong, | |
span : span, | |
label : label, | |
input : input, | |
button : button}; | |
return _elm.Html.values;};Elm.Html = Elm.Html || {}; | |
Elm.Html.Attributes = Elm.Html.Attributes || {}; | |
Elm.Html.Attributes.make = function(_elm){ | |
"use strict"; | |
_elm.Html = _elm.Html || {}; | |
_elm.Html.Attributes = _elm.Html.Attributes || {}; | |
if (_elm.Html.Attributes.values) | |
return _elm.Html.Attributes.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Html.Attributes", | |
$Basics = Elm.Basics.make(_elm), | |
$Html = Elm.Html.make(_elm), | |
$Json$Encode = Elm.Json.Encode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$String = Elm.String.make(_elm), | |
$VirtualDom = Elm.VirtualDom.make(_elm);var property = $VirtualDom.property; | |
var stringProperty = F2(function (name, | |
string) { | |
return A2(property, | |
name, | |
$Json$Encode.string(string)); | |
}); | |
var $class = function (name) { | |
return A2(stringProperty, | |
"className", | |
name); | |
}; | |
var id = function (name) { | |
return A2(stringProperty, | |
"id", | |
name); | |
}; | |
var type$ = function (value) { | |
return A2(stringProperty, | |
"type", | |
value); | |
}; | |
var value = function (value) { | |
return A2(stringProperty, | |
"value", | |
value); | |
}; | |
var placeholder = function (value) { | |
return A2(stringProperty, | |
"placeholder", | |
value); | |
}; | |
var name = function (value) { | |
return A2(stringProperty, | |
"name", | |
value); | |
}; | |
var $for = function (value) { | |
return A2(stringProperty, | |
"htmlFor", | |
value); | |
}; | |
var href = function (value) { | |
return A2(stringProperty, | |
"href", | |
value); | |
}; | |
var boolProperty = F2(function (name, | |
bool) { | |
return A2(property, | |
name, | |
$Json$Encode.bool(bool)); | |
}); | |
var hidden = function (bool) { | |
return A2(boolProperty, | |
"hidden", | |
bool); | |
}; | |
var checked = function (bool) { | |
return A2(boolProperty, | |
"checked", | |
bool); | |
}; | |
var autofocus = function (bool) { | |
return A2(boolProperty, | |
"autofocus", | |
bool); | |
}; | |
var classList = function (list) { | |
return $class($String.join(" ")($List.map($Basics.fst)($List.filter($Basics.snd)(list)))); | |
}; | |
var style = function (props) { | |
return property("style")($Json$Encode.object($List.map(function (_v0) { | |
var $ = _v0, | |
key = $._0, | |
value = $._1; | |
return {ctor: "_Tuple2" | |
,_0: key | |
,_1: $Json$Encode.string(value)}; | |
})(props))); | |
};_elm.Html.Attributes.values = { _op : _op, | |
style : style, | |
classList : classList, | |
property : property, | |
stringProperty : stringProperty, | |
boolProperty : boolProperty, | |
$class : $class, | |
hidden : hidden, | |
id : id, | |
type$ : type$, | |
value : value, | |
checked : checked, | |
placeholder : placeholder, | |
autofocus : autofocus, | |
name : name, | |
$for : $for, | |
href : href}; | |
return _elm.Html.Attributes.values;};Elm.Html = Elm.Html || {}; | |
Elm.Html.Events = Elm.Html.Events || {}; | |
Elm.Html.Events.make = function(_elm){ | |
"use strict"; | |
_elm.Html = _elm.Html || {}; | |
_elm.Html.Events = _elm.Html.Events || {}; | |
if (_elm.Html.Events.values) | |
return _elm.Html.Events.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Html.Events", | |
$Basics = Elm.Basics.make(_elm), | |
$Html = Elm.Html.make(_elm), | |
$Json$Decode = Elm.Json.Decode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$VirtualDom = Elm.VirtualDom.make(_elm);var keyCode = A2($Json$Decode._op[":="], | |
"keyCode", | |
$Json$Decode.$int); | |
var targetValue = A2($Json$Decode.at, | |
_L.fromArray(["target" | |
,"value"]), | |
$Json$Decode.string); | |
var on = $VirtualDom.on; | |
var messageOn = F3(function (name, | |
addr, | |
msg) { | |
return A3(on, | |
name, | |
$Json$Decode.value, | |
function (_v0) { | |
var _ = _v0; | |
return A2($Signal.message, | |
addr, | |
msg); | |
}); | |
}); | |
var onClick = messageOn("click"); | |
var onDoubleClick = messageOn("dblclick"); | |
var onBlur = messageOn("blur");_elm.Html.Events.values = { _op : _op, | |
onBlur : onBlur, | |
onClick : onClick, | |
onDoubleClick : onDoubleClick, | |
on : on, | |
targetValue : targetValue, | |
keyCode : keyCode}; | |
return _elm.Html.Events.values;};Elm.Html = Elm.Html || {}; | |
Elm.Html.Lazy = Elm.Html.Lazy || {}; | |
Elm.Html.Lazy.make = function(_elm){ | |
"use strict"; | |
_elm.Html = _elm.Html || {}; | |
_elm.Html.Lazy = _elm.Html.Lazy || {}; | |
if (_elm.Html.Lazy.values) | |
return _elm.Html.Lazy.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Html.Lazy", | |
$Basics = Elm.Basics.make(_elm), | |
$Html = Elm.Html.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$VirtualDom = Elm.VirtualDom.make(_elm);var lazy3 = $VirtualDom.lazy3; | |
var lazy2 = $VirtualDom.lazy2;_elm.Html.Lazy.values = { _op : _op, | |
lazy2 : lazy2, | |
lazy3 : lazy3}; | |
return _elm.Html.Lazy.values;};Elm.Json = Elm.Json || {}; | |
Elm.Json.Decode = Elm.Json.Decode || {}; | |
Elm.Json.Decode.make = function(_elm){ | |
"use strict"; | |
_elm.Json = _elm.Json || {}; | |
_elm.Json.Decode = _elm.Json.Decode || {}; | |
if (_elm.Json.Decode.values) | |
return _elm.Json.Decode.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Json.Decode", | |
$Array = Elm.Array.make(_elm), | |
$Dict = Elm.Dict.make(_elm), | |
$Json$Encode = Elm.Json.Encode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Json = Elm.Native.Json.make(_elm), | |
$Result = Elm.Result.make(_elm);var customDecoder = $Native$Json.customDecoder; | |
var value = $Native$Json.decodeValue; | |
var $int = $Native$Json.decodeInt; | |
var string = $Native$Json.decodeString; | |
_op[":="] = $Native$Json.decodeField; | |
var at = F2(function (fields, | |
decoder) { | |
return A3($List.foldr, | |
F2(function (x,y) { | |
return A2(_op[":="],x,y); | |
}), | |
decoder, | |
fields); | |
});_elm.Json.Decode.values = { _op : _op, | |
string : string, | |
$int : $int, | |
at : at, | |
value : value, | |
customDecoder : customDecoder}; | |
return _elm.Json.Decode.values;};Elm.Json = Elm.Json || {}; | |
Elm.Json.Encode = Elm.Json.Encode || {}; | |
Elm.Json.Encode.make = function(_elm){ | |
"use strict"; | |
_elm.Json = _elm.Json || {}; | |
_elm.Json.Encode = _elm.Json.Encode || {}; | |
if (_elm.Json.Encode.values) | |
return _elm.Json.Encode.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Json.Encode", | |
$Array = Elm.Array.make(_elm), | |
$Native$Json = Elm.Native.Json.make(_elm);var object = $Native$Json.encodeObject; | |
var bool = $Native$Json.identity; | |
var string = $Native$Json.identity;_elm.Json.Encode.values = { _op : _op, | |
string : string, | |
bool : bool, | |
object : object}; | |
return _elm.Json.Encode.values;};Elm.List = Elm.List || {}; | |
Elm.List.make = function(_elm){ | |
"use strict"; | |
_elm.List = _elm.List || {}; | |
if (_elm.List.values) | |
return _elm.List.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "List", | |
$Basics = Elm.Basics.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$List = Elm.Native.List.make(_elm);var any = $Native$List.any; | |
var all = F2(function (pred, | |
xs) { | |
return $Basics.not(A2(any, | |
function ($) { | |
return $Basics.not(pred($)); | |
}, | |
xs)); | |
}); | |
var foldr = $Native$List.foldr; | |
var foldl = $Native$List.foldl; | |
var length = function (xs) { | |
return A3(foldl, | |
F2(function (_v0,i) { | |
var _ = _v0; | |
return i + 1; | |
}), | |
0, | |
xs); | |
}; | |
var isEmpty = function (xs) { | |
switch (xs.ctor) | |
{case "[]": return true;} | |
return false; | |
}; | |
_op["::"] = $Native$List.cons; | |
var map = F2(function (f,xs) { | |
return A3(foldr, | |
F2(function (x,acc) { | |
return A2(_op["::"], | |
f(x), | |
acc); | |
}), | |
_L.fromArray([]), | |
xs); | |
}); | |
var filter = F2(function (pred, | |
xs) { | |
var conditionalCons = F2(function (x, | |
xs$) { | |
return pred(x) ? A2(_op["::"], | |
x, | |
xs$) : xs$; | |
}); | |
return A3(foldr, | |
conditionalCons, | |
_L.fromArray([]), | |
xs); | |
});_elm.List.values = { _op : _op, | |
isEmpty : isEmpty, | |
length : length, | |
filter : filter, | |
map : map, | |
foldr : foldr, | |
foldl : foldl, | |
all : all, | |
any : any}; | |
return _elm.List.values;};Elm.Maybe = Elm.Maybe || {}; | |
Elm.Maybe.make = function(_elm){ | |
"use strict"; | |
_elm.Maybe = _elm.Maybe || {}; | |
if (_elm.Maybe.values) | |
return _elm.Maybe.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Maybe";var withDefault = F2(function ($default, | |
maybe) { | |
switch (maybe.ctor) | |
{case "Just": return maybe._0; | |
case "Nothing": | |
return $default;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}); | |
var Nothing = {ctor: "Nothing"}; | |
var Just = function (a) { | |
return {ctor: "Just",_0: a}; | |
};_elm.Maybe.values = { _op : _op, | |
withDefault : withDefault, | |
Just : Just, | |
Nothing : Nothing}; | |
return _elm.Maybe.values;};Elm.Result = Elm.Result || {}; | |
Elm.Result.make = function(_elm){ | |
"use strict"; | |
_elm.Result = _elm.Result || {}; | |
if (_elm.Result.values) | |
return _elm.Result.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Result", | |
$Maybe = Elm.Maybe.make(_elm);var Err = function (a) { | |
return {ctor: "Err",_0: a}; | |
}; | |
var Ok = function (a) { | |
return {ctor: "Ok",_0: a}; | |
};_elm.Result.values = { _op : _op, | |
Ok : Ok, | |
Err : Err}; | |
return _elm.Result.values;};Elm.Signal = Elm.Signal || {}; | |
Elm.Signal.make = function(_elm){ | |
"use strict"; | |
_elm.Signal = _elm.Signal || {}; | |
if (_elm.Signal.values) | |
return _elm.Signal.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Signal", | |
$Basics = Elm.Basics.make(_elm), | |
$Debug = Elm.Debug.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Signal = Elm.Native.Signal.make(_elm), | |
$Task = Elm.Task.make(_elm);var Message = function (a) { | |
return {ctor: "Message" | |
,_0: a}; | |
}; | |
var message = F2(function (_v2, | |
value) { | |
var _raw = _v2, | |
$ = _raw.ctor === "Address" ? _raw : _U.badCase($moduleName, | |
"bugs in reporting the exact location right now"), | |
send = $._0; | |
return Message(send(value)); | |
}); | |
var mailbox = $Native$Signal.mailbox; | |
var filterMap = $Native$Signal.filterMap; | |
var filter = F3(function (isOk, | |
base, | |
signal) { | |
return A3(filterMap, | |
function (value) { | |
return isOk(value) ? $Maybe.Just(value) : $Maybe.Nothing; | |
}, | |
base, | |
signal); | |
}); | |
var foldp = $Native$Signal.foldp; | |
var map2 = $Native$Signal.map2; | |
var map = $Native$Signal.map; | |
var constant = $Native$Signal.constant;_elm.Signal.values = { _op : _op, | |
map : map, | |
map2 : map2, | |
constant : constant, | |
filter : filter, | |
filterMap : filterMap, | |
foldp : foldp, | |
mailbox : mailbox, | |
message : message}; | |
return _elm.Signal.values;};Elm.String = Elm.String || {}; | |
Elm.String.make = function(_elm){ | |
"use strict"; | |
_elm.String = _elm.String || {}; | |
if (_elm.String.values) | |
return _elm.String.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "String", | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$String = Elm.Native.String.make(_elm), | |
$Result = Elm.Result.make(_elm);var join = $Native$String.join; | |
var concat = $Native$String.concat; | |
var isEmpty = $Native$String.isEmpty;_elm.String.values = { _op : _op, | |
isEmpty : isEmpty, | |
concat : concat, | |
join : join}; | |
return _elm.String.values;};Elm.Task = Elm.Task || {}; | |
Elm.Task.make = function(_elm){ | |
"use strict"; | |
_elm.Task = _elm.Task || {}; | |
if (_elm.Task.values) | |
return _elm.Task.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Task", | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Task = Elm.Native.Task.make(_elm), | |
$Result = Elm.Result.make(_elm);_elm.Task.values = { _op : _op}; | |
return _elm.Task.values;};Elm.Text = Elm.Text || {}; | |
Elm.Text.make = function(_elm){ | |
"use strict"; | |
_elm.Text = _elm.Text || {}; | |
if (_elm.Text.values) | |
return _elm.Text.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Text", | |
$Color = Elm.Color.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$Text = Elm.Native.Text.make(_elm);_elm.Text.values = { _op : _op}; | |
return _elm.Text.values;};Elm.Todo = Elm.Todo || {}; | |
Elm.Todo.make = function(_elm){ | |
"use strict"; | |
_elm.Todo = _elm.Todo || {}; | |
if (_elm.Todo.values) | |
return _elm.Todo.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Todo", | |
$Basics = Elm.Basics.make(_elm), | |
$Html = Elm.Html.make(_elm), | |
$Html$Attributes = Elm.Html.Attributes.make(_elm), | |
$Html$Events = Elm.Html.Events.make(_elm), | |
$Html$Lazy = Elm.Html.Lazy.make(_elm), | |
$Json$Decode = Elm.Json.Decode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm), | |
$String = Elm.String.make(_elm);var getStorage = Elm.Native.Port.make(_elm).inbound("getStorage", | |
"Maybe.Maybe Todo.Model", | |
function (v) { | |
return v === null ? Elm.Maybe.make(_elm).Nothing : Elm.Maybe.make(_elm).Just(typeof v === "object" && "tasks" in v && "field" in v && "uid" in v && "visibility" in v ? {_: {} | |
,tasks: typeof v.tasks === "object" && v.tasks instanceof Array ? Elm.Native.List.make(_elm).fromArray(v.tasks.map(function (v) { | |
return typeof v === "object" && "description" in v && "completed" in v && "editing" in v && "id" in v ? {_: {} | |
,description: typeof v.description === "string" || typeof v.description === "object" && v.description instanceof String ? v.description : _U.badPort("a string", | |
v.description) | |
,completed: typeof v.completed === "boolean" ? v.completed : _U.badPort("a boolean (true or false)", | |
v.completed) | |
,editing: typeof v.editing === "boolean" ? v.editing : _U.badPort("a boolean (true or false)", | |
v.editing) | |
,id: typeof v.id === "number" ? v.id : _U.badPort("a number", | |
v.id)} : _U.badPort("an object with fields `description`, `completed`, `editing`, `id`", | |
v); | |
})) : _U.badPort("an array", | |
v.tasks) | |
,field: typeof v.field === "string" || typeof v.field === "object" && v.field instanceof String ? v.field : _U.badPort("a string", | |
v.field) | |
,uid: typeof v.uid === "number" ? v.uid : _U.badPort("a number", | |
v.uid) | |
,visibility: typeof v.visibility === "string" || typeof v.visibility === "object" && v.visibility instanceof String ? v.visibility : _U.badPort("a string", | |
v.visibility)} : _U.badPort("an object with fields `tasks`, `field`, `uid`, `visibility`", | |
v)); | |
}); | |
var infoFooter = A2($Html.footer, | |
_L.fromArray([$Html$Attributes.id("info")]), | |
_L.fromArray([A2($Html.p, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text("Double-click to edit a todo")])) | |
,A2($Html.p, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text("Written by ") | |
,A2($Html.a, | |
_L.fromArray([$Html$Attributes.href("https://github.com/evancz")]), | |
_L.fromArray([$Html.text("Evan Czaplicki")]))])) | |
,A2($Html.p, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text("Part of ") | |
,A2($Html.a, | |
_L.fromArray([$Html$Attributes.href("http://todomvc.com")]), | |
_L.fromArray([$Html.text("TodoMVC")]))]))])); | |
var is13 = function (code) { | |
return _U.eq(code, | |
13) ? $Result.Ok({ctor: "_Tuple0"}) : $Result.Err("not the right key code"); | |
}; | |
var onEnter = F2(function (address, | |
value) { | |
return A3($Html$Events.on, | |
"keydown", | |
A2($Json$Decode.customDecoder, | |
$Html$Events.keyCode, | |
is13), | |
function (_v0) { | |
var _ = _v0; | |
return A2($Signal.message, | |
address, | |
value); | |
}); | |
}); | |
var ChangeVisibility = function (a) { | |
return {ctor: "ChangeVisibility" | |
,_0: a}; | |
}; | |
var visibilitySwap = F4(function (address, | |
uri, | |
visibility, | |
actualVisibility) { | |
return A2($Html.li, | |
_L.fromArray([A2($Html$Events.onClick, | |
address, | |
ChangeVisibility(visibility))]), | |
_L.fromArray([A2($Html.a, | |
_L.fromArray([$Html$Attributes.href(uri) | |
,$Html$Attributes.classList(_L.fromArray([{ctor: "_Tuple2" | |
,_0: "selected" | |
,_1: _U.eq(visibility, | |
actualVisibility)}]))]), | |
_L.fromArray([$Html.text(visibility)]))])); | |
}); | |
var CheckAll = function (a) { | |
return {ctor: "CheckAll" | |
,_0: a}; | |
}; | |
var Check = F2(function (a,b) { | |
return {ctor: "Check" | |
,_0: a | |
,_1: b}; | |
}); | |
var DeleteComplete = {ctor: "DeleteComplete"}; | |
var controls = F3(function (address, | |
visibility, | |
tasks) { | |
var tasksCompleted = $List.length(A2($List.filter, | |
function (_) { | |
return _.completed; | |
}, | |
tasks)); | |
var tasksLeft = $List.length(tasks) - tasksCompleted; | |
var item_ = _U.eq(tasksLeft, | |
1) ? " item" : " items"; | |
return A2($Html.footer, | |
_L.fromArray([$Html$Attributes.id("footer") | |
,$Html$Attributes.hidden($List.isEmpty(tasks))]), | |
_L.fromArray([A2($Html.span, | |
_L.fromArray([$Html$Attributes.id("todo-count")]), | |
_L.fromArray([A2($Html.strong, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text($Basics.toString(tasksLeft))])) | |
,$Html.text(A2($Basics._op["++"], | |
item_, | |
" left"))])) | |
,A2($Html.ul, | |
_L.fromArray([$Html$Attributes.id("filters")]), | |
_L.fromArray([A4(visibilitySwap, | |
address, | |
"#/", | |
"All", | |
visibility) | |
,$Html.text(" ") | |
,A4(visibilitySwap, | |
address, | |
"#/active", | |
"Active", | |
visibility) | |
,$Html.text(" ") | |
,A4(visibilitySwap, | |
address, | |
"#/completed", | |
"Completed", | |
visibility)])) | |
,A2($Html.button, | |
_L.fromArray([$Html$Attributes.$class("clear-completed") | |
,$Html$Attributes.id("clear-completed") | |
,$Html$Attributes.hidden(_U.eq(tasksCompleted, | |
0)) | |
,A2($Html$Events.onClick, | |
address, | |
DeleteComplete)]), | |
_L.fromArray([$Html.text(A2($Basics._op["++"], | |
"Clear completed (", | |
A2($Basics._op["++"], | |
$Basics.toString(tasksCompleted), | |
")")))]))])); | |
}); | |
var Delete = function (a) { | |
return {ctor: "Delete" | |
,_0: a}; | |
}; | |
var Add = {ctor: "Add"}; | |
var UpdateTask = F2(function (a, | |
b) { | |
return {ctor: "UpdateTask" | |
,_0: a | |
,_1: b}; | |
}); | |
var EditingTask = F2(function (a, | |
b) { | |
return {ctor: "EditingTask" | |
,_0: a | |
,_1: b}; | |
}); | |
var todoItem = F2(function (address, | |
todo) { | |
return A2($Html.li, | |
_L.fromArray([$Html$Attributes.classList(_L.fromArray([{ctor: "_Tuple2" | |
,_0: "completed" | |
,_1: todo.completed} | |
,{ctor: "_Tuple2" | |
,_0: "editing" | |
,_1: todo.editing}]))]), | |
_L.fromArray([A2($Html.div, | |
_L.fromArray([$Html$Attributes.$class("view")]), | |
_L.fromArray([A2($Html.input, | |
_L.fromArray([$Html$Attributes.$class("toggle") | |
,$Html$Attributes.type$("checkbox") | |
,$Html$Attributes.checked(todo.completed) | |
,A2($Html$Events.onClick, | |
address, | |
A2(Check, | |
todo.id, | |
$Basics.not(todo.completed)))]), | |
_L.fromArray([])) | |
,A2($Html.label, | |
_L.fromArray([A2($Html$Events.onDoubleClick, | |
address, | |
A2(EditingTask,todo.id,true))]), | |
_L.fromArray([$Html.text(todo.description)])) | |
,A2($Html.button, | |
_L.fromArray([$Html$Attributes.$class("destroy") | |
,A2($Html$Events.onClick, | |
address, | |
Delete(todo.id))]), | |
_L.fromArray([]))])) | |
,A2($Html.input, | |
_L.fromArray([$Html$Attributes.$class("edit") | |
,$Html$Attributes.value(todo.description) | |
,$Html$Attributes.name("title") | |
,$Html$Attributes.id(A2($Basics._op["++"], | |
"todo-", | |
$Basics.toString(todo.id))) | |
,A3($Html$Events.on, | |
"input", | |
$Html$Events.targetValue, | |
function ($) { | |
return $Signal.message(address)(UpdateTask(todo.id)($)); | |
}) | |
,A2($Html$Events.onBlur, | |
address, | |
A2(EditingTask,todo.id,false)) | |
,A2(onEnter, | |
address, | |
A2(EditingTask, | |
todo.id, | |
false))]), | |
_L.fromArray([]))])); | |
}); | |
var taskList = F3(function (address, | |
visibility, | |
tasks) { | |
var cssVisibility = $List.isEmpty(tasks) ? "hidden" : "visible"; | |
var allCompleted = A2($List.all, | |
function (_) { | |
return _.completed; | |
}, | |
tasks); | |
var isVisible = function (todo) { | |
switch (visibility) | |
{case "Active": | |
return $Basics.not(todo.completed); | |
case "All": return true; | |
case "Completed": | |
return todo.completed;} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}; | |
return A2($Html.section, | |
_L.fromArray([$Html$Attributes.id("main") | |
,$Html$Attributes.style(_L.fromArray([{ctor: "_Tuple2" | |
,_0: "visibility" | |
,_1: cssVisibility}]))]), | |
_L.fromArray([A2($Html.input, | |
_L.fromArray([$Html$Attributes.id("toggle-all") | |
,$Html$Attributes.type$("checkbox") | |
,$Html$Attributes.name("toggle") | |
,$Html$Attributes.checked(allCompleted) | |
,A2($Html$Events.onClick, | |
address, | |
CheckAll($Basics.not(allCompleted)))]), | |
_L.fromArray([])) | |
,A2($Html.label, | |
_L.fromArray([$Html$Attributes.$for("toggle-all")]), | |
_L.fromArray([$Html.text("Mark all as complete")])) | |
,A2($Html.ul, | |
_L.fromArray([$Html$Attributes.id("todo-list")]), | |
A2($List.map, | |
todoItem(address), | |
A2($List.filter, | |
isVisible, | |
tasks)))])); | |
}); | |
var UpdateField = function (a) { | |
return {ctor: "UpdateField" | |
,_0: a}; | |
}; | |
var taskEntry = F2(function (address, | |
task) { | |
return A2($Html.header, | |
_L.fromArray([$Html$Attributes.id("header")]), | |
_L.fromArray([A2($Html.h1, | |
_L.fromArray([]), | |
_L.fromArray([$Html.text("todos")])) | |
,A2($Html.input, | |
_L.fromArray([$Html$Attributes.id("new-todo") | |
,$Html$Attributes.placeholder("What needs to be done?") | |
,$Html$Attributes.autofocus(true) | |
,$Html$Attributes.value(task) | |
,$Html$Attributes.name("newTodo") | |
,A3($Html$Events.on, | |
"input", | |
$Html$Events.targetValue, | |
function ($) { | |
return $Signal.message(address)(UpdateField($)); | |
}) | |
,A2(onEnter,address,Add)]), | |
_L.fromArray([]))])); | |
}); | |
var view = F2(function (address, | |
model) { | |
return A2($Html.div, | |
_L.fromArray([$Html$Attributes.$class("todomvc-wrapper") | |
,$Html$Attributes.style(_L.fromArray([{ctor: "_Tuple2" | |
,_0: "visibility" | |
,_1: "hidden"}]))]), | |
_L.fromArray([A2($Html.section, | |
_L.fromArray([$Html$Attributes.id("todoapp")]), | |
_L.fromArray([A3($Html$Lazy.lazy2, | |
taskEntry, | |
address, | |
model.field) | |
,A4($Html$Lazy.lazy3, | |
taskList, | |
address, | |
model.visibility, | |
model.tasks) | |
,A4($Html$Lazy.lazy3, | |
controls, | |
address, | |
model.visibility, | |
model.tasks)])) | |
,infoFooter])); | |
}); | |
var NoOp = {ctor: "NoOp"}; | |
var actions = $Signal.mailbox(NoOp); | |
var emptyModel = {_: {} | |
,field: "" | |
,tasks: _L.fromArray([]) | |
,uid: 0 | |
,visibility: "All"}; | |
var initialModel = A2($Maybe.withDefault, | |
emptyModel, | |
getStorage); | |
var newTask = F2(function (desc, | |
id) { | |
return {_: {} | |
,completed: false | |
,description: desc | |
,editing: false | |
,id: id}; | |
}); | |
var update = F2(function (action, | |
model) { | |
switch (action.ctor) | |
{case "Add": | |
return _U.replace([["uid" | |
,model.uid + 1] | |
,["field",""] | |
,["tasks" | |
,$String.isEmpty(model.field) ? model.tasks : A2($Basics._op["++"], | |
model.tasks, | |
_L.fromArray([A2(newTask, | |
model.field, | |
model.uid)]))]], | |
model); | |
case "ChangeVisibility": | |
return _U.replace([["visibility" | |
,action._0]], | |
model); | |
case "Check": | |
var updateTask = function (t) { | |
return _U.eq(t.id, | |
action._0) ? _U.replace([["completed" | |
,action._1]], | |
t) : t; | |
}; | |
return _U.replace([["tasks" | |
,A2($List.map, | |
updateTask, | |
model.tasks)]], | |
model); | |
case "CheckAll": | |
var updateTask = function (t) { | |
return _U.replace([["completed" | |
,action._0]], | |
t); | |
}; | |
return _U.replace([["tasks" | |
,A2($List.map, | |
updateTask, | |
model.tasks)]], | |
model); | |
case "Delete": | |
return _U.replace([["tasks" | |
,A2($List.filter, | |
function (t) { | |
return !_U.eq(t.id, | |
action._0); | |
}, | |
model.tasks)]], | |
model); | |
case "DeleteComplete": | |
return _U.replace([["tasks" | |
,A2($List.filter, | |
function ($) { | |
return $Basics.not(function (_) { | |
return _.completed; | |
}($)); | |
}, | |
model.tasks)]], | |
model); | |
case "EditingTask": | |
var updateTask = function (t) { | |
return _U.eq(t.id, | |
action._0) ? _U.replace([["editing" | |
,action._1]], | |
t) : t; | |
}; | |
return _U.replace([["tasks" | |
,A2($List.map, | |
updateTask, | |
model.tasks)]], | |
model); | |
case "NoOp": return model; | |
case "UpdateField": | |
return _U.replace([["field" | |
,action._0]], | |
model); | |
case "UpdateTask": | |
var updateTask = function (t) { | |
return _U.eq(t.id, | |
action._0) ? _U.replace([["description" | |
,action._1]], | |
t) : t; | |
}; | |
return _U.replace([["tasks" | |
,A2($List.map, | |
updateTask, | |
model.tasks)]], | |
model);} | |
_U.badCase($moduleName, | |
"bugs in reporting the exact location right now"); | |
}); | |
var model = A3($Signal.foldp, | |
update, | |
initialModel, | |
actions.signal); | |
var main = A2($Signal.map, | |
view(actions.address), | |
model); | |
var Task = F4(function (a, | |
b, | |
c, | |
d) { | |
return {_: {} | |
,completed: b | |
,description: a | |
,editing: c | |
,id: d}; | |
}); | |
var Model = F4(function (a, | |
b, | |
c, | |
d) { | |
return {_: {} | |
,field: b | |
,tasks: a | |
,uid: c | |
,visibility: d}; | |
});_elm.Todo.values = { _op : _op, | |
Model : Model, | |
Task : Task, | |
newTask : newTask, | |
emptyModel : emptyModel, | |
NoOp : NoOp, | |
UpdateField : UpdateField, | |
EditingTask : EditingTask, | |
UpdateTask : UpdateTask, | |
Add : Add, | |
Delete : Delete, | |
DeleteComplete : DeleteComplete, | |
Check : Check, | |
CheckAll : CheckAll, | |
ChangeVisibility : ChangeVisibility, | |
update : update, | |
view : view, | |
onEnter : onEnter, | |
is13 : is13, | |
taskEntry : taskEntry, | |
taskList : taskList, | |
todoItem : todoItem, | |
controls : controls, | |
visibilitySwap : visibilitySwap, | |
infoFooter : infoFooter, | |
main : main, | |
model : model, | |
initialModel : initialModel, | |
actions : actions}; | |
return _elm.Todo.values;};Elm.Transform2D = Elm.Transform2D || {}; | |
Elm.Transform2D.make = function(_elm){ | |
"use strict"; | |
_elm.Transform2D = _elm.Transform2D || {}; | |
if (_elm.Transform2D.values) | |
return _elm.Transform2D.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Transform2D", | |
$Native$Transform2D = Elm.Native.Transform2D.make(_elm);_elm.Transform2D.values = { _op : _op}; | |
return _elm.Transform2D.values;};Elm.VirtualDom = Elm.VirtualDom || {}; | |
Elm.VirtualDom.make = function(_elm){ | |
"use strict"; | |
_elm.VirtualDom = _elm.VirtualDom || {}; | |
if (_elm.VirtualDom.values) | |
return _elm.VirtualDom.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "VirtualDom", | |
$Basics = Elm.Basics.make(_elm), | |
$Graphics$Element = Elm.Graphics.Element.make(_elm), | |
$Json$Decode = Elm.Json.Decode.make(_elm), | |
$List = Elm.List.make(_elm), | |
$Maybe = Elm.Maybe.make(_elm), | |
$Native$VirtualDom = Elm.Native.VirtualDom.make(_elm), | |
$Result = Elm.Result.make(_elm), | |
$Signal = Elm.Signal.make(_elm);var lazy3 = $Native$VirtualDom.lazy3; | |
var lazy2 = $Native$VirtualDom.lazy2; | |
var on = $Native$VirtualDom.on; | |
var property = $Native$VirtualDom.property; | |
var text = $Native$VirtualDom.text; | |
var node = $Native$VirtualDom.node;_elm.VirtualDom.values = { _op : _op, | |
node : node, | |
text : text, | |
property : property, | |
on : on, | |
lazy2 : lazy2, | |
lazy3 : lazy3}; | |
return _elm.VirtualDom.values;};Elm.Window = Elm.Window || {}; | |
Elm.Window.make = function(_elm){ | |
"use strict"; | |
_elm.Window = _elm.Window || {}; | |
if (_elm.Window.values) | |
return _elm.Window.values; | |
var _op = {}, | |
_N = Elm.Native, | |
_U = _N.Utils.make(_elm), | |
_L = _N.List.make(_elm), | |
$moduleName = "Window", | |
$Basics = Elm.Basics.make(_elm), | |
$Native$Window = Elm.Native.Window.make(_elm), | |
$Signal = Elm.Signal.make(_elm);_elm.Window.values = { _op : _op}; | |
return _elm.Window.values;}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment