mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +01:00
523807359e
* refactor: improve useStrategy fetch hook * fix: sort strategy parameters payload * refactor: move React import to the top * refactor: fix refetchStrategy name
25 lines
701 B
TypeScript
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])
|
|
)
|
|
);
|
|
};
|