UNPKG

@splitsoftware/splitio-browserjs

Version:
24 lines (23 loc) 1.21 kB
import { settingsFactory } from './settings'; import { getModules } from './platform/getModules'; import { sdkFactory } from '@splitsoftware/splitio-commons/esm/sdkFactory/index'; import { getFetch } from './platform/getFetchSlim'; import { getEventSource } from './platform/getEventSource'; import { EventEmitter } from '@splitsoftware/splitio-commons/esm/utils/MinEvents'; import { now } from '@splitsoftware/splitio-commons/esm/utils/timeTracker/now/browser'; var platform = { getFetch: getFetch, getEventSource: getEventSource, EventEmitter: EventEmitter, now: now }; /** * SplitFactory with pluggable modules for Browser. * * @param config - configuration object used to instantiate the SDK * @param __updateModules - optional function that lets redefine internal SDK modules. Use with * caution since, unlike `config`, this param is not validated neither considered part of the public API. * @throws Will throw an error if the provided config is invalid. */ export function SplitFactory(config, __updateModules) { var settings = settingsFactory(config); var modules = getModules(settings, platform); if (__updateModules) __updateModules(modules); return sdkFactory(modules); }