@looker/sdk-rtl
Version:
Looker SDK Runtime Library
59 lines • 3.15 kB
JavaScript
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); }
import { agentPrefix, defaultTimeout } from './transport';
import { boolDefault, isTrue, unquote } from './constants';
export 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")
};
};
export var strBadConfiguration = "".concat(agentPrefix, " configuration error:\nMissing required configuration values like base_url\n");
export var DefaultSettings = () => ({
agentTag: agentPrefix,
base_url: '',
timeout: defaultTimeout,
verify_ssl: true
});
export var configValue = (values, name, envKey) => {
var val = values[envKey[name]] || values[name];
return typeof val === 'string' ? unquote(val) : val;
};
export 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 = boolDefault(configValue(values, 'verify_ssl', envKey), true);
settings.agentTag = "TS-SDK";
var timeout = configValue(values, 'timeout', envKey);
settings.timeout = timeout ? parseInt(timeout, 10) : defaultTimeout;
return settings;
};
export class ApiSettings {
constructor(settings) {
var _settings$verify_ssl, _settings$timeout;
_defineProperty(this, "base_url", '');
_defineProperty(this, "verify_ssl", true);
_defineProperty(this, "timeout", defaultTimeout);
_defineProperty(this, "agentTag", agentPrefix);
this.base_url = 'base_url' in settings ? unquote(settings.base_url) : this.base_url;
this.verify_ssl = 'verify_ssl' in settings ? isTrue(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(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 {};
}
}
//# sourceMappingURL=apiSettings.js.map