Software zum Installieren eines Smart-Mirror Frameworks , zum Nutzen von hochschulrelevanten Informationen, auf einem Raspberry-Pi.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

jsx.js 4.5KB

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