UNPKG

react-digraph

Version:
345 lines (344 loc) 11.6 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for src/utilities/transformers/bwdl-transformer.js</title> <meta charset="utf-8" /> <link rel="stylesheet" href="../../../prettify.css" /> <link rel="stylesheet" href="../../../base.css" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <style type='text/css'> .coverage-summary .sorter { background-image: url(../../../sort-arrow-sprite.png); } </style> </head> <body> <div class='wrapper'> <div class='pad1'> <h1> <a href="../../../index.html">All files</a> / <a href="index.html">src/utilities/transformers</a> bwdl-transformer.js </h1> <div class='clearfix'> <div class='fl pad1y space-right2'> <span class="strong">0% </span> <span class="quiet">Statements</span> <span class='fraction'>0/25</span> </div> <div class='fl pad1y space-right2'> <span class="strong">0% </span> <span class="quiet">Branches</span> <span class='fraction'>0/20</span> </div> <div class='fl pad1y space-right2'> <span class="strong">0% </span> <span class="quiet">Functions</span> <span class='fraction'>0/4</span> </div> <div class='fl pad1y space-right2'> <span class="strong">0% </span> <span class="quiet">Lines</span> <span class='fraction'>0/25</span> </div> </div> </div> <div class='status-line low'></div> <pre><table class="coverage"> <tr><td class="line-count quiet">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// @flow /* Copyright(c) 2018 Uber Technologies, Inc. &nbsp; Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at &nbsp; http://www.apache.org/licenses/LICENSE-2.0 &nbsp; Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ &nbsp; import { type IEdge } from '../../components/edge'; import { type INode } from '../../components/node'; import Transformer, { type IGraphInput } from './transformer'; &nbsp; export default class BwdlTransformer extends Transformer { <span class="fstat-no" title="function not covered" > st</span>atic transform(input: any) { const startNodeName = <span class="cstat-no" title="statement not covered" >input.StartAt;</span> <span class="cstat-no" title="statement not covered" > if (!input.States) {</span> <span class="cstat-no" title="statement not covered" > return {</span> edges: [], nodes: [] }; } const nodeNames = <span class="cstat-no" title="statement not covered" >Object.keys(input.States);</span> &nbsp; const nodes: INode[] = <span class="cstat-no" title="statement not covered" >[];</span> const edges: IEdge[] = <span class="cstat-no" title="statement not covered" >[];</span> &nbsp; <span class="cstat-no" title="statement not covered" > nodeNames.forEach(<span class="fstat-no" title="function not covered" >(n</span>ame) =&gt; {</span> const currentNode = <span class="cstat-no" title="statement not covered" >input.States[name];</span> <span class="cstat-no" title="statement not covered" > if (!currentNode) {</span> <span class="cstat-no" title="statement not covered" > return;</span> } const nodeToAdd: INode = <span class="cstat-no" title="statement not covered" >{</span> title: name, type: currentNode.Type, x: currentNode.x || 0, y: currentNode.y || 0 }; &nbsp; <span class="cstat-no" title="statement not covered" > if (name === startNodeName) {</span> <span class="cstat-no" title="statement not covered" > nodes.unshift(nodeToAdd);</span> } else { <span class="cstat-no" title="statement not covered" > nodes.push(nodeToAdd);</span> } &nbsp; // create edges <span class="cstat-no" title="statement not covered" > if (currentNode.Type === 'Choice') {</span> // multiple edges <span class="cstat-no" title="statement not covered" > currentNode.Choices.forEach(<span class="fstat-no" title="function not covered" >(c</span>hoice) =&gt; {</span> <span class="cstat-no" title="statement not covered" > if (input.States[choice.Next]) {</span> <span class="cstat-no" title="statement not covered" > edges.push({</span> source: name, target: choice.Next }); } }); &nbsp; // Choice nodes carry both a Choices list and an optional Default value which is not part of the list. <span class="cstat-no" title="statement not covered" > if (currentNode.Default) {</span> <span class="cstat-no" title="statement not covered" > edges.push({</span> source: name, target: currentNode.Default }); } } else <span class="cstat-no" title="statement not covered" >if (currentNode.Next) {</span> <span class="cstat-no" title="statement not covered" > if (input.States[currentNode.Next]) {</span> // single edge <span class="cstat-no" title="statement not covered" > edges.push({</span> source: name, target: currentNode.Next }); } } }); &nbsp; <span class="cstat-no" title="statement not covered" > return {</span> edges, nodes }; } &nbsp; <span class="fstat-no" title="function not covered" > st</span>atic revert(graphInput: IGraphInput) { <span class="cstat-no" title="statement not covered" > return graphInput;</span> } } &nbsp;</pre></td></tr> </table></pre> <div class='push'></div><!-- for sticky footer --> </div><!-- /wrapper --> <div class='footer quiet pad2 space-top1 center small'> Code coverage generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Oct 08 2018 13:14:28 GMT-0700 (Pacific Daylight Time) </div> </div> <script src="../../../prettify.js"></script> <script> window.onload = function () { if (typeof prettyPrint === 'function') { prettyPrint(); } }; </script> <script src="../../../sorter.js"></script> </body> </html>