Skip to content

Instantly share code, notes, and snippets.

Franco Ponticelli fponticelli

Block or report user

Report or block fponticelli

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Request.hx
package bl.common;
using thx.promise.Promise;
import thx.Url;
import js.html.XMLHttpRequest;
import js.html.XMLHttpRequestResponseType;
class Request<T> {
public var response(default, null) : Promise<T>;
var request : XMLHttpRequest;
@fponticelli
fponticelli / Button.hx
Last active Mar 13, 2016
brainstorm on typed component styling
View Button.hx
import doom.Html.*;
class Button extends doom.html.Component<ButtonPropps> {
override function render() {
return button([
"class" => props.status,
"click" => props.trigger
], children);
}
}
View Haxe reflection based script thing.
private typedef _SActionFunc = EntityScript -> _SA -> Void;
private class _SActions {
// Every function in this class must be of type _SActionFunc.
// Who knows what will happen if this is not true.
public static function Idle(entity:EntityScript, action:_SA):Void {
}
public static function AnotherAction(entity:EntityScript, action:_SA):Void {
}
@fponticelli
fponticelli / Lazy.hx
Created Sep 16, 2015
Lazy evaluation of remote files
View Lazy.hx
import js.node.vm.Script;
using thx.promise.Promise;
class Lazy {
static var map : Map<String, Script> = new Map();
public static function load(path : String) : Promise<{} -> String> {
var script = map.get(path);
if(null != script) {
return Promise.value(loadScript(script));
}
@fponticelli
fponticelli / Main.hx
Created Mar 11, 2015
small js.Promise test
View Main.hx
import js.Promise;
class Main {
static function main() {
var p1 = new Promise(function(resolve, reject) {
resolve("YES");
});
p1.then(function(v) trace(v), function(e) trace('NOOO!! $e'));
var p2 = new Promise(function(resolve, reject) {
@fponticelli
fponticelli / Router.hx
Last active Aug 29, 2015
extern issue
View Router.hx
import express.Request;
import express.Response;
import express.Next;
import express.Middleware;
import express.Express;
import abe.Router;
class Main {
public static function main() {
var router = new abe.Router(null);
@fponticelli
fponticelli / Auth.hx
Created Feb 24, 2015
sample Auth with abe
View Auth.hx
@:use(mw.BodyParser.json())
class Auth implements abe.IRoute {
@:post("/auth")
@:args(body)
function login(user : String, password : String) {
response.send('$user:$password');
}
}
@fponticelli
fponticelli / Main.hx
Created Feb 15, 2015
Minimalistic Webserver with NodeJS + Express + Haxe (with Macros) and an experimental library called restx
View Main.hx
import restx.App;
class Main implements restx.IRoute {
@:path("/")
function index()
response.send("Hello World!");
public static function main() {
var app = new App(9998);
app.router.register(new Main());
View MapList.hx
package thx.core;
import haxe.Constraints.IMap;
@:multiType(K)
abstract MapList<K, V>(MapListImpl<K, V>) {
public function new();
public inline function set(key:K, value:V) this.set(key, value);
public inline function insert(index : Int, k : K, v : V) : Void this.insert(index, k, v);
@:arrayAccess public inline function get(key:K) return this.get(key);
View DemoObject.hx
import sui.Sui;
class DemoObject {
public static function main() {
var o = new DemoObject(),
sui = new Sui();
sui.bind(o.name);
sui.bind(o.enabled);
sui.bind(o.startedOn);
sui.bind(o.traceMe);
You can’t perform that action at this time.