class TemplateElement
A node that represents a template element. For example `foo` and `bar` in: `foo${exp}bar`
@author Marco Marchiò <marco.mm89@gmail.com>
Hierarchy
- class \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\JSONSerializable
- class \Peast\Syntax\Node\TemplateElement extends \Peast\Syntax\Node\Node
Expanded class hierarchy of TemplateElement
4 string references to 'TemplateElement'
- Parser::parseTemplateLiteral in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a template literal
- Renderer::renderNode in vendor/
mck89/ peast/ lib/ Peast/ Renderer.php - Renders a node
- TemplateLiteral::setParts in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Node/ TemplateLiteral.php - Sets the array of the template parts (quasis and expressions)
- TemplateLiteral::setQuasis in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Node/ TemplateLiteral.php - Sets the array of quasis that are the literal parts of the template
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Node/ TemplateElement.php, line 20
Namespace
Peast\Syntax\NodeView source
class TemplateElement extends Node {
/**
* Map of node properties
*
* @var array
*/
protected $propertiesMap = array(
"value" => false,
"tail" => false,
"rawValue" => false,
);
/**
* Node's value
*
* @var string
*/
protected $value;
/**
* Tail flag that is true when the element is the tail element in a template
*
* @var bool
*/
protected $tail = false;
/**
* Node's raw value
*
* @var string
*/
protected $rawValue;
/**
* Return node's value
*
* @return string
*/
public function getValue() {
return $this->value;
}
/**
* Sets node's value
*
* @param mixed $value Value
*
* @return $this
*/
public function setValue($value) {
$this->value = $value;
$this->rawValue = Utils::quoteLiteralString($value, "`");
return $this;
}
/**
* Returns the tail flag that is true when the element is the tail element
* in a template
*
* @return bool
*/
public function getTail() {
return $this->tail;
}
/**
* Sets the tail flag that is true when the element is the tail element
* in a template
*
* @param bool $tail Tail flag
*
* @return $this
*/
public function setTail($tail) {
$this->tail = (bool) $tail;
return $this;
}
/**
* Returns node's raw value
*
* @return string
*/
public function getRawValue() {
return $this->rawValue;
}
/**
* Sets node's raw value that must be wrapped in templates quotes.
*
* @param string $rawValue Raw value
*
* @return $this
*/
public function setRawValue($rawValue) {
$rawValue = preg_replace("#^[`}]|(?:`|\\\$\\{)\$#", "", $rawValue);
$this->setValue(Utils::unquoteLiteralString("`{$rawValue}`"));
$this->rawValue = $rawValue;
return $this;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
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 | ||
TemplateElement::$propertiesMap | protected | property | Map of node properties | Overrides Node::$propertiesMap | |
TemplateElement::$rawValue | protected | property | Node's raw value | ||
TemplateElement::$tail | protected | property | Tail flag that is true when the element is the tail element in a template | ||
TemplateElement::$value | protected | property | Node's value | ||
TemplateElement::getRawValue | public | function | Returns node's raw value | ||
TemplateElement::getTail | public | function | Returns the tail flag that is true when the element is the tail element in a template |
||
TemplateElement::getValue | public | function | Return node's value | ||
TemplateElement::setRawValue | public | function | Sets node's raw value that must be wrapped in templates quotes. | ||
TemplateElement::setTail | public | function | Sets the tail flag that is true when the element is the tail element in a template |
||
TemplateElement::setValue | public | function | Sets node's value |