flexdinesh/typy

[Feature] Function parameters validation

Open

#13 geöffnet am 11. Dez. 2018

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (21 Forks)github user discovery
help wanted

Repository-Metriken

Stars
 (226 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

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 ?

Contributor Guide