MCPcopy Create free account
hub / github.com/Netflix/falcor / setJSONGraphPathSet

Function setJSONGraphPathSet

lib/set/setJSONGraphs.js:72–118  ·  view source on GitHub ↗
(
    path, depth, root, parent, node,
    messageRoot, messageParent, message,
    requestedPaths, optimizedPaths, requestedPath, optimizedPath,
    version, expired, lru, comparator, errorSelector, replacedPaths)

Source from the content-addressed store, hash-verified

70
71/* eslint-disable no-constant-condition */
72function setJSONGraphPathSet(
73 path, depth, root, parent, node,
74 messageRoot, messageParent, message,
75 requestedPaths, optimizedPaths, requestedPath, optimizedPath,
76 version, expired, lru, comparator, errorSelector, replacedPaths) {
77
78 var note = {};
79 var branch = depth < path.length - 1;
80 var keySet = path[depth];
81 var key = iterateKeySet(keySet, note);
82 var optimizedIndex = optimizedPath.index;
83
84 do {
85
86 requestedPath.depth = depth;
87
88 var results = setNode(
89 root, parent, node, messageRoot, messageParent, message,
90 key, branch, requestedPath, optimizedPath,
91 version, expired, lru, comparator, errorSelector, replacedPaths
92 );
93
94 requestedPath[depth] = key;
95 requestedPath.index = depth;
96 optimizedPath[optimizedPath.index++] = key;
97 var nextNode = results[0];
98 var nextParent = results[1];
99 if (nextNode) {
100 if (branch) {
101 setJSONGraphPathSet(
102 path, depth + 1, root, nextParent, nextNode,
103 messageRoot, results[3], results[2],
104 requestedPaths, optimizedPaths, requestedPath, optimizedPath,
105 version, expired, lru, comparator, errorSelector, replacedPaths
106 );
107 } else {
108 requestedPaths.push(requestedPath.slice(0, requestedPath.index + 1));
109 optimizedPaths.push(optimizedPath.slice(0, optimizedPath.index));
110 }
111 }
112 key = iterateKeySet(keySet, note);
113 if (note.done) {
114 break;
115 }
116 optimizedPath.index = optimizedIndex;
117 } while (true);
118}
119/* eslint-enable */
120
121var _result = new Array(4);

Callers 1

setJSONGraphs.jsFile · 0.85

Calls 1

setNodeFunction · 0.70

Tested by

no test coverage detected