Change the format of module instantiation
Currently, it's only possible to create modules at the leafs of the namespace structure. This CL lifts that restriction. Get rid of "use strict" in many cases.
This commit is contained in:
parent
d6c8ecd454
commit
dcbe2fc245
28 changed files with 139 additions and 162 deletions
|
@ -48,7 +48,7 @@ varDecl x expr =
|
||||||
VarDecl () (var x) (Just expr)
|
VarDecl () (var x) (Just expr)
|
||||||
|
|
||||||
include alias moduleName =
|
include alias moduleName =
|
||||||
varDecl alias (obj moduleName <| ref "elm")
|
varDecl alias (obj (moduleName ++ ".make") <| ref "elm")
|
||||||
|
|
||||||
internalImports name =
|
internalImports name =
|
||||||
VarDeclStmt ()
|
VarDeclStmt ()
|
||||||
|
@ -278,8 +278,9 @@ clause span variable (Clause value vars mtch) =
|
||||||
|
|
||||||
|
|
||||||
jsModule :: MetadataModule () () -> String
|
jsModule :: MetadataModule () () -> String
|
||||||
jsModule modul = show . prettyPrint $ setup (Just "Elm") (names modul) ++
|
jsModule modul =
|
||||||
[ assign ("Elm" : names modul) (function ["elm"] programStmts) ]
|
show . prettyPrint $ setup (Just "Elm") (names modul ++ ["make"]) ++
|
||||||
|
[ assign ("Elm" : names modul ++ ["make"]) (function ["elm"] programStmts) ]
|
||||||
where
|
where
|
||||||
thisModule = dotSep ("elm" : names modul)
|
thisModule = dotSep ("elm" : names modul)
|
||||||
programStmts =
|
programStmts =
|
||||||
|
@ -306,9 +307,10 @@ jsModule modul = show . prettyPrint $ setup (Just "Elm") (names modul) ++
|
||||||
_ -> ExprStmt () $
|
_ -> ExprStmt () $
|
||||||
AssignExpr () OpAssign (LDot () (dotSep (init path)) (last path)) expr
|
AssignExpr () OpAssign (LDot () (dotSep (init path)) (last path)) expr
|
||||||
|
|
||||||
jsImport (modul,_) = setup Nothing path ++ [ assign path (dotSep ("Elm" : path) <| ref "elm") ]
|
jsImport (modul,_) = setup Nothing path ++ [ include ]
|
||||||
where
|
where
|
||||||
path = split modul
|
path = split modul
|
||||||
|
include = assign path $ dotSep ("Elm" : path ++ ["make"]) <| ref "elm"
|
||||||
|
|
||||||
setup namespace path = map create paths
|
setup namespace path = map create paths
|
||||||
where
|
where
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
|
||||||
Elm.Native.Basics = function(elm) {
|
Elm.Native.Basics = {};
|
||||||
'use strict';
|
Elm.Native.Basics.make = function(elm) {
|
||||||
if (elm.Native.Basics) return elm.Native.Basics;
|
if (elm.Native.Basics) return elm.Native.Basics;
|
||||||
|
|
||||||
var JS = Elm.Native.JavaScript(elm);
|
var JS = Elm.Native.JavaScript.make(elm);
|
||||||
// var Maybe = Elm.Maybe(elm);
|
// var Maybe = Elm.Maybe(elm);
|
||||||
var Utils = Elm.Native.Utils(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
//var Char = Elm.Char(elm);
|
//var Char = Elm.Char(elm);
|
||||||
|
|
||||||
function div(a,b) { return (a/b)|0; }
|
function div(a,b) { return (a/b)|0; }
|
||||||
|
|
|
@ -1,31 +1,28 @@
|
||||||
|
Elm.Native.Char = {};
|
||||||
|
Elm.Native.Char.make = function(elm) {
|
||||||
|
elm.Native = elm.Native || {};
|
||||||
|
if (elm.Native.Char) return elm.Native.Char;
|
||||||
|
|
||||||
Elm.Native.Char = function(elm) {
|
function isBetween(lo,hi) { return function(chr) {
|
||||||
'use strict';
|
var c = chr.charCodeAt(0);
|
||||||
|
return lo <= c && c <= hi;
|
||||||
elm.Native = elm.Native || {};
|
};
|
||||||
if (elm.Native.Char) return elm.Native.Char;
|
}
|
||||||
|
var isDigit = isBetween('0'.charCodeAt(0),'9'.charCodeAt(0));
|
||||||
function isBetween(lo,hi) { return function(chr) {
|
var chk1 = isBetween('a'.charCodeAt(0),'f'.charCodeAt(0));
|
||||||
var c = chr.charCodeAt(0);
|
var chk2 = isBetween('A'.charCodeAt(0),'F'.charCodeAt(0));
|
||||||
return lo <= c && c <= hi;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
var isDigit = isBetween('0'.charCodeAt(0),'9'.charCodeAt(0));
|
|
||||||
var chk1 = isBetween('a'.charCodeAt(0),'f'.charCodeAt(0));
|
|
||||||
var chk2 = isBetween('A'.charCodeAt(0),'F'.charCodeAt(0));
|
|
||||||
|
|
||||||
return elm.Native.Char = {
|
|
||||||
fromCode : function(c) { return String.fromCharCode(c); },
|
|
||||||
toCode : function(c) { return c.toUpperCase().charCodeAt(0); },
|
|
||||||
toUpper : function(c) { return c.toUpperCase(); },
|
|
||||||
toLower : function(c) { return c.toLowerCase(); },
|
|
||||||
toLocaleUpper : function(c) { return c.toLocaleUpperCase(); },
|
|
||||||
toLocaleLower : function(c) { return c.toLocaleLowerCase(); },
|
|
||||||
isLower : isBetween('a'.charCodeAt(0),'z'.charCodeAt(0)),
|
|
||||||
isUpper : isBetween('A'.charCodeAt(0),'Z'.charCodeAt(0)),
|
|
||||||
isDigit : isDigit,
|
|
||||||
isOctDigit : isBetween('0'.charCodeAt(0),'7'.charCodeAt(0)),
|
|
||||||
isHexDigit : function(c) { return isDigit(c) || chk1(c) || chk2(c); }
|
|
||||||
};
|
|
||||||
|
|
||||||
|
return elm.Native.Char = {
|
||||||
|
fromCode : function(c) { return String.fromCharCode(c); },
|
||||||
|
toCode : function(c) { return c.toUpperCase().charCodeAt(0); },
|
||||||
|
toUpper : function(c) { return c.toUpperCase(); },
|
||||||
|
toLower : function(c) { return c.toLowerCase(); },
|
||||||
|
toLocaleUpper : function(c) { return c.toLocaleUpperCase(); },
|
||||||
|
toLocaleLower : function(c) { return c.toLocaleLowerCase(); },
|
||||||
|
isLower : isBetween('a'.charCodeAt(0),'z'.charCodeAt(0)),
|
||||||
|
isUpper : isBetween('A'.charCodeAt(0),'Z'.charCodeAt(0)),
|
||||||
|
isDigit : isDigit,
|
||||||
|
isOctDigit : isBetween('0'.charCodeAt(0),'7'.charCodeAt(0)),
|
||||||
|
isHexDigit : function(c) { return isDigit(c) || chk1(c) || chk2(c); }
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
|
Elm.Native.Color = {};
|
||||||
|
Elm.Native.Color.make = function(elm) {
|
||||||
Elm.Native.Color = function(elm) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Color) return elm.Native.Color;
|
if (elm.Native.Color) return elm.Native.Color;
|
||||||
|
|
||||||
var Utils = Elm.Native.Utils(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
|
|
||||||
function complement(rgb) {
|
function complement(rgb) {
|
||||||
var hsv = toHSV(rgb);
|
var hsv = toHSV(rgb);
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
|
Elm.Native.Date = {};
|
||||||
Elm.Native.Date = function(elm) {
|
Elm.Native.Date.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Date) return elm.Native.Date;
|
if (elm.Native.Date) return elm.Native.Date;
|
||||||
|
|
||||||
var JS = Elm.JavaScript(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
var Maybe = Elm.Maybe(elm);
|
var Maybe = Elm.Maybe.make(elm);
|
||||||
|
|
||||||
function dateNow() { return new window.Date; }
|
function dateNow() { return new window.Date; }
|
||||||
function readDate(str) {
|
function readDate(str) {
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
|
Elm.Native.Error = {};
|
||||||
Elm.Native.Error = function(elm) {
|
Elm.Native.Error.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Error) return elm.Native.Error;
|
if (elm.Native.Error) return elm.Native.Error;
|
||||||
|
|
||||||
var fromString = Elm.Native.JavaScript(elm).fromString;
|
var fromString = Elm.Native.JavaScript.make(elm).fromString;
|
||||||
|
|
||||||
function indent(lines) {
|
function indent(lines) {
|
||||||
var msg = '';
|
var msg = '';
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
|
Elm.Native.Graphics.Collage = {};
|
||||||
Elm.Native.Graphics.Collage = function(elm) {
|
Elm.Native.Graphics.Collage.make = function(elm) {
|
||||||
"use strict";
|
|
||||||
|
|
||||||
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;
|
if (elm.Native.Graphics.Collage) return elm.Native.Graphics.Collage;
|
||||||
|
|
||||||
var newElement = Elm.Graphics.Element(elm).newElement;
|
var newElement = Elm.Graphics.Element.make(elm).newElement;
|
||||||
var C = ElmRuntime.use(ElmRuntime.Render.Collage);
|
var C = ElmRuntime.use(ElmRuntime.Render.Collage);
|
||||||
|
|
||||||
function collage(w,h,forms) {
|
function collage(w,h,forms) {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
|
Elm.Native.Graphics.Input = {};
|
||||||
Elm.Native.Graphics.Input = function(elm) {
|
Elm.Native.Graphics.Input.make = function(elm) {
|
||||||
"use strict";
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
elm.Native.Graphics = elm.Native.Graphics || {};
|
elm.Native.Graphics = elm.Native.Graphics || {};
|
||||||
|
@ -9,10 +8,10 @@ Elm.Native.Graphics.Input = function(elm) {
|
||||||
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;
|
||||||
|
|
||||||
var Signal = Elm.Signal(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var newElement = Elm.Graphics.Element(elm).newElement;
|
var newElement = Elm.Graphics.Element.make(elm).newElement;
|
||||||
var JS = Elm.Native.JavaScript(elm);
|
var JS = Elm.Native.JavaScript.make(elm);
|
||||||
var Utils = Elm.Native.Utils(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
var Tuple2 = Utils.Tuple2;
|
var Tuple2 = Utils.Tuple2;
|
||||||
|
|
||||||
function dropDown(values) {
|
function dropDown(values) {
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
|
Elm.Native.JavaScript = {};
|
||||||
Elm.Native.JavaScript = function(elm) {
|
Elm.Native.JavaScript.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.JavaScript) return elm.Native.JavaScript;
|
if (elm.Native.JavaScript) return elm.Native.JavaScript;
|
||||||
|
|
||||||
var List = Elm.Native.List(elm);
|
var List = Elm.Native.List.make(elm);
|
||||||
var Render = ElmRuntime.use(ElmRuntime.Render.Element);
|
var Render = ElmRuntime.use(ElmRuntime.Render.Element);
|
||||||
|
|
||||||
function fromJS(v) {
|
function fromJS(v) {
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
|
Elm.Native.Json = {};
|
||||||
|
Elm.Native.Json.make = function(elm) {
|
||||||
|
|
||||||
Elm.Native.Json = function(elm) {
|
var Maybe = Elm.Maybe.make(elm);
|
||||||
'use strict';
|
var Dict = Elm.Dict.make(elm);
|
||||||
|
var List = Elm.List.make(elm);
|
||||||
var Maybe = Elm.Maybe(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
var Dict = Elm.Dict(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
var List = Elm.List(elm);
|
|
||||||
var JS = Elm.JavaScript(elm);
|
|
||||||
var Utils = Elm.Native.Utils(elm);
|
|
||||||
|
|
||||||
function fromValue(v) {
|
function fromValue(v) {
|
||||||
switch (v.ctor) {
|
switch (v.ctor) {
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
Elm.Native.List = function(elm) {
|
Elm.Native.List = {};
|
||||||
"use strict";
|
Elm.Native.List.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.List) return elm.Native.List;
|
if (elm.Native.List) return elm.Native.List;
|
||||||
if ('values' in Elm.Native.List)
|
if ('values' in Elm.Native.List)
|
||||||
return elm.Native.List = Elm.Native.List.values;
|
return elm.Native.List = Elm.Native.List.values;
|
||||||
|
|
||||||
var Utils = Elm.Native.Utils(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
|
|
||||||
// TODO: Improve Nil handling
|
// TODO: Improve Nil handling
|
||||||
// We can change places like: if (xs.ctor === '[]') ... to if (xs === Nil) ...
|
// We can change places like: if (xs.ctor === '[]') ... to if (xs === Nil) ...
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
|
Elm.Native.Prelude = {};
|
||||||
Elm.Native.Prelude = function(elm) {
|
Elm.Native.Prelude.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
if (elm.Native.Prelude) return elm.Native.Prelude;
|
if (elm.Native.Prelude) return elm.Native.Prelude;
|
||||||
|
|
||||||
var JS = Elm.Native.JavaScript(elm);
|
var JS = Elm.Native.JavaScript.make(elm);
|
||||||
var Maybe = Elm.Maybe(elm);
|
var Maybe = Elm.Maybe.make(elm);
|
||||||
var Char = Elm.Char(elm);
|
var Char = Elm.Char.make(elm);
|
||||||
|
|
||||||
function readInt(str) {
|
function readInt(str) {
|
||||||
var s = JS.fromString(str);
|
var s = JS.fromString(str);
|
||||||
|
|
|
@ -1,17 +1,15 @@
|
||||||
|
Elm.Native.Show = {};
|
||||||
Elm.Native.Show = function(elm) {
|
Elm.Native.Show.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Show) return elm.Native.Show;
|
if (elm.Native.Show) return elm.Native.Show;
|
||||||
|
|
||||||
var NList = Elm.Native.List(elm);
|
var NList = Elm.Native.List.make(elm);
|
||||||
var List = Elm.List(elm);
|
var List = Elm.List.make(elm);
|
||||||
var Maybe = Elm.Maybe(elm);
|
var Maybe = Elm.Maybe.make(elm);
|
||||||
var JS = Elm.JavaScript(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
var Dict = Elm.Dict(elm);
|
var Dict = Elm.Dict.make(elm);
|
||||||
var Json = Elm.Json(elm);
|
var Json = Elm.Json.make(elm);
|
||||||
var Tuple2 = Elm.Native.Utils(elm).Tuple2;
|
var Tuple2 = Elm.Native.Utils.make(elm).Tuple2;
|
||||||
|
|
||||||
var toString = function(v) {
|
var toString = function(v) {
|
||||||
var type = typeof v;
|
var type = typeof v;
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
|
Elm.Native.Http = {};
|
||||||
|
Elm.Native.Http.make = function(elm) {
|
||||||
|
|
||||||
Elm.Native.Http = function(elm) {
|
|
||||||
'use strict';
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Http) return elm.Native.Http;
|
if (elm.Native.Http) return elm.Native.Http;
|
||||||
|
|
||||||
|
|
||||||
var JS = Elm.JavaScript(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
var List = Elm.List(elm);
|
var List = Elm.List.make(elm);
|
||||||
var Signal = Elm.Signal(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
|
|
||||||
|
|
||||||
function registerReq(queue,responses) { return function(req) {
|
function registerReq(queue,responses) { return function(req) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
Elm.Native.Keyboard = {};
|
||||||
|
Elm.Native.Keyboard.make = function(elm) {
|
||||||
|
|
||||||
Elm.Native.Keyboard = function(elm) {
|
|
||||||
'use strict';
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Keyboard) return elm.Native.Keyboard;
|
if (elm.Native.Keyboard) return elm.Native.Keyboard;
|
||||||
|
|
||||||
|
@ -12,9 +12,9 @@ Elm.Native.Keyboard = function(elm) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var Signal = Elm.Signal(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var NList = Elm.Native.List(elm);
|
var NList = Elm.Native.List.make(elm);
|
||||||
var Utils = Elm.Native.Utils(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
|
|
||||||
var downEvents = Signal.constant(0);
|
var downEvents = Signal.constant(0);
|
||||||
var upEvents = Signal.constant(0);
|
var upEvents = Signal.constant(0);
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
Elm.Native.Mouse = {};
|
||||||
|
Elm.Native.Mouse.make = function(elm) {
|
||||||
|
|
||||||
Elm.Native.Mouse = function(elm) {
|
|
||||||
'use strict';
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Mouse) return elm.Native.Mouse;
|
if (elm.Native.Mouse) return elm.Native.Mouse;
|
||||||
|
|
||||||
var Signal = Elm.Signal(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var Utils = Elm.Native.Utils(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
|
|
||||||
var position = Signal.constant(Utils.Tuple2(0,0));
|
var position = Signal.constant(Utils.Tuple2(0,0));
|
||||||
position.defaultNumberOfKids = 2;
|
position.defaultNumberOfKids = 2;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
|
Elm.Native.Random = {};
|
||||||
|
Elm.Native.Random.make = function(elm) {
|
||||||
|
|
||||||
Elm.Native.Random = function(elm) {
|
|
||||||
'use strict';
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Random) return elm.Native.Random;
|
if (elm.Native.Random) return elm.Native.Random;
|
||||||
|
|
||||||
var Signal = Elm.Signal(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
|
|
||||||
function range(min, max, signal) {
|
function range(min, max, signal) {
|
||||||
function f(x) { return Math.floor(Math.random() * (max-min+1)) + min; }
|
function f(x) { return Math.floor(Math.random() * (max-min+1)) + min; }
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
|
|
||||||
Elm.Native.Signal = function(elm) {
|
Elm.Native.Signal = {};
|
||||||
'use strict';
|
Elm.Native.Signal.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Signal) return elm.Native.Signal;
|
if (elm.Native.Signal) return elm.Native.Signal;
|
||||||
|
|
||||||
var Utils = Elm.Native.Utils(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
var foldl1 = Elm.List(elm).foldl1;
|
var foldl1 = Elm.List.make(elm).foldl1;
|
||||||
|
|
||||||
function send(node, timestep, changed) {
|
function send(node, timestep, changed) {
|
||||||
var kids = node.kids;
|
var kids = node.kids;
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
|
Elm.Native.Time = {};
|
||||||
|
Elm.Native.Time.make = function(elm) {
|
||||||
|
|
||||||
Elm.Native.Time = function(elm) {
|
var Signal = Elm.Signal.make(elm);
|
||||||
'use strict';
|
var NS = Elm.Native.Signal.make(elm);
|
||||||
|
var Maybe = Elm.Maybe.make(elm);
|
||||||
var Signal = Elm.Signal(elm);
|
var Utils = Elm.Native.Utils.make(elm);
|
||||||
var NS = Elm.Native.Signal(elm);
|
|
||||||
var Maybe = Elm.Maybe(elm);
|
|
||||||
var Utils = Elm.Native.Utils(elm);
|
|
||||||
|
|
||||||
function fpsWhen(desiredFPS, isOn) {
|
function fpsWhen(desiredFPS, isOn) {
|
||||||
var msPerFrame = 1000 / desiredFPS;
|
var msPerFrame = 1000 / desiredFPS;
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
|
Elm.Native.Touch = {};
|
||||||
Elm.Native.Touch = function(elm) {
|
Elm.Native.Touch.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Touch) return elm.Native.Touch;
|
if (elm.Native.Touch) return elm.Native.Touch;
|
||||||
|
|
||||||
var Signal = Elm.Signal(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var JS = Elm.JavaScript(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
var _ = Elm.Native.Utils(elm);
|
var _ = Elm.Native.Utils.make(elm);
|
||||||
|
|
||||||
function Dict() {
|
function Dict() {
|
||||||
this.keys = [];
|
this.keys = [];
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
|
Elm.Native.WebSocket = {};
|
||||||
Elm.Native.WebSocket = function(elm) {
|
Elm.Native.WebSocket.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.WebSocket) return elm.Native.WebSocket;
|
if (elm.Native.WebSocket) return elm.Native.WebSocket;
|
||||||
|
|
||||||
var Signal = Elm.Signal(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var JS = Elm.JavaScript(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
var List = Elm.Native.List(elm);
|
var List = Elm.Native.List.make(elm);
|
||||||
|
|
||||||
function open(url, outgoing) {
|
function open(url, outgoing) {
|
||||||
var incoming = Signal.constant(List.Nil);
|
var incoming = Signal.constant(List.Nil);
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
|
Elm.Native.Window = {};
|
||||||
Elm.Native.Window = function(elm) {
|
Elm.Native.Window.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Window) return elm.Native.Window;
|
if (elm.Native.Window) return elm.Native.Window;
|
||||||
|
|
||||||
var Signal = Elm.Signal(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
var Tuple2 = Elm.Native.Utils(elm).Tuple2;
|
var Tuple2 = Elm.Native.Utils.make(elm).Tuple2;
|
||||||
|
|
||||||
function getWidth() { return elm.node.clientWidth; }
|
function getWidth() { return elm.node.clientWidth; }
|
||||||
function getHeight() {
|
function getHeight() {
|
||||||
|
|
|
@ -1,15 +1,13 @@
|
||||||
|
Elm.Native.Text = {};
|
||||||
Elm.Native.Text = function(elm) {
|
Elm.Native.Text.make = function(elm) {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Text) return elm.Native.Text;
|
if (elm.Native.Text) return elm.Native.Text;
|
||||||
|
|
||||||
var JS = Elm.JavaScript(elm);
|
var JS = Elm.JavaScript.make(elm);
|
||||||
var htmlHeight = Elm.Native.Utils(elm).htmlHeight;
|
var htmlHeight = Elm.Native.Utils.make(elm).htmlHeight;
|
||||||
var Color = Elm.Native.Color(elm);
|
var Color = Elm.Native.Color.make(elm);
|
||||||
var Element = Elm.Graphics.Element(elm);
|
var Element = Elm.Graphics.Element.make(elm);
|
||||||
var show = Elm.Native.Show(elm).show;
|
var show = Elm.Native.Show.make(elm).show;
|
||||||
|
|
||||||
function makeSpaces(s) {
|
function makeSpaces(s) {
|
||||||
if (s.length == 0) { return s; }
|
if (s.length == 0) { return s; }
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
Elm.Native.Transform2D = function(elm) {
|
Elm.Native.Transform2D = {};
|
||||||
"use strict";
|
Elm.Native.Transform2D.make = function(elm) {
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
if (elm.Native.Transform2D) return elm.Native.Transform2D;
|
if (elm.Native.Transform2D) return elm.Native.Transform2D;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
Elm.Native.Utils = function(elm) {
|
Elm.Native.Utils = {};
|
||||||
|
Elm.Native.Utils.make = function(elm) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
elm.Native = elm.Native || {};
|
elm.Native = elm.Native || {};
|
||||||
|
|
|
@ -99,10 +99,10 @@ function init(display, container, module, moduleToReplace) {
|
||||||
var Module = {};
|
var Module = {};
|
||||||
var reportAnyErrors = function() {};
|
var reportAnyErrors = function() {};
|
||||||
try {
|
try {
|
||||||
Module = module(elm);
|
Module = module.make(elm);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
var directions = "<br/> Open the developer console for more details."
|
var directions = "<br/> Open the developer console for more details."
|
||||||
Module.main = Elm.Text(elm).text('<code>' + e.message + directions + '</code>');
|
Module.main = Elm.Text.make(elm).text('<code>' + e.message + directions + '</code>');
|
||||||
reportAnyErrors = function() { throw e; }
|
reportAnyErrors = function() { throw e; }
|
||||||
}
|
}
|
||||||
inputs = ElmRuntime.filterDeadInputs(inputs);
|
inputs = ElmRuntime.filterDeadInputs(inputs);
|
||||||
|
@ -150,7 +150,7 @@ function initGraphics(elm, Module) {
|
||||||
var signalGraph = Module.main;
|
var signalGraph = Module.main;
|
||||||
|
|
||||||
// make sure the signal graph is actually a signal & extract the visual model
|
// make sure the signal graph is actually a signal & extract the visual model
|
||||||
var Signal = Elm.Signal(elm);
|
var Signal = Elm.Signal.make(elm);
|
||||||
if (!('recv' in signalGraph)) {
|
if (!('recv' in signalGraph)) {
|
||||||
signalGraph = Signal.constant(signalGraph);
|
signalGraph = Signal.constant(signalGraph);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
|
|
||||||
ElmRuntime.Render.Collage = function() {
|
ElmRuntime.Render.Collage = function() {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var Render = ElmRuntime.use(ElmRuntime.Render.Element);
|
var Render = ElmRuntime.use(ElmRuntime.Render.Element);
|
||||||
var Transform = Elm.Transform2D({});
|
var Transform = Elm.Transform2D.make({});
|
||||||
var Utils = ElmRuntime.use(ElmRuntime.Render.Utils);
|
var Utils = ElmRuntime.use(ElmRuntime.Render.Utils);
|
||||||
var newElement = Utils.newElement,
|
var newElement = Utils.newElement,
|
||||||
extract = Utils.extract, fromList = Utils.fromList,
|
extract = Utils.extract, fromList = Utils.fromList,
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
|
|
||||||
ElmRuntime.Render.Utils = function() {
|
ElmRuntime.Render.Utils = function() {
|
||||||
'use strict';
|
|
||||||
|
|
||||||
function newElement(elementType) {
|
function newElement(elementType) {
|
||||||
var e = document.createElement(elementType);
|
var e = document.createElement(elementType);
|
||||||
|
@ -34,7 +33,7 @@ function removeTransform(style) {
|
||||||
style.OTransform = 'none';
|
style.OTransform = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
var List = Elm.Native.List({});
|
var List = Elm.Native.List.make({});
|
||||||
|
|
||||||
return {addTo:addTo,
|
return {addTo:addTo,
|
||||||
newElement:newElement,
|
newElement:newElement,
|
||||||
|
@ -42,7 +41,7 @@ return {addTo:addTo,
|
||||||
fromList: List.toArray,
|
fromList: List.toArray,
|
||||||
fromString: function(s) { return List.toArray(s).join(''); },
|
fromString: function(s) { return List.toArray(s).join(''); },
|
||||||
toString: List.fromArray,
|
toString: List.fromArray,
|
||||||
eq: Elm.Native.Utils({}).eq,
|
eq: Elm.Native.Utils.make({}).eq,
|
||||||
addTransform: addTransform,
|
addTransform: addTransform,
|
||||||
removeTransform: removeTransform
|
removeTransform: removeTransform
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue