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
{
"worlds": [
{
"name": "foo",
"imports": {
"interface-0": {
"interface": {
"id": 0
}
}
},
"exports": {
"interface-1": {
"interface": {
"id": 1
}
}
},
"package": 0
}
],
"interfaces": [
{
"name": "x",
"types": {
"r": 0
},
"functions": {
"hi": {
"name": "hi",
"kind": "freestanding",
"params": [],
"result": 2
}
},
"package": 0
},
{
"name": "y",
"types": {
"r": 1
},
"functions": {
"hi": {
"name": "hi",
"kind": "freestanding",
"params": [],
"result": 3
}
},
"package": 0
}
],
"types": [
{
"name": "r",
"kind": "resource",
"owner": {
"interface": 0
}
},
{
"name": "r",
"kind": "resource",
"owner": {
"interface": 1
}
},
{
"name": null,
"kind": {
"handle": {
"own": 0
}
},
"owner": null
},
{
"name": null,
"kind": {
"handle": {
"own": 1
}
},
"owner": null
}
],
"packages": [
{
"name": "a:b",
"docs": {
"contents": "RUN: component wit --generate-nominal-type-ids foo % --json"
},
"interfaces": {
"x": 0,
"y": 1
},
"worlds": {
"foo": 0
}
}
]
}