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.6.10 to 1.6.11

methods.js

59

index.js
"use strict"
let validator = require('validator')
let methods = require('./methods')
let Options = require('./options')
let filterNull = require('./filterNull')

@@ -15,5 +13,4 @@

* @param {Object} handler 导出数据自定义处理方法
* @param {Function} callback 附加回调函数(用于全局参数注入)
*/
function Validator(data, options, handler = {}, callback) {
function Validator(data, options, handler = {}) {

@@ -27,4 +24,4 @@ // 递归验证

// data对象空值过滤
output.data = filterNull(output.data)
// 对象空值过滤(直接修改导入对象本身)
filterNull(output.data)

@@ -37,2 +34,3 @@ // 数据构造器

let outData = options.call(output.data)
// 对象空值过滤
output[name] = filterNull(outData)

@@ -42,7 +40,2 @@ }

// 附加回调函数
if (callback) {
callback(output.data)
}
return output

@@ -107,3 +100,3 @@

// 选项为验证表达式(type作为保留关键字,只允许定义数据类型,不能作为参数名使用)
// 选项为验证表达式(type作为内部保留关键字,不能作为参数名使用,否则会产生)
if (options.type) {

@@ -141,6 +134,6 @@

// type为构造函数或字符串(字符串用于表示自定义数据类型)
if (Options[options.type]) {
// type为内置构造函数或字符串(字符串用于表示自定义数据类型)
if (methods[options.type]) {
let funObj = Options[options.type]
let funObj = methods[options.type]
for (let name in options) {

@@ -250,3 +243,3 @@ let fun = funObj[name]

// 选项为构造函数或字符串(字符串用于表示自定义数据类型)
else if (Options[options]) {
else if (methods[options]) {

@@ -257,3 +250,3 @@ if (data === undefined || data === '') {

let { err, data: subData } = Options[options].type({ data })
let { err, data: subData } = methods[options].type({ data })
if (err) {

@@ -272,30 +265,2 @@ return {

// /**
// * 通过Path获取数据
// * @param {*} data 数据源
// * @param {String} path 数据路径
// */
// function pathGetData(data, path) {
// let pathArray = path.split('.')
// for (let key of pathArray) {
// if (data[key] === undefined) {
// return undefined
// } else {
// data = data[key]
// }
// }
// return data
// }
// // 设置选项
// Validator.config = function ({ language }) {
// if (language) {
// } else {
// }
// }
// // 自定义扩展

@@ -311,4 +276,2 @@ // Validator.middleware = []

// console.log(Validator.middleware)
module.exports = Validator
{
"name": "check-data",
"version": "1.6.10",
"version": "1.6.11",
"description": "JS数据验证器",

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

@@ -30,3 +30,3 @@ ## Installation

> 如果只想验证数据类型,可以直接在参数值上用数据类型赋值,可参考示例中search参数
> 如果只想验证数据类型,可以直接在参数值上用数据类型赋值

@@ -81,3 +81,3 @@ ### 通用选项

#### 'ObjectId'
#### 'MongoId'

@@ -98,3 +98,3 @@ > 验证mongodb中的ObjectId

let data = {
let json = {
"username": "测试",

@@ -104,2 +104,16 @@ "tenderNum": "123456789987",

"files": ["abc.js", "334", "null", "666", , , "kkk.js"],
"user": {
"username": "莉莉",
"age": 18,
},
"list": [
{
"username": "吖吖",
"age": 16,
},
{
"username": "可可",
"age": 15,
}
],
"auth": {

@@ -131,3 +145,3 @@ "weixin": "abc",

let { error, data, filter } = Validator(data,
let { error, data, filter } = Validator(json,
{

@@ -145,2 +159,10 @@ "username": {

},
"user": {
"username": String,
"age": Number,
},
"list": [{
"username": String,
"age": Number,
}],
"auth": {

@@ -230,5 +252,3 @@ "weixin": String,

}, {
$: {
type: Boolean,
}
$: Boolean,
})

@@ -235,0 +255,0 @@

@@ -5,12 +5,22 @@ "use strict"

let query = {
let json = {
"tenderName": "测试",
// "tenderNum": "123456789987",
"tenderNum": "123456789987",
"tenderEndTime": "2017-07-07T09:53:30.000Z",
"files": ["abc.js", "334", "null", "666", "12"],
"auth": {
"weixin": "llll",
"user": {
"username": "莉莉",
"age": 18,
},
"beneficiariesName": "莉莉",
"guaranteeMoney": "2",
"list": [
{
"username": "吖吖",
"age": 16,
},
{
"username": "可可",
"age": 15,
}
],
"money": "2",
"guaranteeFormat": 0,

@@ -29,3 +39,3 @@ "addressee": "嘟嘟",

"abc": {
a: "1",
a: "112",
b: 2,

@@ -38,3 +48,3 @@ c: true,

let { error, data, filter } = Validator(query,
let { error, data, filter } = Validator(json,
{

@@ -61,11 +71,11 @@ "tenderName": {

},
"auth": {
"weixin": String,
"user": {
"username": String,
"age": Number,
},
"beneficiariesName": {
"type": String,
"name": "xxx",
"allowNull": false,
},
"guaranteeMoney": {
"list": [{
"username": String,
"age": Number,
}],
"money": {
"type": Number,

@@ -113,9 +123,7 @@ // "min": 15,

method(value) {
return [value, , , , , "7777"]
return [value, , null, , undefined, 666]
}
},
"abc": {
"$": {
type: Number,
}
"$": Number,
}

@@ -130,32 +138,9 @@ },

"test": {
a: 1,
b: undefined,
c: "",
d: null,
e: NaN,
e: 0,
},
$or() {
if (search) {
if (search.match(/^\d+$/)) {
return [
{ tenderNum: new RegExp(search) },
{ projectNum: new RegExp(search) },
{ tenderProjectNum: new RegExp(search) }
]
} else {
return [
{ tenderName: new RegExp(search) },
{ projectName: new RegExp(search) },
{ tenderProjectName: new RegExp(search) }
]
}
}
},
totalAmount() {
return {
$gt: /12/,
$lt: 666,
}
},
v1: 1,
v2: undefined,
v3: "",
v4: null,
v5: NaN,
v6: 0,
}
}

@@ -162,0 +147,0 @@ }

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