UNPKG

@grafana/faro-core

Version:
56 lines 2.55 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.initializeAPI = initializeAPI; var events_1 = require("./events"); var exceptions_1 = require("./exceptions"); var logs_1 = require("./logs"); var measurements_1 = require("./measurements"); var meta_1 = require("./meta"); var traces_1 = require("./traces"); var 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 var pushEventImpl = null; var pushEventWrapper = function (name, attributes, domain, options) { if (pushEventImpl) { pushEventImpl(name, attributes, domain, options); } else { internalLogger.warn('pushEventImpl is not initialized. Event dropped:', { name: name, attributes: attributes, domain: domain, options: options }); } }; // Initialize user actions API with the wrapper function var userActionsApi = (0, userActions_1.initializeUserActionsAPI)({ transports: transports, config: config, internalLogger: internalLogger, pushEvent: pushEventWrapper, }); var tracesApi = (0, traces_1.initializeTracesAPI)(unpatchedConsole, internalLogger, config, metas, transports); var props = { unpatchedConsole: unpatchedConsole, internalLogger: internalLogger, userActionsApi: userActionsApi, config: config, metas: metas, transports: transports, tracesApi: tracesApi, }; // Initialize events API and set the actual implementation var eventsApi = (0, events_1.initializeEventsAPI)(props); pushEventImpl = eventsApi.pushEvent; return __assign(__assign(__assign(__assign(__assign(__assign(__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