@webfaas/webfaas-core
Version:
WebFaaS Framework - Core
152 lines • 6.4 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Core = void 0;
const PackageRegistryManager_1 = require("./PackageRegistryManager/PackageRegistryManager");
const PackageStoreManager_1 = require("./PackageStoreManager/PackageStoreManager");
const ModuleManager_1 = require("./ModuleManager/ModuleManager");
const Log_1 = require("./Log/Log");
const Config_1 = require("./Config/Config");
const SmallSemver_1 = require("./Semver/SmallSemver");
const MessageManager_1 = require("./MessageManager/MessageManager");
const smallSemver = new SmallSemver_1.SmallSemver();
/**
* WEBFAAS CORE
*/
class Core {
constructor(config, log, packageRegistryManager, packageStoreManager, moduleManager) {
//not change position
let pjson = require("../package.json");
this.version = pjson.version;
this.versionObj = smallSemver.parseVersion(this.version);
//****
this.config = config || new Config_1.Config();
this.log = log || new Log_1.Log();
if (packageRegistryManager) {
this.packageRegistryManager = packageRegistryManager;
}
else {
this.packageRegistryManager = new PackageRegistryManager_1.PackageRegistryManager(this.log);
let defaultRegistryName = this.config.get("registry.default", "");
this.packageRegistryManager.setDefaultRegistryName(defaultRegistryName);
}
if (packageStoreManager) {
this.packageStoreManager = packageStoreManager;
}
else {
this.packageStoreManager = new PackageStoreManager_1.PackageStoreManager(this.packageRegistryManager, this.log);
}
if (moduleManager) {
this.moduleManager = moduleManager;
}
else {
this.moduleManager = new ModuleManager_1.ModuleManager(this.packageStoreManager, this.log);
}
this.moduleManagerImport = this.moduleManager.getModuleManagerImport();
this.messageManager = new MessageManager_1.MessageManager(this.moduleManager, this.log);
}
/**
* return registry manager
*/
getPackageRegistryManager() {
return this.packageRegistryManager;
}
/**
* return store manager
*/
getPackageStoreManager() {
return this.packageStoreManager;
}
/**
* return module manager
*/
getModuleManager() {
return this.moduleManager;
}
/**
* return message manager
*/
getMessageManager() {
return this.messageManager;
}
/**
* return log
*/
getLog() {
return this.log;
}
/**
* return version
*/
getVersion() {
return this.version;
}
/**
* return version object
*/
getVersionObj() {
return this.versionObj;
}
/**
* return config;
*/
getConfig() {
return this.config;
}
/**
* send message
* @param msg message
*/
sendMessage(msg) {
return this.messageManager.sendMessage(msg);
}
/**
* import module
* @param name module name
* @param version module version
* @param etag etag
* @param registryName registry
* @param imediateCleanMemoryCacheModuleFiles clean cache
*/
import(name, version, etag, registryName, imediateCleanMemoryCacheModuleFiles = true) {
return this.moduleManagerImport.import(name, version, etag, registryName, imediateCleanMemoryCacheModuleFiles);
}
}
exports.Core = Core;
//Util
var PackageStoreUtil_1 = require("./Util/PackageStoreUtil");
Object.defineProperty(exports, "PackageStoreUtil", { enumerable: true, get: function () { return PackageStoreUtil_1.PackageStoreUtil; } });
var ModuleNameUtil_1 = require("./Util/ModuleNameUtil");
Object.defineProperty(exports, "ModuleNameUtil", { enumerable: true, get: function () { return ModuleNameUtil_1.ModuleNameUtil; } });
var MessageUtil_1 = require("./Util/MessageUtil");
Object.defineProperty(exports, "MessageUtil", { enumerable: true, get: function () { return MessageUtil_1.MessageUtil; } });
//ClientHTTP
var ClientHTTP_1 = require("./ClientHTTP/ClientHTTP");
Object.defineProperty(exports, "ClientHTTP", { enumerable: true, get: function () { return ClientHTTP_1.ClientHTTP; } });
var ClientHTTPConfig_1 = require("./ClientHTTP/ClientHTTPConfig");
Object.defineProperty(exports, "ClientHTTPConfig", { enumerable: true, get: function () { return ClientHTTPConfig_1.ClientHTTPConfig; } });
var ClientHTTPUtil_1 = require("./Util/ClientHTTPUtil");
Object.defineProperty(exports, "ClientHTTPUtil", { enumerable: true, get: function () { return ClientHTTPUtil_1.ClientHTTPUtil; } });
//Log
var Log_2 = require("./Log/Log");
Object.defineProperty(exports, "Log", { enumerable: true, get: function () { return Log_2.Log; } });
var ILog_1 = require("./Log/ILog");
Object.defineProperty(exports, "LogLevelEnum", { enumerable: true, get: function () { return ILog_1.LogLevelEnum; } });
//PackageStore
var PackageStore_1 = require("./PackageStore/PackageStore");
Object.defineProperty(exports, "PackageStore", { enumerable: true, get: function () { return PackageStore_1.PackageStore; } });
var PluginManager_1 = require("./PluginManager/PluginManager");
Object.defineProperty(exports, "PluginManager", { enumerable: true, get: function () { return PluginManager_1.PluginManager; } });
//ModuleManager
var ModuleManager_2 = require("./ModuleManager/ModuleManager");
Object.defineProperty(exports, "ModuleManager", { enumerable: true, get: function () { return ModuleManager_2.ModuleManager; } });
//MessageManager
var MessageManager_2 = require("./MessageManager/MessageManager");
Object.defineProperty(exports, "MessageManager", { enumerable: true, get: function () { return MessageManager_2.MessageManager; } });
//WebFaasError
var WebFaasError_1 = require("./WebFaasError/WebFaasError");
Object.defineProperty(exports, "WebFaasError", { enumerable: true, get: function () { return WebFaasError_1.WebFaasError; } });
//EventManager
var EventManager_1 = require("./Event/EventManager");
Object.defineProperty(exports, "EventManager", { enumerable: true, get: function () { return EventManager_1.EventManager; } });
Object.defineProperty(exports, "EventManagerEnum", { enumerable: true, get: function () { return EventManager_1.EventManagerEnum; } });
//# sourceMappingURL=Core.js.map