/** * Builds a {@link BindingDescriptor} expression for a given * {@link AssetMapping} expression. * * @param Expression|null $expr The {@link AssetMapping} expression. * * @return Expression The built expression. */ public function buildExpression(Expression $expr = null) { if (!$this->defaultExpression) { $this->defaultExpression = Expr::method('isEnabled', Expr::same(true))->andMethod('getTypeName', Expr::same(DiscoveryUrlGenerator::BINDING_TYPE))->andMethod('getBinding', Expr::method('getQuery', Expr::endsWith('{,/**/*}'))); } if (!$expr) { return $this->defaultExpression; } $traverser = new ExpressionTraverser(); $traverser->addVisitor($this); return $this->defaultExpression->andX($traverser->traverse($expr)); }
/** * Builds a {@link BindingDescriptor} expression for a given * {@link AssetMapping} expression. * * @param Expression $expr The {@link AssetMapping} expression. * * @return Expression The built expression. */ public function buildExpression(Expression $expr = null) { if (!$this->defaultExpression) { $this->defaultExpression = Expr::same(BindingState::ENABLED, BindingDescriptor::STATE)->andSame(DiscoveryUrlGenerator::BINDING_TYPE, BindingDescriptor::TYPE_NAME)->andEndsWith('{,/**/*}', BindingDescriptor::QUERY); } if (!$expr) { return $this->defaultExpression; } $traverser = new ExpressionTraverser(); $traverser->addVisitor($this); return $this->defaultExpression->andX($traverser->traverse($expr)); }