dinoloop-es8
Version:
A lightweight REST API Library for building scalable Node.js server-side applications powered by Typescript
91 lines • 7.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const filter_1 = require("../filter");
const controller_1 = require("../controller");
const object_utility_1 = require("./object.utility");
/**
* Wrapper methods to test the datatype of components
* registered with Dino instance
*/
class DinoUtility {
static isSyncMiddleWare(type) {
return object_utility_1.ObjectUtility.create(type.prototype)
instanceof filter_1.Middleware;
}
static isAsyncMiddleWare(type) {
return object_utility_1.ObjectUtility.create(type.prototype)
instanceof filter_1.MiddlewareAsync;
}
static isSyncAppStartMiddleware(type) {
return object_utility_1.ObjectUtility.create(type.prototype)
instanceof filter_1.AppStartMiddleware;
}
static isSyncRequestStartMiddleware(type) {
return object_utility_1.ObjectUtility.create(type.prototype)
instanceof filter_1.RequestStartMiddleware;
}
static isAsyncRequestStartMiddleware(type) {
return object_utility_1.ObjectUtility.create(type.prototype)
instanceof filter_1.RequestStartMiddlewareAsync;
}
static isSyncRequestEndMiddleware(type) {
return Object.create(type.prototype)
instanceof filter_1.RequestEndMiddleware;
}
static isAsyncRequestEndMiddleware(type) {
return Object.create(type.prototype)
instanceof filter_1.RequestEndMiddlewareAsync;
}
static isSyncActionFilter(type) {
return object_utility_1.ObjectUtility.create(type.prototype)
instanceof filter_1.ActionFilter;
}
static isAsyncActionFilter(type) {
return object_utility_1.ObjectUtility.create(type.prototype)
instanceof filter_1.ActionFilterAsync;
}
static isSyncResultFilter(type) {
return object_utility_1.ObjectUtility.create(type.prototype)
instanceof filter_1.ResultFilter;
}
static isAsyncResultFilter(type) {
return object_utility_1.ObjectUtility.create(type.prototype)
instanceof filter_1.ResultFilterAsync;
}
static isSyncErrorMiddleware(type) {
return object_utility_1.ObjectUtility.create(type.prototype) instanceof filter_1.ErrorMiddleware;
}
static isAsyncErrorMiddleware(type) {
return object_utility_1.ObjectUtility.create(type.prototype) instanceof filter_1.ErrorMiddlewareAsync;
}
static isSyncExceptionFilter(type) {
return object_utility_1.ObjectUtility.create(type.prototype) instanceof filter_1.ExceptionFilter;
}
static isAsyncExceptionFilter(type) {
return object_utility_1.ObjectUtility.create(type.prototype) instanceof filter_1.ExceptionFilterAsync;
}
static isErrorController(type) {
return object_utility_1.ObjectUtility.create(type.prototype) instanceof controller_1.ErrorController;
}
static isApiController(type) {
return object_utility_1.ObjectUtility.create(type.prototype) instanceof controller_1.ApiController;
}
static getControllerProperties(controller) {
let base = controller;
let props = [];
while (true) {
base = object_utility_1.ObjectUtility.getPrototypeOf(base);
if (object_utility_1.ObjectUtility.create(base) instanceof controller_1.ApiController) {
for (const val of object_utility_1.ObjectUtility.getOwnPropertyNames(base)) {
if (val !== 'constructor')
props.push(val);
}
}
else
break;
}
return props;
}
}
exports.DinoUtility = DinoUtility;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGluby51dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvdXRpbGl0eS9kaW5vLnV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FnQm1CO0FBQ25CLDhDQUErRDtBQUMvRCxxREFBaUQ7QUFFakQ7OztHQUdHO0FBQ0g7SUFFSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBYztRQUNsQyxPQUFPLDhCQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7dUJBQzVCLG1CQUFVLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFjO1FBQ25DLE9BQU8sOEJBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzt1QkFDNUIsd0JBQWUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTSxDQUFDLHdCQUF3QixDQUFDLElBQWM7UUFDMUMsT0FBTyw4QkFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3VCQUM1QiwyQkFBa0IsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTSxDQUFDLDRCQUE0QixDQUFDLElBQWM7UUFDOUMsT0FBTyw4QkFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3VCQUM1QiwrQkFBc0IsQ0FBQztJQUMxQyxDQUFDO0lBRUQsTUFBTSxDQUFDLDZCQUE2QixDQUFDLElBQWM7UUFDL0MsT0FBTyw4QkFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3VCQUM1QixvQ0FBMkIsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLDBCQUEwQixDQUFDLElBQWM7UUFDNUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7dUJBQ3JCLDZCQUFvQixDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENB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