astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
23 lines (19 loc) • 698 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = areFieldValuesEqual;
var _shallowequal = _interopRequireDefault(require("shallowequal"));
function areFieldValuesEqual(t, a, b) {
if (Array.isArray(a)) {
if (!Array.isArray(b) || b.length !== a.length) return false;
return a.every(function (value, index) {
return areFieldValuesEqual(t, value, b[index]);
});
} else if (t.namedTypes.Node.check(a)) {
return t.namedTypes.Node.check(b) && t.astNodesAreEquivalent(a, b);
} else {
return (0, _shallowequal["default"])(a, b);
}
}