Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Parser.php

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\Syntax

Code

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;
}
RSS feed
Powered by Drupal