New convention for storing module values, fixes bug
Before it was not possible to add values to anything except leafs of the namespace structure.
This commit is contained in:
parent
2cb4fd8973
commit
b40f2958d4
26 changed files with 88 additions and 59 deletions
|
@ -282,9 +282,9 @@ jsModule modul =
|
||||||
show . prettyPrint $ setup (Just "Elm") (names modul ++ ["make"]) ++
|
show . prettyPrint $ setup (Just "Elm") (names modul ++ ["make"]) ++
|
||||||
[ assign ("Elm" : names modul ++ ["make"]) (function ["elm"] programStmts) ]
|
[ assign ("Elm" : names modul ++ ["make"]) (function ["elm"] programStmts) ]
|
||||||
where
|
where
|
||||||
thisModule = dotSep ("elm" : names modul)
|
thisModule = dotSep ("elm" : names modul ++ ["values"])
|
||||||
programStmts =
|
programStmts =
|
||||||
concat [ setup (Just "elm") (names modul)
|
concat [ setup (Just "elm") (names modul ++ ["values"])
|
||||||
, [ IfSingleStmt () thisModule (ReturnStmt () (Just thisModule)) ]
|
, [ IfSingleStmt () thisModule (ReturnStmt () (Just thisModule)) ]
|
||||||
, [ internalImports (List.intercalate "." (names modul)) ]
|
, [ internalImports (List.intercalate "." (names modul)) ]
|
||||||
, concatMap jsImport (imports modul)
|
, concatMap jsImport (imports modul)
|
||||||
|
@ -296,7 +296,7 @@ jsModule modul =
|
||||||
, [ ReturnStmt () (Just thisModule) ]
|
, [ ReturnStmt () (Just thisModule) ]
|
||||||
]
|
]
|
||||||
|
|
||||||
jsExports = assign ("elm" : names modul) (ObjectLit () exs)
|
jsExports = assign ("elm" : names modul ++ ["values"]) (ObjectLit () exs)
|
||||||
where
|
where
|
||||||
exs = map entry . filter (not . isOp) $ "_op" : exports modul
|
exs = map entry . filter (not . isOp) $ "_op" : exports modul
|
||||||
entry x = (PropId () (var x), ref x)
|
entry x = (PropId () (var x), ref x)
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
|
|
||||||
Elm.Native.Basics = {};
|
Elm.Native.Basics = {};
|
||||||
Elm.Native.Basics.make = function(elm) {
|
Elm.Native.Basics.make = function(elm) {
|
||||||
if (elm.Native.Basics) return elm.Native.Basics;
|
elm.Native = elm.Native || {};
|
||||||
|
elm.Native.Basics = elm.Native.Basics || {};
|
||||||
|
if (elm.Native.Basics.values) return elm.Native.Basics.values;
|
||||||
|
|
||||||
var JS = Elm.Native.JavaScript.make(elm);
|
var JS = Elm.Native.JavaScript.make(elm);
|
||||||
// var Maybe = Elm.Maybe(elm);
|
// var Maybe = Elm.Maybe(elm);
|
||||||
|
@ -104,5 +106,5 @@ Elm.Native.Basics.make = function(elm) {
|
||||||
snd:snd
|
snd:snd
|
||||||
};
|
};
|
||||||
|
|
||||||
return elm.Native.Basics = basics;
|
return elm.Native.Basics.values = basics;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
Elm.Native.Char = {};
|
Elm.Native.Char = {};
|
||||||
Elm.Native.Char.make = function(elm) {
|
Elm.Native.Char.make = function(elm) {
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Char) return elm.Native.Char;
|
elm.Native.Char = elm.Native.Char || {};
|
||||||
|
if (elm.Native.Char.values) return elm.Native.Char.values;
|
||||||
|
|
||||||
function isBetween(lo,hi) { return function(chr) {
|
function isBetween(lo,hi) { return function(chr) {
|
||||||
var c = chr.charCodeAt(0);
|
var c = chr.charCodeAt(0);
|
||||||
|
@ -12,7 +13,7 @@ Elm.Native.Char.make = function(elm) {
|
||||||
var chk1 = isBetween('a'.charCodeAt(0),'f'.charCodeAt(0));
|
var chk1 = isBetween('a'.charCodeAt(0),'f'.charCodeAt(0));
|
||||||
var chk2 = isBetween('A'.charCodeAt(0),'F'.charCodeAt(0));
|
var chk2 = isBetween('A'.charCodeAt(0),'F'.charCodeAt(0));
|
||||||
|
|
||||||
return elm.Native.Char = {
|
return elm.Native.Char.values = {
|
||||||
fromCode : function(c) { return String.fromCharCode(c); },
|
fromCode : function(c) { return String.fromCharCode(c); },
|
||||||
toCode : function(c) { return c.toUpperCase().charCodeAt(0); },
|
toCode : function(c) { return c.toUpperCase().charCodeAt(0); },
|
||||||
toUpper : function(c) { return c.toUpperCase(); },
|
toUpper : function(c) { return c.toUpperCase(); },
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
Elm.Native.Color = {};
|
Elm.Native.Color = {};
|
||||||
Elm.Native.Color.make = function(elm) {
|
Elm.Native.Color.make = function(elm) {
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Color) return elm.Native.Color;
|
elm.Native.Color = elm.Native.Color || {};
|
||||||
|
if (elm.Native.Color.values) return elm.Native.Color.values;
|
||||||
|
|
||||||
var Utils = Elm.Native.Utils.make(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
|
|
||||||
|
@ -59,7 +60,7 @@ Elm.Native.Color.make = function(elm) {
|
||||||
return { ctor:"Color", _0:norm(r+m), _1:norm(g+m), _2:norm(b+m), _3:1 };
|
return { ctor:"Color", _0:norm(r+m), _1:norm(g+m), _2:norm(b+m), _3:1 };
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.Color = {
|
return elm.Native.Color.values = {
|
||||||
hsva:F4(hsva),
|
hsva:F4(hsva),
|
||||||
hsv:F3(hsv),
|
hsv:F3(hsv),
|
||||||
complement:complement
|
complement:complement
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
Elm.Native.Date = {};
|
Elm.Native.Date = {};
|
||||||
Elm.Native.Date.make = function(elm) {
|
Elm.Native.Date.make = function(elm) {
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Date) return elm.Native.Date;
|
elm.Native.Date = elm.Native.Date || {};
|
||||||
|
if (elm.Native.Date.values) return elm.Native.Date.values;
|
||||||
|
|
||||||
var JS = Elm.JavaScript.make(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
var Maybe = Elm.Maybe.make(elm);
|
var Maybe = Elm.Maybe.make(elm);
|
||||||
|
@ -17,7 +18,7 @@ Elm.Native.Date.make = function(elm) {
|
||||||
var monthTable = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
|
var monthTable = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
|
||||||
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
||||||
|
|
||||||
return elm.Native.Date = {
|
return elm.Native.Date.values = {
|
||||||
read : readDate,
|
read : readDate,
|
||||||
year : function(d) { return d.getFullYear(); },
|
year : function(d) { return d.getFullYear(); },
|
||||||
month : function(d) { return { ctor:monthTable[d.getMonth()] }; },
|
month : function(d) { return { ctor:monthTable[d.getMonth()] }; },
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
Elm.Native.Error = {};
|
Elm.Native.Error = {};
|
||||||
Elm.Native.Error.make = function(elm) {
|
Elm.Native.Error.make = function(elm) {
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Error) return elm.Native.Error;
|
elm.Native.Error = elm.Native.Error || {};
|
||||||
|
if (elm.Native.Error.values) return elm.Native.Error.values;
|
||||||
|
|
||||||
var fromString = Elm.Native.JavaScript.make(elm).fromString;
|
var fromString = Elm.Native.JavaScript.make(elm).fromString;
|
||||||
|
|
||||||
|
@ -27,5 +28,5 @@ Elm.Native.Error.make = function(elm) {
|
||||||
|
|
||||||
function raise(str) { throw new Error(fromString(str)); }
|
function raise(str) { throw new Error(fromString(str)); }
|
||||||
|
|
||||||
return elm.Native.Error = { Case: Case, If: If, raise: raise };
|
return elm.Native.Error.values = { Case: Case, If: If, raise: raise };
|
||||||
};
|
};
|
|
@ -3,7 +3,8 @@ Elm.Native.Graphics.Collage.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
elm.Native.Graphics = elm.Native.Graphics || {};
|
elm.Native.Graphics = elm.Native.Graphics || {};
|
||||||
if (elm.Native.Graphics.Collage) return elm.Native.Graphics.Collage;
|
elm.Native.Graphics.Collage = elm.Native.Graphics.Collage || {};
|
||||||
|
if (elm.Native.Graphics.Collage.values) return elm.Native.Graphics.Collage.values;
|
||||||
|
|
||||||
var newElement = Elm.Graphics.Element.make(elm).newElement;
|
var newElement = Elm.Graphics.Element.make(elm).newElement;
|
||||||
var C = ElmRuntime.use(ElmRuntime.Render.Collage);
|
var C = ElmRuntime.use(ElmRuntime.Render.Collage);
|
||||||
|
@ -17,6 +18,6 @@ Elm.Native.Graphics.Collage.make = function(elm) {
|
||||||
model: {w:w, h:h, forms:forms}
|
model: {w:w, h:h, forms:forms}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return elm.Native.Graphics.Collage = { collage:F3(collage) };
|
return elm.Native.Graphics.Collage.values = { collage:F3(collage) };
|
||||||
|
|
||||||
};
|
};
|
|
@ -3,7 +3,8 @@ Elm.Native.Graphics.Input.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
elm.Native.Graphics = elm.Native.Graphics || {};
|
elm.Native.Graphics = elm.Native.Graphics || {};
|
||||||
if (elm.Native.Graphics.Input) return elm.Native.Graphics.Input;
|
elm.Native.Graphics.Input = elm.Native.Graphics.Input || {};
|
||||||
|
if (elm.Native.Graphics.Input.values) return elm.Native.Graphics.Input.values;
|
||||||
|
|
||||||
var Render = ElmRuntime.use(ElmRuntime.Render.Element);
|
var Render = ElmRuntime.use(ElmRuntime.Render.Element);
|
||||||
var newNode = ElmRuntime.use(ElmRuntime.Render.Utils).newElement;
|
var newNode = ElmRuntime.use(ElmRuntime.Render.Utils).newElement;
|
||||||
|
@ -289,7 +290,7 @@ Elm.Native.Graphics.Input.make = function(elm) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.Graphics.Input = {
|
return elm.Native.Graphics.Input.values = {
|
||||||
buttons:buttons,
|
buttons:buttons,
|
||||||
customButtons:customButtons,
|
customButtons:customButtons,
|
||||||
hoverables:hoverables,
|
hoverables:hoverables,
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
Elm.Native.JavaScript = {};
|
Elm.Native.JavaScript = {};
|
||||||
Elm.Native.JavaScript.make = function(elm) {
|
Elm.Native.JavaScript.make = function(elm) {
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.JavaScript) return elm.Native.JavaScript;
|
elm.Native.JavaScript = elm.Native.JavaScript || {};
|
||||||
|
if (elm.Native.JavaScript.values) return elm.Native.JavaScript.values;
|
||||||
|
|
||||||
var List = Elm.Native.List.make(elm);
|
var List = Elm.Native.List.make(elm);
|
||||||
var Render = ElmRuntime.use(ElmRuntime.Render.Element);
|
var Render = ElmRuntime.use(ElmRuntime.Render.Element);
|
||||||
|
@ -82,7 +83,7 @@ Elm.Native.JavaScript.make = function(elm) {
|
||||||
return Render.render(element);
|
return Render.render(element);
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.JavaScript = {
|
return elm.Native.JavaScript.values = {
|
||||||
toFloat : id,
|
toFloat : id,
|
||||||
toBool : id,
|
toBool : id,
|
||||||
toInt : function(n) { return n|0; },
|
toInt : function(n) { return n|0; },
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
Elm.Native.Json = {};
|
Elm.Native.Json = {};
|
||||||
Elm.Native.Json.make = function(elm) {
|
Elm.Native.Json.make = function(elm) {
|
||||||
|
|
||||||
|
elm.Native = elm.Native || {};
|
||||||
|
elm.Native.Json = elm.Native.Json || {};
|
||||||
|
if (elm.Native.Json.values) return elm.Native.Json.values;
|
||||||
|
|
||||||
var Maybe = Elm.Maybe.make(elm);
|
var Maybe = Elm.Maybe.make(elm);
|
||||||
var Dict = Elm.Dict.make(elm);
|
var Dict = Elm.Dict.make(elm);
|
||||||
var List = Elm.List.make(elm);
|
var List = Elm.List.make(elm);
|
||||||
|
@ -58,7 +62,7 @@ Elm.Native.Json.make = function(elm) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.Json = {
|
return elm.Native.Json.values = {
|
||||||
toJSString : F2(toPrettyJSString),
|
toJSString : F2(toPrettyJSString),
|
||||||
fromJSString : fromJSString,
|
fromJSString : fromJSString,
|
||||||
toJSObject : fromValue,
|
toJSObject : fromValue,
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
Elm.Native.List = {};
|
Elm.Native.List = {};
|
||||||
Elm.Native.List.make = function(elm) {
|
Elm.Native.List.make = function(elm) {
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.List) return elm.Native.List;
|
elm.Native.List = elm.Native.List || {};
|
||||||
|
if (elm.Native.List.values) return elm.Native.List.values;
|
||||||
if ('values' in Elm.Native.List)
|
if ('values' in Elm.Native.List)
|
||||||
return elm.Native.List = Elm.Native.List.values;
|
return elm.Native.List.values = Elm.Native.List.values;
|
||||||
|
|
||||||
var Utils = Elm.Native.Utils.make(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
Elm.Native.Prelude = {};
|
Elm.Native.Prelude = {};
|
||||||
Elm.Native.Prelude.make = function(elm) {
|
Elm.Native.Prelude.make = function(elm) {
|
||||||
if (elm.Native.Prelude) return elm.Native.Prelude;
|
elm.Native = elm.Native || {};
|
||||||
|
elm.Native.Prelude = elm.Native.Prelude || {};
|
||||||
|
if (elm.Native.Prelude.values) return elm.Native.Prelude.values;
|
||||||
|
|
||||||
var JS = Elm.Native.JavaScript.make(elm);
|
var JS = Elm.Native.JavaScript.make(elm);
|
||||||
var Maybe = Elm.Maybe.make(elm);
|
var Maybe = Elm.Maybe.make(elm);
|
||||||
|
@ -42,9 +44,9 @@ Elm.Native.Prelude.make = function(elm) {
|
||||||
return Maybe.Just(parseFloat(s));
|
return Maybe.Just(parseFloat(s));
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.Prelude = {
|
return elm.Native.Prelude.values = {
|
||||||
readInt:readInt,
|
readInt:readInt,
|
||||||
readFloat:readFloat,
|
readFloat:readFloat
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
Elm.Native.Show = {};
|
Elm.Native.Show = {};
|
||||||
Elm.Native.Show.make = function(elm) {
|
Elm.Native.Show.make = function(elm) {
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Show) return elm.Native.Show;
|
elm.Native.Show = elm.Native.Show || {};
|
||||||
|
if (elm.Native.Show.values) return elm.Native.Show.values;
|
||||||
|
|
||||||
var NList = Elm.Native.List.make(elm);
|
var NList = Elm.Native.List.make(elm);
|
||||||
var List = Elm.List.make(elm);
|
var List = Elm.List.make(elm);
|
||||||
|
@ -95,5 +96,5 @@ Elm.Native.Show.make = function(elm) {
|
||||||
c === '\\' ? '\\\\' : c;
|
c === '\\' ? '\\\\' : c;
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.Show = { show:show };
|
return elm.Native.Show.values = { show:show };
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,8 @@ Elm.Native.Http = {};
|
||||||
Elm.Native.Http.make = function(elm) {
|
Elm.Native.Http.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Http) return elm.Native.Http;
|
elm.Native.Http = elm.Native.Http || {};
|
||||||
|
if (elm.Native.Http.values) return elm.Native.Http.values;
|
||||||
|
|
||||||
|
|
||||||
var JS = Elm.JavaScript.make(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
|
@ -50,12 +51,12 @@ Elm.Native.Http.make = function(elm) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function send(requests) {
|
function send(requests) {
|
||||||
var responses = Signal.constant(elm.Http.Waiting);
|
var responses = Signal.constant(elm.Http.values.Waiting);
|
||||||
var sender = A2( Signal.lift, registerReq([],responses), requests );
|
var sender = A2( Signal.lift, registerReq([],responses), requests );
|
||||||
function f(x) { return function(y) { return x; } }
|
function f(x) { return function(y) { return x; } }
|
||||||
return A3( Signal.lift2, f, responses, sender );
|
return A3( Signal.lift2, f, responses, sender );
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.Http = {send:send};
|
return elm.Native.Http.values = {send:send};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,8 @@ Elm.Native.Keyboard = {};
|
||||||
Elm.Native.Keyboard.make = function(elm) {
|
Elm.Native.Keyboard.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Keyboard) return elm.Native.Keyboard;
|
elm.Native.Keyboard = elm.Native.Keyboard || {};
|
||||||
|
if (elm.Native.Keyboard.values) return elm.Native.Keyboard.values;
|
||||||
|
|
||||||
// Duplicated from Native.Signal
|
// Duplicated from Native.Signal
|
||||||
function send(node, timestep, changed) {
|
function send(node, timestep, changed) {
|
||||||
|
@ -103,7 +104,7 @@ Elm.Native.Keyboard.make = function(elm) {
|
||||||
|
|
||||||
var lastPressed = Signal.dropRepeats(downEvents);
|
var lastPressed = Signal.dropRepeats(downEvents);
|
||||||
|
|
||||||
return elm.Native.Keyboard = {
|
return elm.Native.Keyboard.values = {
|
||||||
isDown:is,
|
isDown:is,
|
||||||
directions:F4(dir),
|
directions:F4(dir),
|
||||||
keysDown:keysDown,
|
keysDown:keysDown,
|
||||||
|
|
|
@ -2,7 +2,8 @@ Elm.Native.Mouse = {};
|
||||||
Elm.Native.Mouse.make = function(elm) {
|
Elm.Native.Mouse.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Mouse) return elm.Native.Mouse;
|
elm.Native.Mouse = elm.Native.Mouse || {};
|
||||||
|
if (elm.Native.Mouse.values) return elm.Native.Mouse.values;
|
||||||
|
|
||||||
var Signal = Elm.Signal.make(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var Utils = Elm.Native.Utils.make(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
|
@ -55,7 +56,7 @@ Elm.Native.Mouse.make = function(elm) {
|
||||||
elm.notify(position.id, getXY(e));
|
elm.notify(position.id, getXY(e));
|
||||||
});
|
});
|
||||||
|
|
||||||
return elm.Native.Mouse = {
|
return elm.Native.Mouse.values = {
|
||||||
position: position,
|
position: position,
|
||||||
x:x,
|
x:x,
|
||||||
y:y,
|
y:y,
|
||||||
|
|
|
@ -2,7 +2,8 @@ Elm.Native.Random = {};
|
||||||
Elm.Native.Random.make = function(elm) {
|
Elm.Native.Random.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Random) return elm.Native.Random;
|
elm.Native.Random = elm.Native.Random || {};
|
||||||
|
if (elm.Native.Random.values) return elm.Native.Random.values;
|
||||||
|
|
||||||
var Signal = Elm.Signal.make(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
|
|
||||||
|
@ -16,8 +17,8 @@ Elm.Native.Random.make = function(elm) {
|
||||||
return A2( Signal.lift, f, signal );
|
return A2( Signal.lift, f, signal );
|
||||||
}
|
}
|
||||||
|
|
||||||
elm.Native.Random = { range: F3(range) };
|
return elm.Native.Random.values = {
|
||||||
elm.Native.Random['flt'] = flt;
|
range: F3(range),
|
||||||
return elm.Native.Random;
|
flt: flt
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,7 +3,8 @@ Elm.Native.Signal = {};
|
||||||
Elm.Native.Signal.make = function(elm) {
|
Elm.Native.Signal.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Signal) return elm.Native.Signal;
|
elm.Native.Signal = elm.Native.Signal || {};
|
||||||
|
if (elm.Native.Signal.values) return elm.Native.Signal.values;
|
||||||
|
|
||||||
var Utils = Elm.Native.Utils.make(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
var foldl1 = Elm.List.make(elm).foldl1;
|
var foldl1 = Elm.List.make(elm).foldl1;
|
||||||
|
@ -203,7 +204,7 @@ Elm.Native.Signal.make = function(elm) {
|
||||||
function merge(s1,s2) { return new Merge(s1,s2); }
|
function merge(s1,s2) { return new Merge(s1,s2); }
|
||||||
function merges(ss) { return A2(foldl1, F2(merge), ss); }
|
function merges(ss) { return A2(foldl1, F2(merge), ss); }
|
||||||
|
|
||||||
return elm.Native.Signal = {
|
return elm.Native.Signal.values = {
|
||||||
constant : function(v) { return new Input(v); },
|
constant : function(v) { return new Input(v); },
|
||||||
lift : F2(lift ),
|
lift : F2(lift ),
|
||||||
lift2 : F3(lift2),
|
lift2 : F3(lift2),
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
Elm.Native.Time = {};
|
Elm.Native.Time = {};
|
||||||
Elm.Native.Time.make = function(elm) {
|
Elm.Native.Time.make = function(elm) {
|
||||||
|
|
||||||
|
elm.Native = elm.Native || {};
|
||||||
|
elm.Native.Time = elm.Native.Time || {};
|
||||||
|
if (elm.Native.Time.values) return elm.Native.Time.values;
|
||||||
|
|
||||||
var Signal = Elm.Signal.make(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var NS = Elm.Native.Signal.make(elm);
|
var NS = Elm.Native.Signal.make(elm);
|
||||||
var Maybe = Elm.Maybe.make(elm);
|
var Maybe = Elm.Maybe.make(elm);
|
||||||
|
@ -49,7 +53,7 @@ Elm.Native.Time.make = function(elm) {
|
||||||
var t = Date.parse(s);
|
var t = Date.parse(s);
|
||||||
return isNaN(t) ? Maybe.Nothing : Maybe.Just(t);
|
return isNaN(t) ? Maybe.Nothing : Maybe.Just(t);
|
||||||
}
|
}
|
||||||
return elm.Native.Time = {
|
return elm.Native.Time.values = {
|
||||||
fpsWhen : F2(fpsWhen),
|
fpsWhen : F2(fpsWhen),
|
||||||
fps : function(t) { return fpsWhen(t, Signal.constant(true)); },
|
fps : function(t) { return fpsWhen(t, Signal.constant(true)); },
|
||||||
every : function(t) { return everyWhen(t, Signal.constant(true)) },
|
every : function(t) { return everyWhen(t, Signal.constant(true)) },
|
||||||
|
|
|
@ -2,7 +2,8 @@ Elm.Native.Touch = {};
|
||||||
Elm.Native.Touch.make = function(elm) {
|
Elm.Native.Touch.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Touch) return elm.Native.Touch;
|
elm.Native.Touch = elm.Native.Touch || {};
|
||||||
|
if (elm.Native.Touch.values) return elm.Native.Touch.values;
|
||||||
|
|
||||||
var Signal = Elm.Signal.make(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var JS = Elm.JavaScript.make(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
|
@ -143,6 +144,6 @@ Elm.Native.Touch.make = function(elm) {
|
||||||
return sig2;
|
return sig2;
|
||||||
}();
|
}();
|
||||||
|
|
||||||
return elm.Native.Touch = { touches: touches, taps: taps };
|
return elm.Native.Touch.values = { touches: touches, taps: taps };
|
||||||
|
|
||||||
};
|
};
|
|
@ -2,7 +2,8 @@ Elm.Native.WebSocket = {};
|
||||||
Elm.Native.WebSocket.make = function(elm) {
|
Elm.Native.WebSocket.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.WebSocket) return elm.Native.WebSocket;
|
elm.Native.WebSocket = elm.Native.WebSocket || {};
|
||||||
|
if (elm.Native.WebSocket.values) return elm.Native.WebSocket.values;
|
||||||
|
|
||||||
var Signal = Elm.Signal.make(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var JS = Elm.JavaScript.make(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
|
@ -33,5 +34,5 @@ Elm.Native.WebSocket.make = function(elm) {
|
||||||
return A3(Signal.lift2, F2(take1), incoming, A2(Signal.lift, send, outgoing));
|
return A3(Signal.lift2, F2(take1), incoming, A2(Signal.lift, send, outgoing));
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.WebSocket = { connect: F2(open) };
|
return elm.Native.WebSocket.values = { connect: F2(open) };
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,8 @@ Elm.Native.Window = {};
|
||||||
Elm.Native.Window.make = function(elm) {
|
Elm.Native.Window.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Window) return elm.Native.Window;
|
elm.Native.Window = elm.Native.Window || {};
|
||||||
|
if (elm.Native.Window.values) return elm.Native.Window.values;
|
||||||
|
|
||||||
var Signal = Elm.Signal.make(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var Tuple2 = Elm.Native.Utils.make(elm).Tuple2;
|
var Tuple2 = Elm.Native.Utils.make(elm).Tuple2;
|
||||||
|
@ -34,7 +35,7 @@ Elm.Native.Window.make = function(elm) {
|
||||||
}
|
}
|
||||||
elm.addListener([dimensions.id], window, 'resize', resizeIfNeeded);
|
elm.addListener([dimensions.id], window, 'resize', resizeIfNeeded);
|
||||||
|
|
||||||
return elm.Native.Window = {
|
return elm.Native.Window.values = {
|
||||||
dimensions:dimensions,
|
dimensions:dimensions,
|
||||||
width:width,
|
width:width,
|
||||||
height:height,
|
height:height,
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
Elm.Native.Text = {};
|
Elm.Native.Text = {};
|
||||||
Elm.Native.Text.make = function(elm) {
|
Elm.Native.Text.make = function(elm) {
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Text) return elm.Native.Text;
|
elm.Native.Text = elm.Native.Text || {};
|
||||||
|
if (elm.Native.Text.values) return elm.Native.Text.values;
|
||||||
|
|
||||||
var JS = Elm.JavaScript.make(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
var htmlHeight = Elm.Native.Utils.make(elm).htmlHeight;
|
var htmlHeight = Elm.Native.Utils.make(elm).htmlHeight;
|
||||||
|
@ -108,7 +109,7 @@ Elm.Native.Text.make = function(elm) {
|
||||||
return position('left')(toText(v));
|
return position('left')(toText(v));
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.Text = {
|
return elm.Native.Text.values = {
|
||||||
toText: toText,
|
toText: toText,
|
||||||
|
|
||||||
header : header,
|
header : header,
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
|
|
||||||
Elm.Native.Transform2D = {};
|
Elm.Native.Transform2D = {};
|
||||||
Elm.Native.Transform2D.make = function(elm) {
|
Elm.Native.Transform2D.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Transform2D) return elm.Native.Transform2D;
|
elm.Native.Transform2D = elm.Native.Transform2D || {};
|
||||||
|
if (elm.Native.Transform2D.values) return elm.Native.Transform2D.values;
|
||||||
|
|
||||||
var A;
|
var A;
|
||||||
if (typeof Float32Array === 'undefined') {
|
if (typeof Float32Array === 'undefined') {
|
||||||
|
@ -80,7 +80,7 @@ Elm.Native.Transform2D.make = function(elm) {
|
||||||
m21*ndx + m22*ndy + mdy]);
|
m21*ndx + m22*ndy + mdy]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.Transform2D = {
|
return elm.Native.Transform2D.values = {
|
||||||
identity:identity,
|
identity:identity,
|
||||||
matrix:F6(matrix),
|
matrix:F6(matrix),
|
||||||
rotation:rotation,
|
rotation:rotation,
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
|
|
||||||
Elm.Native.Utils = {};
|
Elm.Native.Utils = {};
|
||||||
Elm.Native.Utils.make = function(elm) {
|
Elm.Native.Utils.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Utils) return elm.Native.Utils;
|
elm.Native.Utils = elm.Native.Utils || {};
|
||||||
|
if (elm.Native.Utils.values) return elm.Native.Utils.values;
|
||||||
|
|
||||||
function eq(x,y) {
|
function eq(x,y) {
|
||||||
if (x === y) return true;
|
if (x === y) return true;
|
||||||
|
@ -144,7 +143,7 @@ Elm.Native.Utils.make = function(elm) {
|
||||||
elm.addListener(elm.inputs, elm.node, 'mouseover', adjustOffset);
|
elm.addListener(elm.inputs, elm.node, 'mouseover', adjustOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
return elm.Native.Utils = {
|
return elm.Native.Utils.values = {
|
||||||
eq:eq,
|
eq:eq,
|
||||||
cmp:cmp,
|
cmp:cmp,
|
||||||
compare:F2(compare),
|
compare:F2(compare),
|
||||||
|
|
|
@ -164,7 +164,7 @@ function initGraphics(elm, Module) {
|
||||||
function domUpdate(newScene, currentScene) {
|
function domUpdate(newScene, currentScene) {
|
||||||
ElmRuntime.draw(function(_) {
|
ElmRuntime.draw(function(_) {
|
||||||
Render.update(elm.node.firstChild, currentScene, newScene);
|
Render.update(elm.node.firstChild, currentScene, newScene);
|
||||||
if (elm.Native.Window) elm.Native.Window.resizeIfNeeded();
|
if (elm.Native.Window) elm.Native.Window.values.resizeIfNeeded();
|
||||||
});
|
});
|
||||||
return newScene;
|
return newScene;
|
||||||
}
|
}
|
||||||
|
@ -172,7 +172,7 @@ function initGraphics(elm, Module) {
|
||||||
|
|
||||||
// must check for resize after 'renderer' is created so
|
// must check for resize after 'renderer' is created so
|
||||||
// that changes show up.
|
// that changes show up.
|
||||||
if (elm.Native.Window) elm.Native.Window.resizeIfNeeded();
|
if (elm.Native.Window) elm.Native.Window.values.resizeIfNeeded();
|
||||||
|
|
||||||
return renderer;
|
return renderer;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue