34 lines
1.0 KiB
JavaScript
34 lines
1.0 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "compareRouterStates", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return compareRouterStates;
|
|
}
|
|
});
|
|
function compareRouterStates(a, b) {
|
|
const stateKeys = Object.keys(a);
|
|
if (stateKeys.length !== Object.keys(b).length) return false;
|
|
for(let i = stateKeys.length; i--;){
|
|
const key = stateKeys[i];
|
|
if (key === "query") {
|
|
const queryKeys = Object.keys(a.query);
|
|
if (queryKeys.length !== Object.keys(b.query).length) {
|
|
return false;
|
|
}
|
|
for(let j = queryKeys.length; j--;){
|
|
const queryKey = queryKeys[j];
|
|
if (!b.query.hasOwnProperty(queryKey) || a.query[queryKey] !== b.query[queryKey]) {
|
|
return false;
|
|
}
|
|
}
|
|
} else if (!b.hasOwnProperty(key) || a[key] !== b[key]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
//# sourceMappingURL=compare-states.js.map
|