UNPKG

@grafana/faro-core

Version:
45 lines 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initializeAPI = initializeAPI; const events_1 = require("./events"); const exceptions_1 = require("./exceptions"); const logs_1 = require("./logs"); const measurements_1 = require("./measurements"); const meta_1 = require("./meta"); const traces_1 = require("./traces"); const userActions_1 = require("./userActions"); function initializeAPI(unpatchedConsole, internalLogger, config, metas, transports) { internalLogger.debug('Initializing API'); // Create a deferred pushEvent function that will be set once events API is initialized let pushEventImpl = null; const pushEventWrapper = (name, attributes, domain, options) => { if (pushEventImpl) { pushEventImpl(name, attributes, domain, options); } else { internalLogger.warn('pushEventImpl is not initialized. Event dropped:', { name, attributes, domain, options }); } }; // Initialize user actions API with the wrapper function const userActionsApi = (0, userActions_1.initializeUserActionsAPI)({ transports, config, internalLogger, pushEvent: pushEventWrapper, }); const tracesApi = (0, traces_1.initializeTracesAPI)(unpatchedConsole, internalLogger, config, metas, transports); const props = { unpatchedConsole, internalLogger, userActionsApi, config, metas, transports, tracesApi, }; // Initialize events API and set the actual implementation const eventsApi = (0, events_1.initializeEventsAPI)(props); pushEventImpl = eventsApi.pushEvent; return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, tracesApi), (0, exceptions_1.initializeExceptionsAPI)(props)), (0, meta_1.initializeMetaAPI)(props)), (0, logs_1.initializeLogsAPI)(props)), (0, measurements_1.initializeMeasurementsAPI)(props)), eventsApi), userActionsApi); } //# sourceMappingURL=initialize.js.map