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.3 to 0.0.4

5

History.md
0.0.4 / 2013-07-01
==================
* support isArray and isObject
0.0.3 / 2013-06-26

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

62

lib/parameter.js

@@ -35,5 +35,19 @@ /*!

function checkType(value, valueType, expectType) {
exports.Array = function (value) {
if (!Array.isArray(value)) {
return 'should be an array';
}
};
exports.Object = function (value, valueType) {
if (valueType !== 'object' || Array.isArray(value)) {
return 'should be an object';
}
};
function checkType(value, valueType, expectType, allowEmpty) {
if (valueType !== expectType) {
return 'expect ' + expectType + ', but got ' + valueType;
} else if (!allowEmpty && expectType === 'string' && value.trim().length === 0) {
return 'should not be empty ' + expectType;
}

@@ -64,2 +78,8 @@ }

* key6: { required: false, type: parameter.Date }, // optional value, if set, must be a date string
* key7: { isArray: true, resourceName: 'User', rules: { name: 'string', age: 'number' } }
* // key7: parameter.Array,
* // key7: { type: parameter.Array, resource: 'User', rules: { name: 'string', age: 'number' } }
* key8: { isObject: true, resourceName: 'User', rules: { name: 'string', age: 'number' } }
* // key8: parameter.Object,
* // key8: { type: parameter.Object, resource: 'User', rules: { name: 'string', age: 'number' } }
* }

@@ -105,3 +125,6 @@ * rules's keys must exists on `data`. If `data.key1` not exists, will got `missing_field` error.

var expectType = rule.__expectType;
var empty = rule.__empty || false;
var checkFunction = rule.__checkFunction;
var childRules = rule.rules;
var childResourceName = rule.resource;
var errorMsg = null;

@@ -111,6 +134,6 @@

var ruleType = typeof rule;
if (ruleType === 'string') {
// key: 'number'
expectType = rule;
empty = false;
checkFunction = checkType;

@@ -121,2 +144,3 @@ } else if (ruleType === 'function') {

} else {
empty = rule.empty;
if (rule.type) {

@@ -141,2 +165,8 @@ ruleType = typeof rule.type;

checkFunction = exports.DateTime;
} else if (rule.isArray) {
// key: {isArray: true}
checkFunction = exports.Array;
} else if (rule.isObject) {
// key: {isObject: true}
checkFunction = exports.Object;
}

@@ -153,7 +183,10 @@ }

__expectType: expectType,
__oldRule: rule
__oldRule: rule,
__empty: empty,
__childRules: childRules,
__childResourceName: childResourceName,
};
}
errorMsg = checkFunction(value, valueType, expectType);
errorMsg = checkFunction(value, valueType, expectType, empty);
if (errorMsg) {

@@ -168,2 +201,23 @@ errors.push({

if (!errors.length) {
if (childRules) {
var errs;
if (checkFunction === exports.Array) {
for (var i = 0; i < value.length; i++) {
var item = value[i];
errs = exports.verify(item, childRules, childResourceName);
if (errs) {
errors = errors.concat(errs);
break;
}
}
} else if (checkFunction === exports.Object) {
errs = exports.verify(value, childRules, childResourceName);
if (errs) {
errors = errors.concat(errs);
}
}
}
}
}

@@ -170,0 +224,0 @@

2

package.json
{
"name": "parameter",
"version": "0.0.3",
"version": "0.0.4",
"description": "A parameter verify tools.",

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

@@ -33,2 +33,8 @@ 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)

* key6: { required: false, type: parameter.Date }, // optional value, if set, must be a date string
* key7: { isArray: true, resourceName: 'User', rules: { name: 'string', age: 'number' } }
* // key7: parameter.Array,
* // key7: { type: parameter.Array, resource: 'User', rules: { name: 'string', age: 'number' } }
* key8: { isObject: true, resourceName: 'User', rules: { name: 'string', age: 'number' } }
* // key8: parameter.Object,
* // key8: { type: parameter.Object, resource: 'User', rules: { name: 'string', age: 'number' } }
* }

@@ -35,0 +41,0 @@ * rules's keys must exists on `data`. If `data.key1` not exists, will got `missing_field` error.

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