@vtex/api
Version:
VTEX I/O API client
36 lines (35 loc) • 905 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLogClient = void 0;
const telemetry_1 = require("../telemetry");
let client;
let isInitializing = false;
let initPromise = undefined;
async function getLogClient() {
if (client) {
return client;
}
if (initPromise) {
return initPromise;
}
isInitializing = true;
initPromise = initializeClient();
return initPromise;
}
exports.getLogClient = getLogClient;
async function initializeClient() {
try {
const { logsClient } = await (0, telemetry_1.initializeTelemetry)();
client = logsClient;
initPromise = undefined;
return logsClient;
}
catch (error) {
console.error('Failed to initialize logs client:', error);
initPromise = undefined;
throw error;
}
finally {
isInitializing = false;
}
}