You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

@putout/compare

Package Overview
Dependencies
Maintainers
1
Versions
139
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@putout/compare - npm Package Compare versions

Comparing version

to
3.3.1

124

lib/compare.js

@@ -111,9 +111,21 @@ 'use strict';

const [node, base] = item;
const is = superCompare(node, base, {
add,
templateStore,
});
if (!is)
if (!node)
return false;
for (const key of Object.keys(base)) {
if (ignore.includes(key))
continue;
const nodeValue = node[key];
const value = extractExpression(base[key]);
const is = superCompare(nodeValue, value, {
add,
templateStore,
});
if (!is)
return false;
}
}

@@ -124,66 +136,52 @@

function superCompare(node, base, {add, templateStore}) {
if (!node)
return false;
function superCompare(nodeValue, value, {add, templateStore}) {
log(value, nodeValue);
for (const key of Object.keys(base)) {
if (ignore.includes(key))
continue;
if (value == '__')
return true;
if (value === nodeValue)
return true;
if (isClassBody(value) || isBlock(value))
return true;
if (isAny(value))
return true;
if (isEqualAnyArray(nodeValue, value))
return true;
if (isEqualAnyObject(nodeValue, value))
return true;
if (isLinkedNode(value)) {
const {name} = value;
const nodeValue = node[key];
const value = extractExpression(base[key]);
log(value, nodeValue);
if (value == '__')
continue;
if (value === nodeValue)
continue;
if (isClassBody(value) || isBlock(value))
continue;
if (isAny(value))
continue;
if (isEqualAnyArray(nodeValue, value))
continue;
if (isEqualAnyObject(nodeValue, value))
continue;
if (isLinkedNode(value)) {
const {name} = value;
if (!templateStore[name]) {
templateStore[name] = nodeValue;
continue;
}
add(templateStore[name], nodeValue);
continue;
if (!templateStore[name]) {
templateStore[name] = nodeValue;
return true;
}
if (isAnyLiteral(nodeValue, value))
continue;
if (isObject(value)) {
add(nodeValue, value);
continue;
}
if (isAnyArgs(value))
continue;
if (isArrays(value, nodeValue)) {
add(nodeValue, value);
continue;
}
return false;
add(templateStore[name], nodeValue);
return true;
}
return true;
if (isAnyLiteral(nodeValue, value))
return true;
if (isAnyArgs(value))
return true;
if (isObject(value)) {
add(nodeValue, value);
return true;
}
if (isArrays(value, nodeValue)) {
add(nodeValue, value);
return true;
}
return false;
}
{
"name": "@putout/compare",
"version": "3.3.0",
"version": "3.3.1",
"author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)",

@@ -5,0 +5,0 @@ "description": "compare ast-nodes",