解析和验证可选函数参数
Parsing and validating optional function arguments
我正在寻找一种简单的方法来管理函数参数。这就是我要找的。
- 指定类型或潜在类型
- 分配默认值
- 传入验证函数或(函数数组),如果false(或其中一个函数为false)则抛出
我遇到了ArgueJs,它有很多很棒的功能,但是它没有做到以下这些。
- 允许参数可能是两种类型之一。
- 允许您捕获在前面定义的其余参数之后传入的所有参数作为数组。
这个特定的库已经2年没有维护或更新了。所以有点过时了。
我只是想知道是否有任何主流的方法来管理参数,一般来说,总是有很多开销。理想情况下,您可以使用chriso/validator.js中的验证器函数进行验证。
我刚好碰到这个
https://github.com/okunishinishi/node-argx这里有一个例子
var express = require("express")
var argx = require('argx')
var _ = require("underscore")
function example(/*Router, method, url, middleware*/) {
var args = argx(arguments)
var Router = args.shift('function') || express.Router
var method = args.shift('string') || "get"
var url = args.shift('string') || "/"
var middleware = _.flatten([args.remain()])
console.log(Router)
console.log(method)
console.log(url)
console.log(middleware)
}
验证可以发生在此之上的其他层
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- AngularJS:我可以跳过函数参数回调吗
- 为什么不'我们在javascript中使用函数参数的数据类型
- 使用闭包共享构造函数参数
- 函数参数的值错误
- 当一个重要的构造函数参数丢失时应该发生什么
- 阻止ReSharper将JavaScript函数参数放到新行中
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 使构造函数参数具有ES6类方法的特权
- 当客户端将两个按钮的javascript函数参数修改为相同时,SQL/PHP会更新多行
- Windows.Networking.EndpointPair构造函数参数
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- 大括号中的Javascript函数参数
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 将JSON字符串转换为函数参数
- eval()读取函数参数有多糟糕
- Javascript不能在一个命令中使用函数参数
- 函数参数在内部不可见,返回新的Promise(函数(resolve,reject).传递给被promise化的函数的
- ES6类构造函数参数
- 是否可以在javascript函数参数列表中调用多个函数