/** * Given a Path and a key, return a new Path containing the new key. */exportfunctionaddPath(prev,key){return{prev:prev,key:key};}/** * Given a Path, return an Array of the path keys. */exportfunctionpathToArray(path){varflattened=[];varcurr=path;while(curr){flattened.push(curr.key);curr=curr.prev;}returnflattened.reverse();}