diff --git a/.eslintrc b/.eslintrc index ec0d68b9b851aecd5fed5b8c2c7b6c87f52f46f9..15eefba00ead3e95099b0064fe507a5cdc2e93e8 100755 --- a/.eslintrc +++ b/.eslintrc @@ -4,6 +4,9 @@ "browser": true, "jquery": true, }, + "parserOptions": { + "sourceType": "module", + }, "rules": { "no-await-in-loop": "warn", "no-compare-neg-zero": "warn", diff --git a/index.html b/index.html index 6f15215efa356f7bd42af41d708f9259bb322b95..6b3d9647411c2fd45fe998dc94ff0cafc057b9c0 100644 --- a/index.html +++ b/index.html @@ -5,18 +5,12 @@ <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Basic Graph Search</title> + <script defer="true" src="libraries/jquery/jquery.min.js"></script> + <script defer="true" type="module" src="js/index.js"></script> </head> <body> <div id="output"></div> - <script src="libraries/jquery/jquery.min.js"></script> - <script src="js/utility.js"></script> - <script src="js/stack.js"></script> - <script src="js/queue.js"></script> - <script src="js/priority_queue.js"></script> - <script src="js/graphs.js"></script> - <script src="js/inputs.js"></script> - <script src="js/index.js"></script> </body> </html> diff --git a/js/graphs.js b/js/graphs.js index b83accb641176035cb2dc1ddc51e6c98b3bb4bb0..75d41b676ae463df36d34b0957e7a00b1e59acd6 100644 --- a/js/graphs.js +++ b/js/graphs.js @@ -1,5 +1,3 @@ -/* exported DirectedGraph PuzzleGraph */ - class WeightedEdge { constructor(weight, destination) { this.weight = weight; @@ -7,7 +5,7 @@ class WeightedEdge { } } -class DirectedGraph { +export class DirectedGraph { constructor() { this.incidences = new Map(); } @@ -24,7 +22,7 @@ class DirectedGraph { } } -class PuzzleGraph { +export class PuzzleGraph { getIncidences(source) { // eslint-disable-line class-methods-use-this const result = []; for (let i = source.length; i--;) { diff --git a/js/index.js b/js/index.js index fa00a8836392e16560ae9b38bf6f201d340caf80..d45806e308694a2da783ce5d9cafa021e984c3df 100644 --- a/js/index.js +++ b/js/index.js @@ -1,19 +1,22 @@ -/* exported dfs bfs dijkstras */ -/* globals BasicStack BasicQueue BasicPriorityQueue firstExample secondExample */ +import './utility.js'; +import {BasicStack} from './stack.js'; +import {BasicQueue} from './queue.js'; +import {BasicPriorityQueue} from './priority_queue.js'; +import {firstExample, secondExample} from './inputs.js'; function print(value) { $('#output').append($('<span></span>').text(value)).append('<br>'); } -function dfs(graph, source, destination) { +export function dfs(graph, source, destination) { return []; // stub } -function bfs(graph, source, destination) { +export function bfs(graph, source, destination) { return []; // stub } -function dijkstras(graph, source, destination) { +export function dijkstras(graph, source, destination) { return []; // stub } diff --git a/js/inputs.js b/js/inputs.js index e72a20b1f46d605743660cad504cfc2c61fe6363..bafae9e2b0961002e70eac716843555a0121a192 100644 --- a/js/inputs.js +++ b/js/inputs.js @@ -1,8 +1,8 @@ -/* exported firstExample secondExample */ -/* globals DirectedGraph PuzzleGraph */ +import {DirectedGraph, PuzzleGraph} from './graphs.js'; + /* eslint-disable no-magic-numbers */ -const firstExample = new DirectedGraph(); +export const firstExample = new DirectedGraph(); firstExample.addIncidence('b', 9, 'e'); firstExample.addIncidence('f', 8, 'c'); firstExample.addIncidence('a', 7, 'c'); @@ -14,4 +14,4 @@ firstExample.addIncidence('e', 2, 'f'); firstExample.addIncidence('c', 1, 'b'); firstExample.addIncidence('f', 0, 'd'); -const secondExample = new PuzzleGraph(); +export const secondExample = new PuzzleGraph(); diff --git a/js/priority_queue.js b/js/priority_queue.js index 4122e5d2dada4719f3465143120b5819edbb935b..c13c0e8caff45e28c1d75d67d9a9198fda983f91 100644 --- a/js/priority_queue.js +++ b/js/priority_queue.js @@ -1,6 +1,6 @@ -/* exported BasicPriorityQueue */ +import './utility.js'; -class BasicPriorityQueue { +export class BasicPriorityQueue { constructor() { this.elements = []; } diff --git a/js/queue.js b/js/queue.js index 8b05cced74a2ef671d0e871915b968a5be0c8ecc..9f45117ef2c499c64e728e90e0aea577d12718ba 100644 --- a/js/queue.js +++ b/js/queue.js @@ -1,6 +1,4 @@ -/* exported BasicQueue */ - -class BasicQueue { +export class BasicQueue { constructor() { this.elements = []; this.head = 0; diff --git a/js/stack.js b/js/stack.js index e5612f27318a331677fec2d8adddc764f20af2bb..f87a910e1b2e60ec9c4b9105bc0d3d3e52223135 100644 --- a/js/stack.js +++ b/js/stack.js @@ -1,6 +1,4 @@ -/* exported BasicStack */ - -class BasicStack { +export class BasicStack { constructor() { this.elements = []; }