build static method
Map<String, dynamic>
build({
- required String param,
- FilterActionType? filterActionType,
- String? action,
- dynamic value,
Implementation
static Map<String, dynamic> build(
{required String param,
FilterActionType? filterActionType,
String? action,
dynamic value}) {
if (action == null) {
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, value)
.build();
}
filterActionType ??= FilterActionType.FILTER_JPA;
switch (filterActionType) {
case FilterActionType.FILTER_NONE:
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, value)
.build();
case FilterActionType.FILTER_JPA:
return MapBuilder<String, dynamic>(multiKey: true)
.put(param + action, value)
.build();
case FilterActionType.FILTER_SQL:
default:
switch (action) {
case CONTAINS:
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, "$param LIKE '%$value%'")
.build();
case EQUALS:
// num numValue = num.tryParse(value);
// dynamic parsedValue = numValue != null ? value : "\"${value}\"";
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, "$param = \"$value\"")
.build();
case IN:
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, "$param IN $value")
.build();
case SPECIFIED:
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, "$param IS ${value ? 'NOT NULL' : 'NULL'}")
.build();
case GREATER_OR_EQUAL_THAN:
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, "$param >= $value")
.build();
case GREATER_THAN:
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, "$param > $value")
.build();
case LESS_OR_EQUAL_THAN:
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, "$param <= $value")
.build();
case LESS_THAN:
return MapBuilder<String, dynamic>(multiKey: true)
.put(param, "$param < $value")
.build();
}
}
return MapBuilder<String, dynamic>(multiKey: true).put(param, "").build();
}