dinoloop-es8
Version:
A lightweight REST API Library for building scalable Node.js server-side applications powered by Typescript
34 lines • 2.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const data_utility_1 = require("./data.utility");
/**
* ParserUtility functions to parse dino objects
*/
class DinoParser {
/**
* Parses the MiddlewareProvider to MiddlewareClass
*/
static parseMiddlewareProvider(middleware) {
let middlewareFunction = middleware;
let data = undefined;
let middlewareClass = middleware;
// if provider is non-function and has custom data, it should be using .useClass
if (!data_utility_1.DataUtility.isFunction(middleware)
&& !data_utility_1.DataUtility.isUndefinedOrNull(middlewareClass)) {
// data must be available only if .useClass is valid func
if (data_utility_1.DataUtility.isFunction(middlewareClass.useClass)) {
middlewareFunction = middlewareClass.useClass;
data = middlewareClass.data;
}
else {
middlewareFunction = middlewareClass.useClass;
}
}
return {
data: data,
useClass: middlewareFunction
};
}
}
exports.DinoParser = DinoParser;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGluby5wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy91dGlsaXR5L2Rpbm8ucGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsaURBQTZDO0FBRTdDOztHQUVHO0FBQ0g7SUFFSTs7T0FFRztJQUNILE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxVQUErQjtRQUMxRCxJQUFJLGtCQUFrQixHQUFhLFVBQWlCLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ3JCLElBQUksZUFBZSxHQUFxQixVQUFpQixDQUFDO1FBRTFELGdGQUFnRjtRQUNoRixJQUFJLENBQUMsMEJBQVcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO2VBQ2hDLENBQUMsMEJBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUVwRCx5REFBeUQ7WUFDekQsSUFBSSwwQkFBVyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2xELGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7Z0JBQzlDLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2FBQy9CO2lCQUFNO2dCQUNILGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7YUFDakQ7U0FDSjtRQUVELE9BQU87WUFDSCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxrQkFBa0I7U0FDL0IsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQTVCRCxnQ0E0QkMifQ==