New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

check-data

Package Overview
Dependencies
Maintainers
1
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

check-data - npm Package Compare versions

Comparing version 1.7.0 to 1.7.1

test/extend.js

34

index.js

@@ -5,6 +5,7 @@ "use strict"

let methods = require('./methods')
let { methods, extend } = require('./methods')
class Validator {
class validator {
constructor(data, options, key) {

@@ -84,3 +85,3 @@ this.data = data

return {
error: `验证器中${field}字段参数配置错误,不支持${options.type}类型的type`
error: `${field}参数配置错误,不支持${options.type}类型`
}

@@ -213,13 +214,2 @@ }

// 自定义扩展
// Validator.middleware = []
// Validator.use = function (fn) {
// this.middleware.push(fn)
// }
// Validator.use(() => {
// console.log(111)
// })
/**

@@ -231,6 +221,5 @@ * 验证器

*/
module.exports = (data, options, handler = {}) => {
function Validator(data, options, handler = {}) {
// 递归验证
let output = new Validator(data, options, '')
let output = new validator(data, options, '')

@@ -244,3 +233,3 @@ if (output.error) {

// 数据构造器
// 数据构函数
for (let name in handler) {

@@ -250,3 +239,3 @@ let options = handler[name]

if (typeof options === 'function') {
let outData = options.call(output.data)
let outData = options.call(output.data, output.data)
// 对象空值过滤

@@ -259,2 +248,7 @@ output[name] = filterNull(outData)

}
}
// 验证类型扩展
Validator.use = extend
module.exports = Validator

@@ -52,3 +52,3 @@ "use strict"

// 数据类型方法
let typeMethod = {
let methods = {
[String]: {

@@ -63,3 +63,3 @@ // 数据类型验证

},
// 长度验证
// 限制最小长度
minLength({ data, option: minLength }) {

@@ -72,2 +72,3 @@ if (data.length < minLength) {

},
// 限制最大长度
maxLength({ data, option: maxLength }) {

@@ -80,2 +81,3 @@ if (data.length > maxLength) {

},
// 正则
reg({ data, option: reg }) {

@@ -92,3 +94,3 @@ if (data.search(reg) === -1) {

if (result === -1) {
return { err: `值必须为${arr}中的一个` }
return { err: `值必须为[${arr}]选项其中之一` }
} else {

@@ -210,6 +212,14 @@ return { data }

// 方法合并
for (let key in typeMethod) {
typeMethod[key] = Object.assign(typeMethod[key], commonMethod)
for (let key in methods) {
methods[key] = Object.assign(methods[key], commonMethod)
}
module.exports = typeMethod
// 自定义扩展
function extend(type, options) {
methods[type] = options
}
module.exports = {
methods,
extend,
}
{
"name": "check-data",
"version": "1.7.0",
"version": "1.7.1",
"description": "JS对象验证器",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -1,6 +0,6 @@

## Installation
### Installation
npm install check-data --save
## 使用方法
### 使用方法

@@ -11,3 +11,3 @@ let Validator = require('check-data')

## 输入
### 输入

@@ -18,5 +18,5 @@ * `data` * - 输入验证数据,类型参考type选项

* `constructor` *Objcte* - 自定义数据导出构造方法(可选)
* `export` *Objcte* - 定义数据导出方法,从验证结果中选择要导出的数据,方法中this和第一个参数均绑定验证结果(可选)
## 输出
### 输出

@@ -27,18 +27,14 @@ * `error` *String* - 验证失败时返回的错误信息,包含错误的具体位置,仅用于验证失败时的错误定位

* `data` *Objcte* - 经过验证、处理后导出数据(支持空值过滤,用于剔除对象中的空数组、空字符串、undefind、null)
* `data` *Objcte* - 经过验证、处理后导出数据(带空值过滤,用于剔除对象中的空数组、空字符串、undefind、null等无效数据)
* `${name}` *Objcte* - 由constructor对象中构造器生成的对象,命名与构造器名称一致(空值过滤)
* `${name}` *Objcte* - 由export导出方法生成的对象,命名与export函数名一致(带空值过滤)
## 选项说明
### 公共选项
> 如果只想验证数据类型,可以直接在参数值上用数据类型赋值
* `type` * - 表示数据类型,可选类型有String、Number、Object、 Array、Date、Boolean、"MongoId"、"MobilePhone"(扩展类型用字符串表示)
### 通用选项
* `type` * - 用于定义数据类型,可选类型有String、Number、Object、 Array、Date、Boolean、"MongoId"、"MobilePhone",带引号字符串表示扩展类型(必选)
* `name` *String* - 自定义参数名称,用于错误返回值中替换默认参数名
* `default` * - 空值时的默认赋值
* `default` * - 默认赋值

@@ -56,3 +52,3 @@ * `value` * - 直接通过表达式赋值,类似于default选项,区别是不管值是否为空都将使用该值覆盖(优先级低于default,目前没有发现同时使用的应用场景)

### 内置数据类型(用构造函数表示)
### 不同数据类型的私有选项

@@ -81,7 +77,7 @@ #### String

> 后续扩展
> 仅支持类型验证
#### Object
> 后续扩展
> 仅支持类型验证

@@ -93,3 +89,3 @@ #### Date、Boolean

### 扩展类型(用字符串表示)
### 扩展类型

@@ -109,4 +105,9 @@ #### 'MongoId'

## 数组验证
### 自定义扩展
使用Validator.use(typename, options)
### 数组验证
let { error, data } = Validator(["a", "b", "c"], [String])

@@ -129,3 +130,3 @@

## 对象验证
### 对象验证

@@ -145,3 +146,3 @@ let { error, data } = Validator({

## and验证
### and验证

@@ -175,3 +176,3 @@ let { error, data } = Validator({

## or验证
### or验证

@@ -197,3 +198,3 @@ let { error, data } = Validator({

## 扩展类型验证
### 扩展类型验证

@@ -208,5 +209,16 @@ let { error, data } = Validator({

### 自定义类型
## 实例
Validator.use('Int', {
type({ data }) {
if (Number.isInteger(data)) {
return { data }
} else {
return { err: '必须为Int类型' }
}
},
})
### 实例
# 输入数据

@@ -213,0 +225,0 @@ let json = {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc