UNPKG

@looker/sdk-rtl

Version:
70 lines (69 loc) 3.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.strBadConfiguration = exports.configValue = exports.ValueSettings = exports.DefaultSettings = exports.ApiSettings = exports.ApiConfigMap = void 0; var _transport = require("./transport"); var _constants = require("./constants"); function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } var ApiConfigMap = envPrefix => { if (!envPrefix) return {}; return { base_url: "".concat(envPrefix, "_BASE_URL"), client_id: "".concat(envPrefix, "_CLIENT_ID"), client_secret: "".concat(envPrefix, "_CLIENT_SECRET"), timeout: "".concat(envPrefix, "_TIMEOUT"), verify_ssl: "".concat(envPrefix, "_VERIFY_SSL") }; }; exports.ApiConfigMap = ApiConfigMap; var strBadConfiguration = exports.strBadConfiguration = "".concat(_transport.agentPrefix, " configuration error:\nMissing required configuration values like base_url\n"); var DefaultSettings = () => ({ agentTag: _transport.agentPrefix, base_url: '', timeout: _transport.defaultTimeout, verify_ssl: true }); exports.DefaultSettings = DefaultSettings; var configValue = (values, name, envKey) => { var val = values[envKey[name]] || values[name]; return typeof val === 'string' ? (0, _constants.unquote)(val) : val; }; exports.configValue = configValue; var ValueSettings = (values, envPrefix) => { var settings = DefaultSettings(); var envKey = ApiConfigMap(envPrefix); settings.base_url = configValue(values, 'base_url', envKey) || settings.base_url; settings.verify_ssl = (0, _constants.boolDefault)(configValue(values, 'verify_ssl', envKey), true); settings.agentTag = "TS-SDK"; var timeout = configValue(values, 'timeout', envKey); settings.timeout = timeout ? parseInt(timeout, 10) : _transport.defaultTimeout; return settings; }; exports.ValueSettings = ValueSettings; class ApiSettings { constructor(settings) { var _settings$verify_ssl, _settings$timeout; _defineProperty(this, "base_url", ''); _defineProperty(this, "verify_ssl", true); _defineProperty(this, "timeout", _transport.defaultTimeout); _defineProperty(this, "agentTag", _transport.agentPrefix); this.base_url = 'base_url' in settings ? (0, _constants.unquote)(settings.base_url) : this.base_url; this.verify_ssl = 'verify_ssl' in settings ? (0, _constants.isTrue)((0, _constants.unquote)((_settings$verify_ssl = settings.verify_ssl) === null || _settings$verify_ssl === void 0 ? void 0 : _settings$verify_ssl.toString())) : this.verify_ssl; this.timeout = 'timeout' in settings ? parseInt((0, _constants.unquote)((_settings$timeout = settings.timeout) === null || _settings$timeout === void 0 ? void 0 : _settings$timeout.toString()), 10) : this.timeout; if ('agentTag' in settings && settings.agentTag) this.agentTag = settings.agentTag; if (!this.isConfigured()) { throw new Error(strBadConfiguration); } } isConfigured() { return !!this.base_url; } readConfig(_section) { return {}; } } exports.ApiSettings = ApiSettings; //# sourceMappingURL=apiSettings.js.map