firefly-compiler 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/compiler/Parser.ff
CHANGED
|
@@ -1201,7 +1201,7 @@ extend self: Parser {
|
|
|
1201
1201
|
}
|
|
1202
1202
|
let target = DynamicCall(EField(token.at(), False, result, "with"), False)
|
|
1203
1203
|
result = ECall(record.at, target, effect, [], [
|
|
1204
|
-
Argument(argument.at, None, EString(argument.at, argument.name.grab()))
|
|
1204
|
+
Argument(argument.at, None, EString(argument.at, "\"" + argument.name.grab() + "\""))
|
|
1205
1205
|
Argument(argument.value.at, None, argument.value)
|
|
1206
1206
|
], [])
|
|
1207
1207
|
}
|
package/fireflysite/Main.ff
CHANGED
|
@@ -73,6 +73,12 @@ serveGuide(system: NodeSystem, request: WebRequest[WebResponse]): Bool {
|
|
|
73
73
|
|
|
74
74
|
browserMain(system: BrowserSystem): Unit {
|
|
75
75
|
let demos = ExamplesOverview.demos()
|
|
76
|
+
let js = system.js()
|
|
77
|
+
js->document->onclick = js->{
|
|
78
|
+
js->Notification->requestPermission()->then(js->{
|
|
79
|
+
js->Notification->("Hi!", js->(body = "From the Firefly JS FFI"))
|
|
80
|
+
})
|
|
81
|
+
}
|
|
76
82
|
guides.collect {guide =>
|
|
77
83
|
if(system.urlPath().startsWith(guide.prefix)):
|
|
78
84
|
Lux.renderById(system, "main") {lux =>
|
|
@@ -12,9 +12,10 @@ Most JavaScript functionality can be accessed via the `JsSystem` object.
|
|
|
12
12
|
|
|
13
13
|
```firefly
|
|
14
14
|
browserMain(system: BrowserSystem): Unit {
|
|
15
|
-
let
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
let js = system.js()
|
|
16
|
+
js->Notification->requestPermission()->then(js->{
|
|
17
|
+
js->Notification->("Hi!", js->(body = "From the Firefly JS FFI"))
|
|
18
|
+
})
|
|
18
19
|
}
|
|
19
20
|
```
|
|
20
21
|
|
|
@@ -1559,7 +1559,7 @@ if(ff_core_Option.Option_isEmpty(argument_.name_)) {
|
|
|
1559
1559
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(argument_.at_, "Expected a named argument"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
1560
1560
|
};
|
|
1561
1561
|
const target_ = ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EField(ff_compiler_Token.Token_at(token_), false, result_, "with"), false);
|
|
1562
|
-
result_ = ff_compiler_Syntax.ECall(record_.at_, target_, effect_, [], [ff_compiler_Syntax.Argument(argument_.at_, ff_core_Option.None(), ff_compiler_Syntax.EString(argument_.at_, ff_core_Option.Option_grab(argument_.name_))), ff_compiler_Syntax.Argument(argument_.value_.at_, ff_core_Option.None(), argument_.value_)], [])
|
|
1562
|
+
result_ = ff_compiler_Syntax.ECall(record_.at_, target_, effect_, [], [ff_compiler_Syntax.Argument(argument_.at_, ff_core_Option.None(), ff_compiler_Syntax.EString(argument_.at_, (("\"" + ff_core_Option.Option_grab(argument_.name_)) + "\""))), ff_compiler_Syntax.Argument(argument_.value_.at_, ff_core_Option.None(), argument_.value_)], [])
|
|
1563
1563
|
}));
|
|
1564
1564
|
return result_
|
|
1565
1565
|
}
|
|
@@ -3169,7 +3169,7 @@ if(ff_core_Option.Option_isEmpty(argument_.name_)) {
|
|
|
3169
3169
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(argument_.at_, "Expected a named argument"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
3170
3170
|
};
|
|
3171
3171
|
const target_ = ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EField(ff_compiler_Token.Token_at(token_), false, result_, "with"), false);
|
|
3172
|
-
result_ = ff_compiler_Syntax.ECall(record_.at_, target_, effect_, [], [ff_compiler_Syntax.Argument(argument_.at_, ff_core_Option.None(), ff_compiler_Syntax.EString(argument_.at_, ff_core_Option.Option_grab(argument_.name_))), ff_compiler_Syntax.Argument(argument_.value_.at_, ff_core_Option.None(), argument_.value_)], [])
|
|
3172
|
+
result_ = ff_compiler_Syntax.ECall(record_.at_, target_, effect_, [], [ff_compiler_Syntax.Argument(argument_.at_, ff_core_Option.None(), ff_compiler_Syntax.EString(argument_.at_, (("\"" + ff_core_Option.Option_grab(argument_.name_)) + "\""))), ff_compiler_Syntax.Argument(argument_.value_.at_, ff_core_Option.None(), argument_.value_)], [])
|
|
3173
3173
|
}));
|
|
3174
3174
|
return result_
|
|
3175
3175
|
}
|
package/package.json
CHANGED