falcor-path-utils

This repository contains utilities for transforming and manipulating Falcor paths.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
falcor-path-utils
2990.7.54 years ago9 years agoMinified + gzip package size for falcor-path-utils in KB

Readme

Falcor Path Utils
This repository contains utilities for transforming and manipulating Falcor paths.

Utility functions:

  • collapse(paths)
Simplifies a set of paths. Example:
~js 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 a keySet and a note and attempts to iterate over it.
  • toTree(paths)
Converts paths to a tree with null leaves. (see spec
)
  • toPaths(lengths)
Converts a lengthTree to paths. (see spec)
  • pathsComplementFromTree(paths, tree)
Returns a list of these paths that are not in the tree. (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.
~js 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.