options-check

options check

Usage no npm install needed!

<script type="module">
  import optionsCheck from 'https://cdn.skypack.dev/options-check';
</script>

README

用于options检测的辅助模块

经常用到一些对参数的支持选项进行格式检测和设定默认值的操作,Node.js中有assert模块可以使用,也可以进行数组deepEqual的检测、正则匹配等。

此模块不做深度检测,主要是检测某一基本类型的数据是否符合要求。

安装:


npm i options-check

使用:


'use strict'

process.chdir(__dirname)

const {checkThrow, autoCheck} = require('../index')

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.log(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 确定的一个值,会进行===比较。 任何值。