UNPKG

graph-data-structure

Version:
1 lines 11.2 kB
{"version":3,"file":"index.cjs","sources":["../src/invariant.ts","../src/Graph.ts","../src/CycleError.ts","../src/algorithms/depthFirstSearch/depthFirstVisit.ts","../src/algorithms/depthFirstSearch/depthFirstSearch.ts","../src/algorithms/shortestPath/extractMin.ts","../src/algorithms/shortestPath/relax.ts","../src/algorithms/shortestPath/dijkstra.ts","../src/algorithms/shortestPath/getPath.ts","../src/algorithms/shortestPath/shortestPath.ts","../src/algorithms/lowestCommonAncestors/lowestCommonAncestors.ts","../src/utils/cloneGraph.ts","../src/utils/deserializeGraph.ts","../src/utils/findNodes.ts","../src/utils/getFirstNode.ts","../src/utils/getNode.ts","../src/utils/hasCycle.ts","../src/utils/indegree.ts","../src/utils/outdegree.ts","../src/utils/serializeGraph.ts","../src/algorithms/shortestPath/shortestPaths.ts","../src/algorithms/topologicalSort/topologicalSort.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["invariant","value","message","console","warn","Error","Graph","nodes","Set","edges","Map","edgeWeights","edgeProperties","addNode","node","this","has","add","set","removeNode","delete","adjacentNodes","values","adjacent","get","setEdgeWeight","source","target","weight","weights","getEdgeWeight","setEdgeProperties","props","propsHolder","getEdgeProperties","addEdge","args","linkProps","firstArg","Object","prototype","hasOwnProperty","call","undefined","removeEdge","hasEdge","CycleError","constructor","super","setPrototypeOf","depthFirstVisit","graph","nodeList","visited","visiting","opts","errorOnCycle","shouldFollow","forEach","n","push","depthFirstSearch","sourceNodes","Array","from","includeSourceNodes","i","length","sourceNode","extractMin","tracks","minNode","min","Infinity","d","q","nodeWeight","clear","relax","p","edgeWeight","distanceSource","distanceTarget","dijkstra","destination","initializeSingleSource","initializePriorityQueue","size","u","v","addWeightFunction","wp","currentPathWeight","shortestPath","nextWeightFn","totalWeight","currentNode","reverse","previousNode","edgeProps","hop","path","getPath","CA1Visit","node1Ancestors","lcas","node2","every","CA2Visit","indexOf","clone","targets","entries","apply","data","identityFn","g","nodeIdentityMap","links","link","fn","foundNodes","error","degree","adjacentNode","node1","includeDefaultWeight","serialized","paths","pathWeight","removedEdges","e"],"mappings":"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"}