UNPKG

3.67 kBJavaScriptView Raw
1"use strict";
2
3var _index = require("./index");
4
5var _index2 = _interopRequireDefault(_index);
6
7function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
9(0, _index2.default)("JSXAttribute", {
10 visitor: ["name", "value"],
11 aliases: ["JSX", "Immutable"],
12 fields: {
13 name: {
14 validate: (0, _index.assertNodeType)("JSXIdentifier", "JSXNamespacedName")
15 },
16 value: {
17 optional: true,
18 validate: (0, _index.assertNodeType)("JSXElement", "StringLiteral", "JSXExpressionContainer")
19 }
20 }
21});
22
23(0, _index2.default)("JSXClosingElement", {
24 visitor: ["name"],
25 aliases: ["JSX", "Immutable"],
26 fields: {
27 name: {
28 validate: (0, _index.assertNodeType)("JSXIdentifier", "JSXMemberExpression")
29 }
30 }
31});
32
33(0, _index2.default)("JSXElement", {
34 builder: ["openingElement", "closingElement", "children", "selfClosing"],
35 visitor: ["openingElement", "children", "closingElement"],
36 aliases: ["JSX", "Immutable", "Expression"],
37 fields: {
38 openingElement: {
39 validate: (0, _index.assertNodeType)("JSXOpeningElement")
40 },
41 closingElement: {
42 optional: true,
43 validate: (0, _index.assertNodeType)("JSXClosingElement")
44 },
45 children: {
46 validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement")))
47 }
48 }
49});
50
51(0, _index2.default)("JSXEmptyExpression", {
52 aliases: ["JSX", "Expression"]
53});
54
55(0, _index2.default)("JSXExpressionContainer", {
56 visitor: ["expression"],
57 aliases: ["JSX", "Immutable"],
58 fields: {
59 expression: {
60 validate: (0, _index.assertNodeType)("Expression")
61 }
62 }
63});
64
65(0, _index2.default)("JSXSpreadChild", {
66 visitor: ["expression"],
67 aliases: ["JSX", "Immutable"],
68 fields: {
69 expression: {
70 validate: (0, _index.assertNodeType)("Expression")
71 }
72 }
73});
74
75(0, _index2.default)("JSXIdentifier", {
76 builder: ["name"],
77 aliases: ["JSX", "Expression"],
78 fields: {
79 name: {
80 validate: (0, _index.assertValueType)("string")
81 }
82 }
83});
84
85(0, _index2.default)("JSXMemberExpression", {
86 visitor: ["object", "property"],
87 aliases: ["JSX", "Expression"],
88 fields: {
89 object: {
90 validate: (0, _index.assertNodeType)("JSXMemberExpression", "JSXIdentifier")
91 },
92 property: {
93 validate: (0, _index.assertNodeType)("JSXIdentifier")
94 }
95 }
96});
97
98(0, _index2.default)("JSXNamespacedName", {
99 visitor: ["namespace", "name"],
100 aliases: ["JSX"],
101 fields: {
102 namespace: {
103 validate: (0, _index.assertNodeType)("JSXIdentifier")
104 },
105 name: {
106 validate: (0, _index.assertNodeType)("JSXIdentifier")
107 }
108 }
109});
110
111(0, _index2.default)("JSXOpeningElement", {
112 builder: ["name", "attributes", "selfClosing"],
113 visitor: ["name", "attributes"],
114 aliases: ["JSX", "Immutable"],
115 fields: {
116 name: {
117 validate: (0, _index.assertNodeType)("JSXIdentifier", "JSXMemberExpression")
118 },
119 selfClosing: {
120 default: false,
121 validate: (0, _index.assertValueType)("boolean")
122 },
123 attributes: {
124 validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("JSXAttribute", "JSXSpreadAttribute")))
125 }
126 }
127});
128
129(0, _index2.default)("JSXSpreadAttribute", {
130 visitor: ["argument"],
131 aliases: ["JSX"],
132 fields: {
133 argument: {
134 validate: (0, _index.assertNodeType)("Expression")
135 }
136 }
137});
138
139(0, _index2.default)("JSXText", {
140 aliases: ["JSX", "Immutable"],
141 builder: ["value"],
142 fields: {
143 value: {
144 validate: (0, _index.assertValueType)("string")
145 }
146 }
147});
\No newline at end of file