2023-09-15 17:32:00 +01:00
|
|
|
import ElementCondition from "./condition/ElementCondition";
|
|
|
|
import BoolCondition from "./condition/BoolCondition";
|
2024-04-10 15:51:19 +01:00
|
|
|
import JsVariableCondition from "./condition/JsVariableCondition";
|
2023-09-15 17:32:00 +01:00
|
|
|
|
|
|
|
class ConditionFactory {
|
|
|
|
static make(conditionConfig, triggerUpdate) {
|
|
|
|
switch (conditionConfig.type) {
|
|
|
|
case 'element':
|
|
|
|
return new ElementCondition(conditionConfig, triggerUpdate);
|
|
|
|
case 'bool':
|
|
|
|
return new BoolCondition(conditionConfig, triggerUpdate);
|
2024-04-10 15:51:19 +01:00
|
|
|
case 'js_variable':
|
|
|
|
return new JsVariableCondition(conditionConfig, triggerUpdate);
|
2023-09-15 17:32:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
throw new Error('[ConditionFactory] Unknown condition: ' + conditionConfig.type);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default ConditionFactory;
|