Skip to content

Commit 8bf98cd

Browse files
🎨 refactor: Use flat export style.
1 parent 8fed652 commit 8bf98cd

39 files changed

+212
-162
lines changed

src/adt/Leaf.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import assert from 'assert';
2-
import {BLACK} from '../color/BLACK.js';
3-
import {Node} from './Node.js';
2+
import BLACK from '../color/BLACK.js';
3+
import Node from './Node.js';
44

55
/**
66
* A black leaf node.
77
*
88
* @class
99
* @param {Node} parent - The parent node in the tree.
1010
*/
11-
export function Leaf(parent) {
11+
export default function Leaf(parent) {
1212
assert(parent instanceof Node);
1313
/** @constant {number} The color of the node. */
1414
this._color = BLACK;

src/adt/Node.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Leaf} from './Leaf.js';
1+
import Leaf from './Leaf.js';
22

33
/**
44
* An internal node. This node can be red or black.
@@ -7,7 +7,7 @@ import {Leaf} from './Leaf.js';
77
* @param {number} color - The color of the node.
88
* @param {any} key - The key of the node.
99
*/
10-
export function Node(color, key) {
10+
export default function Node(color, key) {
1111
/** @member {number} The color of the node. */
1212
this._color = color;
1313
/** @member {Node|Leaf} The left child */

src/adt/RedBlackTree.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
import assert from 'assert';
2-
import {Node} from './Node.js';
3-
import {BLACK, RED} from '../color/index.js';
4-
import {predecessor} from '../family/predecessor.js';
5-
import {insert, insert_case2} from '../insertion/index.js';
6-
import {delete_one_child} from '../deletion/index.js';
7-
import {search} from '../search/index.js';
8-
import {inordertraversal, rangetraversal} from '../traversal/index.js';
2+
import Node from './Node.js';
3+
import BLACK from '../color/BLACK.js';
4+
import RED from '../color/RED.js';
5+
import predecessor from '../family/predecessor.js';
6+
import insert from '../insertion/insert.js';
7+
import insert_case2 from '../insertion/insert_case2.js';
8+
import delete_one_child from '../deletion/delete_one_child.js';
9+
import search from '../search/search.js';
10+
import inordertraversal from '../traversal/inordertraversal.js';
11+
import rangetraversal from '../traversal/rangetraversal.js';
912

1013
/**
1114
* A RedBlackTree with key-only nodes.
1215
*
1316
*/
14-
export class RedBlackTree {
17+
export default class RedBlackTree {
1518
/**
1619
* Constructs a new empty red-black tree.
1720
*

src/adt/index.js

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/color/BLACK.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/**
22
* Constant for black.
33
*/
4-
export const BLACK = 0;
4+
const BLACK = 0;
5+
export default BLACK;

src/color/RED.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/**
22
* Constant for red.
33
*/
4-
export const RED = 1;
4+
const RED = 1;
5+
export default RED;

src/color/index.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/debug/debug.js renamed to src/debug/_debug.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import assert from 'assert';
2-
import {Node} from '../adt/Node.js';
3-
import {Leaf} from '../adt/Leaf.js';
4-
import {BLACK} from '../color/BLACK.js';
2+
import Node from '../adt/Node.js';
3+
import Leaf from '../adt/Leaf.js';
4+
import BLACK from '../color/BLACK.js';
55

66
/**
77
* Builds a debug function from color handlers.
88
*
99
* @param {Object} colors The colors to use.
1010
* @returns {Function} The debug function.
1111
*/
12-
export const _debug = ({red, black}) => {
12+
const _debug = ({red, black}) => {
1313
/**
1414
* Recursively constructs a prettyprint string for the red-black tree rooted at
1515
* <code>root</code>.
@@ -33,3 +33,5 @@ export const _debug = ({red, black}) => {
3333

3434
return debug;
3535
};
36+
37+
export default _debug;

src/debug/index.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/deletion/delete_case1.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import assert from 'assert';
2-
import {BLACK} from '../color/BLACK.js';
3-
import {Node} from '../adt/Node.js';
4-
import {Leaf} from '../adt/Leaf.js';
5-
import {delete_case2} from './delete_case2.js';
2+
import BLACK from '../color/BLACK.js';
3+
import Node from '../adt/Node.js';
4+
import Leaf from '../adt/Leaf.js';
5+
import delete_case2 from './delete_case2.js';
66

77
/**
88
* Preconditions:
@@ -12,11 +12,13 @@ import {delete_case2} from './delete_case2.js';
1212
*
1313
* @param {Node|Leaf} n - The input node.
1414
*/
15-
export const delete_case1 = (n) => {
15+
const delete_case1 = (n) => {
1616
assert(n instanceof Node || n instanceof Leaf);
1717
assert(n._color === BLACK);
1818
// If n is the root, there is nothing to do:
1919
// - all paths go through n, and
2020
// - n is black.
2121
if (n.parent !== null) delete_case2(n);
2222
};
23+
24+
export default delete_case1;

0 commit comments

Comments
 (0)