deep-framework
Version:
107 lines (83 loc) • 2.86 kB
JavaScript
/**
* Created by CCristi on 8/5/16.
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
let ContextProvider = exports.ContextProvider = function () {
/**
* @param {Object} runtimeContext
*/
function ContextProvider(runtimeContext) {
_classCallCheck(this, ContextProvider);
this._context = runtimeContext;
}
/**
* @param {Object} event
* @returns {ContextProvider}
*/
_createClass(ContextProvider, [{
key: 'fillContextWithEventData',
value: function fillContextWithEventData(event) {
this._context[ContextProvider.FRAMEWORK_NAMESPACE_KEY] = {};
this._context.getDeepFrameworkOption = function (option) {
return this[ContextProvider.FRAMEWORK_NAMESPACE_KEY][option];
};
[ContextProvider.MAIN_REQUEST_ID, ContextProvider.LAMBDA_DEPTH_LEVEL].forEach(option => {
if (event.hasOwnProperty(option)) {
this._context[ContextProvider.FRAMEWORK_NAMESPACE_KEY][option] = event[option];
}
});
// moving _deep_auth_context_ from event to lambda context
if (event.hasOwnProperty(ContextProvider.DEEP_AUTH_CONTEXT_KEY) && !this._context.hasOwnProperty('identity')) {
this._context.identity = event[ContextProvider.DEEP_AUTH_CONTEXT_KEY];
delete event[ContextProvider.DEEP_AUTH_CONTEXT_KEY];
}
return this;
}
/**
* @returns {Object}
*/
}, {
key: 'context',
get: function get() {
return this._context;
}
/**
* @returns {String}
*/
}], [{
key: 'FRAMEWORK_NAMESPACE_KEY',
get: function get() {
return 'deepFramework';
}
/**
* @returns {String}
*/
}, {
key: 'MAIN_REQUEST_ID',
get: function get() {
return 'mainRequestId';
}
/**
* @returns {String}
*/
}, {
key: 'LAMBDA_DEPTH_LEVEL',
get: function get() {
return 'lambdaDepthLevel';
}
/**
* @returns {String}
*/
}, {
key: 'DEEP_AUTH_CONTEXT_KEY',
get: function get() {
return '_deep_auth_context_';
}
}]);
return ContextProvider;
}();