@splitsoftware/splitio
Version:
26 lines (25 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.settingsFactory = void 0;
var settingsValidation_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation");
var builtinLogger_1 = require("@splitsoftware/splitio-commons/cjs/utils/settingsValidation/logger/builtinLogger");
var node_1 = require("./defaults/node");
var node_2 = require("./storage/node");
var node_3 = require("./runtime/node");
var FLAG_SPEC_VERSION = '1.1';
var params = {
defaults: node_1.defaults,
runtime: node_3.validateRuntime,
storage: node_2.validateStorage,
logger: builtinLogger_1.validateLogger,
flagSpec: function () { return FLAG_SPEC_VERSION; }
// In Node.js the SDK ignores `config.integrations`, so a validator for integrations is not required
};
function settingsFactory(config) {
var settings = (0, settingsValidation_1.settingsValidation)(config, params);
// if provided, keeps reference to the `requestOptions` object
if (settings.sync.requestOptions)
settings.sync.requestOptions = config.sync.requestOptions;
return settings;
}
exports.settingsFactory = settingsFactory;