@bitblit/epsilon
Version:
Tiny adapter to simplify building API gateway Lambda APIS
66 lines • 3.65 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EpsilonConstants = void 0;
const logger_1 = require("@bitblit/ratchet/common/logger");
class EpsilonConstants {
static load(filePath, className) {
// eslint-disable-next-line @typescript-eslint/no-var-frequires
logger_1.Logger.info('Searching for %s : %s : %s', filePath, className, __dirname);
let rval = null;
const val = require(filePath);
if (val) {
logger_1.Logger.debug('Found %s - pulling object : %j : %s', filePath, Object.keys(val), className);
rval = val[className];
}
return rval;
}
static findDynamicImportEpsilonGlobalHandlerProvider() {
return __awaiter(this, void 0, void 0, function* () {
const importPath = process.env[EpsilonConstants.EPSILON_FINDER_DYNAMIC_IMPORT_PATH_ENV_NAME] ||
EpsilonConstants.DEFAULT_EPSILON_FINDER_DYNAMIC_IMPORT_PATH;
const fnName = process.env[EpsilonConstants.EPSILON_FINDER_FUNCTION_NAME_ENV_NAME] || EpsilonConstants.DEFAULT_EPSILON_FINDER_FUNCTION_NAME;
logger_1.Logger.debug('Using epsilon finder dynamic import path : %s / %s', importPath, fnName);
let provider = null;
try {
provider = this.load(importPath, fnName);
}
catch (err) {
logger_1.Logger.error('Error loading provider : %s / %s : %s', importPath, fnName, err, err);
}
let rval = null;
if (provider) {
logger_1.Logger.debug('Type2 is : %s', typeof provider);
//const fn = provider.fetchEpsilonGlobalHandler();
logger_1.Logger.info('Got3 : %s : %s', provider, typeof provider);
rval = provider();
logger_1.Logger.info('Rval3 is %s', rval);
}
return rval;
});
}
//producer: () => Promise<EpsilonGlobalHandler>
// Prevent instantiation
// eslint-disable-next-line @typescript-eslint/no-empty-function
constructor() { }
}
exports.EpsilonConstants = EpsilonConstants;
EpsilonConstants.EPSILON_FINDER_DYNAMIC_IMPORT_PATH_ENV_NAME = 'EPSILON_FINDER_DYNAMIC_IMPORT_PATH';
EpsilonConstants.EPSILON_FINDER_FUNCTION_NAME_ENV_NAME = 'EPSILON_FINDER_FUNCTION_NAME';
EpsilonConstants.DEFAULT_EPSILON_FINDER_DYNAMIC_IMPORT_PATH = 'epsilon-global-handler-provider';
EpsilonConstants.DEFAULT_EPSILON_FINDER_FUNCTION_NAME = 'findEpsilonGlobalHandler';
EpsilonConstants.AUTH_HEADER_PREFIX = 'Bearer ';
EpsilonConstants.AUTH_HEADER_NAME = 'Authorization';
EpsilonConstants.BACKGROUND_SQS_TYPE_FIELD = 'BACKGROUND_TYPE';
EpsilonConstants.BACKGROUND_SNS_START_MARKER = 'BACKGROUND_START_MARKER';
EpsilonConstants.BACKGROUND_SNS_IMMEDIATE_RUN_FLAG = 'BACKGROUND_IMMEDIATE_RUN_FLAG';
EpsilonConstants.INTER_API_SNS_EVENT = 'EPSILON_INTER_API_EVENT';
//# sourceMappingURL=epsilon-constants.js.map