Better haxe bindings for node.js. Type the world!
-
Typed
EventEmitters. Right, compile time checking onEventEmitters with meta event type declarations. -
Encoding,Strings andBuffers No more mistakes with that, everything is typed,node.Encodingis an enum. -
Every possible enum of node.js base api is typed.
-
Uses modern(currently on git)
@:jsRequiremeta for clear code and proper requires. No need to require anything by hand. ImplementNode.Module<name, vesrions>and be happy. Implementnode.ModuleSub<name, version, subname>to get something out of require module. -
Everything is updated to match haxe OOP structure.
Std.isactually works on everything(possible). -
NPM support. Implement
Node.Module<name, version>withversion != ''to register npm dependency. Runnode.Npm.genPackage(name:String, version:String)to generate or update package.json at the same directory you generate your js in with dependencies registered through implementing Node.Module. -
stream.Writable, stream.Readable, stream.Duplex are iterfaces now. ...but each one have it's Impl class for your disposal. Yet again, everything in proper OOP.
-
Support node.js builtin variables, all hosted in Node class. process, as a special case, not only is in Node class, but have a complex declaration in node.Process, enriched with fake variables, getters and setters to simplify workflow.
-
Structured as close to original API as possible. Everything(except class Node) moved to namespace node. Classes renamed according to haxe class naming principles, but it takes no time to adapt.
-
Documentation. Though the structure resembles node.js API as much as possible, and everything else is auto-documented.
-
Compatible bindings to common node modules. Yet they are soon to come.
-
Testing. Last part of development introduced some major changes so there may be slight poblems around the code. If they are really there they will be fixed soon.