@splitsoftware/splitio
Version:
19 lines (18 loc) • 779 B
JavaScript
import { settingsValidation } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation';
import { validateLogger } from '@splitsoftware/splitio-commons/esm/utils/settingsValidation/logger/builtinLogger';
import { defaults } from './defaults/node';
import { validateStorage } from './storage/node';
import { validateRuntime } from './runtime/node';
var params = {
defaults: defaults,
runtime: validateRuntime,
storage: validateStorage,
logger: validateLogger,
};
export function settingsFactory(config) {
var settings = settingsValidation(config, params);
// if provided, keeps reference to the `requestOptions` object
if (settings.sync.requestOptions)
settings.sync.requestOptions = config.sync.requestOptions;
return settings;
}