@grafana/faro-core
Version:
Core package of Faro.
56 lines • 2.55 kB
JavaScript
;
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