function Parser::parseBindingProperty
Parses a property in an object binding pattern
Return value
Node\AssignmentProperty|null
1 call to Parser::parseBindingProperty()
- Parser::parseObjectBindingPattern in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses an object binding pattern
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php, line 2992
Class
- Parser
- Parser class
Namespace
Peast\SyntaxCode
protected function parseBindingProperty() {
$state = $this->scanner
->getState();
if (($key = $this->parsePropertyName()) && $this->scanner
->consume(":")) {
if ($value = $this->parseBindingElement()) {
$startPos = isset($key[2]) ? $key[2] : $key[0];
$node = $this->createNode("AssignmentProperty", $startPos);
$node->setKey($key[0]);
$node->setComputed($key[1]);
$node->setValue($value);
return $this->completeNode($node);
}
$this->scanner
->setState($state);
return null;
}
$this->scanner
->setState($state);
if ($property = $this->parseSingleNameBinding()) {
$node = $this->createNode("AssignmentProperty", $property);
$node->setShorthand(true);
if ($property instanceof Node\AssignmentPattern) {
$node->setKey($property->getLeft());
}
else {
$node->setKey($property);
}
$node->setValue($property);
return $this->completeNode($node);
}
return null;
}