Socket
Socket
Sign inDemoInstall

ajv

Package Overview
Dependencies
Maintainers
1
Versions
355
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ajv - npm Package Compare versions

Comparing version 0.1.10 to 0.1.11

33

lib/compile/equal.js

@@ -5,20 +5,19 @@ 'use strict';

if (a === b) return true;
if (typeof a != typeof b) return false;
var typeA = Object.prototype.toString.call(a).slice(8, -1);
if (typeA != Object.prototype.toString.call(b).slice(8, -1)) return false;
switch (typeA) {
case 'Object':
if (Object.keys(a).length != Object.keys(b).length) return false;
for (var key in a) if (!b.hasOwnProperty(key)) return false;
for (var key in a) if (!equal(a[key], b[key])) return false;
return true;
case 'Array':
if (a.length != b.length) return false;
for (var i=0; i<a.length; i++)
if (!equal(a[i], b[i])) return false;
return true;
case 'Date': return a.getTime() == b.getTime();
case 'RegExp': return a.toString() == b.toString();
default: return false;
if (Array.isArray(a) && Array.isArray(b)) {
if (a.length != b.length) return false;
for (var i = 0; i < a.length; i++)
if (!equal(a[i], b[i])) return false;
return true;
}
if (a && b && typeof a == 'object' && typeof b == 'object') {
var keys = Object.keys(a);
if (!equal(keys, Object.keys(b))) return false;
for (var i = 0; i < keys.length; i++)
if (!equal(a[keys[i]], b[keys[i]])) return false;
return true;
}
return false;
}

@@ -1,9 +0,1 @@

{{## def.checkUnique:
if (unique_itemsHash[item]) {
valid = false;
break outer;
}
unique_itemsHash[item] = true;
#}}
var valid = true;

@@ -13,25 +5,10 @@

if (data.length > 1) {
var unique_itemsHash = {};
var i = data.length, j;
outer:
for (var i = 0; i < data.length; i++) {
var item = data[i];
switch (typeof item) {
case 'object':
if (item === null) {
{{# def.checkUnique }}
} else {
for (var j = i+1; j < data.length; j++) {
if (equal(item, data[j])) {
valid = false;
break outer;
}
}
}
break;
case 'string':
item = '"' + item;
/* fall through */
default:
{{# def.checkUnique }}
for (;i--;) {
for (j = i; j--;) {
if (equal(data[i], data[j])) {
valid = false;
break outer;
}
}

@@ -44,3 +21,3 @@ }

dataPath: dataPath,
message: 'item #' + i + 'is duplicate'
message: 'items ## ' + i + ' and ' + j + ' are duplicate'
{{? it.opts.verbose }}, schema: {{= it.schema.uniqueItems }}, data: data{{?}}

@@ -47,0 +24,0 @@ });

{
"name": "ajv",
"version": "0.1.10",
"version": "0.1.11",
"description": "Another JSON schema Validator",

@@ -5,0 +5,0 @@ "main": "lib/ajv.js",

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