I have a type like this in a target:
@JSClass(jsName: "Document")
public struct JSDocument {
// ...
@JSFunction public func addEventListener(_ type: String, _ listener: JSTypedClosure<(JSEvent) -> Void>) throws(JSException)
@JSFunction public func removeEventListener(_ type: String, _ listener: JSTypedClosure<(JSEvent) -> Void>) throws(JSException)
}
unfortunately, I cannot directly initialize a JSTypedClosure<(JSEvent) -> Void> in another target, because the generated init is internal.
not sure how to best solve this, but currently you'll need to manually add some public/package function to actually be able to make such a closure.