diff --git a/Sources/JavaScriptKit/JSFunction.swift b/Sources/JavaScriptKit/JSFunction.swift index 87c38dd38..f3b0c5b22 100644 --- a/Sources/JavaScriptKit/JSFunction.swift +++ b/Sources/JavaScriptKit/JSFunction.swift @@ -82,6 +82,13 @@ public class JSClosure: JSFunctionRef { id = objectRef } + convenience public init(_ body: @escaping ([JSValue]) -> ()) { + self.init { (arguments: [JSValue]) -> JSValue in + body(arguments) + return .undefined + } + } + public func release() { Self.sharedFunctions[hostFuncRef] = nil isReleased = true