Skip to content

Netflix/falcor-path-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

100 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 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.

    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.

About

A collection of utilities for manipulating Falcor Paths.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 12