-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathModule.swift
More file actions
104 lines (99 loc) · 2.81 KB
/
Module.swift
File metadata and controls
104 lines (99 loc) · 2.81 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
95
96
97
98
99
100
101
102
103
104
/// Represents a group of IDL modules from which a corresponding Swift module is generated.
struct Module {
/// Name of the generated Swift module.
let swiftModule: String
/// Names of source IDL modules.
let idlModules: [String]
/// Names of Swift modules that this module should depend on. This array should also include any transitive
/// dependencies, that are directly referenced in this module, as those aren't automatically inferred at the moment.
let dependencies: [String]
}
let baseModule = Module(
swiftModule: "WebAPIBase",
idlModules: ["console", "webidl", "url"],
dependencies: []
)
let domModule = Module(
swiftModule: "DOM",
idlModules: [
"dom",
"html",
"wai-aria",
"uievents",
"css-pseudo",
"geometry",
"cssom-view",
"css-view-transitions",
"hr-time",
"FileAPI",
"xhr",
"referrer-policy",
"fetch",
"streams",
"mediacapture-streams",
"mediastream-recording",
"webcodecs",
"service-workers",
"touch-events",
"media-source",
"performance-timeline",
"permissions",
"mathml-core",
"trusted-types",
"urlpattern",
],
dependencies: ["WebAPIBase"]
)
let modules = [
domModule,
Module(
swiftModule: "WebSockets",
idlModules: ["websockets"],
dependencies: ["DOM", "WebAPIBase"]
),
Module(
swiftModule: "WebAudio",
idlModules: ["webaudio"],
dependencies: ["DOM", "WebAPIBase"]
),
Module(
swiftModule: "WebAnimations",
idlModules: ["web-animations"],
dependencies: ["DOM", "WebAPIBase", "WebAudio"]
),
Module(
swiftModule: "WebGL1",
idlModules: ["webgl1"],
dependencies: ["DOM", "WebAPIBase", "WebAudio", "WebAnimations"]
),
Module(
swiftModule: "WebGL2",
idlModules: ["webgl2"],
dependencies: ["DOM", "WebAPIBase", "WebAudio", "WebAnimations", "WebGL1"]
),
Module(
swiftModule: "WebGPU",
idlModules: ["webgpu"],
dependencies: ["DOM", "WebAPIBase", "WebAudio", "WebAnimations", "WebGL1"]
),
Module(
swiftModule: "Gamepad",
idlModules: ["gamepad", "gamepad-extensions"],
dependencies: ["DOM", "WebAPIBase"]
),
Module(
swiftModule: "CSSOM",
idlModules: ["cssom", "cssom-view", "css-typed-om"],
dependencies: ["DOM", "WebAPIBase", "SVG"]
),
Module(
swiftModule: "SVG",
idlModules: ["SVG", "css-masking", "svg-animations"],
dependencies: ["DOM", "WebAPIBase"]
),
Module(
swiftModule: "FileSystem",
idlModules: ["fs", "storage", "file-system-access"],
dependencies: ["DOM", "WebAPIBase"]
),
]