@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
21 lines (18 loc) • 955 B
text/typescript
import { validateIntegrations } from './common';
import { isString } from '../../lang';
import { ILogger } from '../../../logger/types';
/**
* This function validates `settings.integrations` object that consists of a list of configuration items, used by the isomorphic JS SDK.
*
* @param settings - config object provided by the user to initialize the sdk
* @param validIntegrationTypes - list of integration types to filter from `settings.integrations`
*
* @returns array of valid integration items. The array might be empty if `settings` object does not have valid integrations.
*/
export function validateConfigurableIntegrations(settings: { log: ILogger, integrations?: any }, validIntegrationTypes: string[] = []) {
return validateIntegrations(
settings,
integration => integration && isString(integration.type) && validIntegrationTypes.indexOf(integration.type) > -1,
'Integration items must have a valid "type" value'
);
}