Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
parseJSXFragment example
/** * Parses a jsx child * * @return \Peast\Syntax\Node\Node|null */
protected
function
parseJSXChild
(
)
{
if
(
$node
=
$this
->
parseJSXText
(
)
)
{
return
$node
;
}
elseif
(
$node
=
$this
->
parseJSXFragment
(
)
)
{
return
$node
;
}
elseif
(
$node
=
$this
->
parseJSXElement
(
)
)
{
return
$node
;
}
elseif
(
$startToken
=
$this
->scanner->
consume
(
"{"
)
)
{
$spread
=
$this
->scanner->
consume
(
"..."
)
;
$exp
=
$this
->
parseAssignmentExpression
(
)
;
$midPos
=
$this
->scanner->
getPosition
(
)
;
if
(
(
$spread
&& !
$exp
)
|| !
$this
->scanner->
consume
(
"}"
)
)
{
$this
->
error
(
)
;
}
$node
=
$this
->
createJSXNode
(
return
$exp
;
}
elseif
(
$exp
=
$this
->
parseLiteral
(
)
)
{
return
$exp
;
}
elseif
(
$exp
=
$this
->
parseArrayLiteral
(
)
)
{
return
$exp
;
}
elseif
(
$exp
=
$this
->
parseObjectLiteral
(
)
)
{
return
$exp
;
}
elseif
(
$exp
=
$this
->
parseRegularExpressionLiteral
(
)
)
{
return
$exp
;
}
elseif
(
$exp
=
$this
->
parseTemplateLiteral
(
)
)
{
return
$exp
;
}
elseif
(
$this
->jsx
&&
(
$exp
=
$this
->
parseJSXFragment
(
)
)
)
{
return
$exp
;
}
elseif
(
$this
->jsx
&&
(
$exp
=
$this
->
parseJSXElement
(
)
)
)
{
return
$exp
;
}
elseif
(
$token
=
$this
->scanner->
consume
(
"("
)
)
{
if
(
(
$exp
=
$this
->
isolateContext
(
array
(
"allowIn" => true
)
, "parseExpression"
)
)
&&
$this
->scanner->
consume
(
")"
)
)
{