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.