createDelegateExpression function
Implementation
Expression createDelegateExpression(
List<String> expressionPath, ExpressionProvider? property) {
if (property is ExpressionProvider<Integer>) {
return DelegateExpression<Integer>(expressionPath, property);
}
if (property is ExpressionProvider<Integer?>) {
return DelegateExpression<Integer?>(expressionPath, property);
}
if (property is ExpressionProvider<int>) {
return IntToIntegerExpression(
DelegateExpression<int>(expressionPath, property),
);
}
if (property is ExpressionProvider<int?>) {
return NullableIntToIntegerExpression(
DelegateExpression<int?>(expressionPath, property),
);
}
if (property is ExpressionProvider<bool>) {
return DelegateExpression<bool>(expressionPath, property);
}
if (property is ExpressionProvider<bool?>) {
return DelegateExpression<bool?>(expressionPath, property);
}
if (property is ExpressionProvider<String>) {
return DelegateExpression<String>(expressionPath, property);
}
if (property is ExpressionProvider<String?>) {
return DelegateExpression<String?>(expressionPath, property);
}
if (property is ExpressionProvider<DateTime>) {
return DelegateExpression<DateTime>(expressionPath, property);
}
if (property is ExpressionProvider<DateTime?>) {
return DelegateExpression<DateTime?>(expressionPath, property);
}
if (property is ExpressionProvider<Duration>) {
return DelegateExpression<Duration>(expressionPath, property);
}
if (property is ExpressionProvider<Duration?>) {
return DelegateExpression<Duration?>(expressionPath, property);
}
if (property is ExpressionProvider<Decimal>) {
return DelegateExpression<Decimal>(expressionPath, property);
}
if (property is ExpressionProvider<Decimal?>) {
return DelegateExpression<Decimal?>(expressionPath, property);
}
if (property is ExpressionProvider<double>) {
return DoubleToDecimalExpression(
DelegateExpression<double>(expressionPath, property),
);
}
if (property is ExpressionProvider<double?>) {
return NullableDoubleToDecimalExpression(
DelegateExpression<double?>(expressionPath, property),
);
}
if (property is ExpressionProvider<ExpressionProviderElement>) {
return DelegateExpression<ExpressionProviderElement>(
expressionPath, property);
}
if (property is ExpressionProvider<ExpressionProviderElement?>) {
return DelegateExpression<ExpressionProviderElement?>(
expressionPath, property);
}
if (property is ExpressionProvider<List<ExpressionProviderElement>>) {
return DelegateExpression<List<ExpressionProviderElement>>(
expressionPath, property);
}
if (property is ExpressionProvider<List<ExpressionProviderElement>?>) {
return DelegateExpression<List<ExpressionProviderElement>?>(
expressionPath, property);
}
throw UnknownExpressionFactoryException('Unknown expression factory');
}