Skip to content

Commit 317c27a

Browse files
committed
Add schema for input
1 parent 63022de commit 317c27a

File tree

1 file changed

+188
-0
lines changed

1 file changed

+188
-0
lines changed

type.d.ts

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
export type Param = {
2+
"name": string;
3+
"type": string;
4+
"optional"?: string;
5+
"variadic"?: string;
6+
"nullable"?: string;
7+
};
8+
export type Member = {
9+
"name": string;
10+
"type": string;
11+
"default"?: string;
12+
"nullable"?: string;
13+
"type-original"?: string;
14+
"required"?: string;
15+
};
16+
17+
export type Property = {
18+
"name": string;
19+
"event-handler"?: string;
20+
"type": string;
21+
"read-only"?: string;
22+
"nullable"?: string;
23+
"replaceable"?: string;
24+
"put-forwards"?: string;
25+
"stringifier"?: string;
26+
"tags"?: string;
27+
"type-original"?: string;
28+
"property-descriptor-not-enumerable"?: string;
29+
"content-attribute"?: string;
30+
"content-attribute-reflects"?: string;
31+
"content-attribute-value-syntax"?: string;
32+
"content-attribute-enum-values"?: string;
33+
"content-attribute-aliases"?: string;
34+
"content-attribute-boolean"?: string;
35+
"css-property"?: string;
36+
"css-property-enum-values"?: string;
37+
"css-property-initial"?: string;
38+
"css-property-value-syntax"?: string;
39+
"css-property-shorthand"?: string;
40+
"css-property-subproperties"?: string;
41+
"css-property-animatable"?: string;
42+
"css-property-aliases"?: string;
43+
"lenient-this"?: string;
44+
"treat-null-as"?: string;
45+
"event-handler-map-to-window"?: string;
46+
};
47+
48+
export type Event = {
49+
"name": string;
50+
"dispatch"?: string;
51+
"skips-window"?: string;
52+
"type": string;
53+
"bubbles"?: string;
54+
"cancelable"?: string;
55+
"follows"?: string;
56+
"precedes"?: string;
57+
"tags"?: string;
58+
"aliases"?: string;
59+
};
60+
61+
export type Method = {
62+
"name": string;
63+
"type": string;
64+
"tags"?: string;
65+
"getter"?: string;
66+
"static"?: string;
67+
"stringifier"?: string;
68+
"nullable"?: string;
69+
"serializer"?: string;
70+
"serializer-info"?: string;
71+
"param"?: Param[];
72+
};
73+
74+
export type CallbackFunction = {
75+
"name": string;
76+
"callback": string;
77+
"type": string;
78+
"param"?: Param[];
79+
"tags"?: string;
80+
};
81+
82+
export type Constructor = {
83+
"param"?: Param[];
84+
};
85+
86+
export type Constant = {
87+
"name": string;
88+
"type": string;
89+
"type-original"?: string;
90+
"value": string;
91+
"tags"?: string
92+
};
93+
94+
export type ParsedAttribute ={
95+
"enum-values"?: string;
96+
"name": string;
97+
"value-syntax"?: string;
98+
};
99+
100+
export type Element = {
101+
"name": string;
102+
"namespace"?: string;
103+
"html-self-closing"?: string;
104+
}
105+
106+
export type Interface = {
107+
"name": string;
108+
"extends": string;
109+
"constants"?: {
110+
"constant": Constant[];
111+
};
112+
"methods": {
113+
"method": Method[];
114+
};
115+
"events"?: {
116+
"event": Event[];
117+
};
118+
"properties"?: {
119+
"property": Property[]
120+
};
121+
"constructor"?: (string | null | {
122+
"param": Param[];
123+
})[];
124+
"secure-context"?: string;
125+
"implements"?: string[];
126+
"static"?: undefined;
127+
"anonymous-methods"?: {
128+
"method": Method[];
129+
};
130+
"anonymous-content-attributes"?: {
131+
"parsedattribute": ParsedAttribute[]
132+
};
133+
"element"?: Element[];
134+
"named-constructor"?: {
135+
"name": string;
136+
"param": Param[];
137+
};
138+
"override-builtins"?: string;
139+
"exposed"?: string;
140+
"tags"?: string;
141+
"implicit-this"?: string;
142+
"primary-global"?: string;
143+
"no-interface-object"?: string;
144+
"global"?: string;
145+
"type-parameters"?: string[];
146+
};
147+
148+
export type Enum = {
149+
"name": string;
150+
"value": string[];
151+
};
152+
153+
export type TypeDef = {
154+
"new-type": string;
155+
"type": string;
156+
};
157+
158+
export type Dictionary = {
159+
"name": string;
160+
"extends": string;
161+
"members": {
162+
"member": Member[];
163+
};
164+
};
165+
166+
export type WebIdl = {
167+
"callback-functions"?: {
168+
"callback-function": CallbackFunction[];
169+
},
170+
"callback-interfaces"?: {
171+
"interface": Interface[];
172+
};
173+
"dictionaries"?: {
174+
"dictionary": Dictionary[];
175+
};
176+
"enums"?: {
177+
"enum": Enum[];
178+
};
179+
"interfaces"?: {
180+
"interface": Interface[];
181+
};
182+
"mixin-interfaces"?: {
183+
"interface": Interface[]
184+
};
185+
"typedefs"?: {
186+
"typedef": TypeDef[];
187+
};
188+
};

0 commit comments

Comments
 (0)