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

parameter

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

parameter - npm Package Compare versions

Comparing version 0.0.4 to 0.0.5

18

benchmark.js

@@ -22,3 +22,6 @@ /*!

time: '2013-06-25 01:12:22',
age: 29
age: 29,
sid1: 123,
sid2: '123',
sid3: 'foo'
};

@@ -40,2 +43,5 @@

var ruleRequireFalse = {not_exists: "string", required: false};
var ruleRegex1 = {sid1: /^\d+$/};
var ruleRegex2 = {sid2: /^\d+$/};
var ruleRegex3 = {sid3: /^\d+$/};

@@ -89,2 +95,12 @@ suite

.add('rules pass: {age: /^\\d+$/}', function () {
p.verify(data, ruleRegex1);
})
.add('rules pass: {age: {type: /^\\d+$/}}', function () {
p.verify(data, ruleRegex2);
})
.add('rules fail: {age: {type: /^\\d+$/}}', function () {
p.verify(data, ruleRegex3);
})
// add listeners

@@ -91,0 +107,0 @@ .on('cycle', function (event) {

0.0.5 / 2013-08-06
==================
* support RegExp rule
0.0.4 / 2013-07-01

@@ -3,0 +8,0 @@ ==================

19

lib/parameter.js

@@ -57,6 +57,8 @@ /*!

var TYPES = {
function createRegExpFunction(re) {
return function regexpCheck(value) {
return !re.test(value) ? ('should match ' + re) : undefined;
};
}
};
/**

@@ -84,2 +86,3 @@ * Verify data with rules.

* // key8: { type: parameter.Object, resource: 'User', rules: { name: 'string', age: 'number' } }
* key9: /^\d+$/, // must match number or number string.
* }

@@ -141,2 +144,5 @@ * rules's keys must exists on `data`. If `data.key1` not exists, will got `missing_field` error.

checkFunction = rule;
} else if (rule instanceof RegExp) {
// key: /\d+/
checkFunction = createRegExpFunction(rule);
} else {

@@ -153,2 +159,5 @@ empty = rule.empty;

checkFunction = rule.type;
} else if (rule.type instanceof RegExp) {
// key: { type: /\d+/ }
checkFunction = createRegExpFunction(rule.type);
}

@@ -158,6 +167,6 @@ } else if (rule.isDate) {

checkFunction = exports.Date;
} else if (rule.isId ) {
} else if (rule.isId) {
// key: { isId: true }
checkFunction = exports.Id;
} else if (rule.isDateTime ) {
} else if (rule.isDateTime) {
// key: { isDateTime: true }

@@ -164,0 +173,0 @@ checkFunction = exports.DateTime;

{
"name": "parameter",
"version": "0.0.4",
"version": "0.0.5",
"description": "A parameter verify tools.",

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

@@ -39,2 +39,3 @@ parameter [![Build Status](https://secure.travis-ci.org/fengmk2/parameter.png)](http://travis-ci.org/fengmk2/parameter) [![Coverage Status](https://coveralls.io/repos/fengmk2/parameter/badge.png)](https://coveralls.io/r/fengmk2/parameter)

* // key8: { type: parameter.Object, resource: 'User', rules: { name: 'string', age: 'number' } }
* key9: /^\d+$/, // must match number or number string.
* }

@@ -63,3 +64,4 @@ * rules's keys must exists on `data`. If `data.key1` not exists, will got `missing_field` error.

date: '2013-06-25',
age: 29
age: 29,
sid: 123, // or '123'
};

@@ -71,3 +73,4 @@

age: '29',
sex: 0
sex: 0,
sid: '123foo'
};

@@ -80,3 +83,4 @@

age: 'number',
sex: { required: false, type: 'string' }
sex: { required: false, type: 'string' },
sid: /^\d+$/
};

@@ -107,2 +111,6 @@ var errors = p.verify(data, rules);

// message: 'expect string, but got number',
// code: 'invalid' },
// { resource: 'Param',
// field: 'sid',
// message: 'should match /^\d+$/',
// code: 'invalid' } ]

@@ -116,16 +124,19 @@ ```

rules pass: {id: p.Id} x 6,023,826 ops/sec ±0.87% (99 runs sampled)
rules pass: {id: {type: p.Id}} x 4,207,059 ops/sec ±0.92% (98 runs sampled)
rules pass: {id: {idId: true}} x 4,101,462 ops/sec ±5.28% (92 runs sampled)
rules pass: {date: p.Date} x 3,421,468 ops/sec ±1.19% (92 runs sampled)
rules pass: {date: {type: p.Date}} x 3,577,401 ops/sec ±1.71% (92 runs sampled)
rules pass: {date: {isDate: true}} x 3,893,278 ops/sec ±0.84% (100 runs sampled)
rules pass: {time: p.DateTime} x 3,705,611 ops/sec ±2.07% (93 runs sampled)
rules pass: {time: {type: p.DateTime}} x 3,734,069 ops/sec ±1.96% (93 runs sampled)
rules pass: {time: {isDateTime: true}} x 3,739,484 ops/sec ±1.68% (92 runs sampled)
rules pass: {age: "number"} x 6,098,496 ops/sec ±0.74% (95 runs sampled)
rules pass: {age: {type: "number"}} x 6,391,140 ops/sec ±0.93% (92 runs sampled)
rules pass: {nick: "string"} x 5,995,432 ops/sec ±0.70% (98 runs sampled)
rules pass: {nick: {type: "string"}} x 6,215,072 ops/sec ±1.04% (96 runs sampled)
rules pass: {not_exists: "string", required: false} x 1,175,066 ops/sec ±1.39% (98 runs sampled)
rules pass: {id: p.Id} x 5,074,408 ops/sec ±3.18% (90 runs sampled)
rules pass: {id: {type: p.Id}} x 3,076,881 ops/sec ±8.20% (86 runs sampled)
rules pass: {id: {idId: true}} x 3,390,500 ops/sec ±1.98% (89 runs sampled)
rules pass: {date: p.Date} x 2,843,970 ops/sec ±3.75% (91 runs sampled)
rules pass: {date: {type: p.Date}} x 3,070,906 ops/sec ±2.18% (93 runs sampled)
rules pass: {date: {isDate: true}} x 3,346,604 ops/sec ±2.97% (93 runs sampled)
rules pass: {time: p.DateTime} x 3,073,399 ops/sec ±2.16% (92 runs sampled)
rules pass: {time: {type: p.DateTime}} x 2,937,585 ops/sec ±4.53% (84 runs sampled)
rules pass: {time: {isDateTime: true}} x 3,060,667 ops/sec ±1.75% (92 runs sampled)
rules pass: {age: "number"} x 5,127,739 ops/sec ±3.26% (87 runs sampled)
rules pass: {age: {type: "number"}} x 4,717,803 ops/sec ±2.44% (90 runs sampled)
rules pass: {nick: "string"} x 3,803,510 ops/sec ±1.69% (88 runs sampled)
rules pass: {nick: {type: "string"}} x 3,635,789 ops/sec ±1.95% (91 runs sampled)
rules pass: {not_exists: "string", required: false} x 1,015,538 ops/sec ±2.17% (92 runs sampled)
rules pass: {age: /^\d+$/} x 3,177,203 ops/sec ±2.41% (86 runs sampled)
rules pass: {age: {type: /^\d+$/}} x 3,055,727 ops/sec ±2.01% (87 runs sampled)
rules fail: {age: {type: /^\d+$/}} x 1,327,194 ops/sec ±2.52% (89 runs sampled)

@@ -135,2 +146,16 @@ Fastest is rules pass: {age: {type: "number"}}

## Authors
```bash
$ git summary
project : parameter
repo age : 6 weeks
active : 3 days
commits : 11
files : 13
authors :
11 fengmk2 100.0%
```
## License

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