File tree 12 files changed +47
-27
lines changed 12 files changed +47
-27
lines changed Original file line number Diff line number Diff line change @@ -84,11 +84,10 @@ Not to use:
84
84
## Import specific implementation
85
85
86
86
``` js
87
- import PriorityQueue, {
88
- BinaryHeap ,
89
- PairingHeap ,
90
- SkewHeap ,
91
- } from " priorityqueue" ;
87
+ import PriorityQueue from " priorityqueue" ;
88
+ import BinaryHeap from " priorityqueue/BinaryHeap" ;
89
+ import PairingHeap from " priorityqueue/PairingHeap" ;
90
+ import SkewHeap from " priorityqueue/SkewHeap" ;
92
91
93
92
console .log (PriorityQueue === BinaryHeap); // => true
94
93
```
Original file line number Diff line number Diff line change 2
2
"name" : " priorityqueue" ,
3
3
"version" : " 1.0.0" ,
4
4
"description" : " An implementation of Priority Queue" ,
5
- "main" : " lib/priorityqueue .js" ,
6
- "module" : " lib/priorityqueue .mjs" ,
5
+ "main" : " lib/index .js" ,
6
+ "module" : " lib/index .mjs" ,
7
7
"types" : " lib/index.d.ts" ,
8
+ "exports" : {
9
+ "." : {
10
+ "import" : " ./lib/index.mjs" ,
11
+ "require" : " ./lib/index.js"
12
+ },
13
+ "./BinaryHeap" : {
14
+ "import" : " ./lib/BinaryHeap.mjs" ,
15
+ "require" : " ./lib/BinaryHeap.js"
16
+ },
17
+ "./PairingHeap" : {
18
+ "import" : " ./lib/PairingHeap.mjs" ,
19
+ "require" : " ./lib/PairingHeap.js"
20
+ },
21
+ "./SkewHeap" : {
22
+ "import" : " ./lib/SkewHeap.mjs" ,
23
+ "require" : " ./lib/SkewHeap.js"
24
+ }
25
+ },
8
26
"sideEffect" : false ,
9
27
"scripts" : {
10
28
"build:code" : " vite build" ,
Original file line number Diff line number Diff line change 1
1
import sharedTest from "./testing" ;
2
- import { BinaryHeap } from "./BinaryHeap" ;
2
+ import BinaryHeap from "./BinaryHeap" ;
3
3
4
4
sharedTest ( {
5
5
PriorityQueueCtor : BinaryHeap ,
Original file line number Diff line number Diff line change @@ -56,7 +56,7 @@ function heapifyAll<T>(instance: BinaryHeap<T>): void {
56
56
/**
57
57
* An implementation of Binary Heap.
58
58
*/
59
- export class BinaryHeap < T >
59
+ export default class BinaryHeap < T >
60
60
extends BasePriorityQueue
61
61
implements PriorityQueueInstance < T >
62
62
{
Original file line number Diff line number Diff line change 1
1
import sharedTest from "./testing" ;
2
- import { PairingHeap } from "./PairingHeap" ;
2
+ import PairingHeap from "./PairingHeap" ;
3
3
4
4
sharedTest ( {
5
5
PriorityQueueCtor : PairingHeap ,
Original file line number Diff line number Diff line change @@ -90,7 +90,7 @@ function mergeChildren<T>(
90
90
return cursor ;
91
91
}
92
92
93
- export class PairingHeap < T >
93
+ export default class PairingHeap < T >
94
94
extends BasePriorityQueue
95
95
implements PriorityQueueInstance < T >
96
96
{
Original file line number Diff line number Diff line change 1
1
import sharedTest from "./testing" ;
2
- import { SkewHeap } from "./SkewHeap" ;
2
+ import SkewHeap from "./SkewHeap" ;
3
3
4
4
sharedTest ( {
5
5
PriorityQueueCtor : SkewHeap ,
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ function merge<T>(
45
45
/**
46
46
* An implementation of Skew Heap.
47
47
*/
48
- export class SkewHeap < T >
48
+ export default class SkewHeap < T >
49
49
extends BasePriorityQueue
50
50
implements PriorityQueueInstance < T >
51
51
{
Original file line number Diff line number Diff line change 1
1
import { describe , it , expect } from "vitest" ;
2
2
import { numericGreaterFirst , dictOrderGreaterFirst } from "../comparator" ;
3
- import { BinaryHeap } from "../BinaryHeap" ;
4
- import { PairingHeap } from "../PairingHeap" ;
5
- import { SkewHeap } from "../SkewHeap" ;
3
+ import BinaryHeap from "../BinaryHeap" ;
4
+ import PairingHeap from "../PairingHeap" ;
5
+ import SkewHeap from "../SkewHeap" ;
6
6
7
7
const Ctors = [ BinaryHeap , PairingHeap , SkewHeap ] ;
8
8
Original file line number Diff line number Diff line change 1
- import { BinaryHeap as _BinaryHeap } from "./BinaryHeap" ;
2
-
3
- export { PairingHeap } from "./PairingHeap" ;
4
- export { SkewHeap } from "./SkewHeap" ;
5
- export const BinaryHeap = _BinaryHeap ;
6
- export default BinaryHeap ;
1
+ export { default } from "./BinaryHeap" ;
2
+ export type {
3
+ PriorityQueueInstance ,
4
+ PriorityQueueStatic ,
5
+ } from "./PriorityQueue" ;
Original file line number Diff line number Diff line change @@ -4,7 +4,9 @@ import pkgDir from "pkg-dir";
4
4
import { sync as mkdirpSync } from "mkdirp" ;
5
5
import builder from "yargs" ;
6
6
import * as statistics from "simple-statistics" ;
7
- import { BinaryHeap , PairingHeap , SkewHeap } from ".." ;
7
+ import BinaryHeap from "../BinaryHeap" ;
8
+ import SkewHeap from "../SkewHeap" ;
9
+ import PairingHeap from "../PairingHeap" ;
8
10
import operations from "./operations" ;
9
11
10
12
const { testCase, algorithm } = builder
Original file line number Diff line number Diff line change @@ -7,10 +7,12 @@ export default defineConfig({
7
7
outDir : "lib" ,
8
8
lib : {
9
9
// Could also be a dictionary or array of multiple entry points
10
- entry : resolve ( __dirname , "src/index.ts" ) ,
11
- name : "PriorityQueue" ,
12
- // the proper extensions will be added
13
- fileName : "priorityqueue" ,
10
+ entry : [
11
+ "src/index.ts" ,
12
+ "src/BinaryHeap.ts" ,
13
+ "src/PairingHeap.ts" ,
14
+ "src/SkewHeap.ts" ,
15
+ ] . map ( ( filepath ) => resolve ( __dirname , filepath ) ) ,
14
16
formats : [ "es" , "cjs" ] ,
15
17
} ,
16
18
sourcemap : true ,
You can’t perform that action at this time.
0 commit comments