forked from swiftwasm/JavaScriptKit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSwiftStruct.d.ts
More file actions
94 lines (91 loc) · 2.43 KB
/
Copy pathSwiftStruct.d.ts
File metadata and controls
94 lines (91 loc) · 2.43 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
// NOTICE: This is auto-generated code by BridgeJS from JavaScriptKit,
// DO NOT EDIT.
//
// To update this file, just rebuild your project or run
// `swift package bridge-js`.
export const PrecisionValues: {
readonly Rough: 0.1;
readonly Fine: 0.001;
};
export type PrecisionTag = typeof PrecisionValues[keyof typeof PrecisionValues];
export interface DataPoint {
x: number;
y: number;
label: string;
optCount: number | null;
optFlag: boolean | null;
}
export interface Address {
street: string;
city: string;
zipCode: number | null;
}
export interface Person {
name: string;
age: number;
address: Address;
email: string | null;
}
export interface Session {
id: number;
owner: Greeter;
}
export interface Measurement {
value: number;
precision: PrecisionTag;
optionalPrecision: PrecisionTag | null;
}
export interface ConfigStruct {
}
export interface Container {
object: any;
optionalObject: any | null;
}
export interface Vector2D {
dx: number;
dy: number;
magnitude(): number;
scaled(factor: number): Vector2D;
describe(): string;
}
export type PrecisionObject = typeof PrecisionValues;
/// Represents a Swift heap object like a class instance or an actor instance.
export interface SwiftHeapObject {
/// Release the heap object.
///
/// Note: Calling this method will release the heap object and it will no longer be accessible.
release(): void;
}
export interface Greeter extends SwiftHeapObject {
greet(): string;
name: string;
}
export type Exports = {
roundtrip(session: Person): Person;
roundtripContainer(container: Container): Container;
Precision: PrecisionObject
ConfigStruct: {
readonly maxRetries: number;
defaultConfig: string;
timeout: number;
readonly computedSetting: string;
update(timeout: number): number;
},
DataPoint: {
init(x: number, y: number, label: string, optCount: number | null, optFlag: boolean | null): DataPoint;
readonly dimensions: number;
origin(): DataPoint;
},
Greeter: {
new(name: string): Greeter;
},
}
export type Imports = {
}
export function createInstantiator(options: {
imports: Imports;
}, swift: any): Promise<{
addImports: (importObject: WebAssembly.Imports) => void;
setInstance: (instance: WebAssembly.Instance) => void;
createExports: (instance: WebAssembly.Instance) => Exports;
}>;