Skip to content

Instantly share code, notes, and snippets.

@terurou
Created September 26, 2017 14:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save terurou/265770adf206ca02483f127234401a0d to your computer and use it in GitHub Desktop.
Save terurou/265770adf206ca02483f127234401a0d to your computer and use it in GitHub Desktop.
Haxe/JavaScript extern magic
abstract Function(Dynamic)
from Action0 to Action0
from Action1 to Action1
from Action2 to Action2
from Action3 to Action3
from Action4 to Action4
from Action5 to Action5
from Action6 to Action6
from Action7 to Action7
from Action8 to Action8
from Action9 to Action9
from Action10 to Action10
from Func1 to Func1
from Func2 to Func2
from Func3 to Func3
from Func4 to Func4
from Func5 to Func5
from Func6 to Func6
from Func7 to Func7
from Func8 to Func8
from Func9 to Func9
from Func10 to Func10
{}
typedef Action0 = Void -> Void;
typedef Action1 = Dynamic -> Void;
typedef Action2 = Dynamic -> Dynamic -> Void;
typedef Action3 = Dynamic -> Dynamic -> Dynamic -> Void;
typedef Action4 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Void;
typedef Action5 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Void;
typedef Action6 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Void;
typedef Action7 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Void;
typedef Action8 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Void;
typedef Action9 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Void;
typedef Action10 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Void;
typedef Func1 = Dynamic -> Dynamic;
typedef Func2 = Dynamic -> Dynamic -> Dynamic;
typedef Func3 = Dynamic -> Dynamic -> Dynamic -> Dynamic;
typedef Func4 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic;
typedef Func5 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic;
typedef Func6 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic;
typedef Func7 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic;
typedef Func8 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic;
typedef Func9 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic;
typedef Func10 = Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic -> Dynamic;
abstract Mixed2<T1, T2>(Dynamic)
from T1 to T1
from T2 to T2
{}
abstract Mixed3<T1, T2, T3>(Dynamic)
from T1 to T1
from T2 to T2
from T3 to T3
{}
abstract Mixed4<T1, T2, T3, T4>(Dynamic)
from T1 to T1
from T2 to T2
from T3 to T3
from T4 to T4
{}
abstract Mixed5<T1, T2, T3, T4, T5>(Dynamic)
from T1 to T1
from T2 to T2
from T3 to T3
from T4 to T4
from T5 to T5
{}
abstract ValueOrArray<T>(Dynamic)
from T to T
from Array<T> to Array<T>
{}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment