forked from swiftwasm/JavaScriptKit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSwiftStruct.swift
More file actions
44 lines (36 loc) · 966 Bytes
/
SwiftStruct.swift
File metadata and controls
44 lines (36 loc) · 966 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
@JS struct DataPoint {
let x: Double
let y: Double
var label: String
var optCount: Int?
var optFlag: Bool?
@JS init(x: Double, y: Double, label: String, optCount: Int?, optFlag: Bool?)
}
@JS struct Address {
var street: String
var city: String
var zipCode: Int?
}
@JS struct Person {
var name: String
var age: Int
var address: Address
var email: String?
}
@JS class Greeter {
@JS var name: String
@JS init(name: String)
@JS func greet() -> String
}
@JS struct Session {
var id: Int
var owner: Greeter
}
@JS func roundtrip(_ session: Person) -> Person
@JS struct ConfigStruct {
@JS static let maxRetries: Int = 3
@JS nonisolated(unsafe) static var defaultConfig: String = "production"
@JS nonisolated(unsafe) static var timeout: Double = 30.0
@JS static var computedSetting: String { "Config: \(defaultConfig)" }
@JS static func update(_ timeout: Double) -> Double
}