on master help sign in
Change the format of module instantiation
dcbe2fcEvan Czaplicki
compiler/Generate/JavaScript.hs+6−4
@@ -48,7 +48,7 @@ varDecl x expr =
48 VarDecl () (var x) (Just expr)
48 VarDecl () (var x) (Just expr)
49
49
50include alias moduleName =
50include alias moduleName =
51− varDecl alias (obj moduleName <| ref "elm")
51+ varDecl alias (obj (moduleName ++ ".make") <| ref "elm")
52
52
53internalImports name =
53internalImports name =
54 VarDeclStmt ()
54 VarDeclStmt ()
@@ -278,8 +278,9 @@ clause span variable (Clause value vars mtch) =
278
278
279
279
280jsModule :: MetadataModule () () -> String
280jsModule :: MetadataModule () () -> String
281+jsModule modul =
281−jsModule modul = show . prettyPrint $ setup (Just "Elm") (names modul) ++
282+ show . prettyPrint $ setup (Just "Elm") (names modul ++ ["make"]) ++
282− [ assign ("Elm" : names modul) (function ["elm"] programStmts) ]
283+ [ assign ("Elm" : names modul ++ ["make"]) (function ["elm"] programStmts) ]
283 where
284 where
284 thisModule = dotSep ("elm" : names modul)
285 thisModule = dotSep ("elm" : names modul)
285 programStmts =
286 programStmts =
@@ -306,9 +307,10 @@ jsModule modul = show . prettyPrint $ setup (Just "Elm") (names modul) ++
306 _ -> ExprStmt () $
307 _ -> ExprStmt () $
307 AssignExpr () OpAssign (LDot () (dotSep (init path)) (last path)) expr
308 AssignExpr () OpAssign (LDot () (dotSep (init path)) (last path)) expr
308
309
309− jsImport (modul,_) = setup Nothing path ++ [ assign path (dotSep ("Elm" : path) <| ref "elm") ]
310+ jsImport (modul,_) = setup Nothing path ++ [ include ]
310 where
311 where
311 path = split modul
312 path = split modul
313+ include = assign path $ dotSep ("Elm" : path ++ ["make"]) <| ref "elm"
312
314
313 setup namespace path = map create paths
315 setup namespace path = map create paths
314 where
316 where
libraries/Native/Basics.js+4−4
@@ -1,11 +1,11 @@
1
1
2−Elm.Native.Basics = function(elm) {
2+Elm.Native.Basics = {};
3− 'use strict';
3+Elm.Native.Basics.make = function(elm) {
4 if (elm.Native.Basics) return elm.Native.Basics;
4 if (elm.Native.Basics) return elm.Native.Basics;
5
5
6− var JS = Elm.Native.JavaScript(elm);
6+ var JS = Elm.Native.JavaScript.make(elm);
7 // var Maybe = Elm.Maybe(elm);
7 // var Maybe = Elm.Maybe(elm);
8− var Utils = Elm.Native.Utils(elm);
8+ var Utils = Elm.Native.Utils.make(elm);
9 //var Char = Elm.Char(elm);
9 //var Char = Elm.Char(elm);
10
10
11 function div(a,b) { return (a/b)|0; }
11 function div(a,b) { return (a/b)|0; }
libraries/Native/Char.js+25−28
@@ -1,31 +1,28 @@
1+Elm.Native.Char = {};
2+Elm.Native.Char.make = function(elm) {
3+ elm.Native = elm.Native || {};
4+ if (elm.Native.Char) return elm.Native.Char;
1
5
2−Elm.Native.Char = function(elm) {
3− 'use strict';
4−
5− elm.Native = elm.Native || {};
6− if (elm.Native.Char) return elm.Native.Char;
7−
8− function isBetween(lo,hi) { return function(chr) {
6+ function isBetween(lo,hi) { return function(chr) {
9− var c = chr.charCodeAt(0);
7+ var c = chr.charCodeAt(0);
10− return lo <= c && c <= hi;
8+ return lo <= c && c <= hi;
11− };
9+ };
12− }
10+ }
13− var isDigit = isBetween('0'.charCodeAt(0),'9'.charCodeAt(0));
11+ var isDigit = isBetween('0'.charCodeAt(0),'9'.charCodeAt(0));
14− var chk1 = isBetween('a'.charCodeAt(0),'f'.charCodeAt(0));
12+ var chk1 = isBetween('a'.charCodeAt(0),'f'.charCodeAt(0));
15− var chk2 = isBetween('A'.charCodeAt(0),'F'.charCodeAt(0));
13+ var chk2 = isBetween('A'.charCodeAt(0),'F'.charCodeAt(0));
16−
17− return elm.Native.Char = {
18− fromCode : function(c) { return String.fromCharCode(c); },
19− toCode : function(c) { return c.toUpperCase().charCodeAt(0); },
20− toUpper : function(c) { return c.toUpperCase(); },
21− toLower : function(c) { return c.toLowerCase(); },
22− toLocaleUpper : function(c) { return c.toLocaleUpperCase(); },
23− toLocaleLower : function(c) { return c.toLocaleLowerCase(); },
24− isLower : isBetween('a'.charCodeAt(0),'z'.charCodeAt(0)),
25− isUpper : isBetween('A'.charCodeAt(0),'Z'.charCodeAt(0)),
26− isDigit : isDigit,
27− isOctDigit : isBetween('0'.charCodeAt(0),'7'.charCodeAt(0)),
28− isHexDigit : function(c) { return isDigit(c) || chk1(c) || chk2(c); }
29− };
30
14
15+ return elm.Native.Char = {
16+ fromCode : function(c) { return String.fromCharCode(c); },
17+ toCode : function(c) { return c.toUpperCase().charCodeAt(0); },
18+ toUpper : function(c) { return c.toUpperCase(); },
19+ toLower : function(c) { return c.toLowerCase(); },
20+ toLocaleUpper : function(c) { return c.toLocaleUpperCase(); },
21+ toLocaleLower : function(c) { return c.toLocaleLowerCase(); },
22+ isLower : isBetween('a'.charCodeAt(0),'z'.charCodeAt(0)),
23+ isUpper : isBetween('A'.charCodeAt(0),'Z'.charCodeAt(0)),
24+ isDigit : isDigit,
25+ isOctDigit : isBetween('0'.charCodeAt(0),'7'.charCodeAt(0)),
26+ isHexDigit : function(c) { return isDigit(c) || chk1(c) || chk2(c); }
27+ };
31};
28};
libraries/Native/Color.js+3−6
@@ -1,12 +1,9 @@
1−
1+Elm.Native.Color = {};
2−
3−Elm.Native.Color = function(elm) {
2+Elm.Native.Color.make = function(elm) {
4− "use strict";
5−
6 elm.Native = elm.Native || {};
3 elm.Native = elm.Native || {};
7 if (elm.Native.Color) return elm.Native.Color;
4 if (elm.Native.Color) return elm.Native.Color;
8
5
9− var Utils = Elm.Native.Utils(elm);
6+ var Utils = Elm.Native.Utils.make(elm);
10
7
11 function complement(rgb) {
8 function complement(rgb) {
12 var hsv = toHSV(rgb);
9 var hsv = toHSV(rgb);
libraries/Native/Date.js+4−6
@@ -1,12 +1,10 @@
1−
1+Elm.Native.Date = {};
2−Elm.Native.Date = function(elm) {
2+Elm.Native.Date.make = function(elm) {
3− 'use strict';
4−
5 elm.Native = elm.Native || {};
3 elm.Native = elm.Native || {};
6 if (elm.Native.Date) return elm.Native.Date;
4 if (elm.Native.Date) return elm.Native.Date;
7
5
8− var JS = Elm.JavaScript(elm);
6+ var JS = Elm.JavaScript.make(elm);
9− var Maybe = Elm.Maybe(elm);
7+ var Maybe = Elm.Maybe.make(elm);
10
8
11 function dateNow() { return new window.Date; }
9 function dateNow() { return new window.Date; }
12 function readDate(str) {
10 function readDate(str) {
libraries/Native/Error.js+3−4
@@ -1,10 +1,9 @@
1−
1+Elm.Native.Error = {};
2−Elm.Native.Error = function(elm) {
2+Elm.Native.Error.make = function(elm) {
3− 'use strict';
4 elm.Native = elm.Native || {};
3 elm.Native = elm.Native || {};
5 if (elm.Native.Error) return elm.Native.Error;
4 if (elm.Native.Error) return elm.Native.Error;
6
5
7− var fromString = Elm.Native.JavaScript(elm).fromString;
6+ var fromString = Elm.Native.JavaScript.make(elm).fromString;
8
7
9 function indent(lines) {
8 function indent(lines) {
10 var msg = '';
9 var msg = '';
libraries/Native/Graphics/Collage.js+3−4
@@ -1,12 +1,11 @@
1−
1+Elm.Native.Graphics.Collage = {};
2−Elm.Native.Graphics.Collage = function(elm) {
2+Elm.Native.Graphics.Collage.make = function(elm) {
3− "use strict";
4
3
5 elm.Native = elm.Native || {};
4 elm.Native = elm.Native || {};
6 elm.Native.Graphics = elm.Native.Graphics || {};
5 elm.Native.Graphics = elm.Native.Graphics || {};
7 if (elm.Native.Graphics.Collage) return elm.Native.Graphics.Collage;
6 if (elm.Native.Graphics.Collage) return elm.Native.Graphics.Collage;
8
7
9− var newElement = Elm.Graphics.Element(elm).newElement;
8+ var newElement = Elm.Graphics.Element.make(elm).newElement;
10 var C = ElmRuntime.use(ElmRuntime.Render.Collage);
9 var C = ElmRuntime.use(ElmRuntime.Render.Collage);
11
10
12 function collage(w,h,forms) {
11 function collage(w,h,forms) {
libraries/Native/Graphics/Input.js+6−7
@@ -1,6 +1,5 @@
1−
1+Elm.Native.Graphics.Input = {};
2−Elm.Native.Graphics.Input = function(elm) {
2+Elm.Native.Graphics.Input.make = function(elm) {
3− "use strict";
4
3
5 elm.Native = elm.Native || {};
4 elm.Native = elm.Native || {};
6 elm.Native.Graphics = elm.Native.Graphics || {};
5 elm.Native.Graphics = elm.Native.Graphics || {};
@@ -9,10 +8,10 @@ Elm.Native.Graphics.Input = function(elm) {
9 var Render = ElmRuntime.use(ElmRuntime.Render.Element);
8 var Render = ElmRuntime.use(ElmRuntime.Render.Element);
10 var newNode = ElmRuntime.use(ElmRuntime.Render.Utils).newElement;
9 var newNode = ElmRuntime.use(ElmRuntime.Render.Utils).newElement;
11
10
12− var Signal = Elm.Signal(elm);
11+ var Signal = Elm.Signal.make(elm);
13− var newElement = Elm.Graphics.Element(elm).newElement;
12+ var newElement = Elm.Graphics.Element.make(elm).newElement;
14− var JS = Elm.Native.JavaScript(elm);
13+ var JS = Elm.Native.JavaScript.make(elm);
15− var Utils = Elm.Native.Utils(elm);
14+ var Utils = Elm.Native.Utils.make(elm);
16 var Tuple2 = Utils.Tuple2;
15 var Tuple2 = Utils.Tuple2;
17
16
18 function dropDown(values) {
17 function dropDown(values) {
libraries/Native/JavaScript.js+3−5
@@ -1,11 +1,9 @@
1−
1+Elm.Native.JavaScript = {};
2−Elm.Native.JavaScript = function(elm) {
2+Elm.Native.JavaScript.make = function(elm) {
3− 'use strict';
4−
5 elm.Native = elm.Native || {};
3 elm.Native = elm.Native || {};
6 if (elm.Native.JavaScript) return elm.Native.JavaScript;
4 if (elm.Native.JavaScript) return elm.Native.JavaScript;
7
5
8− var List = Elm.Native.List(elm);
6+ var List = Elm.Native.List.make(elm);
9 var Render = ElmRuntime.use(ElmRuntime.Render.Element);
7 var Render = ElmRuntime.use(ElmRuntime.Render.Element);
10
8
11 function fromJS(v) {
9 function fromJS(v) {
libraries/Native/Json.js+7−8
@@ -1,12 +1,11 @@
1+Elm.Native.Json = {};
2+Elm.Native.Json.make = function(elm) {
1
3
2−Elm.Native.Json = function(elm) {
3− 'use strict';
4−
5− var Maybe = Elm.Maybe(elm);
4+ var Maybe = Elm.Maybe.make(elm);
6− var Dict = Elm.Dict(elm);
5+ var Dict = Elm.Dict.make(elm);
7− var List = Elm.List(elm);
6+ var List = Elm.List.make(elm);
8− var JS = Elm.JavaScript(elm);
7+ var JS = Elm.JavaScript.make(elm);
9− var Utils = Elm.Native.Utils(elm);
8+ var Utils = Elm.Native.Utils.make(elm);
10
9
11 function fromValue(v) {
10 function fromValue(v) {
12 switch (v.ctor) {
11 switch (v.ctor) {
libraries/Native/List.js+3−4
@@ -1,12 +1,11 @@
1−Elm.Native.List = function(elm) {
1+Elm.Native.List = {};
2− "use strict";
2+Elm.Native.List.make = function(elm) {
3−
4 elm.Native = elm.Native || {};
3 elm.Native = elm.Native || {};
5 if (elm.Native.List) return elm.Native.List;
4 if (elm.Native.List) return elm.Native.List;
6 if ('values' in Elm.Native.List)
5 if ('values' in Elm.Native.List)
7 return elm.Native.List = Elm.Native.List.values;
6 return elm.Native.List = Elm.Native.List.values;
8
7
9− var Utils = Elm.Native.Utils(elm);
8+ var Utils = Elm.Native.Utils.make(elm);
10
9
11 // TODO: Improve Nil handling
10 // TODO: Improve Nil handling
12 // We can change places like: if (xs.ctor === '[]') ... to if (xs === Nil) ...
11 // We can change places like: if (xs.ctor === '[]') ... to if (xs === Nil) ...
libraries/Native/Prelude.js+5−6
@@ -1,11 +1,10 @@
1−
1+Elm.Native.Prelude = {};
2−Elm.Native.Prelude = function(elm) {
2+Elm.Native.Prelude.make = function(elm) {
3− 'use strict';
4 if (elm.Native.Prelude) return elm.Native.Prelude;
3 if (elm.Native.Prelude) return elm.Native.Prelude;
5
4
6− var JS = Elm.Native.JavaScript(elm);
5+ var JS = Elm.Native.JavaScript.make(elm);
7− var Maybe = Elm.Maybe(elm);
6+ var Maybe = Elm.Maybe.make(elm);
8− var Char = Elm.Char(elm);
7+ var Char = Elm.Char.make(elm);
9
8
10 function readInt(str) {
9 function readInt(str) {
11 var s = JS.fromString(str);
10 var s = JS.fromString(str);
libraries/Native/Show.js+9−11
@@ -1,17 +1,15 @@
1−
1+Elm.Native.Show = {};
2−Elm.Native.Show = function(elm) {
2+Elm.Native.Show.make = function(elm) {
3− 'use strict';
4−
5 elm.Native = elm.Native || {};
3 elm.Native = elm.Native || {};
6 if (elm.Native.Show) return elm.Native.Show;
4 if (elm.Native.Show) return elm.Native.Show;
7
5
8− var NList = Elm.Native.List(elm);
6+ var NList = Elm.Native.List.make(elm);
9− var List = Elm.List(elm);
7+ var List = Elm.List.make(elm);
10− var Maybe = Elm.Maybe(elm);
8+ var Maybe = Elm.Maybe.make(elm);
11− var JS = Elm.JavaScript(elm);
9+ var JS = Elm.JavaScript.make(elm);
12− var Dict = Elm.Dict(elm);
10+ var Dict = Elm.Dict.make(elm);
13− var Json = Elm.Json(elm);
11+ var Json = Elm.Json.make(elm);
14− var Tuple2 = Elm.Native.Utils(elm).Tuple2;
12+ var Tuple2 = Elm.Native.Utils.make(elm).Tuple2;
15
13
16 var toString = function(v) {
14 var toString = function(v) {
17 var type = typeof v;
15 var type = typeof v;
libraries/Native/Signal/Http.js+5−5
@@ -1,13 +1,13 @@
1+Elm.Native.Http = {};
2+Elm.Native.Http.make = function(elm) {
1
3
2−Elm.Native.Http = function(elm) {
3− 'use strict';
4 elm.Native = elm.Native || {};
4 elm.Native = elm.Native || {};
5 if (elm.Native.Http) return elm.Native.Http;
5 if (elm.Native.Http) return elm.Native.Http;
6
6
7
7
8− var JS = Elm.JavaScript(elm);
8+ var JS = Elm.JavaScript.make(elm);
9− var List = Elm.List(elm);
9+ var List = Elm.List.make(elm);
10− var Signal = Elm.Signal(elm);
10+ var Signal = Elm.Signal.make(elm);
11
11
12
12
13 function registerReq(queue,responses) { return function(req) {
13 function registerReq(queue,responses) { return function(req) {
libraries/Native/Signal/Keyboard.js+5−5
@@ -1,6 +1,6 @@
1+Elm.Native.Keyboard = {};
2+Elm.Native.Keyboard.make = function(elm) {
1
3
2−Elm.Native.Keyboard = function(elm) {
3− 'use strict';
4 elm.Native = elm.Native || {};
4 elm.Native = elm.Native || {};
5 if (elm.Native.Keyboard) return elm.Native.Keyboard;
5 if (elm.Native.Keyboard) return elm.Native.Keyboard;
6
6
@@ -12,9 +12,9 @@ Elm.Native.Keyboard = function(elm) {
12 }
12 }
13 }
13 }
14
14
15− var Signal = Elm.Signal(elm);
15+ var Signal = Elm.Signal.make(elm);
16− var NList = Elm.Native.List(elm);
16+ var NList = Elm.Native.List.make(elm);
17− var Utils = Elm.Native.Utils(elm);
17+ var Utils = Elm.Native.Utils.make(elm);
18
18
19 var downEvents = Signal.constant(0);
19 var downEvents = Signal.constant(0);
20 var upEvents = Signal.constant(0);
20 var upEvents = Signal.constant(0);
libraries/Native/Signal/Mouse.js+4−4
@@ -1,11 +1,11 @@
1+Elm.Native.Mouse = {};
2+Elm.Native.Mouse.make = function(elm) {
1
3
2−Elm.Native.Mouse = function(elm) {
3− 'use strict';
4 elm.Native = elm.Native || {};
4 elm.Native = elm.Native || {};
5 if (elm.Native.Mouse) return elm.Native.Mouse;
5 if (elm.Native.Mouse) return elm.Native.Mouse;
6
6
7− var Signal = Elm.Signal(elm);
7+ var Signal = Elm.Signal.make(elm);
8− var Utils = Elm.Native.Utils(elm);
8+ var Utils = Elm.Native.Utils.make(elm);
9
9
10 var position = Signal.constant(Utils.Tuple2(0,0));
10 var position = Signal.constant(Utils.Tuple2(0,0));
11 position.defaultNumberOfKids = 2;
11 position.defaultNumberOfKids = 2;
libraries/Native/Signal/Random.js+3−3
@@ -1,10 +1,10 @@
1+Elm.Native.Random = {};
2+Elm.Native.Random.make = function(elm) {
1
3
2−Elm.Native.Random = function(elm) {
3− 'use strict';
4 elm.Native = elm.Native || {};
4 elm.Native = elm.Native || {};
5 if (elm.Native.Random) return elm.Native.Random;
5 if (elm.Native.Random) return elm.Native.Random;
6
6
7− var Signal = Elm.Signal(elm);
7+ var Signal = Elm.Signal.make(elm);
8
8
9 function range(min, max, signal) {
9 function range(min, max, signal) {
10 function f(x) { return Math.floor(Math.random() * (max-min+1)) + min; }
10 function f(x) { return Math.floor(Math.random() * (max-min+1)) + min; }
libraries/Native/Signal/Signal.js+4−4
@@ -1,12 +1,12 @@
1
1
2−Elm.Native.Signal = function(elm) {
2+Elm.Native.Signal = {};
3− 'use strict';
3+Elm.Native.Signal.make = function(elm) {
4
4
5 elm.Native = elm.Native || {};
5 elm.Native = elm.Native || {};
6 if (elm.Native.Signal) return elm.Native.Signal;
6 if (elm.Native.Signal) return elm.Native.Signal;
7
7
8− var Utils = Elm.Native.Utils(elm);
8+ var Utils = Elm.Native.Utils.make(elm);
9− var foldl1 = Elm.List(elm).foldl1;
9+ var foldl1 = Elm.List.make(elm).foldl1;
10
10
11 function send(node, timestep, changed) {
11 function send(node, timestep, changed) {
12 var kids = node.kids;
12 var kids = node.kids;
libraries/Native/Signal/Time.js+6−7
@@ -1,11 +1,10 @@
1+Elm.Native.Time = {};
2+Elm.Native.Time.make = function(elm) {
1
3
2−Elm.Native.Time = function(elm) {
3− 'use strict';
4−
5− var Signal = Elm.Signal(elm);
4+ var Signal = Elm.Signal.make(elm);
6− var NS = Elm.Native.Signal(elm);
5+ var NS = Elm.Native.Signal.make(elm);
7− var Maybe = Elm.Maybe(elm);
6+ var Maybe = Elm.Maybe.make(elm);
8− var Utils = Elm.Native.Utils(elm);
7+ var Utils = Elm.Native.Utils.make(elm);
9
8
10 function fpsWhen(desiredFPS, isOn) {
9 function fpsWhen(desiredFPS, isOn) {
11 var msPerFrame = 1000 / desiredFPS;
10 var msPerFrame = 1000 / desiredFPS;
libraries/Native/Signal/Touch.js+5−6
@@ -1,13 +1,12 @@
1−
1+Elm.Native.Touch = {};
2−Elm.Native.Touch = function(elm) {
2+Elm.Native.Touch.make = function(elm) {
3− 'use strict';
4
3
5 elm.Native = elm.Native || {};
4 elm.Native = elm.Native || {};
6 if (elm.Native.Touch) return elm.Native.Touch;
5 if (elm.Native.Touch) return elm.Native.Touch;
7
6
8− var Signal = Elm.Signal(elm);
7+ var Signal = Elm.Signal.make(elm);
9− var JS = Elm.JavaScript(elm);
8+ var JS = Elm.JavaScript.make(elm);
10− var _ = Elm.Native.Utils(elm);
9+ var _ = Elm.Native.Utils.make(elm);
11
10
12 function Dict() {
11 function Dict() {
13 this.keys = [];
12 this.keys = [];
libraries/Native/Signal/WebSocket.js+5−6
@@ -1,13 +1,12 @@
1−
1+Elm.Native.WebSocket = {};
2−Elm.Native.WebSocket = function(elm) {
2+Elm.Native.WebSocket.make = function(elm) {
3− 'use strict';
4
3
5 elm.Native = elm.Native || {};
4 elm.Native = elm.Native || {};
6 if (elm.Native.WebSocket) return elm.Native.WebSocket;
5 if (elm.Native.WebSocket) return elm.Native.WebSocket;
7
6
8− var Signal = Elm.Signal(elm);
7+ var Signal = Elm.Signal.make(elm);
9− var JS = Elm.JavaScript(elm);
8+ var JS = Elm.JavaScript.make(elm);
10− var List = Elm.Native.List(elm);
9+ var List = Elm.Native.List.make(elm);
11
10
12 function open(url, outgoing) {
11 function open(url, outgoing) {
13 var incoming = Signal.constant(List.Nil);
12 var incoming = Signal.constant(List.Nil);
libraries/Native/Signal/Window.js+4−5
@@ -1,12 +1,11 @@
1−
1+Elm.Native.Window = {};
2−Elm.Native.Window = function(elm) {
2+Elm.Native.Window.make = function(elm) {
3− 'use strict';
4
3
5 elm.Native = elm.Native || {};
4 elm.Native = elm.Native || {};
6 if (elm.Native.Window) return elm.Native.Window;
5 if (elm.Native.Window) return elm.Native.Window;
7
6
8− var Signal = Elm.Signal(elm);
7+ var Signal = Elm.Signal.make(elm);
9− var Tuple2 = Elm.Native.Utils(elm).Tuple2;
8+ var Tuple2 = Elm.Native.Utils.make(elm).Tuple2;
10
9
11 function getWidth() { return elm.node.clientWidth; }
10 function getWidth() { return elm.node.clientWidth; }
12 function getHeight() {
11 function getHeight() {
libraries/Native/Text.js+7−9
@@ -1,15 +1,13 @@
1−
1+Elm.Native.Text = {};
2−Elm.Native.Text = function(elm) {
2+Elm.Native.Text.make = function(elm) {
3− 'use strict';
4−
5 elm.Native = elm.Native || {};
3 elm.Native = elm.Native || {};
6 if (elm.Native.Text) return elm.Native.Text;
4 if (elm.Native.Text) return elm.Native.Text;
7
5
8− var JS = Elm.JavaScript(elm);
6+ var JS = Elm.JavaScript.make(elm);
9− var htmlHeight = Elm.Native.Utils(elm).htmlHeight;
7+ var htmlHeight = Elm.Native.Utils.make(elm).htmlHeight;
10− var Color = Elm.Native.Color(elm);
8+ var Color = Elm.Native.Color.make(elm);
11− var Element = Elm.Graphics.Element(elm);
9+ var Element = Elm.Graphics.Element.make(elm);
12− var show = Elm.Native.Show(elm).show;
10+ var show = Elm.Native.Show.make(elm).show;
13
11
14 function makeSpaces(s) {
12 function makeSpaces(s) {
15 if (s.length == 0) { return s; }
13 if (s.length == 0) { return s; }
libraries/Native/Transform2D.js+2−2
@@ -1,6 +1,6 @@
1
1
2−Elm.Native.Transform2D = function(elm) {
2+Elm.Native.Transform2D = {};
3− "use strict";
3+Elm.Native.Transform2D.make = function(elm) {
4
4
5 elm.Native = elm.Native || {};
5 elm.Native = elm.Native || {};
6 if (elm.Native.Transform2D) return elm.Native.Transform2D;
6 if (elm.Native.Transform2D) return elm.Native.Transform2D;
libraries/Native/Utils.js+2−1
@@ -1,5 +1,6 @@
1
1
2−Elm.Native.Utils = function(elm) {
2+Elm.Native.Utils = {};
3+Elm.Native.Utils.make = function(elm) {
3 'use strict';
4 'use strict';
4
5
5 elm.Native = elm.Native || {};
6 elm.Native = elm.Native || {};
runtime/Init.js+3−3
@@ -99,10 +99,10 @@ function init(display, container, module, moduleToReplace) {
99 var Module = {};
99 var Module = {};
100 var reportAnyErrors = function() {};
100 var reportAnyErrors = function() {};
101 try {
101 try {
102− Module = module(elm);
102+ Module = module.make(elm);
103 } catch(e) {
103 } catch(e) {
104 var directions = "<br/>&nbsp; &nbsp; Open the developer console for more details."
104 var directions = "<br/>&nbsp; &nbsp; Open the developer console for more details."
105− Module.main = Elm.Text(elm).text('<code>' + e.message + directions + '</code>');
105+ Module.main = Elm.Text.make(elm).text('<code>' + e.message + directions + '</code>');
106 reportAnyErrors = function() { throw e; }
106 reportAnyErrors = function() { throw e; }
107 }
107 }
108 inputs = ElmRuntime.filterDeadInputs(inputs);
108 inputs = ElmRuntime.filterDeadInputs(inputs);
@@ -150,7 +150,7 @@ function initGraphics(elm, Module) {
150 var signalGraph = Module.main;
150 var signalGraph = Module.main;
151
151
152 // make sure the signal graph is actually a signal & extract the visual model
152 // make sure the signal graph is actually a signal & extract the visual model
153− var Signal = Elm.Signal(elm);
153+ var Signal = Elm.Signal.make(elm);
154 if (!('recv' in signalGraph)) {
154 if (!('recv' in signalGraph)) {
155 signalGraph = Signal.constant(signalGraph);
155 signalGraph = Signal.constant(signalGraph);
156 }
156 }
runtime/Render/Collage.js+1−2
@@ -1,9 +1,8 @@
1
1
2ElmRuntime.Render.Collage = function() {
2ElmRuntime.Render.Collage = function() {
3−'use strict';
4
3
5var Render = ElmRuntime.use(ElmRuntime.Render.Element);
4var Render = ElmRuntime.use(ElmRuntime.Render.Element);
6−var Transform = Elm.Transform2D({});
5+var Transform = Elm.Transform2D.make({});
7var Utils = ElmRuntime.use(ElmRuntime.Render.Utils);
6var Utils = ElmRuntime.use(ElmRuntime.Render.Utils);
8var newElement = Utils.newElement,
7var newElement = Utils.newElement,
9 extract = Utils.extract, fromList = Utils.fromList,
8 extract = Utils.extract, fromList = Utils.fromList,
runtime/Render/Utils.js+2−3
@@ -1,6 +1,5 @@
1
1
2ElmRuntime.Render.Utils = function() {
2ElmRuntime.Render.Utils = function() {
3−'use strict';
4
3
5function newElement(elementType) {
4function newElement(elementType) {
6 var e = document.createElement(elementType);
5 var e = document.createElement(elementType);
@@ -34,7 +33,7 @@ function removeTransform(style) {
34 style.OTransform = 'none';
33 style.OTransform = 'none';
35}
34}
36
35
37−var List = Elm.Native.List({});
36+var List = Elm.Native.List.make({});
38
37
39return {addTo:addTo,
38return {addTo:addTo,
40 newElement:newElement,
39 newElement:newElement,
@@ -42,7 +41,7 @@ return {addTo:addTo,
42 fromList: List.toArray,
41 fromList: List.toArray,
43 fromString: function(s) { return List.toArray(s).join(''); },
42 fromString: function(s) { return List.toArray(s).join(''); },
44 toString: List.fromArray,
43 toString: List.fromArray,
45− eq: Elm.Native.Utils({}).eq,
44+ eq: Elm.Native.Utils.make({}).eq,
46 addTransform: addTransform,
45 addTransform: addTransform,
47 removeTransform: removeTransform
46 removeTransform: removeTransform
48 };
47 };