diff --git a/Runtime/src/index.ts b/Runtime/src/index.ts index d75035cbf..597680a7f 100644 --- a/Runtime/src/index.ts +++ b/Runtime/src/index.ts @@ -398,8 +398,7 @@ export class SwiftRuntime { writeUint32(result_obj, this.heap.retain(result)); }, swjs_instanceof: ( - obj_ref: ref, constructor_ref: ref, - result_ptr: pointer + obj_ref: ref, constructor_ref: ref ) => { const obj = this.heap.referenceHeap(obj_ref) const constructor = this.heap.referenceHeap(constructor_ref) @@ -415,9 +414,6 @@ export class SwiftRuntime { // Call `.slice()` to copy the memory writeUint32(result_obj, this.heap.retain(array.slice())); }, - swjs_retain: (ref: ref) => { - this.heap.retain(this.heap.referenceHeap(ref)) - }, swjs_release: (ref: ref) => { this.heap.release(ref) } diff --git a/Sources/JavaScriptKit/BasicObjects/JSTypedArray.swift b/Sources/JavaScriptKit/BasicObjects/JSTypedArray.swift index beb430a5f..4f7facfc0 100644 --- a/Sources/JavaScriptKit/BasicObjects/JSTypedArray.swift +++ b/Sources/JavaScriptKit/BasicObjects/JSTypedArray.swift @@ -6,7 +6,7 @@ import _CJavaScriptKit public protocol TypedArrayElement: JSValueConvertible, JSValueConstructible { static var typedArrayKind: JavaScriptTypedArrayKind { get } - static var typedArrayClass: JSFunctionRef { get } + static var typedArrayClass: JSFunction { get } } public class JSTypedArray: JSValueConvertible, ExpressibleByArrayLiteral where Element: TypedArrayElement { @@ -23,7 +23,7 @@ public class JSTypedArray: JSValueConvertible, ExpressibleByArrayLitera setJSValue(this: ref, index: Int32(index), value: newValue.jsValue()) } } - + // This private initializer assumes that the passed object is TypedArray private init(unsafe object: JSObject) { self.ref = object @@ -70,16 +70,16 @@ func valueForBitWidth(typeName: String, bitWidth: Int, when32: T) -> T { } extension Int: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { - valueForBitWidth(typeName: "Int", bitWidth: Int.bitWidth, when32: JSObjectRef.global.Int32Array).function! + public static var typedArrayClass: JSFunction { + valueForBitWidth(typeName: "Int", bitWidth: Int.bitWidth, when32: JSObject.global.Int32Array).function! } public static var typedArrayKind: JavaScriptTypedArrayKind { valueForBitWidth(typeName: "Int", bitWidth: Int.bitWidth, when32: .int32) } } extension UInt: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { - valueForBitWidth(typeName: "UInt", bitWidth: Int.bitWidth, when32: JSObjectRef.global.Uint32Array).function! + public static var typedArrayClass: JSFunction { + valueForBitWidth(typeName: "UInt", bitWidth: Int.bitWidth, when32: JSObject.global.Uint32Array).function! } public static var typedArrayKind: JavaScriptTypedArrayKind { valueForBitWidth(typeName: "UInt", bitWidth: UInt.bitWidth, when32: .uint32) @@ -89,30 +89,30 @@ extension UInt: TypedArrayElement { // MARK: - Concrete TypedArray classes extension Int8: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { JSObjectRef.global.Int8Array.function! } + public static var typedArrayClass: JSFunction { JSObject.global.Int8Array.function! } public static var typedArrayKind: JavaScriptTypedArrayKind { .int8 } } extension UInt8: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { JSObjectRef.global.Uint8Array.function! } + public static var typedArrayClass: JSFunction { JSObject.global.Uint8Array.function! } public static var typedArrayKind: JavaScriptTypedArrayKind { .uint8 } } // TODO: Support Uint8ClampedArray? extension Int16: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { JSObjectRef.global.Int16Array.function! } + public static var typedArrayClass: JSFunction { JSObject.global.Int16Array.function! } public static var typedArrayKind: JavaScriptTypedArrayKind { .int16 } } extension UInt16: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { JSObjectRef.global.Uint16Array.function! } + public static var typedArrayClass: JSFunction { JSObject.global.Uint16Array.function! } public static var typedArrayKind: JavaScriptTypedArrayKind { .uint16 } } extension Int32: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { JSObjectRef.global.Int32Array.function! } + public static var typedArrayClass: JSFunction { JSObject.global.Int32Array.function! } public static var typedArrayKind: JavaScriptTypedArrayKind { .int32 } } extension UInt32: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { JSObjectRef.global.Uint32Array.function! } + public static var typedArrayClass: JSFunction { JSObject.global.Uint32Array.function! } public static var typedArrayKind: JavaScriptTypedArrayKind { .uint32 } } @@ -127,10 +127,10 @@ extension UInt32: TypedArrayElement { //} extension Float32: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { JSObjectRef.global.Float32Array.function! } + public static var typedArrayClass: JSFunction { JSObject.global.Float32Array.function! } public static var typedArrayKind: JavaScriptTypedArrayKind { .float32 } } extension Float64: TypedArrayElement { - public static var typedArrayClass: JSFunctionRef { JSObjectRef.global.Float64Array.function! } + public static var typedArrayClass: JSFunction { JSObject.global.Float64Array.function! } public static var typedArrayKind: JavaScriptTypedArrayKind { .float64 } } diff --git a/Sources/_CJavaScriptKit/include/module.modulemap b/Sources/_CJavaScriptKit/include/module.modulemap new file mode 100644 index 000000000..8f4b69262 --- /dev/null +++ b/Sources/_CJavaScriptKit/include/module.modulemap @@ -0,0 +1,4 @@ +module _CJavaScriptKit { + header "_CJavaScriptKit.h" + export * +}