UNPKG

graph-data-structure

Version:
1 lines 11.4 kB
{"version":3,"file":"index.mjs","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/shortestPath/shortestPaths.ts","../src/algorithms/topologicalSort/topologicalSort.ts","../src/algorithms/lowestCommonAncestors/lowestCommonAncestors.ts","../src/utils/indegree.ts","../src/utils/outdegree.ts","../src/utils/cloneGraph.ts","../src/utils/hasCycle.ts","../src/utils/serializeGraph.ts","../src/utils/deserializeGraph.ts","../src/utils/findNodes.ts","../src/utils/getNode.ts","../src/utils/getFirstNode.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","shortestPaths","paths","pathWeight","removedEdges","e","topologicalSort","lowestCommonAncestors","node1","node2","node1Ancestors","lcas","CA1Visit","CA2Visit","every","indexOf","indegree","degree","adjacentNode","outdegree","cloneGraph","clone","targets","entries","apply","hasCycle","error","serializeGraph","identityFn","includeDefaultWeight","serialized","links","nodeIdentityMap","link","deserializeGraph","data","g","findNodes","fn","getNode","foundNodes","getFirstNode"],"mappings":"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"}