@putout/compare
Advanced tools
Comparing version 7.3.0 to 7.4.0
'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", |
20701
9
520