options-check
v1.0.1
Published
options check
Downloads
2
Readme
用于options检测的辅助模块
经常用到一些对参数的支持选项进行格式检测和设定默认值的操作,Node.js中有assert模块可以使用,也可以进行数组deepEqual的检测、正则匹配等。
此模块不做深度检测,主要是检测某一基本类型的数据是否符合要求。
安装:
npm i options-check
使用:
'use strict'
process.chdir(__dirname)
const {checkThrow, autoCheck} = require('options-check')
try {
checkThrow({min: 124, max: 345}, 123)
} catch (err) {
console.log(err.message)
}
try {
checkThrow({match: /^(12|13|14|15|16|17|18|19)[0-9]{9}$/i}, '12345678901')
console.log('ok')
} catch (err) {
console.error(err.message)
}
console.log(
'check value',
checkVal({list: ['ubuntu', 'mint', 'deepin', 'debian']}, 'debian')
)
let config = {}
console.log(autoCheck(config, 'age', {
min: 18,
max: 45,
default: 30
}, 12))
console.log(config)
checkThrow会抛出错误,autoCheck会检测并返回true或false,如果options中传递了default,则在所输入的值不合法时自动设定默认值。
用于描述检测的所有选项
| 属性 | 说明 | 可选值 | |----|----|----| | type | 类型,若有此字段,则会检测类型。 | 所有typeof返回的类型以及array,若是数组则需要填写array。 | | min | 最小值 | 数字或字符串。 | | max | 最大值 | 数字或字符串。 | | match | 正则表达式 | 任何合法的正则表达式。 | | list | 一个数组,传递此值,则会检测输入值是否在此列表中出现。 | 任何基本数据类型组成的数组。 | | default | 默认值,只有autoCheck用到。 | 任何值。 | | value | 确定的一个值,会进行===比较。 | 任何值。 |