-
-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Description
If I try to pass in a function that takes in a constructor as a parameter, the closure I send in doesn't treat it that way.
lua.global.set("DOM",{
new: (T=>{
let Constructor = T;
return (...a) => {
let constructed = new Constructor(...a);
return constructed;
};
}),
window: window
log: console.log
exampleElement: document.getElementById("mycanvas")
}),
lua.doString(`
function f()
local ImageConstructor = DOM.new(DOM.window.Image)
DOM.log(ImageConstructor())
end
DOM.exampleElement.onclick = f
`)
I get an error saying n is not a constructor
I tried currying and saving a local as seen above to try to work around this, but it seems like there's some kind of wrapping going on that's preventing that from working.
It seems like a way to support constructors in the interop system itself would be good, (if it doesn't already exist and I just missed it.)
Metadata
Metadata
Assignees
Labels
No labels