@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
74 lines • 5.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var eps_logger_1 = require("../../logging/eps-logger");
var port_manager_1 = require("../../modules/port-manager");
var temp_data_manager_1 = require("../../modules/temp-data-manager");
var connection_manager_1 = require("../components/connection-manager");
var process_manager_1 = require("../components/process-manager");
var taco_initializer_1 = require("../components/taco-initializer");
var AppGlobal = /** @class */ (function () {
function AppGlobal(config) {
var callerType = config.callerType, epsInstanceId = config.epsInstanceId, epsTempDirPath = config.epsTempDirPath, portRange = config.portRange, reservedPorts = config.reservedPorts, connectorAppDir = config.connectorAppDir, connectorHandlerDir = config.connectorHandlerDir, featureFlags = config.featureFlags, i18nConfig = config.i18nConfig;
var tempDataManager = new temp_data_manager_1.TempDataManager(epsInstanceId, epsTempDirPath);
this.featureFlags = featureFlags;
this._processManager = new process_manager_1.EPSProcessManager(tempDataManager);
this._portManager = new port_manager_1.PortManager(portRange[0], portRange[1], reservedPorts);
this._connectionManager = new connection_manager_1.ConnectionManager(this._processManager, tempDataManager);
this._tacoInitializer = new taco_initializer_1.TacoInitializer(this._connectionManager, {
callerType: callerType,
appDir: connectorAppDir,
handlersDir: connectorHandlerDir,
i18n: i18nConfig,
});
}
AppGlobal.init = function (config) {
if (this.instance) {
eps_logger_1.Logger.warn('AppGlobal has already been initialized. Skipping...');
return;
}
this.instance = new AppGlobal(config);
// in monolith context, this is Tableau app process
this.instance._processManager.addPID(config.parentPid, 'eps-parent', process_manager_1.ProcessType.parent);
this.instance._processManager.start();
};
Object.defineProperty(AppGlobal, "processManager", {
get: function () {
assertInit(this.instance);
return this.instance._processManager;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AppGlobal, "portManager", {
get: function () {
assertInit(this.instance);
return this.instance._portManager;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AppGlobal, "connectionManager", {
get: function () {
assertInit(this.instance);
return this.instance._connectionManager;
},
enumerable: false,
configurable: true
});
Object.defineProperty(AppGlobal, "tacoInitializer", {
get: function () {
assertInit(this.instance);
return this.instance._tacoInitializer;
},
enumerable: false,
configurable: true
});
return AppGlobal;
}());
function assertInit(instance) {
if (!instance) {
throw new Error('AppGlobal must be initialized.');
}
}
exports.default = AppGlobal;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWdsb2JhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lcHMvbWFpbi9jb3JlL2FwcC1nbG9iYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSx1REFBaUQ7QUFDakQsMkRBQXdEO0FBQ3hELHFFQUFpRTtBQUNqRSx1RUFBb0U7QUFDcEUsaUVBQThFO0FBQzlFLG1FQUFnRTtBQWlCaEU7SUFRRSxtQkFBb0IsTUFBa0I7UUFFbEMsSUFBQSxVQUFVLEdBU1IsTUFBTSxXQVRFLEVBQ1YsYUFBYSxHQVFYLE1BQU0sY0FSSyxFQUNiLGNBQWMsR0FPWixNQUFNLGVBUE0sRUFDZCxTQUFTLEdBTVAsTUFBTSxVQU5DLEVBQ1QsYUFBYSxHQUtYLE1BQU0sY0FMSyxFQUNiLGVBQWUsR0FJYixNQUFNLGdCQUpPLEVBQ2YsbUJBQW1CLEdBR2pCLE1BQU0sb0JBSFcsRUFDbkIsWUFBWSxHQUVWLE1BQU0sYUFGSSxFQUNaLFVBQVUsR0FDUixNQUFNLFdBREUsQ0FDRjtRQUVWLElBQU0sZUFBZSxHQUFHLElBQUksbUNBQWUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUE7UUFDMUUsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUE7UUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLG1DQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSwwQkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDOUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksc0NBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQTtRQUN0RixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNuRSxVQUFVLFlBQUE7WUFDVixNQUFNLEVBQUUsZUFBZTtZQUN2QixXQUFXLEVBQUUsbUJBQW1CO1lBQ2hDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTSxjQUFJLEdBQVgsVUFBWSxNQUFrQjtRQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsbUJBQU0sQ0FBQyxJQUFJLENBQUMscURBQXFELENBQUMsQ0FBQTtZQUNsRSxPQUFNO1NBQ1A7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXJDLG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsNkJBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4RixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN2QyxDQUFDO0lBRUQsc0JBQWtCLDJCQUFjO2FBQWhDO1lBQ0UsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFBO1FBQ3RDLENBQUM7OztPQUFBO0lBRUQsc0JBQWtCLHdCQUFXO2FBQTdCO1lBQ0UsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFBO1FBQ25DLENBQUM7OztPQUFBO0lBRUQsc0JBQWtCLDhCQUFpQjthQUFuQztZQUNFLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFBO1FBQ3pDLENBQUM7OztPQUFBO0lBRUQsc0JBQWtCLDRCQUFlO2FBQWpDO1lBQ0UsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUE7UUFDdkMsQ0FBQzs7O09BQUE7SUFDSCxnQkFBQztBQUFELENBQUMsQUFsRUQsSUFrRUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxRQUErQjtJQUNqRCxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO0tBQ2xEO0FBQ0gsQ0FBQztBQUVELGtCQUFlLFNBQVMsQ0FBQSJ9