proxyequal
Version:
A proxy based usage tracking and comparison
33 lines (23 loc) • 984 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.proxyShallow = exports.collectShallows = void 0;
var _proxyEqual = require("./proxyEqual");
var _differs = require("./differs");
var _weakMemoize = require("./weakMemoize");
var _searchTrie = _interopRequireDefault(require("search-trie"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var collectShallows = function collectShallows(lines) {
var trie = (0, _searchTrie["default"])(lines);
return lines.filter(function (value) {
return trie(value + '.') || !value.lastIndexOf('.');
});
};
exports.collectShallows = collectShallows;
var memoizedCollectShallows = (0, _weakMemoize.weakMemoizeArray)(collectShallows);
var proxyShallow = function proxyShallow(a, b, affected) {
(0, _differs.resetDiffers)();
return (0, _proxyEqual.proxyCompare)(a, b, memoizedCollectShallows(affected));
};
exports.proxyShallow = proxyShallow;
;