@looker/sdk-rtl
Version:
Looker SDK Runtime Library
70 lines (69 loc) • 3.69 kB
JavaScript
;
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