[haXe] best strategy to port an existing js library
Franco Ponticelli
franco.ponticelli at gmail.com
Fri Dec 7 18:16:23 CET 2007
You forgot the unyped in the second example ;)
On Dec 7, 2007 4:50 PM, Ian <bcposn802 at sneakemail.com> wrote:
> I hadn't seen that before. I'll have to read over the rest of the magic
> reference.
>
> strangely, the first example works, but the second doesn't compile:
>
> ---
> class Main {
> public static function main() {
> var tmp = untyped __js__("niceAlert(\"hello to you\");");
> }
> }
> ---
> class Main {
> public static function main() {
> __js__("niceAlert(\"hello to you\");");
> }
> }
> ---
> the compiler says: "Test1.hx:5: characters 4-10 : Unknown identifier :
> __js__"
>
>
> Benjamin Dasnois benjamin.dasnois-at-gmail.com |haxe| wrote:
> > Don't forget about the magic __js__ too, it could be useful.
> >
> > On Dec 7, 2007 5:10 PM, Franco Ponticelli <franco.ponticelli at gmail.com>
> wrote:
> >
> >> Yes, I think you are correct. The only two options are depicted in the
> >> example below... any other idea?
> >>
> >> // js library
> >> function niceAlert(txt) {
> >> alert("### " + txt + " ###");
> >> }
> >>
> >> // haxe code
> >> class Main {
> >> public static function main() {
> >> Main.msg("hello to you");
> >> Main.msg2("goodbye");
> >> }
> >>
> >> public static var msg : String -> Void = untyped niceAlert;
> >>
> >> public static function msg2(s : String) {
> >> untyped niceAlert(s);
> >> }
> >> }
> >>
> >> Franco.
> >>
> >>
> >>
> >> On Dec 7, 2007 3:42 PM, Ian <bcposn802 at sneakemail.com > wrote:
> >>
> >>> how would you call a javascript function from haXe? It seems like
> >>> extern only works with classes.
> >>> I guess I could wrap the javascript functions in a javascript class.
> >>>
> >>> -ianxm
> >>>
> >>>
> >>> Franco Ponticelli franco.ponticelli-at-gmail.com |haxe| wrote:
> >>>
> >>>> There is no loader and I doubt you need one since you can include
> your
> >>>> JS library just before the haXe generated file.
> >>>> About wrapping you can use both extern or typedef depending on what
> >>>> you are implementing.
> >>>> In your case the extern could be the right solution.
> >>>>
> >>>> extern HelloClass {
> >>>> public function new() : Void;
> >>>> public function showText() : String;
> >>>> }
> >>>>
> >>>> Pay attention to the case of fields that in haXe must start with a
> >>>> lower case letter. This can be origin to incompabilities.
> >>>>
> >>>> Regards,
> >>>> Franco.
> >>>>
> >>>> On Dec 7, 2007 11:00 AM, picnic < bitvolt at gmail.com
> >>>>
> >>>> <mailto:bitvolt at gmail.com>> wrote:
> >>>>
> >>>> hi
> >>>> what is best strategy to port an existing js library? How is
> >>>> encapsulation done, e.g. for an js class in a separate file:
> >>>>
> >>>> -------------HelloClass.js------------------
> >>>> function HelloClass(){
> >>>> var m_text = "Hello World";
> >>>> this.ShowText = DisplayText;
> >>>> function DisplayText(){
> >>>> alert( m_text );
> >>>> return;}}
> >>>> --------------------------------------------------
> >>>>
> >>>> i guess there should be some kind of a loader function in haxe.js
> >>>>
> >>>> thanks
> >>>> picnic
> >>>>
> >>>> --
> >>>> haXe - an open source web programming language
> >>>> http://haxe.org
> >>>>
> >>>>
> >>>>
> >>>
> >>> --
> >>>
> >>>
> >>>
> >>> haXe - an open source web programming language
> >>> http://haxe.org
> >>>
> >>>
> >> --
> >> haXe - an open source web programming language
> >> http://haxe.org
> >>
> >>
> >
> >
>
>
>
> --
> haXe - an open source web programming language
> http://haxe.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.motion-twin.com/pipermail/haxe/attachments/20071207/8d568886/attachment-0001.htm
More information about the Haxe
mailing list