Skip to content

Commit 051ef68

Browse files
Add test case
1 parent f2ab02d commit 051ef68

File tree

17 files changed

+727
-14
lines changed

17 files changed

+727
-14
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dist
2+
node_modules
3+
.wasi-sdk

example/.gitignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/swift/.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,3 @@
33
/Packages
44
/*.xcodeproj
55
xcuserdata/
6-
7-
/.wasi-sdk

src/swift/Package.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import PackageDescription
44

55
let package = Package(
66
name: "JavaScriptKit",
7+
products: [
8+
.library(name: "JavaScriptKit", targets: ["JavaScriptKit"])
9+
],
710
targets: [
811
.target(
912
name: "JavaScriptKitExample",

src/swift/Sources/JavaScriptKit/JSValue.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class JSRef {
1212
}
1313
}
1414

15-
public enum JSValue {
15+
public enum JSValue: Equatable {
1616
case boolean(Bool)
1717
case string(String)
1818
}
@@ -62,8 +62,6 @@ public func setJSValue(this: JSRef, name: String, value: JSValue) {
6262
}
6363
return
6464
}
65-
66-
print("\(#function) with prop name \"\(name)\" (length: \(name.count))")
6765
_set_js_value(this.id, name, Int32(name.count), kind, payload)
6866
}
6967

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +0,0 @@
1-
import JavaScriptKit
2-
let global = JSRef.global()
3-
setJSValue(this: global, name: "foobar", value: .boolean(true))
4-
print(getJSValue(this: global, name: "foobar"))

src/web/src/index.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,24 @@ interface ExportedMemory {
55
type ref = number;
66
type pointer = number;
77

8+
interface GlobalVariable {}
9+
declare const window: GlobalVariable;
10+
declare const global: GlobalVariable;
11+
812
export class SwiftRuntime {
913
private instance: WebAssembly.Instance | null;
1014
private _heapValues: any[]
1115

1216
constructor() {
1317
this.instance = null;
18+
let _global: any;
19+
if (typeof window !== "undefined") {
20+
_global = window
21+
} else if (typeof global !== "undefined") {
22+
_global = global
23+
}
1424
this._heapValues = [
15-
window,
25+
_global,
1626
]
1727
}
1828

@@ -75,8 +85,6 @@ export class SwiftRuntime {
7585
return {
7686
swjs_set_js_value: (ref: ref, name: number, length: number, kind: number, payload: number) => {
7787
const obj = this._heapValues[ref];
78-
console.log(`obj = ${obj}, name = ${name}, length = ${length}, kind = ${kind}, value = ${payload}`)
79-
console.log(`name is decoded as "${readString(name, length)}"`)
8088
Reflect.set(obj, readString(name, length), decodeValue(kind, payload))
8189
},
8290
swjs_get_js_value: (ref: ref, name: number, length: number, kind_ptr: pointer, payload_ptr: pointer) => {

test/JavaScriptKitExec/.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.DS_Store
2+
/.build
3+
/Packages
4+
/*.xcodeproj
5+
xcuserdata/

test/JavaScriptKitExec/.swift-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
wasm-DEVELOPMENT

test/JavaScriptKitExec/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../src/swift/Makefile

0 commit comments

Comments
 (0)