UNPKG

@gentrace/core

Version:
100 lines (97 loc) 4.26 kB
import { Configuration } from '../configuration.mjs'; import { V1Api } from '../api/v1-api.mjs'; import { V2Api } from '../api/v2-api.mjs'; import { V3Api } from '../api/v3-api.mjs'; import { getProcessEnv, setErrorInterceptor } from './utils.mjs'; var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; let GENTRACE_API_KEY = ""; function getGentraceApiKey() { return GENTRACE_API_KEY; } let GENTRACE_BASE_PATH = ""; function getGentraceBasePath() { return GENTRACE_BASE_PATH; } let GENTRACE_BRANCH = ""; let GENTRACE_COMMIT = ""; let GENTRACE_SHOW_CONNECTION_ERRORS = ""; // @deprecated: use GENTRACE_RESULT_NAME instead let GENTRACE_RUN_NAME = ""; let GENTRACE_RESULT_NAME = ""; let GENTRACE_ENVIRONMENT_NAME = ""; let globalGentraceConfig = null; let globalGentraceApi = null; let globalGentraceApiV2 = null; let globalGentraceApiV3 = null; let globalRequestBuffer = {}; let resetGlobalGentraceApi = () => { globalGentraceConfig = null; }; function init(values) { const { apiKey, basePath, branch, commit, showConnectionErrors, runName, resultName, environmentName, } = values !== null && values !== void 0 ? values : {}; if (!apiKey && !getProcessEnv("GENTRACE_API_KEY")) { throw new Error("Gentrace API key was provided neither by the `apiKey` param in the constructor nor by the `GENTRACE_API_KEY` env variable."); } GENTRACE_API_KEY = apiKey || getProcessEnv("GENTRACE_API_KEY"); GENTRACE_RUN_NAME = runName || getProcessEnv("GENTRACE_RUN_NAME"); GENTRACE_RESULT_NAME = resultName || getProcessEnv("GENTRACE_RESULT_NAME"); GENTRACE_ENVIRONMENT_NAME = environmentName || getProcessEnv("GENTRACE_ENVIRONMENT_NAME"); GENTRACE_SHOW_CONNECTION_ERRORS = showConnectionErrors || getProcessEnv("GENTRACE_SHOW_CONNECTION_ERRORS"); setErrorInterceptor(); if (basePath) { try { const url = new URL(basePath); if (url.pathname.startsWith("/api")) { } else { throw new Error('Gentrace base path must end in "/api".'); } } catch (err) { throw new Error(`Invalid Gentrace base path (${basePath}): ${err.message}`); } GENTRACE_BASE_PATH = basePath; } globalGentraceConfig = new Configuration({ apiKey: GENTRACE_API_KEY, basePath: GENTRACE_BASE_PATH, }); globalGentraceApi = new V1Api(globalGentraceConfig); globalGentraceApiV2 = new V2Api(globalGentraceConfig); globalGentraceApiV3 = new V3Api(globalGentraceConfig); if (branch) { GENTRACE_BRANCH = branch; } if (commit) { GENTRACE_COMMIT = commit; } } function deinit() { GENTRACE_API_KEY = ""; GENTRACE_BASE_PATH = ""; GENTRACE_BRANCH = ""; GENTRACE_COMMIT = ""; GENTRACE_SHOW_CONNECTION_ERRORS = ""; globalGentraceConfig = null; globalGentraceApi = null; globalGentraceApiV2 = null; globalGentraceApiV3 = null; globalRequestBuffer = {}; } function flush() { return __awaiter(this, void 0, void 0, function* () { return (yield Promise.allSettled(Object.values(globalRequestBuffer))).every((result) => result.status === "fulfilled"); }); } export { GENTRACE_API_KEY, GENTRACE_BASE_PATH, GENTRACE_BRANCH, GENTRACE_COMMIT, GENTRACE_ENVIRONMENT_NAME, GENTRACE_RESULT_NAME, GENTRACE_RUN_NAME, GENTRACE_SHOW_CONNECTION_ERRORS, deinit, flush, getGentraceApiKey, getGentraceBasePath, globalGentraceApi, globalGentraceApiV2, globalGentraceApiV3, globalGentraceConfig, globalRequestBuffer, init, resetGlobalGentraceApi }; //# sourceMappingURL=init.mjs.map