Falcor Path Utils
This repository contains utilities for transforming and manipulating Falcor paths.
Utility functions:
-
collapse(paths)
Simplifies a set of paths. Example:var util = ;var collapsedPaths = util;// collapsed paths is ["genres", 0, "titles", {from: 0, to: 1}, ["name", "rating"]] -
iterateKeySet(keySet, note)
Takes in akeySet
and anote
and attempts to iterate over it. -
toTree(paths)
Convertspaths
to a tree with null leaves. (see spec) -
toPaths(lengths)
Converts alengthTree
to paths. (see spec) -
pathsComplementFromTree(paths, tree)
Returns a list of thesepaths
that are not in thetree
. (see spec) -
pathsComplementFromLengthTree(paths, lengthTree)
Like above, but for use with length tree. -
hasIntersection(tree, path, depth)
Tests to see if the intersection should be stripped from the total paths. -
optimizePathSets(cache, paths, maxRefFollow)
(see spec) -
pathCount(pathSet)
Returns the number of paths in a PathSet.var util = ;console// prints 4, because ["titlesById", [512, 628], ["name","rating"]] contains...// ["titlesById", 512, "name"]// ["titlesById", 512, "rating"]// ["titlesById", 628, "name"]// ["titlesById", 628, "rating"] -
escape(string)
Escapes untrusted input to make it safe to include in a path. -
unescape(string)
Unescapes a string encoded with escape. -
materialize(pathSet, value)
Construct a JsonGraph of value at pathSet paths.