UNPKG

1.98 kBJavaScriptView Raw
1require("./core");
2var types = require("../lib/types");
3var def = types.Type.def;
4var or = types.Type.or;
5
6// Note that none of these types are buildable because the Mozilla Parser
7// API doesn't specify any builder functions, and nobody uses E4X anymore.
8
9def("XMLDefaultDeclaration")
10 .bases("Declaration")
11 .field("namespace", def("Expression"));
12
13def("XMLAnyName").bases("Expression");
14
15def("XMLQualifiedIdentifier")
16 .bases("Expression")
17 .field("left", or(def("Identifier"), def("XMLAnyName")))
18 .field("right", or(def("Identifier"), def("Expression")))
19 .field("computed", Boolean);
20
21def("XMLFunctionQualifiedIdentifier")
22 .bases("Expression")
23 .field("right", or(def("Identifier"), def("Expression")))
24 .field("computed", Boolean);
25
26def("XMLAttributeSelector")
27 .bases("Expression")
28 .field("attribute", def("Expression"));
29
30def("XMLFilterExpression")
31 .bases("Expression")
32 .field("left", def("Expression"))
33 .field("right", def("Expression"));
34
35def("XMLElement")
36 .bases("XML", "Expression")
37 .field("contents", [def("XML")]);
38
39def("XMLList")
40 .bases("XML", "Expression")
41 .field("contents", [def("XML")]);
42
43def("XML").bases("Node");
44
45def("XMLEscape")
46 .bases("XML")
47 .field("expression", def("Expression"));
48
49def("XMLText")
50 .bases("XML")
51 .field("text", String);
52
53def("XMLStartTag")
54 .bases("XML")
55 .field("contents", [def("XML")]);
56
57def("XMLEndTag")
58 .bases("XML")
59 .field("contents", [def("XML")]);
60
61def("XMLPointTag")
62 .bases("XML")
63 .field("contents", [def("XML")]);
64
65def("XMLName")
66 .bases("XML")
67 .field("contents", or(String, [def("XML")]));
68
69def("XMLAttribute")
70 .bases("XML")
71 .field("value", String);
72
73def("XMLCdata")
74 .bases("XML")
75 .field("contents", String);
76
77def("XMLComment")
78 .bases("XML")
79 .field("contents", String);
80
81def("XMLProcessingInstruction")
82 .bases("XML")
83 .field("target", String)
84 .field("contents", or(String, null));