@@ -7,6 +7,7 @@ import qualified Language.ECMAScript3.Syntax as JS
77import qualified AST.Effects as Effects
88import qualified AST.Module as Module
99import qualified AST.Module.Name as ModuleName
10+import qualified Elm.Package as Pkg
1011import qualified Generate.JavaScript.Builder as Builder
1112import qualified Generate.JavaScript.Expression as JS
1213import qualified Generate.JavaScript.Helpers as JS
@@ -44,7 +45,7 @@ generateEffectManager moduleName effects =
4445 Effects.Foreign _ ->
4546 []
4647
47− Effects.Manager (Effects.Info _ _ _ _ managerType) ->
48+ Effects.Manager pkgName (Effects.Info _ _ _ _ managerType) ->
4849 let
4950 managers =
5051 Var.native (ModuleName.inCore ["Native","Platform"]) "globalManagerInfo"
@@ -58,7 +59,8 @@ generateEffectManager moduleName effects =
5859 )
5960
6061 managerEntries =
61− [ entry "init"
62+ [ "pkg" ==> Pkg.toString pkgName
63+ , entry "init"
6264 , entry "onEffects"
6365 , entry "onSelfMsg"
6466 ]
@@ -66,13 +68,13 @@ generateEffectManager moduleName effects =
6668 otherEntries =
6769 case managerType of
6870 Effects.CmdManager _ ->
69− [ tagEntry "cmd", entry "cmdMap" ]
71+ [ "tag" ==> "cmd", entry "cmdMap" ]
7072
7173 Effects.SubManager _ ->
72− [ tagEntry "sub", entry "subMap" ]
74+ [ "tag" ==> "sub", entry "subMap" ]
7375
7476 Effects.FxManager _ _ ->
75− [ tagEntry "fx", entry "cmdMap", entry "subMap" ]
77+ [ "tag" ==> "fx", entry "cmdMap", entry "subMap" ]
7678
7779 addManager =
7880 JS.AssignExpr () JS.OpAssign
@@ -82,8 +84,8 @@ generateEffectManager moduleName effects =
8284 [ JS.ExprStmt () addManager ]
8385
8486
85−tagEntry :: String -> ( JS.Prop (), JS.Expression () )
86−tagEntry tag =
87− ( JS.PropId () (JS.Id () "tag")
88− , JS.StringLit () tag
87+(==>) :: String -> String -> ( JS.Prop (), JS.Expression () )
88+(==>) key value =
89+ ( JS.PropId () (JS.Id () key)
90+ , JS.StringLit () value
8991 )