"use strict"; var _index = require("./index"); var _index2 = _interopRequireDefault(_index); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _index2.default)("JSXAttribute", { visitor: ["name", "value"], aliases: ["JSX", "Immutable"], fields: { name: { validate: (0, _index.assertNodeType)("JSXIdentifier", "JSXNamespacedName") }, value: { optional: true, validate: (0, _index.assertNodeType)("JSXElement", "StringLiteral", "JSXExpressionContainer") } } }); (0, _index2.default)("JSXClosingElement", { visitor: ["name"], aliases: ["JSX", "Immutable"], fields: { name: { validate: (0, _index.assertNodeType)("JSXIdentifier", "JSXMemberExpression") } } }); (0, _index2.default)("JSXElement", { builder: ["openingElement", "closingElement", "children", "selfClosing"], visitor: ["openingElement", "children", "closingElement"], aliases: ["JSX", "Immutable", "Expression"], fields: { openingElement: { validate: (0, _index.assertNodeType)("JSXOpeningElement") }, closingElement: { optional: true, validate: (0, _index.assertNodeType)("JSXClosingElement") }, children: { validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement"))) } } }); (0, _index2.default)("JSXEmptyExpression", { aliases: ["JSX", "Expression"] }); (0, _index2.default)("JSXExpressionContainer", { visitor: ["expression"], aliases: ["JSX", "Immutable"], fields: { expression: { validate: (0, _index.assertNodeType)("Expression") } } }); (0, _index2.default)("JSXSpreadChild", { visitor: ["expression"], aliases: ["JSX", "Immutable"], fields: { expression: { validate: (0, _index.assertNodeType)("Expression") } } }); (0, _index2.default)("JSXIdentifier", { builder: ["name"], aliases: ["JSX", "Expression"], fields: { name: { validate: (0, _index.assertValueType)("string") } } }); (0, _index2.default)("JSXMemberExpression", { visitor: ["object", "property"], aliases: ["JSX", "Expression"], fields: { object: { validate: (0, _index.assertNodeType)("JSXMemberExpression", "JSXIdentifier") }, property: { validate: (0, _index.assertNodeType)("JSXIdentifier") } } }); (0, _index2.default)("JSXNamespacedName", { visitor: ["namespace", "name"], aliases: ["JSX"], fields: { namespace: { validate: (0, _index.assertNodeType)("JSXIdentifier") }, name: { validate: (0, _index.assertNodeType)("JSXIdentifier") } } }); (0, _index2.default)("JSXOpeningElement", { builder: ["name", "attributes", "selfClosing"], visitor: ["name", "attributes"], aliases: ["JSX", "Immutable"], fields: { name: { validate: (0, _index.assertNodeType)("JSXIdentifier", "JSXMemberExpression") }, selfClosing: { default: false, validate: (0, _index.assertValueType)("boolean") }, attributes: { validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("JSXAttribute", "JSXSpreadAttribute"))) } } }); (0, _index2.default)("JSXSpreadAttribute", { visitor: ["argument"], aliases: ["JSX"], fields: { argument: { validate: (0, _index.assertNodeType)("Expression") } } }); (0, _index2.default)("JSXText", { aliases: ["JSX", "Immutable"], builder: ["value"], fields: { value: { validate: (0, _index.assertValueType)("string") } } });