Extern definitions for node.js


Keywords
async, extern, js, net, nodejs, web, haxe, node-js
License
MIT
Install
haxelib install hxnodejs 6.9.1

Documentation

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.