@splitsoftware/splitio
Version:
22 lines (21 loc) • 971 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 FLAG_SPEC_VERSION = '1.1';
var params = {
defaults: defaults,
runtime: validateRuntime,
storage: validateStorage,
logger: validateLogger,
flagSpec: function () { return FLAG_SPEC_VERSION; }
// In Node.js the SDK ignores `config.integrations`, so a validator for integrations is not required
};
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;
}