2022-05-04 15:16:34 +02:00
|
|
|
import {
|
|
|
|
IStrategy,
|
|
|
|
IStrategyParameter,
|
|
|
|
IFeatureStrategyParameters,
|
|
|
|
} from 'interfaces/strategy';
|
2022-03-25 12:34:20 +01:00
|
|
|
import { resolveDefaultParamValue } from 'utils/resolveDefaultParamValue';
|
2021-09-30 11:44:30 +02:00
|
|
|
|
|
|
|
export const getStrategyObject = (
|
|
|
|
selectableStrategies: IStrategy[],
|
|
|
|
name: string,
|
|
|
|
featureId: string
|
|
|
|
) => {
|
|
|
|
const selectedStrategy = selectableStrategies.find(
|
|
|
|
strategy => strategy.name === name
|
|
|
|
);
|
|
|
|
|
2022-05-04 15:16:34 +02:00
|
|
|
const parameters: IFeatureStrategyParameters = {};
|
|
|
|
|
|
|
|
selectedStrategy?.parameters.forEach(({ name }: IStrategyParameter) => {
|
2021-09-30 11:44:30 +02:00
|
|
|
parameters[name] = resolveDefaultParamValue(name, featureId);
|
|
|
|
});
|
|
|
|
|
|
|
|
return { name, parameters, constraints: [] };
|
|
|
|
};
|