mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	* 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])
 | |
|         )
 | |
|     );
 | |
| };
 |