Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getComputed example
case
"JSXMemberExpression":
case
"MemberExpression":
$property
=
$node
->
getProperty
(
)
;
$compiledProperty
=
$this
->
renderNode
(
$property
)
;
$code
.=
$this
->
renderNode
(
$node
->
getObject
(
)
)
;
$optional
= false;
if
(
$type
=== "MemberExpression"
)
{
$optional
=
$node
->
getOptional
(
)
;
}
$propertyType
=
$property
->
getType
(
)
;
if
(
$type
=== "MemberExpression"
&&
(
$node
->
getComputed
(
)
||
(
$propertyType
!== "Identifier" &&
$propertyType
!== "PrivateIdentifier"
)
)
)
{
$code
.=
(
$optional
? "?." : ""
)
. "[" .
$compiledProperty
. "]";
}
else
{
$code
.=
(
$optional
? "?." : "."
)
.
$compiledProperty
;
}
break
;
case
"MetaProperty":
$code
.=
$node
->
getMeta
(
)
. "." .
$node
->
getProperty
(
)
;
break
;
case
"MethodDefinition":
if
(
$node
->
getStatic
(
)
)
{
$valNode
->
setLeft
(
$key
)
;
$valNode
->
setRight
(
$value
)
;
$this
->
completeNode
(
$valNode
,
$loc
->end
)
;
$value
=
$valNode
;
}
else
{
$value
=
$this
->
expressionToPattern
(
$value
)
;
}
$retNode
->
setValue
(
$value
)
;
$retNode
->
setKey
(
$key
)
;
$retNode
->
setMethod
(
$node
->
getMethod
(
)
)
;
$retNode
->
setShorthand
(
$node
->
getShorthand
(
)
)
;
$retNode
->
setComputed
(
$node
->
getComputed
(
)
)
;
$this
->
completeNode
(
$retNode
,
$loc
->end
)
;
}
elseif
(
$node
instanceof Node\SpreadElement
)
{
$loc
=
$node
->location;
$retNode
=
$this
->
createNode
(
"RestElement",
$loc
->start
)
;
$retNode
->
setArgument
(
$this
->
expressionToPattern
(
$node
->
getArgument
(
)
)
)
;
$this
->
completeNode
(
$retNode
,
$loc
->end
)
;
}