falcor-path-utils
v0.7.5
Published
This repository contains utilities for transforming and manipulating Falcor paths.
Downloads
3,768
Maintainers
Keywords
Readme
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 = require("falcor-path-utils"); var collapsedPaths = util.collapse([ ["genres", 0, "titles", 0, "name"], ["genres", 0, "titles", 0, "rating"], ["genres", 0, "titles", 1, "name"], ["genres", 0, "titles", 1, "rating"] ]); // 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 = require("falcor-path-utils"); console.log(util.pathCount(["titlesById", [512, 628], ["name","rating"]])) // 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.