UNPKG

astx

Version:

super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring

12 lines (11 loc) 2.47 kB
import shallowEqual from 'shallowequal' export default function areFieldValuesEqual(t, a, b) { if (Array.isArray(a)) { if (!Array.isArray(b) || b.length !== a.length) return false return a.every((value, index) => areFieldValuesEqual(t, value, b[index])) } else if (t.namedTypes.Node.check(a)) { return t.namedTypes.Node.check(b) && t.astNodesAreEquivalent(a, b) } else { return shallowEqual(a, b) } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzaGFsbG93RXF1YWwiLCJhcmVGaWVsZFZhbHVlc0VxdWFsIiwidCIsImEiLCJiIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiZXZlcnkiLCJ2YWx1ZSIsImluZGV4IiwibmFtZWRUeXBlcyIsIk5vZGUiLCJjaGVjayIsImFzdE5vZGVzQXJlRXF1aXZhbGVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZUZpZWxkVmFsdWVzRXF1YWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQXN0VHlwZXMgZnJvbSAnYXN0LXR5cGVzJ1xuaW1wb3J0IHNoYWxsb3dFcXVhbCBmcm9tICdzaGFsbG93ZXF1YWwnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFyZUZpZWxkVmFsdWVzRXF1YWwoXG4gIHQ6IHR5cGVvZiBBc3RUeXBlcyxcbiAgYTogdW5rbm93bixcbiAgYjogdW5rbm93blxuKTogYm9vbGVhbiB7XG4gIGlmIChBcnJheS5pc0FycmF5KGEpKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGIpIHx8IGIubGVuZ3RoICE9PSBhLmxlbmd0aCkgcmV0dXJuIGZhbHNlXG4gICAgcmV0dXJuIGEuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gYXJlRmllbGRWYWx1ZXNFcXVhbCh0LCB2YWx1ZSwgYltpbmRleF0pKVxuICB9IGVsc2UgaWYgKHQubmFtZWRUeXBlcy5Ob2RlLmNoZWNrKGEpKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHQubmFtZWRUeXBlcy5Ob2RlLmNoZWNrKGIpICYmIHQuYXN0Tm9kZXNBcmVFcXVpdmFsZW50KGEgYXMgYW55LCBiIGFzIGFueSlcbiAgICApXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHNoYWxsb3dFcXVhbChhLCBiKVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPQSxZQUFQLE1BQXlCLGNBQXpCOztBQUVBLGVBQWUsU0FBU0MsbUJBQVQ7QUFDYkMsQ0FEYTtBQUViQyxDQUZhO0FBR2JDLENBSGE7QUFJSjtFQUNULElBQUlDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSCxDQUFkLENBQUosRUFBc0I7SUFDcEIsSUFBSSxDQUFDRSxLQUFLLENBQUNDLE9BQU4sQ0FBY0YsQ0FBZCxDQUFELElBQXFCQSxDQUFDLENBQUNHLE1BQUYsS0FBYUosQ0FBQyxDQUFDSSxNQUF4QyxFQUFnRCxPQUFPLEtBQVA7SUFDaEQsT0FBT0osQ0FBQyxDQUFDSyxLQUFGLENBQVEsQ0FBQ0MsS0FBRCxFQUFRQyxLQUFSLEtBQWtCVCxtQkFBbUIsQ0FBQ0MsQ0FBRCxFQUFJTyxLQUFKLEVBQVdMLENBQUMsQ0FBQ00sS0FBRCxDQUFaLENBQTdDLENBQVA7RUFDRCxDQUhELE1BR08sSUFBSVIsQ0FBQyxDQUFDUyxVQUFGLENBQWFDLElBQWIsQ0FBa0JDLEtBQWxCLENBQXdCVixDQUF4QixDQUFKLEVBQWdDO0lBQ3JDO01BQ0VELENBQUMsQ0FBQ1MsVUFBRixDQUFhQyxJQUFiLENBQWtCQyxLQUFsQixDQUF3QlQsQ0FBeEIsS0FBOEJGLENBQUMsQ0FBQ1kscUJBQUYsQ0FBd0JYLENBQXhCLEVBQWtDQyxDQUFsQyxDQURoQzs7RUFHRCxDQUpNLE1BSUE7SUFDTCxPQUFPSixZQUFZLENBQUNHLENBQUQsRUFBSUMsQ0FBSixDQUFuQjtFQUNEO0FBQ0YifQ==