1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-25 00:07:47 +01:00
unleash.unleash/frontend/src/utils/sortStrategyParameters.ts
olav 523807359e fix: sort strategy parameters payload (#1218)
* refactor: improve useStrategy fetch hook

* fix: sort strategy parameters payload

* refactor: move React import to the top

* refactor: fix refetchStrategy name
2022-08-12 14:49:26 +02:00

25 lines
701 B
TypeScript

import {
IFeatureStrategyParameters,
IStrategy,
IFeatureStrategy,
} from 'interfaces/strategy';
// Sort the keys in a parameters payload object by the
// order of the parameters in the strategy definition.
export const sortStrategyParameters = (
parameters: IFeatureStrategyParameters,
strategyDefinition: IStrategy
): Partial<IFeatureStrategy> => {
const sortedParameterNames = strategyDefinition.parameters.map(
parameter => parameter.name
);
return Object.fromEntries(
Object.entries(parameters).sort(
(a, b) =>
sortedParameterNames.indexOf(a[0]) -
sortedParameterNames.indexOf(b[0])
)
);
};