| | |
| | | |
| | | var _utils = require("./utils"); |
| | | |
| | | (0, _utils.default)("JSXAttribute", { |
| | | const defineType = (0, _utils.defineAliasedType)("JSX"); |
| | | defineType("JSXAttribute", { |
| | | visitor: ["name", "value"], |
| | | aliases: ["JSX", "Immutable"], |
| | | aliases: ["Immutable"], |
| | | fields: { |
| | | name: { |
| | | validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXNamespacedName") |
| | |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXClosingElement", { |
| | | defineType("JSXClosingElement", { |
| | | visitor: ["name"], |
| | | aliases: ["JSX", "Immutable"], |
| | | aliases: ["Immutable"], |
| | | fields: { |
| | | name: { |
| | | validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXElement", { |
| | | defineType("JSXElement", { |
| | | builder: ["openingElement", "closingElement", "children", "selfClosing"], |
| | | visitor: ["openingElement", "children", "closingElement"], |
| | | aliases: ["JSX", "Immutable", "Expression"], |
| | | fields: { |
| | | aliases: ["Immutable", "Expression"], |
| | | fields: Object.assign({ |
| | | openingElement: { |
| | | validate: (0, _utils.assertNodeType)("JSXOpeningElement") |
| | | }, |
| | |
| | | }, |
| | | children: { |
| | | validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) |
| | | }, |
| | | } |
| | | }, { |
| | | selfClosing: { |
| | | validate: (0, _utils.assertValueType)("boolean"), |
| | | optional: true |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | (0, _utils.default)("JSXEmptyExpression", { |
| | | aliases: ["JSX"] |
| | | }); |
| | | (0, _utils.default)("JSXExpressionContainer", { |
| | | defineType("JSXEmptyExpression", {}); |
| | | defineType("JSXExpressionContainer", { |
| | | visitor: ["expression"], |
| | | aliases: ["JSX", "Immutable"], |
| | | aliases: ["Immutable"], |
| | | fields: { |
| | | expression: { |
| | | validate: (0, _utils.assertNodeType)("Expression", "JSXEmptyExpression") |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXSpreadChild", { |
| | | defineType("JSXSpreadChild", { |
| | | visitor: ["expression"], |
| | | aliases: ["JSX", "Immutable"], |
| | | aliases: ["Immutable"], |
| | | fields: { |
| | | expression: { |
| | | validate: (0, _utils.assertNodeType)("Expression") |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXIdentifier", { |
| | | defineType("JSXIdentifier", { |
| | | builder: ["name"], |
| | | aliases: ["JSX"], |
| | | fields: { |
| | | name: { |
| | | validate: (0, _utils.assertValueType)("string") |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXMemberExpression", { |
| | | defineType("JSXMemberExpression", { |
| | | visitor: ["object", "property"], |
| | | aliases: ["JSX"], |
| | | fields: { |
| | | object: { |
| | | validate: (0, _utils.assertNodeType)("JSXMemberExpression", "JSXIdentifier") |
| | |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXNamespacedName", { |
| | | defineType("JSXNamespacedName", { |
| | | visitor: ["namespace", "name"], |
| | | aliases: ["JSX"], |
| | | fields: { |
| | | namespace: { |
| | | validate: (0, _utils.assertNodeType)("JSXIdentifier") |
| | |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXOpeningElement", { |
| | | defineType("JSXOpeningElement", { |
| | | builder: ["name", "attributes", "selfClosing"], |
| | | visitor: ["name", "attributes"], |
| | | aliases: ["JSX", "Immutable"], |
| | | aliases: ["Immutable"], |
| | | fields: { |
| | | name: { |
| | | validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") |
| | |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXSpreadAttribute", { |
| | | defineType("JSXSpreadAttribute", { |
| | | visitor: ["argument"], |
| | | aliases: ["JSX"], |
| | | fields: { |
| | | argument: { |
| | | validate: (0, _utils.assertNodeType)("Expression") |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXText", { |
| | | aliases: ["JSX", "Immutable"], |
| | | defineType("JSXText", { |
| | | aliases: ["Immutable"], |
| | | builder: ["value"], |
| | | fields: { |
| | | value: { |
| | |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXFragment", { |
| | | defineType("JSXFragment", { |
| | | builder: ["openingFragment", "closingFragment", "children"], |
| | | visitor: ["openingFragment", "children", "closingFragment"], |
| | | aliases: ["JSX", "Immutable", "Expression"], |
| | | aliases: ["Immutable", "Expression"], |
| | | fields: { |
| | | openingFragment: { |
| | | validate: (0, _utils.assertNodeType)("JSXOpeningFragment") |
| | |
| | | } |
| | | } |
| | | }); |
| | | (0, _utils.default)("JSXOpeningFragment", { |
| | | aliases: ["JSX", "Immutable"] |
| | | defineType("JSXOpeningFragment", { |
| | | aliases: ["Immutable"] |
| | | }); |
| | | (0, _utils.default)("JSXClosingFragment", { |
| | | aliases: ["JSX", "Immutable"] |
| | | defineType("JSXClosingFragment", { |
| | | aliases: ["Immutable"] |
| | | }); |