@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
20 lines (17 loc) • 788 B
text/typescript
import { ISettings } from '../../../types';
import { validateIntegrations } from './common';
import { ILogger } from '../../../logger/types';
/**
* This function validates `settings.integrations` object that consists of a list of pluggable integration factories.
*
* @param settings - config object provided by the user to initialize the sdk
*
* @returns array of valid integration factories. The array might be empty if `settings` object does not have valid integrations.
*/
export function validatePluggableIntegrations(settings: { log: ILogger, integrations?: any }): ISettings['integrations'] {
return validateIntegrations(
settings,
integration => typeof integration === 'function',
'Integration items must be functions that initialize the integrations'
);
}