UNPKG

dinoloop-es8

Version:

A lightweight REST API Library for building scalable Node.js server-side applications powered by Typescript

91 lines 7.23 kB
"use strict"; 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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