@putout/compare
Advanced tools
Comparing version
@@ -17,3 +17,3 @@ 'use strict'; | ||
const link = require('.//link'); | ||
const link = require('./link'); | ||
const log = require('./log'); | ||
@@ -82,28 +82,28 @@ | ||
function compare(path, base) { | ||
function compare(path, template) { | ||
const node = parseNode(path); | ||
const baseNode = parseNode(base); | ||
const templateNode = parseNode(template); | ||
if (isEqualAnyObject(node, baseNode)) | ||
if (isEqualAnyObject(node, templateNode)) | ||
return true; | ||
if (isEqualAnyArray(node, baseNode)) | ||
if (isEqualAnyArray(node, templateNode)) | ||
return true; | ||
if (isEqualNop(node, baseNode)) | ||
if (isEqualNop(node, templateNode)) | ||
return true; | ||
if (isPath(path) && !isEqualType(node, baseNode)) { | ||
const {type} = baseNode; | ||
if (isPath(path) && !isEqualType(node, templateNode)) { | ||
const {type} = templateNode; | ||
const newPathNode = findParent(path, type); | ||
return superCompareIterate(newPathNode, baseNode); | ||
return superCompareIterate(newPathNode, templateNode); | ||
} | ||
return superCompareIterate(node, baseNode); | ||
return superCompareIterate(node, templateNode); | ||
} | ||
module.exports.compareAny = (path, baseNodes) => { | ||
for (const base of baseNodes) { | ||
if (compare(path, base)) | ||
module.exports.compareAny = (path, templateNodes) => { | ||
for (const template of templateNodes) { | ||
if (compare(path, template)) | ||
return true; | ||
@@ -115,5 +115,5 @@ } | ||
module.exports.compareAll = (path, baseNodes) => { | ||
for (const base of baseNodes) { | ||
if (!compare(path, base)) | ||
module.exports.compareAll = (path, templateNodes) => { | ||
for (const template of templateNodes) { | ||
if (!compare(path, template)) | ||
return false; | ||
@@ -139,4 +139,4 @@ } | ||
function superCompareIterate(node, base) { | ||
let item = [node, base]; | ||
function superCompareIterate(node, template) { | ||
let item = [node, template]; | ||
@@ -148,3 +148,3 @@ const array = [item]; | ||
while (item = array.pop()) { | ||
const [node, base] = item; | ||
const [node, template] = item; | ||
@@ -154,3 +154,3 @@ if (!node) | ||
for (const key of keys(base)) { | ||
for (const key of keys(template)) { | ||
if (ignore.includes(key)) | ||
@@ -160,3 +160,3 @@ continue; | ||
const nodeValue = extractExpression(node[key]); | ||
const value = extractExpression(base[key]); | ||
const value = extractExpression(template[key]); | ||
@@ -163,0 +163,0 @@ const is = superCompare(nodeValue, value, { |
@@ -162,4 +162,4 @@ 'use strict'; | ||
module.exports.isEqualAnyArray = (node, baseNode) => { | ||
if (!isAnyArray(baseNode)) | ||
module.exports.isEqualAnyArray = (node, templateNode) => { | ||
if (!isAnyArray(templateNode)) | ||
return false; | ||
@@ -171,4 +171,4 @@ | ||
module.exports.isEqualAnyObject = (node, baseNode) => { | ||
if (!isAnyObject(baseNode)) | ||
module.exports.isEqualAnyObject = (node, templateNode) => { | ||
if (!isAnyObject(templateNode)) | ||
return false; | ||
@@ -180,4 +180,4 @@ | ||
module.exports.isEqualBody = (node, baseNode) => { | ||
if (!isBody(baseNode)) | ||
module.exports.isEqualBody = (node, templateNode) => { | ||
if (!isBody(templateNode)) | ||
return false; | ||
@@ -188,4 +188,4 @@ | ||
module.exports.isEqualNop = (node, baseNode) => { | ||
if (!isNop(baseNode)) | ||
module.exports.isEqualNop = (node, templateNode) => { | ||
if (!isNop(templateNode)) | ||
return false; | ||
@@ -192,0 +192,0 @@ |
{ | ||
"name": "@putout/compare", | ||
"version": "6.1.0", | ||
"version": "6.1.1", | ||
"author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)", | ||
@@ -48,3 +48,2 @@ "description": "compare ast-nodes", | ||
"@cloudcmd/stub": "^3.0.0", | ||
"@putout/test": "^2.0.0", | ||
"coveralls": "^3.0.0", | ||
@@ -56,3 +55,3 @@ "eslint": "^7.0.0", | ||
"lerna": "^3.8.5", | ||
"madrun": "^7.0.0", | ||
"madrun": "^8.0.1", | ||
"montag": "^1.0.0", | ||
@@ -62,3 +61,3 @@ "nodemon": "^2.0.1", | ||
"putout": "*", | ||
"supertape": "^2.0.0" | ||
"supertape": "^4.0.0" | ||
}, | ||
@@ -65,0 +64,0 @@ "license": "MIT", |
20333
0.46%13
-7.14%