class JSXElement
A node that represents a JSX element.
@author Marco Marchiò <marco.mm89@gmail.com>
Hierarchy
- class \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\JSONSerializable
- class \Peast\Syntax\Node\JSX\JSXElement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression
Expanded class hierarchy of JSXElement
2 string references to 'JSXElement'
- Parser::parseJSXElement in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ JSX/ Parser.php - Parses a jsx element
- Renderer::renderNode in vendor/
mck89/ peast/ lib/ Peast/ Renderer.php - Renders a node
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Node/ JSX/ JSXElement.php, line 20
Namespace
Peast\Syntax\Node\JSXView source
class JSXElement extends Node implements Expression {
/**
* Map of node properties
*
* @var array
*/
protected $propertiesMap = array(
"openingElement" => true,
"children" => true,
"closingElement" => true,
);
/**
* Opening element node
*
* @var JSXOpeningElement
*/
protected $openingElement;
/**
* Children nodes array
*
* @var Node[]
*/
protected $children = array();
/**
* Closing element node
*
* @var JSXClosingElement|null
*/
protected $closingElement;
/**
* Returns the opening element node
*
* @return JSXOpeningElement
*/
public function getOpeningElement() {
return $this->openingElement;
}
/**
* Sets the opening element node
*
* @param JSXOpeningElement $openingElement Opening element node
*
* @return $this
*/
public function setOpeningElement(JSXOpeningElement $openingElement) {
$this->openingElement = $openingElement;
return $this;
}
/**
* Returns the children nodes array
*
* @return Node[]
*/
public function getChildren() {
return $this->children;
}
/**
* Sets the children nodes array
*
* @param Node[] $children Children nodes array
*
* @return $this
*/
public function setChildren($children) {
$this->assertArrayOf($children, array(
"JSX\\JSXText",
"JSX\\JSXExpressionContainer",
"JSX\\JSXSpreadChild",
"JSX\\JSXElement",
"JSX\\JSXFragment",
));
$this->children = $children;
return $this;
}
/**
* Returns the closing element node
*
* @return JSXClosingElement|null
*/
public function getClosingElement() {
return $this->closingElement;
}
/**
* Sets the closing element node
*
* @param JSXClosingElement|null $closingElement Closing element node
*
* @return $this
*/
public function setClosingElement($closingElement) {
$this->assertType($closingElement, "JSX\\JSXClosingElement", true);
$this->closingElement = $closingElement;
return $this;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
JSXElement::$children | protected | property | Children nodes array | ||
JSXElement::$closingElement | protected | property | Closing element node | ||
JSXElement::$openingElement | protected | property | Opening element node | ||
JSXElement::$propertiesMap | protected | property | Map of node properties | Overrides Node::$propertiesMap | |
JSXElement::getChildren | public | function | Returns the children nodes array | ||
JSXElement::getClosingElement | public | function | Returns the closing element node | ||
JSXElement::getOpeningElement | public | function | Returns the opening element node | ||
JSXElement::setChildren | public | function | Sets the children nodes array | ||
JSXElement::setClosingElement | public | function | Sets the closing element node | ||
JSXElement::setOpeningElement | public | function | Sets the opening element node | ||
Node::$leadingComments | protected | property | Leading comments array | ||
Node::$location | public | property | Node location in the source code | ||
Node::$trailingComments | protected | property | Trailing comments array | ||
Node::assertArrayOf | protected | function | Asserts that the given value is an array of defined type | ||
Node::assertType | protected | function | Asserts that the given value respects the defined type | ||
Node::getLeadingComments | public | function | Returns leading comments array | ||
Node::getLocation | public | function | Returns node location in the source code | ||
Node::getTrailingComments | public | function | Returns trailing comments array | ||
Node::getType | public | function | Returns node type | 2 | |
Node::jsonSerialize | public | function | Returns a serializable version of the node | 2 | |
Node::render | public | function | Renders the current node | ||
Node::setEndPosition | public | function | Sets the end position of the node in the source code | ||
Node::setLeadingComments | public | function | Sets leading comments array | 1 | |
Node::setStartPosition | public | function | Sets the start position of the node in the source code | ||
Node::setTrailingComments | public | function | Sets trailing comments array | 1 | |
Node::traverse | public | function | Traverses the current node and all its child nodes using the given function |
||
Node::typeError | protected | function | Throws an error if the defined type is not supported b | ||
Node::__construct | public | function | Class constructor |