Skip to content

isabella232/hxnodejs

 
 

Repository files navigation

hxnodejs

Haxe Node.JS

Build Status Haxelib Version Haxelib Downloads Haxelib License

Extern type definitions for Node.JS. Haxe 3.4 or newer is required.

Haxe-generated API documentation is available at http://haxefoundation.github.io/hxnodejs/js/Node.html.

Original node.js documentation can be found at http://nodejs.org/api/index.html.

Features

  • Full node.js API with documentation.
  • Strict typing for everything, fully leveraging Haxe type system.
  • Optionally typed event listeners.
  • Automatic insert of "require" statements for used modules.
  • Clean output.

Quick example

  1. Install hxnodejs with haxelib install hxnodejs (released version) or haxelib git hxnodejs https://github.com/HaxeFoundation/hxnodejs (latest from GitHub).

  2. Write some code and save to Main.hx:

    class Main {
        static function main() {
            var server = js.node.Net.createServer(function(socket) {
                socket.write("Echo server\n\n");
                socket.pipe(socket);
            });
            server.listen(1337, "127.0.0.1");
        }
    }
  3. Compile it with with haxe -lib hxnodejs -main Main -js main.js (optionally add -D js-es=6 for cleaner JavaScript output, since node.js is ES6-compliant)

  4. Look at generated main.js:

    // Generated by Haxe 4.0.0-rc.2+63144f6db
    (function ($global) { "use strict";
    class Main {
        static main() {
            var server = js_node_Net.createServer(function(socket) {
                socket.write("Echo server\n\n");
                socket.pipe(socket);
            });
            server.listen(1337,"127.0.0.1");
        }
    }
    var js_node_Net = require("net");
    Main.main();
    })({});
  5. You're awesome! (See more examples)

Status

This library is considered complete, but testing and contributions are welcome. See current issues and extern guidelines.

About

Haxe externs for working with node.js

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Haxe 100.0%