UNPKG

proxyequal

Version:

A proxy based usage tracking and comparison

28 lines (20 loc) 586 B
import { weakMemoizeArray } from "./weakMemoize"; export var 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; }; export var memoizedBuildTrie = weakMemoizeArray(buildObjTrie);