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