flexdinesh/typy

[Feature] Function parameters validation

Open

#13 创建于 2018年12月11日

在 GitHub 查看
 (2 评论) (0 反应) (0 负责人)JavaScript (21 fork)github user discovery
help wanted

仓库指标

Star
 (226 star)
PR 合并指标
 (PR 指标待抓取)

描述

Right now, the library provides the possibility to check :

  • if the tested element is a function
  • get a safeFunction

I am implementing it on a custom project, in my case, I'm using it because I have express middleware functions and some need to be generated before, here some example:

const app = express();

// standard express middleware
const myStandardExpressMiddleware = (req, res, next) => {
   // do something.
  next(); 
};

app.use(myStandardExpressMiddleware);

My issue case:

const app = express();

// standard express middleware
const myLessStandardExpressMiddleware = (data) => (req, res, next) => {
   // do something with my data.
  next(); 
};

app.use(myLessStandardExpressMiddleware(await getAwesomeData());

I want to have the ability to know in which case I'm in because my project allowing custom implementation, I do not know which case I am in.

To solve this issue, I will check the function argument(s) definition: an express middleware is always composed with req, res and next are optionnal. I am using this stackoverflow post in attempt to do that. Right now, I will implement it through the custom types (thanks @flexdinesh)

An known issue in this solution is that an user may implement an express middleware with a function with different name parameters. Ex: (request, response, next)

Is this something that could fit in this library ?

贡献者指南