(
path, depth, root, parent, node,
messageRoot, messageParent, message,
requestedPaths, optimizedPaths, requestedPath, optimizedPath,
version, expired, lru, comparator, errorSelector, replacedPaths)
| 70 | |
| 71 | /* eslint-disable no-constant-condition */ |
| 72 | function 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 | |
| 121 | var _result = new Array(4); |
no test coverage detected