UNPKG

proxyequal

Version:

A proxy based usage tracking and comparison

38 lines (27 loc) 786 B
"use strict"; 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;