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 4.0.0 to 4.0.1

10

History.md

@@ -13,3 +13,3 @@ ## 版本更新

* 修改错误定位文本的显示格式 √
* 修改错误定位信息的显示格式 √

@@ -29,1 +29,9 @@ * 新增值类型验证 √

<!-- * schema新增严格模式strict()方法 × -->
## 4.0.1
* 取消Check.schema的name参数和内部引用,避免因为name同名,出现schema被覆盖的乱象。
* 修复错误定位信息中的显示路径错误

23

index.js

@@ -72,14 +72,14 @@ "use strict"

// type为内置构造函数或字符串(字符串用于表示自定义数据类型)
// type为内置数据类型
if (Types[options.type]) {
let funObj = Types[options.type]
let checks = Types[options.type]
for (let name in options) {
let fun = funObj[name]
if (fun) {
let func = checks[name]
if (func) {
let option = options[name]
let { error, data: subData } = fun({ data, option, origin: this.origin })
let { error, data: subData } = func({ data, option, origin: this.origin })
if (error) {
return {
error: `${field}${error}`
error: `${error}`
}

@@ -321,9 +321,8 @@ }

* 避免同一个对象被多次重复的创建和销毁,实现options跨接口复用,在节省资源的同时,也增加了代码复用率
* @param {String} name schema名称
* @param {*} options 验证表达式
* @param {Object} extend 数据扩展选项
*/
Check.schema = function (name, options, extend) {
Check.schema = function (options, extend) {
Check[name] = function (data) {
let schema = function (data) {
return Check(data, options, extend)

@@ -335,3 +334,3 @@ }

*/
Check[name].strict = function () {
schema.strict = function () {

@@ -345,7 +344,7 @@ }

*/
Check[name].loose = function () {
schema.loose = function () {
}
return Check[name]
return schema

@@ -352,0 +351,0 @@ }

{
"name": "check-data",
"version": "4.0.0",
"version": "4.0.1",
"description": "JS数据验证、转换递归器",

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

@@ -19,3 +19,3 @@ ### Install

* `options` * - 待验证数据的结构镜像验证表达式,参考[验证表达式](###验证表达式)。
* `options` * - 待验证数据的结构镜像验证表达式,参考[验证表达式](#验证表达式)。

@@ -42,7 +42,7 @@ * `extend` *Objcte* - 数据扩展选项,根据输入数据生成新的数据结构(可选)

> 验证表达式中判断一个对象节点是否为验证选项的唯一依据是检查对象中是否包含type属性,如果没有type则被视为对象结构。
验证表达式中判断一个对象节点是否为验证选项的唯一依据是检查对象中是否包含type属性,如果没有type则被视为对象结构。
> type作为验证表达式的内部保留关键字,应尽量避免在入参中包含同名的type属性,否则可能导致验证结果出现混乱。
type作为验证表达式的内部保留关键字,应尽量避免在入参中包含同名的type属性,否则可能导致验证结果出现混乱。
> 当使用数组表达式时,需要区分单数和复数模式,单数时会共享同一个子表达式,通常用于验证具有相似结构的子集。复数时为精确匹配模式,可以完整定义每个子集。
当使用数组表达式时,需要区分单数和复数模式,单数时会共享同一个子表达式,通常用于验证具有相似结构的子集。复数时为精确匹配模式,可以完整定义每个子集。

@@ -177,7 +177,5 @@ #### 通用选项

```js
Check.schema(name, options)
Check.schema(options, extend)
```
* `name` *String* - schema名称
* `options` * - 验证表达式

@@ -192,3 +190,3 @@

```js
let test = Check.schema('test', {
let schema = Check.schema({
a: {

@@ -216,7 +214,3 @@ a1: {

let { error, data } = test(sample)
// 或
let { error, data } = Check.test(sample)
let { error, data } = schema(sample)
```

@@ -223,0 +217,0 @@

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

t.deepEqual(data, true, error);
t.deepEqual(true, data, error);

@@ -22,3 +22,6 @@ });

a: true,
b: false,
b: {
b1: true,
b2: false
},
c: [true, false, true, true]

@@ -30,4 +33,10 @@ }

b: {
type: Boolean,
allowNull: false
b1: {
type: Boolean,
allowNull: false
},
b2: {
type: Boolean,
allowNull: false
},
},

@@ -41,2 +50,2 @@ c: [Boolean]

});
})

@@ -6,71 +6,33 @@ "use strict"

let schema = Check.schema('demo',
{
a: {
a1: {
type: Number,
allowNull: false
},
a2: {
type: Number,
allowNull: false
}
let schema = Check.schema({
a: {
a1: {
type: Number,
allowNull: false
},
b: Number,
a2: {
type: Number,
allowNull: false
}
},
{
find({ a, b }) {
return {
c: a,
d: b,
}
}
}
)
b: Boolean,
})
test('通过对象访问 A', t => {
test(t => {
let { error, data } = Check.demo({
let sample = {
a: {
a1: 999,
a2: "12",
a1: 4545,
a2: 888,
},
b: 2,
c: 888,
})
b: false
}
t.truthy(data, error);
let { error, data } = schema(sample)
});
// console.log(data)
test('通过对象访问 B', t => {
t.deepEqual(sample, data, error);
let { error, data } = Check.demo({
a: {
a1: 666,
a2: "12",
},
b: 344,
c: 333,
})
t.truthy(data, error);
});
test('通过导出变量访问', t => {
let { error, data } = schema({
a: {
a1: 4545,
a2: "888",
},
b: 990,
c: 1212,
})
t.truthy(data, error);
});

@@ -161,17 +161,17 @@ "use strict"

},
[Date]: {
[Boolean]: {
type({ data }) {
if (validator.toDate(data + '')) {
if (typeof data === 'boolean') {
return { data }
} else {
return { error: '必须为Date类型' }
return { error: '必须为Boolean类型' }
}
},
},
[Boolean]: {
[Date]: {
type({ data }) {
if (typeof data === 'boolean') {
if (validator.toDate(data + '')) {
return { data }
} else {
return { error: '必须为Boolean类型' }
return { error: '必须为Date类型' }
}

@@ -178,0 +178,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