UNPKG

qcobjects

Version:

QCObjects is an Open-source framework that empowers full-stack developers to make micro-services and micro-frontends into an N-Tier architecture.

64 lines (63 loc) 2.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const CONFIG_1 = require("./CONFIG"); const findPackageNodePath_1 = require("./findPackageNodePath"); const Import_1 = require("./Import"); const Logger_1 = require("./Logger"); const platform_1 = require("./platform"); const loadSDK = () => { if (CONFIG_1.CONFIG.get("useSDK")) { (function () { const remoteImportsPath = CONFIG_1.CONFIG.get("remoteImportsPath"); const external = (!CONFIG_1.CONFIG.get("useLocalSDK")); CONFIG_1.CONFIG.set("remoteImportsPath", CONFIG_1.CONFIG.get("remoteSDKPath")); let tryImportingSDK = false; let sdkName = "QCObjects-SDK"; if (platform_1.isBrowser) { tryImportingSDK = true; } else { const sdkPath = (0, findPackageNodePath_1.findPackageNodePath)("qcobjects-sdk"); if (sdkPath !== null) { sdkName = "qcobjects-sdk"; tryImportingSDK = true; } else if (sdkPath !== "") { sdkName = "node_modules/qcobjects-sdk/QCObjects-SDK"; tryImportingSDK = true; } else { tryImportingSDK = false; } } if (tryImportingSDK) { Logger_1.logger.info("Importing SDK... " + sdkName); if (platform_1.isNodeCommonJS && typeof require !== "undefined") { const sdk = (0, platform_1._require_)("qcobjects-sdk"); if (sdk) { Logger_1.logger.debug("QCObjects SDK was loaded OK."); } else { Logger_1.logger.debug("QCObjects SDK could not be imported."); } } else { (0, Import_1.Import)(sdkName, function () { if (external) { Logger_1.logger.debug("QCObjects-SDK.js loaded from remote location"); } else { Logger_1.logger.debug("QCObjects-SDK.js loaded from local"); } CONFIG_1.CONFIG.set("remoteImportsPath", remoteImportsPath); }, external) ?.catch((e) => { throw new Error(`An error ocurred when trying to import: ${e}`); }); } } else { Logger_1.logger.debug("SDK has not been imported as it is not available at the moment"); } })(); } }; exports.default = loadSDK;