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

@putout/compare

Package Overview
Dependencies
Maintainers
1
Versions
134
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 7.3.0 to 7.4.0

lib/comparators.js

97

lib/compare.js
'use strict';
const {template} = require('@putout/engine-parser');
const {
isExpressionStatement,
isClassBody,
isBlock,
} = require('@babel/types');
const {isExpressionStatement} = require('@babel/types');

@@ -17,16 +13,5 @@ const {

const link = require('./link');
const log = require('./log');
const {runComparators} = require('./comparators');
const {
is,
isId,
isObject,
isArrays,
isAny,
isAnyLiteral,
isArgs,
isLinkedArgs,
isLinkedId,
isImports,
isStr,

@@ -37,6 +22,3 @@ isPath,

isEqualAnyArray,
isEqualBody,
isEqualNop,
isLinkedNode,
isLinkedRegExp,
isTemplate,

@@ -48,6 +30,2 @@ parseTemplate,

const isEmptyBlock = (a) => isBlock(a) && !a.body.length;
const isPrimitive = (a) => typeof a !== 'object' || a === null;
const comparePrimitives = (nodeValue, value) => isPrimitive(value) && !is(value) && value === nodeValue;
const compareType = (type) => (path) => path.type === type;

@@ -165,3 +143,3 @@ const extractExpression = (a) => isExpressionStatement(a) ? a.expression : a;

const is = superCompare(nodeValue, value, {
const is = runComparators(nodeValue, value, {
add,

@@ -179,70 +157,1 @@ templateStore,

function superCompare(nodeValue, value, {add, templateStore}) {
log(value, nodeValue);
if (value === '__')
return true;
if (comparePrimitives(nodeValue, value))
return true;
if (isClassBody(value))
return true;
if (isEmptyBlock(value))
return true;
if (isAny(value))
return true;
if (isId(nodeValue, value))
return true;
if (isEqualAnyArray(nodeValue, value))
return true;
if (isEqualAnyObject(nodeValue, value))
return true;
if (isEqualBody(nodeValue, value))
return true;
if (isEqualNop(nodeValue, value))
return true;
if (!nodeValue)
return false;
if (isLinkedRegExp(nodeValue, value))
return true;
if (isLinkedNode(value) || isLinkedArgs(value) || isLinkedId(nodeValue, value))
return link({
add,
value,
nodeValue,
templateStore,
});
if (isAnyLiteral(nodeValue, value))
return true;
if (isImports(value))
return true;
if (isArgs(value))
return true;
if (isObject(value)) {
add(nodeValue, value);
return true;
}
if (isArrays(nodeValue, value)) {
add(nodeValue, value);
return true;
}
return false;
}
{
"name": "@putout/compare",
"version": "7.3.0",
"version": "7.4.0",
"author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)",

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

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