One suggestion for this feature is to follow the kotlin way to define extension methods.
In kotlin:
fun JQueryStatic.bind(eventName:String, handler: JQuery.(JQueryEventObject) -> Unit);
// using like above
$("...").bind("event", { e -> doSomethingWithJQueryElement(this); });
Something that in TS could have these definitions:
by using interfaces:
interface JQueryStatic {
bind(eventName: string, handler: JQuery.(JQueryEventObject) => void);
// or
bind(eventName: string, handler: JQuery::(JQueryEventObject) => void); // remember C++
// or
bind(eventName: string, handler: JQuery#(JQueryEventObject) => void); // remember kotlin paths
}
by using extension methods (like kotlin):
function JQueryStatic.bind(eventName: string, handler: JQuery.(JQueryEventObject) => void);
// or
function JQueryStatic :: bind(eventName: string, handler: JQuery :: (JQueryEventObject) => void);
// or
function JQueryStatic#bind(eventName: string, handler: JQuery#(JQueryEventObject) => void);
|