proxyequal
Version:
A proxy based usage tracking and comparison
38 lines (27 loc) • 786 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.memoizedBuildTrie = exports.EDGE = void 0;
var _weakMemoize = require("./weakMemoize");
var EDGE = 'EDGE';
exports.EDGE = EDGE;
var buildObjTrie = function buildObjTrie(lines) {
var root = {};
for (var i = 0; i < lines.length; ++i) {
var path = lines[i].split('.');
var node = root;
var lastIndex = path.length - 1;
for (var j = 1; j < lastIndex; ++j) {
var item = path[j];
if (!node[item] || node[item] === EDGE) {
node[item] = {};
}
node = node[item];
}
node[path[lastIndex]] = EDGE;
}
return root;
};
var memoizedBuildTrie = (0, _weakMemoize.weakMemoizeArray)(buildObjTrie);
exports.memoizedBuildTrie = memoizedBuildTrie;