@epic-effx/rsalgo 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +161 -0
- package/dist/algorithms_bg.wasm +0 -0
- package/dist/browser/algorithms.d.ts +24 -0
- package/dist/browser/algorithms.js +5 -0
- package/dist/browser/algorithms_bg.js +517 -0
- package/dist/browser/algorithms_bg.wasm +0 -0
- package/dist/browser/algorithms_bg.wasm.d.ts +21 -0
- package/dist/browser/package.json +20 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +103 -0
- package/dist/index.d.ts +103 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +95 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 daveKontro
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+

|
|
2
|
+

|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
# rsalgo
|
|
6
|
+
|
|
7
|
+
<div style="margin-top:20px;">
|
|
8
|
+
<img src="./assets/logo.svg" width="120" height="120" alt="logo" />
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
algorithms for .js / .ts written in rust 🦀
|
|
12
|
+
|
|
13
|
+
implementations are compiled to [WebAssembly](https://webassembly.org/) via [wasm-pack](https://rustwasm.github.io/wasm-pack/) and exposed as a typed TypeScript module
|
|
14
|
+
|
|
15
|
+
supports Node.js and browser environments
|
|
16
|
+
|
|
17
|
+
## installation
|
|
18
|
+
```
|
|
19
|
+
npm install rsalgo
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## node.js usage
|
|
23
|
+
```typescript
|
|
24
|
+
import { mergeSort, binarySearch, fibonacciNth, isPrime, breadthFirstSearch, depthFirstSearch } from 'rsalgo'
|
|
25
|
+
|
|
26
|
+
mergeSort({ arr: [8, 3, -1, 5] }) // Int32Array [-1, 3, 5, 8]
|
|
27
|
+
binarySearch({ arr: [1, 2, 3, 4], target: 3 }) // 2
|
|
28
|
+
fibonacciNth(18) // 2584
|
|
29
|
+
isPrime(7) // true
|
|
30
|
+
|
|
31
|
+
const graph = { A: ['B', 'C'], B: ['A'], C: ['A'] }
|
|
32
|
+
|
|
33
|
+
breadthFirstSearch({ graph, start: 'A', onComplete: (order) => order }) // ['A', 'B', 'C']
|
|
34
|
+
depthFirstSearch({ graph, start: 'A', onEnter: console.log }) // A B C
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## browser usage
|
|
38
|
+
```typescript
|
|
39
|
+
import { mergeSort } from 'rsalgo/browser'
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## algorithms
|
|
43
|
+
|
|
44
|
+
### sort
|
|
45
|
+
| function | signature | paradigm |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| `bubbleSort` | `({ arr: number[] }) => Int32Array` | brute force |
|
|
48
|
+
| `insertionSort` | `({ arr: number[] }) => Int32Array` | incremental |
|
|
49
|
+
| `mergeSort` | `({ arr: number[] }) => Int32Array` | divide and conquer |
|
|
50
|
+
| `quickSort` | `({ arr: number[] }) => Int32Array` | divide and conquer |
|
|
51
|
+
|
|
52
|
+
### search
|
|
53
|
+
| function | signature | paradigm |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| `linearSearch` | `({ arr: number[], target: number }) => Int32Array` | brute force |
|
|
56
|
+
| `binarySearch` | `({ arr: number[], target: number }) => number` | divide and conquer |
|
|
57
|
+
|
|
58
|
+
### math
|
|
59
|
+
| function | signature | paradigm |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| `fibonacci` | `(n: number) => Int32Array` | dynamic programming |
|
|
62
|
+
| `fibonacciNth` | `(n: number) => number` | dynamic programming |
|
|
63
|
+
| `isPrime` | `(n: number) => boolean` | brute force |
|
|
64
|
+
|
|
65
|
+
### graph
|
|
66
|
+
| function | signature | paradigm |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| `breadthFirstSearch` | `({ graph: Graph, start: string, onVisit?, onEnqueue?, onComplete? }) => void` | breadth-first |
|
|
69
|
+
| `depthFirstSearch` | `({ graph: Graph, start: string, onEnter?, onExit? }) => void` | depth-first |
|
|
70
|
+
|
|
71
|
+
`Graph = Record<string, string[]>`
|
|
72
|
+
|
|
73
|
+
*more algorithms coming in future releases*
|
|
74
|
+
|
|
75
|
+
## benchmarks 🔬
|
|
76
|
+
|
|
77
|
+
these benchmarks compare each Rust/WASM implementation against an equivalent TypeScript implementation
|
|
78
|
+
|
|
79
|
+
the results show when the WASM data transfer overhead outweighs the Rust speed advantage
|
|
80
|
+
|
|
81
|
+
run them yourself with `npm run bench`
|
|
82
|
+
|
|
83
|
+
### sort (random unsorted array, throughput in ops/s)
|
|
84
|
+
|
|
85
|
+
| | n = 100 | n = 1,000 | n = 10,000 | winner |
|
|
86
|
+
|---|---|---|---|---|
|
|
87
|
+
| **bubbleSort rs** | 237,244 | 1,902 | 12 | |
|
|
88
|
+
| **bubbleSort ts** | 156,349 | 1,196 | 8 | **rs ~1.5x** |
|
|
89
|
+
| **insertionSort rs** | 373,282 | 6,300 | 64 | |
|
|
90
|
+
| **insertionSort ts** | 293,871 | 2,960 | 29 | **rs ~2x** |
|
|
91
|
+
| **mergeSort rs** | 44,990 | 2,971 | 175 | |
|
|
92
|
+
| **mergeSort ts** | 10,869 | 1,063 | 99 | **rs ~2x** |
|
|
93
|
+
| **quickSort rs** | 99,865 | 5,555 | 506 | |
|
|
94
|
+
| **quickSort ts** | 158,506 | 7,995 | 581 | **ts ~1.2x** |
|
|
95
|
+
|
|
96
|
+
NOTE: quickSort allocates three new vectors per recursion in Rust - a true in-place partition would reverse this result
|
|
97
|
+
|
|
98
|
+
### search (sorted array, target at midpoint, throughput in ops/s)
|
|
99
|
+
|
|
100
|
+
| | n = 100 | n = 1,000 | n = 10,000 | n = 100,000 | winner |
|
|
101
|
+
|---|---|---|---|---|---|
|
|
102
|
+
| **linearSearch rs** | 1,039,043 | 394,379 | 55,512 | 2,182 | |
|
|
103
|
+
| **linearSearch ts** | 8,095,173 | 1,470,070 | 150,087 | 14,172 | **ts ~6x** |
|
|
104
|
+
| **binarySearch rs** | 1,439,392 | 554,583 | 80,079 | 2,650 | |
|
|
105
|
+
| **binarySearch ts** | 14,034,290 | 10,932,356 | 8,675,071 | 6,976,545 | **ts dominates** |
|
|
106
|
+
|
|
107
|
+
`new Int32Array(arr)` copies the entire array into WASM memory on every call - paying O(n) transfer cost for O(log n) work
|
|
108
|
+
|
|
109
|
+
the more efficient the algorithm, the harder WASM overhead hits
|
|
110
|
+
|
|
111
|
+
### math (throughput in ops/s)
|
|
112
|
+
|
|
113
|
+
| | n = 10 | n = 100 | n = 1,000 | n = 10,000 | winner |
|
|
114
|
+
|---|---|---|---|---|---|
|
|
115
|
+
| **fibonacci rs** | 4,742,209 | 1,341,162 | 418,548 | 56,713 | |
|
|
116
|
+
| **fibonacci ts** | 15,872,733 | 2,035,695 | 197,158 | 21,293 | crossover ~n = 500 |
|
|
117
|
+
| **fibonacciNth rs** | 26,793,073 | 14,922,827 | 3,321,753 | 397,530 | |
|
|
118
|
+
| **fibonacciNth ts** | 25,395,909 | 4,767,649 | 549,187 | 55,456 | **rs** beyond n = 10 |
|
|
119
|
+
| **isPrime rs** | - | - | - | - | |
|
|
120
|
+
| **isPrime ts** | - | - | - | - | **tied** across all sizes |
|
|
121
|
+
|
|
122
|
+
### graph (chain graph by number of nodes, throughput in ops/s)
|
|
123
|
+
|
|
124
|
+
| | n = 10 | n = 100 | n = 1,000 | winner |
|
|
125
|
+
|---|---|---|---|---|
|
|
126
|
+
| **breadthFirstSearch rs** | 89,483 | 9,256 | 888 | |
|
|
127
|
+
| **breadthFirstSearch ts** | 712,050 | 69,645 | 7,813 | **ts ~8x** |
|
|
128
|
+
| **depthFirstSearch rs** | 97,893 | 9,858 | 951 | |
|
|
129
|
+
| **depthFirstSearch ts** | 1,679,643 | 196,711 | 21,213 | **ts ~22x** |
|
|
130
|
+
|
|
131
|
+
graph object deserialization via `serde_wasm_bindgen` adds O(V+E) overhead on every call - unlike typed arrays, the entire nested JS object must be parsed into a Rust `HashMap` before traversal even begins
|
|
132
|
+
|
|
133
|
+
`V` = vertices (nodes), `E` = edges (connections)
|
|
134
|
+
|
|
135
|
+
### key finding
|
|
136
|
+
|
|
137
|
+
rs wins where computation is heavy relative to data transfer
|
|
138
|
+
|
|
139
|
+
ts wins where data transfer dominates - search pays O(n) array copy for O(log n) work; graph traversal pays full object deserialization on every call, making rs slower by an order of magnitude at all tested sizes
|
|
140
|
+
|
|
141
|
+
## scripts
|
|
142
|
+
|
|
143
|
+
build Rust → WASM and TypeScript
|
|
144
|
+
```
|
|
145
|
+
npm run build
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
run Rust tests
|
|
149
|
+
```
|
|
150
|
+
npm run test:rust
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
run TypeScript tests
|
|
154
|
+
```
|
|
155
|
+
npm run test:js
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
run benchmarks
|
|
159
|
+
```
|
|
160
|
+
npm run bench
|
|
161
|
+
```
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
|
|
4
|
+
export function binary_search(arr: Int32Array, target: number): number;
|
|
5
|
+
|
|
6
|
+
export function breadth_first_search(graph: any, start: string, on_visit?: Function | null, on_enqueue?: Function | null, on_complete?: Function | null): void;
|
|
7
|
+
|
|
8
|
+
export function bubble_sort(arr: Int32Array): Int32Array;
|
|
9
|
+
|
|
10
|
+
export function depth_first_search(graph: any, start: string, on_enter?: Function | null, on_exit?: Function | null): void;
|
|
11
|
+
|
|
12
|
+
export function fibonacci(n: number): Int32Array;
|
|
13
|
+
|
|
14
|
+
export function fibonacci_nth(n: number): number;
|
|
15
|
+
|
|
16
|
+
export function insertion_sort(arr: Int32Array): Int32Array;
|
|
17
|
+
|
|
18
|
+
export function is_prime(n: number): boolean;
|
|
19
|
+
|
|
20
|
+
export function linear_search(arr: Int32Array, target: number): Int32Array;
|
|
21
|
+
|
|
22
|
+
export function merge_sort(arr: Int32Array): Int32Array;
|
|
23
|
+
|
|
24
|
+
export function quick_sort(arr: Int32Array): Int32Array;
|
|
@@ -0,0 +1,517 @@
|
|
|
1
|
+
let wasm;
|
|
2
|
+
export function __wbg_set_wasm(val) {
|
|
3
|
+
wasm = val;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
function addToExternrefTable0(obj) {
|
|
7
|
+
const idx = wasm.__externref_table_alloc();
|
|
8
|
+
wasm.__wbindgen_externrefs.set(idx, obj);
|
|
9
|
+
return idx;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function debugString(val) {
|
|
13
|
+
// primitive types
|
|
14
|
+
const type = typeof val;
|
|
15
|
+
if (type == 'number' || type == 'boolean' || val == null) {
|
|
16
|
+
return `${val}`;
|
|
17
|
+
}
|
|
18
|
+
if (type == 'string') {
|
|
19
|
+
return `"${val}"`;
|
|
20
|
+
}
|
|
21
|
+
if (type == 'symbol') {
|
|
22
|
+
const description = val.description;
|
|
23
|
+
if (description == null) {
|
|
24
|
+
return 'Symbol';
|
|
25
|
+
} else {
|
|
26
|
+
return `Symbol(${description})`;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (type == 'function') {
|
|
30
|
+
const name = val.name;
|
|
31
|
+
if (typeof name == 'string' && name.length > 0) {
|
|
32
|
+
return `Function(${name})`;
|
|
33
|
+
} else {
|
|
34
|
+
return 'Function';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// objects
|
|
38
|
+
if (Array.isArray(val)) {
|
|
39
|
+
const length = val.length;
|
|
40
|
+
let debug = '[';
|
|
41
|
+
if (length > 0) {
|
|
42
|
+
debug += debugString(val[0]);
|
|
43
|
+
}
|
|
44
|
+
for(let i = 1; i < length; i++) {
|
|
45
|
+
debug += ', ' + debugString(val[i]);
|
|
46
|
+
}
|
|
47
|
+
debug += ']';
|
|
48
|
+
return debug;
|
|
49
|
+
}
|
|
50
|
+
// Test for built-in
|
|
51
|
+
const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
|
|
52
|
+
let className;
|
|
53
|
+
if (builtInMatches && builtInMatches.length > 1) {
|
|
54
|
+
className = builtInMatches[1];
|
|
55
|
+
} else {
|
|
56
|
+
// Failed to match the standard '[object ClassName]'
|
|
57
|
+
return toString.call(val);
|
|
58
|
+
}
|
|
59
|
+
if (className == 'Object') {
|
|
60
|
+
// we're a user defined class or Object
|
|
61
|
+
// JSON.stringify avoids problems with cycles, and is generally much
|
|
62
|
+
// easier than looping through ownProperties of `val`.
|
|
63
|
+
try {
|
|
64
|
+
return 'Object(' + JSON.stringify(val) + ')';
|
|
65
|
+
} catch (_) {
|
|
66
|
+
return 'Object';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// errors
|
|
70
|
+
if (val instanceof Error) {
|
|
71
|
+
return `${val.name}: ${val.message}\n${val.stack}`;
|
|
72
|
+
}
|
|
73
|
+
// TODO we could test for more things here, like `Set`s and `Map`s.
|
|
74
|
+
return className;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function getArrayI32FromWasm0(ptr, len) {
|
|
78
|
+
ptr = ptr >>> 0;
|
|
79
|
+
return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function getArrayU8FromWasm0(ptr, len) {
|
|
83
|
+
ptr = ptr >>> 0;
|
|
84
|
+
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
let cachedDataViewMemory0 = null;
|
|
88
|
+
function getDataViewMemory0() {
|
|
89
|
+
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
|
|
90
|
+
cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
|
|
91
|
+
}
|
|
92
|
+
return cachedDataViewMemory0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
let cachedInt32ArrayMemory0 = null;
|
|
96
|
+
function getInt32ArrayMemory0() {
|
|
97
|
+
if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) {
|
|
98
|
+
cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer);
|
|
99
|
+
}
|
|
100
|
+
return cachedInt32ArrayMemory0;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function getStringFromWasm0(ptr, len) {
|
|
104
|
+
ptr = ptr >>> 0;
|
|
105
|
+
return decodeText(ptr, len);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
let cachedUint32ArrayMemory0 = null;
|
|
109
|
+
function getUint32ArrayMemory0() {
|
|
110
|
+
if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {
|
|
111
|
+
cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);
|
|
112
|
+
}
|
|
113
|
+
return cachedUint32ArrayMemory0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
let cachedUint8ArrayMemory0 = null;
|
|
117
|
+
function getUint8ArrayMemory0() {
|
|
118
|
+
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
|
|
119
|
+
cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
|
|
120
|
+
}
|
|
121
|
+
return cachedUint8ArrayMemory0;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function handleError(f, args) {
|
|
125
|
+
try {
|
|
126
|
+
return f.apply(this, args);
|
|
127
|
+
} catch (e) {
|
|
128
|
+
const idx = addToExternrefTable0(e);
|
|
129
|
+
wasm.__wbindgen_exn_store(idx);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function isLikeNone(x) {
|
|
134
|
+
return x === undefined || x === null;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function passArray32ToWasm0(arg, malloc) {
|
|
138
|
+
const ptr = malloc(arg.length * 4, 4) >>> 0;
|
|
139
|
+
getUint32ArrayMemory0().set(arg, ptr / 4);
|
|
140
|
+
WASM_VECTOR_LEN = arg.length;
|
|
141
|
+
return ptr;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function passStringToWasm0(arg, malloc, realloc) {
|
|
145
|
+
if (realloc === undefined) {
|
|
146
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
147
|
+
const ptr = malloc(buf.length, 1) >>> 0;
|
|
148
|
+
getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
|
|
149
|
+
WASM_VECTOR_LEN = buf.length;
|
|
150
|
+
return ptr;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
let len = arg.length;
|
|
154
|
+
let ptr = malloc(len, 1) >>> 0;
|
|
155
|
+
|
|
156
|
+
const mem = getUint8ArrayMemory0();
|
|
157
|
+
|
|
158
|
+
let offset = 0;
|
|
159
|
+
|
|
160
|
+
for (; offset < len; offset++) {
|
|
161
|
+
const code = arg.charCodeAt(offset);
|
|
162
|
+
if (code > 0x7F) break;
|
|
163
|
+
mem[ptr + offset] = code;
|
|
164
|
+
}
|
|
165
|
+
if (offset !== len) {
|
|
166
|
+
if (offset !== 0) {
|
|
167
|
+
arg = arg.slice(offset);
|
|
168
|
+
}
|
|
169
|
+
ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
|
|
170
|
+
const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
|
|
171
|
+
const ret = cachedTextEncoder.encodeInto(arg, view);
|
|
172
|
+
|
|
173
|
+
offset += ret.written;
|
|
174
|
+
ptr = realloc(ptr, len, offset, 1) >>> 0;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
WASM_VECTOR_LEN = offset;
|
|
178
|
+
return ptr;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
182
|
+
cachedTextDecoder.decode();
|
|
183
|
+
const MAX_SAFARI_DECODE_BYTES = 2146435072;
|
|
184
|
+
let numBytesDecoded = 0;
|
|
185
|
+
function decodeText(ptr, len) {
|
|
186
|
+
numBytesDecoded += len;
|
|
187
|
+
if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
|
|
188
|
+
cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
189
|
+
cachedTextDecoder.decode();
|
|
190
|
+
numBytesDecoded = len;
|
|
191
|
+
}
|
|
192
|
+
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
const cachedTextEncoder = new TextEncoder();
|
|
196
|
+
|
|
197
|
+
if (!('encodeInto' in cachedTextEncoder)) {
|
|
198
|
+
cachedTextEncoder.encodeInto = function (arg, view) {
|
|
199
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
200
|
+
view.set(buf);
|
|
201
|
+
return {
|
|
202
|
+
read: arg.length,
|
|
203
|
+
written: buf.length
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
let WASM_VECTOR_LEN = 0;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* @param {Int32Array} arr
|
|
212
|
+
* @param {number} target
|
|
213
|
+
* @returns {number}
|
|
214
|
+
*/
|
|
215
|
+
export function binary_search(arr, target) {
|
|
216
|
+
const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);
|
|
217
|
+
const len0 = WASM_VECTOR_LEN;
|
|
218
|
+
const ret = wasm.binary_search(ptr0, len0, target);
|
|
219
|
+
return ret;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* @param {any} graph
|
|
224
|
+
* @param {string} start
|
|
225
|
+
* @param {Function | null} [on_visit]
|
|
226
|
+
* @param {Function | null} [on_enqueue]
|
|
227
|
+
* @param {Function | null} [on_complete]
|
|
228
|
+
*/
|
|
229
|
+
export function breadth_first_search(graph, start, on_visit, on_enqueue, on_complete) {
|
|
230
|
+
const ptr0 = passStringToWasm0(start, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
231
|
+
const len0 = WASM_VECTOR_LEN;
|
|
232
|
+
wasm.breadth_first_search(graph, ptr0, len0, isLikeNone(on_visit) ? 0 : addToExternrefTable0(on_visit), isLikeNone(on_enqueue) ? 0 : addToExternrefTable0(on_enqueue), isLikeNone(on_complete) ? 0 : addToExternrefTable0(on_complete));
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* @param {Int32Array} arr
|
|
237
|
+
* @returns {Int32Array}
|
|
238
|
+
*/
|
|
239
|
+
export function bubble_sort(arr) {
|
|
240
|
+
const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);
|
|
241
|
+
const len0 = WASM_VECTOR_LEN;
|
|
242
|
+
const ret = wasm.bubble_sort(ptr0, len0);
|
|
243
|
+
var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();
|
|
244
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
245
|
+
return v2;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* @param {any} graph
|
|
250
|
+
* @param {string} start
|
|
251
|
+
* @param {Function | null} [on_enter]
|
|
252
|
+
* @param {Function | null} [on_exit]
|
|
253
|
+
*/
|
|
254
|
+
export function depth_first_search(graph, start, on_enter, on_exit) {
|
|
255
|
+
const ptr0 = passStringToWasm0(start, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
256
|
+
const len0 = WASM_VECTOR_LEN;
|
|
257
|
+
wasm.depth_first_search(graph, ptr0, len0, isLikeNone(on_enter) ? 0 : addToExternrefTable0(on_enter), isLikeNone(on_exit) ? 0 : addToExternrefTable0(on_exit));
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* @param {number} n
|
|
262
|
+
* @returns {Int32Array}
|
|
263
|
+
*/
|
|
264
|
+
export function fibonacci(n) {
|
|
265
|
+
const ret = wasm.fibonacci(n);
|
|
266
|
+
var v1 = getArrayI32FromWasm0(ret[0], ret[1]).slice();
|
|
267
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
268
|
+
return v1;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* @param {number} n
|
|
273
|
+
* @returns {number}
|
|
274
|
+
*/
|
|
275
|
+
export function fibonacci_nth(n) {
|
|
276
|
+
const ret = wasm.fibonacci_nth(n);
|
|
277
|
+
return ret;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* @param {Int32Array} arr
|
|
282
|
+
* @returns {Int32Array}
|
|
283
|
+
*/
|
|
284
|
+
export function insertion_sort(arr) {
|
|
285
|
+
const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);
|
|
286
|
+
const len0 = WASM_VECTOR_LEN;
|
|
287
|
+
const ret = wasm.insertion_sort(ptr0, len0);
|
|
288
|
+
var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();
|
|
289
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
290
|
+
return v2;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* @param {number} n
|
|
295
|
+
* @returns {boolean}
|
|
296
|
+
*/
|
|
297
|
+
export function is_prime(n) {
|
|
298
|
+
const ret = wasm.is_prime(n);
|
|
299
|
+
return ret !== 0;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* @param {Int32Array} arr
|
|
304
|
+
* @param {number} target
|
|
305
|
+
* @returns {Int32Array}
|
|
306
|
+
*/
|
|
307
|
+
export function linear_search(arr, target) {
|
|
308
|
+
const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);
|
|
309
|
+
const len0 = WASM_VECTOR_LEN;
|
|
310
|
+
const ret = wasm.linear_search(ptr0, len0, target);
|
|
311
|
+
var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();
|
|
312
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
313
|
+
return v2;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* @param {Int32Array} arr
|
|
318
|
+
* @returns {Int32Array}
|
|
319
|
+
*/
|
|
320
|
+
export function merge_sort(arr) {
|
|
321
|
+
const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);
|
|
322
|
+
const len0 = WASM_VECTOR_LEN;
|
|
323
|
+
const ret = wasm.merge_sort(ptr0, len0);
|
|
324
|
+
var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();
|
|
325
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
326
|
+
return v2;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* @param {Int32Array} arr
|
|
331
|
+
* @returns {Int32Array}
|
|
332
|
+
*/
|
|
333
|
+
export function quick_sort(arr) {
|
|
334
|
+
const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);
|
|
335
|
+
const len0 = WASM_VECTOR_LEN;
|
|
336
|
+
const ret = wasm.quick_sort(ptr0, len0);
|
|
337
|
+
var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();
|
|
338
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
339
|
+
return v2;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
export function __wbg_Error_52673b7de5a0ca89(arg0, arg1) {
|
|
343
|
+
const ret = Error(getStringFromWasm0(arg0, arg1));
|
|
344
|
+
return ret;
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
export function __wbg___wbindgen_boolean_get_dea25b33882b895b(arg0) {
|
|
348
|
+
const v = arg0;
|
|
349
|
+
const ret = typeof(v) === 'boolean' ? v : undefined;
|
|
350
|
+
return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;
|
|
351
|
+
};
|
|
352
|
+
|
|
353
|
+
export function __wbg___wbindgen_debug_string_adfb662ae34724b6(arg0, arg1) {
|
|
354
|
+
const ret = debugString(arg1);
|
|
355
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
356
|
+
const len1 = WASM_VECTOR_LEN;
|
|
357
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
358
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
359
|
+
};
|
|
360
|
+
|
|
361
|
+
export function __wbg___wbindgen_is_function_8d400b8b1af978cd(arg0) {
|
|
362
|
+
const ret = typeof(arg0) === 'function';
|
|
363
|
+
return ret;
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
export function __wbg___wbindgen_is_object_ce774f3490692386(arg0) {
|
|
367
|
+
const val = arg0;
|
|
368
|
+
const ret = typeof(val) === 'object' && val !== null;
|
|
369
|
+
return ret;
|
|
370
|
+
};
|
|
371
|
+
|
|
372
|
+
export function __wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d(arg0, arg1) {
|
|
373
|
+
const ret = arg0 == arg1;
|
|
374
|
+
return ret;
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
export function __wbg___wbindgen_number_get_9619185a74197f95(arg0, arg1) {
|
|
378
|
+
const obj = arg1;
|
|
379
|
+
const ret = typeof(obj) === 'number' ? obj : undefined;
|
|
380
|
+
getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
|
|
381
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
export function __wbg___wbindgen_string_get_a2a31e16edf96e42(arg0, arg1) {
|
|
385
|
+
const obj = arg1;
|
|
386
|
+
const ret = typeof(obj) === 'string' ? obj : undefined;
|
|
387
|
+
var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
388
|
+
var len1 = WASM_VECTOR_LEN;
|
|
389
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
390
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
391
|
+
};
|
|
392
|
+
|
|
393
|
+
export function __wbg___wbindgen_throw_dd24417ed36fc46e(arg0, arg1) {
|
|
394
|
+
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
395
|
+
};
|
|
396
|
+
|
|
397
|
+
export function __wbg_call_3020136f7a2d6e44() { return handleError(function (arg0, arg1, arg2) {
|
|
398
|
+
const ret = arg0.call(arg1, arg2);
|
|
399
|
+
return ret;
|
|
400
|
+
}, arguments) };
|
|
401
|
+
|
|
402
|
+
export function __wbg_call_abb4ff46ce38be40() { return handleError(function (arg0, arg1) {
|
|
403
|
+
const ret = arg0.call(arg1);
|
|
404
|
+
return ret;
|
|
405
|
+
}, arguments) };
|
|
406
|
+
|
|
407
|
+
export function __wbg_done_62ea16af4ce34b24(arg0) {
|
|
408
|
+
const ret = arg0.done;
|
|
409
|
+
return ret;
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
export function __wbg_entries_83c79938054e065f(arg0) {
|
|
413
|
+
const ret = Object.entries(arg0);
|
|
414
|
+
return ret;
|
|
415
|
+
};
|
|
416
|
+
|
|
417
|
+
export function __wbg_get_6b7bd52aca3f9671(arg0, arg1) {
|
|
418
|
+
const ret = arg0[arg1 >>> 0];
|
|
419
|
+
return ret;
|
|
420
|
+
};
|
|
421
|
+
|
|
422
|
+
export function __wbg_get_af9dab7e9603ea93() { return handleError(function (arg0, arg1) {
|
|
423
|
+
const ret = Reflect.get(arg0, arg1);
|
|
424
|
+
return ret;
|
|
425
|
+
}, arguments) };
|
|
426
|
+
|
|
427
|
+
export function __wbg_instanceof_ArrayBuffer_f3320d2419cd0355(arg0) {
|
|
428
|
+
let result;
|
|
429
|
+
try {
|
|
430
|
+
result = arg0 instanceof ArrayBuffer;
|
|
431
|
+
} catch (_) {
|
|
432
|
+
result = false;
|
|
433
|
+
}
|
|
434
|
+
const ret = result;
|
|
435
|
+
return ret;
|
|
436
|
+
};
|
|
437
|
+
|
|
438
|
+
export function __wbg_instanceof_Uint8Array_da54ccc9d3e09434(arg0) {
|
|
439
|
+
let result;
|
|
440
|
+
try {
|
|
441
|
+
result = arg0 instanceof Uint8Array;
|
|
442
|
+
} catch (_) {
|
|
443
|
+
result = false;
|
|
444
|
+
}
|
|
445
|
+
const ret = result;
|
|
446
|
+
return ret;
|
|
447
|
+
};
|
|
448
|
+
|
|
449
|
+
export function __wbg_isArray_51fd9e6422c0a395(arg0) {
|
|
450
|
+
const ret = Array.isArray(arg0);
|
|
451
|
+
return ret;
|
|
452
|
+
};
|
|
453
|
+
|
|
454
|
+
export function __wbg_iterator_27b7c8b35ab3e86b() {
|
|
455
|
+
const ret = Symbol.iterator;
|
|
456
|
+
return ret;
|
|
457
|
+
};
|
|
458
|
+
|
|
459
|
+
export function __wbg_length_22ac23eaec9d8053(arg0) {
|
|
460
|
+
const ret = arg0.length;
|
|
461
|
+
return ret;
|
|
462
|
+
};
|
|
463
|
+
|
|
464
|
+
export function __wbg_length_d45040a40c570362(arg0) {
|
|
465
|
+
const ret = arg0.length;
|
|
466
|
+
return ret;
|
|
467
|
+
};
|
|
468
|
+
|
|
469
|
+
export function __wbg_new_25f239778d6112b9() {
|
|
470
|
+
const ret = new Array();
|
|
471
|
+
return ret;
|
|
472
|
+
};
|
|
473
|
+
|
|
474
|
+
export function __wbg_new_6421f6084cc5bc5a(arg0) {
|
|
475
|
+
const ret = new Uint8Array(arg0);
|
|
476
|
+
return ret;
|
|
477
|
+
};
|
|
478
|
+
|
|
479
|
+
export function __wbg_next_138a17bbf04e926c(arg0) {
|
|
480
|
+
const ret = arg0.next;
|
|
481
|
+
return ret;
|
|
482
|
+
};
|
|
483
|
+
|
|
484
|
+
export function __wbg_next_3cfe5c0fe2a4cc53() { return handleError(function (arg0) {
|
|
485
|
+
const ret = arg0.next();
|
|
486
|
+
return ret;
|
|
487
|
+
}, arguments) };
|
|
488
|
+
|
|
489
|
+
export function __wbg_prototypesetcall_dfe9b766cdc1f1fd(arg0, arg1, arg2) {
|
|
490
|
+
Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
|
|
491
|
+
};
|
|
492
|
+
|
|
493
|
+
export function __wbg_push_7d9be8f38fc13975(arg0, arg1) {
|
|
494
|
+
const ret = arg0.push(arg1);
|
|
495
|
+
return ret;
|
|
496
|
+
};
|
|
497
|
+
|
|
498
|
+
export function __wbg_value_57b7b035e117f7ee(arg0) {
|
|
499
|
+
const ret = arg0.value;
|
|
500
|
+
return ret;
|
|
501
|
+
};
|
|
502
|
+
|
|
503
|
+
export function __wbindgen_cast_2241b6af4c4b2941(arg0, arg1) {
|
|
504
|
+
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
505
|
+
const ret = getStringFromWasm0(arg0, arg1);
|
|
506
|
+
return ret;
|
|
507
|
+
};
|
|
508
|
+
|
|
509
|
+
export function __wbindgen_init_externref_table() {
|
|
510
|
+
const table = wasm.__wbindgen_externrefs;
|
|
511
|
+
const offset = table.grow(4);
|
|
512
|
+
table.set(0, undefined);
|
|
513
|
+
table.set(offset + 0, undefined);
|
|
514
|
+
table.set(offset + 1, null);
|
|
515
|
+
table.set(offset + 2, true);
|
|
516
|
+
table.set(offset + 3, false);
|
|
517
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
export const memory: WebAssembly.Memory;
|
|
4
|
+
export const binary_search: (a: number, b: number, c: number) => number;
|
|
5
|
+
export const breadth_first_search: (a: any, b: number, c: number, d: number, e: number, f: number) => void;
|
|
6
|
+
export const bubble_sort: (a: number, b: number) => [number, number];
|
|
7
|
+
export const depth_first_search: (a: any, b: number, c: number, d: number, e: number) => void;
|
|
8
|
+
export const fibonacci: (a: number) => [number, number];
|
|
9
|
+
export const fibonacci_nth: (a: number) => number;
|
|
10
|
+
export const insertion_sort: (a: number, b: number) => [number, number];
|
|
11
|
+
export const is_prime: (a: number) => number;
|
|
12
|
+
export const linear_search: (a: number, b: number, c: number) => [number, number];
|
|
13
|
+
export const merge_sort: (a: number, b: number) => [number, number];
|
|
14
|
+
export const quick_sort: (a: number, b: number) => [number, number];
|
|
15
|
+
export const __wbindgen_malloc: (a: number, b: number) => number;
|
|
16
|
+
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
17
|
+
export const __wbindgen_exn_store: (a: number) => void;
|
|
18
|
+
export const __externref_table_alloc: () => number;
|
|
19
|
+
export const __wbindgen_externrefs: WebAssembly.Table;
|
|
20
|
+
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
21
|
+
export const __wbindgen_start: () => void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "algorithms",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"collaborators": [
|
|
5
|
+
"daveKontro <dkontro@hotmail.com>"
|
|
6
|
+
],
|
|
7
|
+
"version": "0.1.0",
|
|
8
|
+
"files": [
|
|
9
|
+
"algorithms_bg.wasm",
|
|
10
|
+
"algorithms.js",
|
|
11
|
+
"algorithms_bg.js",
|
|
12
|
+
"algorithms.d.ts"
|
|
13
|
+
],
|
|
14
|
+
"main": "algorithms.js",
|
|
15
|
+
"types": "algorithms.d.ts",
|
|
16
|
+
"sideEffects": [
|
|
17
|
+
"./algorithms.js",
|
|
18
|
+
"./snippets/*"
|
|
19
|
+
]
|
|
20
|
+
}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=o((exports,t)=>{let n={};n.__wbindgen_placeholder__=t.exports;function r(e){let t=R.__externref_table_alloc();return R.__wbindgen_externrefs.set(t,e),t}function i(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=i(e[0]));for(let r=1;r<t;r++)n+=`, `+i(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function a(e,t){return e>>>=0,u().subarray(e/4,e/4+t)}function o(e,t){return e>>>=0,h().subarray(e/1,e/1+t)}let s=null;function c(){return(s===null||s.buffer.detached===!0||s.buffer.detached===void 0&&s.buffer!==R.memory.buffer)&&(s=new DataView(R.memory.buffer)),s}let l=null;function u(){return(l===null||l.byteLength===0)&&(l=new Int32Array(R.memory.buffer)),l}function d(e,t){return e>>>=0,x(e,t)}let f=null;function p(){return(f===null||f.byteLength===0)&&(f=new Uint32Array(R.memory.buffer)),f}let m=null;function h(){return(m===null||m.byteLength===0)&&(m=new Uint8Array(R.memory.buffer)),m}function g(e,t){try{return e.apply(this,t)}catch(e){let t=r(e);R.__wbindgen_exn_store(t)}}function _(e){return e==null}function v(e,t){let n=t(e.length*4,4)>>>0;return p().set(e,n/4),C=e.length,n}function y(e,t,n){if(n===void 0){let n=S.encode(e),r=t(n.length,1)>>>0;return h().subarray(r,r+n.length).set(n),C=n.length,r}let r=e.length,i=t(r,1)>>>0,a=h(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=h().subarray(i+o,i+r),a=S.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return C=o,i}let b=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});b.decode();function x(e,t){return b.decode(h().subarray(e,e+t))}let S=new TextEncoder;`encodeInto`in S||(S.encodeInto=function(e,t){let n=S.encode(e);return t.set(n),{read:e.length,written:n.length}});let C=0;function w(e,t){let n=v(e,R.__wbindgen_malloc),r=C,i=R.binary_search(n,r,t);return i}exports.binary_search=w;function T(e,t,n,i,a){let o=y(t,R.__wbindgen_malloc,R.__wbindgen_realloc),s=C;R.breadth_first_search(e,o,s,_(n)?0:r(n),_(i)?0:r(i),_(a)?0:r(a))}exports.breadth_first_search=T;function E(e){let t=v(e,R.__wbindgen_malloc),n=C,r=R.bubble_sort(t,n);var i=a(r[0],r[1]).slice();return R.__wbindgen_free(r[0],r[1]*4,4),i}exports.bubble_sort=E;function D(e,t,n,i){let a=y(t,R.__wbindgen_malloc,R.__wbindgen_realloc),o=C;R.depth_first_search(e,a,o,_(n)?0:r(n),_(i)?0:r(i))}exports.depth_first_search=D;function O(e){let t=R.fibonacci(e);var n=a(t[0],t[1]).slice();return R.__wbindgen_free(t[0],t[1]*4,4),n}exports.fibonacci=O;function k(e){let t=R.fibonacci_nth(e);return t}exports.fibonacci_nth=k;function A(e){let t=v(e,R.__wbindgen_malloc),n=C,r=R.insertion_sort(t,n);var i=a(r[0],r[1]).slice();return R.__wbindgen_free(r[0],r[1]*4,4),i}exports.insertion_sort=A;function j(e){let t=R.is_prime(e);return t!==0}exports.is_prime=j;function M(e,t){let n=v(e,R.__wbindgen_malloc),r=C,i=R.linear_search(n,r,t);var o=a(i[0],i[1]).slice();return R.__wbindgen_free(i[0],i[1]*4,4),o}exports.linear_search=M;function N(e){let t=v(e,R.__wbindgen_malloc),n=C,r=R.merge_sort(t,n);var i=a(r[0],r[1]).slice();return R.__wbindgen_free(r[0],r[1]*4,4),i}exports.merge_sort=N;function P(e){let t=v(e,R.__wbindgen_malloc),n=C,r=R.quick_sort(t,n);var i=a(r[0],r[1]).slice();return R.__wbindgen_free(r[0],r[1]*4,4),i}exports.quick_sort=P,exports.__wbg_Error_52673b7de5a0ca89=function(e,t){let n=Error(d(e,t));return n},exports.__wbg___wbindgen_boolean_get_dea25b33882b895b=function(e){let t=e,n=typeof t==`boolean`?t:void 0;return _(n)?16777215:n?1:0},exports.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(e,t){let n=i(t),r=y(n,R.__wbindgen_malloc,R.__wbindgen_realloc),a=C;c().setInt32(e+4*1,a,!0),c().setInt32(e+0,r,!0)},exports.__wbg___wbindgen_is_function_8d400b8b1af978cd=function(e){let t=typeof e==`function`;return t},exports.__wbg___wbindgen_is_object_ce774f3490692386=function(e){let t=e,n=typeof t==`object`&&!!t;return n},exports.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d=function(e,t){let n=e==t;return n},exports.__wbg___wbindgen_number_get_9619185a74197f95=function(e,t){let n=t,r=typeof n==`number`?n:void 0;c().setFloat64(e+8*1,_(r)?0:r,!0),c().setInt32(e+0,!_(r),!0)},exports.__wbg___wbindgen_string_get_a2a31e16edf96e42=function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=_(r)?0:y(r,R.__wbindgen_malloc,R.__wbindgen_realloc),a=C;c().setInt32(e+4*1,a,!0),c().setInt32(e+0,i,!0)},exports.__wbg___wbindgen_throw_dd24417ed36fc46e=function(e,t){throw Error(d(e,t))},exports.__wbg_call_3020136f7a2d6e44=function(){return g(function(e,t,n){let r=e.call(t,n);return r},arguments)},exports.__wbg_call_abb4ff46ce38be40=function(){return g(function(e,t){let n=e.call(t);return n},arguments)},exports.__wbg_done_62ea16af4ce34b24=function(e){let t=e.done;return t},exports.__wbg_entries_83c79938054e065f=function(e){let t=Object.entries(e);return t},exports.__wbg_get_6b7bd52aca3f9671=function(e,t){let n=e[t>>>0];return n},exports.__wbg_get_af9dab7e9603ea93=function(){return g(function(e,t){let n=Reflect.get(e,t);return n},arguments)},exports.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355=function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}let n=t;return n},exports.__wbg_instanceof_Uint8Array_da54ccc9d3e09434=function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}let n=t;return n},exports.__wbg_isArray_51fd9e6422c0a395=function(e){let t=Array.isArray(e);return t},exports.__wbg_iterator_27b7c8b35ab3e86b=function(){let e=Symbol.iterator;return e},exports.__wbg_length_22ac23eaec9d8053=function(e){let t=e.length;return t},exports.__wbg_length_d45040a40c570362=function(e){let t=e.length;return t},exports.__wbg_new_25f239778d6112b9=function(){let e=[];return e},exports.__wbg_new_6421f6084cc5bc5a=function(e){let t=new Uint8Array(e);return t},exports.__wbg_next_138a17bbf04e926c=function(e){let t=e.next;return t},exports.__wbg_next_3cfe5c0fe2a4cc53=function(){return g(function(e){let t=e.next();return t},arguments)},exports.__wbg_prototypesetcall_dfe9b766cdc1f1fd=function(e,t,n){Uint8Array.prototype.set.call(o(e,t),n)},exports.__wbg_push_7d9be8f38fc13975=function(e,t){let n=e.push(t);return n},exports.__wbg_value_57b7b035e117f7ee=function(e){let t=e.value;return t},exports.__wbindgen_cast_2241b6af4c4b2941=function(e,t){let n=d(e,t);return n},exports.__wbindgen_init_externref_table=function(){let e=R.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)};let F=`${__dirname}/algorithms_bg.wasm`,I=require(`fs`).readFileSync(F),L=new WebAssembly.Module(I),R=exports.__wasm=new WebAssembly.Instance(L,n).exports;R.__wbindgen_start()}),u=c(l(),1);const d=e=>(0,u.fibonacci_nth)(e),f=e=>(0,u.fibonacci)(e);var p=c(l(),1);const m=e=>(0,p.is_prime)(e);var h=c(l(),1);const g=({arr:e,target:t})=>{let n=new Int32Array(e);return(0,h.linear_search)(n,t)};var _=c(l(),1);const v=({arr:e,target:t})=>{let n=new Int32Array(e);return(0,_.binary_search)(n,t)};var y=c(l(),1);const b=({arr:e})=>{let t=new Int32Array(e);return(0,y.bubble_sort)(t)};var x=c(l(),1);const S=({arr:e})=>{let t=new Int32Array(e);return(0,x.insertion_sort)(t)};var C=c(l(),1);const w=({arr:e})=>{let t=new Int32Array(e);return(0,C.merge_sort)(t)};var T=c(l(),1);const E=({arr:e})=>{let t=new Int32Array(e);return(0,T.quick_sort)(t)};var D=c(l(),1);const O=({graph:e,start:t,onVisit:n,onEnqueue:r,onComplete:i})=>{(0,D.breadth_first_search)(e,t,n,r,i)};var k=c(l(),1);const A=({graph:e,start:t,onEnter:n,onExit:r})=>{(0,k.depth_first_search)(e,t,n,r)};exports.binarySearch=v,exports.breadthFirstSearch=O,exports.bubbleSort=b,exports.depthFirstSearch=A,exports.fibonacci=f,exports.fibonacciNth=d,exports.insertionSort=S,exports.isPrime=m,exports.linearSearch=g,exports.mergeSort=w,exports.quickSort=E;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["ptr","fibonacci","n: number","n: number"],"sources":["../src/generated/node/algorithms.js","../src/node/math/fibonacci.ts","../src/node/math/isPrime.ts","../src/node/search/linearSearch.ts","../src/node/search/binarySearch.ts","../src/node/sort/bubbleSort.ts","../src/node/sort/insertionSort.ts","../src/node/sort/mergeSort.ts","../src/node/sort/quickSort.ts","../src/node/graph/breadthFirstSearch.ts","../src/node/graph/depthFirstSearch.ts"],"sourcesContent":["\nlet imports = {};\nimports['__wbindgen_placeholder__'] = module.exports;\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_externrefs.set(idx, obj);\n return idx;\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction getArrayI32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nlet cachedInt32ArrayMemory0 = null;\nfunction getInt32ArrayMemory0() {\n if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) {\n cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachedInt32ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n}\n\nlet cachedUint32ArrayMemory0 = null;\nfunction getUint32ArrayMemory0() {\n if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {\n cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32ArrayMemory0;\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction passArray32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getUint32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nfunction decodeText(ptr, len) {\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n }\n}\n\nlet WASM_VECTOR_LEN = 0;\n\n/**\n * @param {Int32Array} arr\n * @param {number} target\n * @returns {number}\n */\nfunction binary_search(arr, target) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.binary_search(ptr0, len0, target);\n return ret;\n}\nexports.binary_search = binary_search;\n\n/**\n * @param {any} graph\n * @param {string} start\n * @param {Function | null} [on_visit]\n * @param {Function | null} [on_enqueue]\n * @param {Function | null} [on_complete]\n */\nfunction breadth_first_search(graph, start, on_visit, on_enqueue, on_complete) {\n const ptr0 = passStringToWasm0(start, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.breadth_first_search(graph, ptr0, len0, isLikeNone(on_visit) ? 0 : addToExternrefTable0(on_visit), isLikeNone(on_enqueue) ? 0 : addToExternrefTable0(on_enqueue), isLikeNone(on_complete) ? 0 : addToExternrefTable0(on_complete));\n}\nexports.breadth_first_search = breadth_first_search;\n\n/**\n * @param {Int32Array} arr\n * @returns {Int32Array}\n */\nfunction bubble_sort(arr) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.bubble_sort(ptr0, len0);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.bubble_sort = bubble_sort;\n\n/**\n * @param {any} graph\n * @param {string} start\n * @param {Function | null} [on_enter]\n * @param {Function | null} [on_exit]\n */\nfunction depth_first_search(graph, start, on_enter, on_exit) {\n const ptr0 = passStringToWasm0(start, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.depth_first_search(graph, ptr0, len0, isLikeNone(on_enter) ? 0 : addToExternrefTable0(on_enter), isLikeNone(on_exit) ? 0 : addToExternrefTable0(on_exit));\n}\nexports.depth_first_search = depth_first_search;\n\n/**\n * @param {number} n\n * @returns {Int32Array}\n */\nfunction fibonacci(n) {\n const ret = wasm.fibonacci(n);\n var v1 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n}\nexports.fibonacci = fibonacci;\n\n/**\n * @param {number} n\n * @returns {number}\n */\nfunction fibonacci_nth(n) {\n const ret = wasm.fibonacci_nth(n);\n return ret;\n}\nexports.fibonacci_nth = fibonacci_nth;\n\n/**\n * @param {Int32Array} arr\n * @returns {Int32Array}\n */\nfunction insertion_sort(arr) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.insertion_sort(ptr0, len0);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.insertion_sort = insertion_sort;\n\n/**\n * @param {number} n\n * @returns {boolean}\n */\nfunction is_prime(n) {\n const ret = wasm.is_prime(n);\n return ret !== 0;\n}\nexports.is_prime = is_prime;\n\n/**\n * @param {Int32Array} arr\n * @param {number} target\n * @returns {Int32Array}\n */\nfunction linear_search(arr, target) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.linear_search(ptr0, len0, target);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.linear_search = linear_search;\n\n/**\n * @param {Int32Array} arr\n * @returns {Int32Array}\n */\nfunction merge_sort(arr) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.merge_sort(ptr0, len0);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.merge_sort = merge_sort;\n\n/**\n * @param {Int32Array} arr\n * @returns {Int32Array}\n */\nfunction quick_sort(arr) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.quick_sort(ptr0, len0);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.quick_sort = quick_sort;\n\nexports.__wbg_Error_52673b7de5a0ca89 = function(arg0, arg1) {\n const ret = Error(getStringFromWasm0(arg0, arg1));\n return ret;\n};\n\nexports.__wbg___wbindgen_boolean_get_dea25b33882b895b = function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n};\n\nexports.__wbg___wbindgen_debug_string_adfb662ae34724b6 = function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n};\n\nexports.__wbg___wbindgen_is_function_8d400b8b1af978cd = function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n};\n\nexports.__wbg___wbindgen_is_object_ce774f3490692386 = function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n};\n\nexports.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d = function(arg0, arg1) {\n const ret = arg0 == arg1;\n return ret;\n};\n\nexports.__wbg___wbindgen_number_get_9619185a74197f95 = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n};\n\nexports.__wbg___wbindgen_string_get_a2a31e16edf96e42 = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n};\n\nexports.__wbg___wbindgen_throw_dd24417ed36fc46e = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n};\n\nexports.__wbg_call_3020136f7a2d6e44 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n}, arguments) };\n\nexports.__wbg_call_abb4ff46ce38be40 = function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n}, arguments) };\n\nexports.__wbg_done_62ea16af4ce34b24 = function(arg0) {\n const ret = arg0.done;\n return ret;\n};\n\nexports.__wbg_entries_83c79938054e065f = function(arg0) {\n const ret = Object.entries(arg0);\n return ret;\n};\n\nexports.__wbg_get_6b7bd52aca3f9671 = function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n};\n\nexports.__wbg_get_af9dab7e9603ea93 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n}, arguments) };\n\nexports.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355 = function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n};\n\nexports.__wbg_instanceof_Uint8Array_da54ccc9d3e09434 = function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n};\n\nexports.__wbg_isArray_51fd9e6422c0a395 = function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n};\n\nexports.__wbg_iterator_27b7c8b35ab3e86b = function() {\n const ret = Symbol.iterator;\n return ret;\n};\n\nexports.__wbg_length_22ac23eaec9d8053 = function(arg0) {\n const ret = arg0.length;\n return ret;\n};\n\nexports.__wbg_length_d45040a40c570362 = function(arg0) {\n const ret = arg0.length;\n return ret;\n};\n\nexports.__wbg_new_25f239778d6112b9 = function() {\n const ret = new Array();\n return ret;\n};\n\nexports.__wbg_new_6421f6084cc5bc5a = function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n};\n\nexports.__wbg_next_138a17bbf04e926c = function(arg0) {\n const ret = arg0.next;\n return ret;\n};\n\nexports.__wbg_next_3cfe5c0fe2a4cc53 = function() { return handleError(function (arg0) {\n const ret = arg0.next();\n return ret;\n}, arguments) };\n\nexports.__wbg_prototypesetcall_dfe9b766cdc1f1fd = function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n};\n\nexports.__wbg_push_7d9be8f38fc13975 = function(arg0, arg1) {\n const ret = arg0.push(arg1);\n return ret;\n};\n\nexports.__wbg_value_57b7b035e117f7ee = function(arg0) {\n const ret = arg0.value;\n return ret;\n};\n\nexports.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n};\n\nexports.__wbindgen_init_externref_table = function() {\n const table = wasm.__wbindgen_externrefs;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n};\n\nconst wasmPath = `${__dirname}/algorithms_bg.wasm`;\nconst wasmBytes = require('fs').readFileSync(wasmPath);\nconst wasmModule = new WebAssembly.Module(wasmBytes);\nconst wasm = exports.__wasm = new WebAssembly.Instance(wasmModule, imports).exports;\n\nwasm.__wbindgen_start();\n","import {\n fibonacci_nth as fibonacci_nth_rs,\n fibonacci as fibonacci_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n Result,\n FibonacciSequence,\n} from '../../types'\n\nexport const fibonacciNth = (n: number): Result => {\n return fibonacci_nth_rs(n)\n}\n\nexport const fibonacci = (n: number): FibonacciSequence => {\n return fibonacci_rs(n)\n}\n","import { is_prime as is_prime_rs } from '../../generated/node/algorithms.js'\n\nexport const isPrime = (n: number): boolean => {\n return is_prime_rs(n)\n}\n","import {\n linear_search as linear_search_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n LinearSearchOptions,\n} from '../../types'\n\nexport const linearSearch = ({\n arr,\n target,\n}: LinearSearchOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return linear_search_rs(arrForRs, target)\n}\n","import {\n binary_search as binary_search_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n Result,\n BinarySearchOptions,\n} from '../../types'\n\nexport const binarySearch = ({\n arr,\n target,\n}: BinarySearchOptions): Result => {\n const arrForRs = new Int32Array(arr)\n\n return binary_search_rs(arrForRs, target)\n}\n","import {\n bubble_sort as bubble_sort_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n BubbleSortOptions,\n} from '../../types'\n\nexport const bubbleSort = ({\n arr,\n}: BubbleSortOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return bubble_sort_rs(arrForRs)\n}\n","import {\n insertion_sort as insertion_sort_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n InsertionSortOptions,\n} from '../../types'\n\nexport const insertionSort = ({\n arr,\n}: InsertionSortOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return insertion_sort_rs(arrForRs)\n}\n","import {\n merge_sort as merge_sort_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n MergeSortOptions,\n} from '../../types'\n\nexport const mergeSort = ({\n arr,\n}: MergeSortOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return merge_sort_rs(arrForRs)\n}\n","import {\n quick_sort as quick_sort_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n QuickSortOptions,\n} from '../../types'\n\nexport const quickSort = ({\n arr,\n}: QuickSortOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return quick_sort_rs(arrForRs)\n}\n","import {\n breadth_first_search as breadth_first_search_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n BFSOptions,\n} from '../../types'\n\nexport const breadthFirstSearch = ({\n graph,\n start,\n onVisit,\n onEnqueue,\n onComplete,\n}: BFSOptions): void => {\n breadth_first_search_rs(graph, start, onVisit, onEnqueue, onComplete)\n}\n","import {\n depth_first_search as depth_first_search_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n DFSOptions,\n} from '../../types'\n\nexport const depthFirstSearch = ({\n graph,\n start,\n onEnter,\n onExit,\n}: DFSOptions): void => {\n depth_first_search_rs(graph, start, onEnter, onExit)\n}\n"],"mappings":"0iBACA,IAAI,EAAU,CAAE,EAChB,EAAQ,yBAA8B,EAAO,QAE7C,SAAS,EAAqB,EAAK,CAC/B,IAAM,EAAM,EAAK,yBAAyB,CAE1C,MADA,GAAK,sBAAsB,IAAI,EAAK,EAAI,CACjC,CACV,CAED,SAAS,EAAY,EAAK,CAEtB,IAAM,SAAc,EACpB,GAAI,GAAQ,UAAY,GAAQ,WAAa,GAAO,KAChD,OAAS,EAAE,EAAI,EAEnB,GAAI,GAAQ,SACR,OAAQ,GAAG,EAAI,GAEnB,GAAI,GAAQ,SAAU,CAClB,IAAM,EAAc,EAAI,YAIpB,OAHA,GAAe,KACR,UAEC,SAAS,EAAY,EAEpC,CACD,GAAI,GAAQ,WAAY,CACpB,IAAM,EAAO,EAAI,KAIb,cAHO,GAAQ,UAAY,EAAK,OAAS,GACjC,WAAW,EAAK,GAEjB,UAEd,CAED,GAAI,MAAM,QAAQ,EAAI,CAAE,CAEpB,IADM,EAAS,EAAI,OACf,EAAQ,IACZ,AAAI,EAAS,IACT,GAAS,EAAY,EAAI,GAAG,EAEhC,IAAI,IAAI,EAAI,EAAG,EAAI,EAAQ,IACvB,GAAS,KAAO,EAAY,EAAI,GAAG,CAGvC,OADA,GAAS,IACF,CACV,CAGD,IADM,EAAiB,sBAAsB,KAAK,SAAS,KAAK,EAAI,CAAC,CACjE,EACJ,GAAI,GAAkB,EAAe,OAAS,EAC1C,EAAY,EAAe,QAG3B,MAAO,UAAS,KAAK,EAAI,CAE7B,GAAI,GAAa,SAIb,GAAI,CACA,MAAO,UAAY,KAAK,UAAU,EAAI,CAAG,GAC5C,MAAW,CACR,MAAO,QACV,CAOL,OAJI,aAAe,OACP,EAAE,EAAI,KAAK,IAAI,EAAI,QAAQ,IAAI,EAAI,MAAM,EAG9C,CACV,CAED,SAAS,EAAqB,EAAK,EAAK,CAEpC,OADA,KAAc,EACP,GAAsB,CAAC,SAAS,EAAM,EAAG,EAAM,EAAI,EAAI,AACjE,CAED,SAAS,EAAoB,EAAK,EAAK,CAEnC,OADA,KAAc,EACP,GAAsB,CAAC,SAAS,EAAM,EAAG,EAAM,EAAI,EAAI,AACjE,CAED,IAAI,EAAwB,KAC5B,SAAS,GAAqB,CAI1B,OAHI,IAA0B,MAAQ,EAAsB,OAAO,YAAa,GAAS,EAAsB,OAAO,eAAA,IAA0B,EAAsB,SAAW,EAAK,OAAO,UACzL,EAAwB,IAAI,SAAS,EAAK,OAAO,SAE9C,CACV,CAED,IAAI,EAA0B,KAC9B,SAAS,GAAuB,CAI5B,OAHI,IAA4B,MAAQ,EAAwB,aAAe,KAC3E,EAA0B,IAAI,WAAW,EAAK,OAAO,SAElD,CACV,CAED,SAAS,EAAmB,EAAK,EAAK,CAElC,OADA,KAAc,EACP,EAAW,EAAK,EAAI,AAC9B,CAED,IAAI,EAA2B,KAC/B,SAAS,GAAwB,CAI7B,OAHI,IAA6B,MAAQ,EAAyB,aAAe,KAC7E,EAA2B,IAAI,YAAY,EAAK,OAAO,SAEpD,CACV,CAED,IAAI,EAA0B,KAC9B,SAAS,GAAuB,CAI5B,OAHI,IAA4B,MAAQ,EAAwB,aAAe,KAC3E,EAA0B,IAAI,WAAW,EAAK,OAAO,SAElD,CACV,CAED,SAAS,EAAY,EAAG,EAAM,CAC1B,GAAI,CACA,MAAO,GAAE,MAAM,KAAM,EAAK,AAC7B,OAAQ,EAAG,CACR,IAAM,EAAM,EAAqB,EAAE,CACnC,EAAK,qBAAqB,EAAI,AACjC,CACJ,CAED,SAAS,EAAW,EAAG,CACnB,OAAO,GAAyB,IACnC,CAED,SAAS,EAAmB,EAAK,EAAQ,CACrC,IAAM,EAAM,EAAO,EAAI,OAAS,EAAG,EAAE,GAAK,EAG1C,MAFA,IAAuB,CAAC,IAAI,EAAK,EAAM,EAAE,CACzC,EAAkB,EAAI,OACf,CACV,CAED,SAAS,EAAkB,EAAK,EAAQ,EAAS,CAC7C,GAAI,QAAA,GAAuB,CAEvB,IADM,EAAM,EAAkB,OAAO,EAAI,CACnCA,EAAM,EAAO,EAAI,OAAQ,EAAE,GAAK,EAGtC,MAFA,IAAsB,CAAC,SAASA,EAAKA,EAAM,EAAI,OAAO,CAAC,IAAI,EAAI,CAC/D,EAAkB,EAAI,OACfA,CACV,CAOD,IALI,EAAM,EAAI,OACV,EAAM,EAAO,EAAK,EAAE,GAAK,EAEvB,EAAM,GAAsB,CAE9B,EAAS,EAEb,KAAO,EAAS,EAAK,IAAU,CAC3B,IAAM,EAAO,EAAI,WAAW,EAAO,CACnC,GAAI,EAAO,IAAM,MACjB,EAAI,EAAM,GAAU,CACvB,CACD,GAAI,IAAW,EAAK,CAIhB,AAHI,IAAW,IACX,EAAM,EAAI,MAAM,EAAO,EAE3B,EAAM,EAAQ,EAAK,EAAK,EAAM,EAAS,EAAI,OAAS,EAAG,EAAE,GAAK,EAE9D,IADM,EAAO,GAAsB,CAAC,SAAS,EAAM,EAAQ,EAAM,EAAI,CAC/D,EAAM,EAAkB,WAAW,EAAK,EAAK,CAGnD,AADA,GAAU,EAAI,QACd,EAAM,EAAQ,EAAK,EAAK,EAAQ,EAAE,GAAK,CAC1C,CAGD,OADA,EAAkB,EACX,CACV,CAED,IAAI,EAAoB,IAAI,YAAY,QAAS,CAAE,WAAW,EAAM,OAAO,CAAM,GACjF,EAAkB,QAAQ,CAC1B,SAAS,EAAW,EAAK,EAAK,CAC1B,MAAO,GAAkB,OAAO,GAAsB,CAAC,SAAS,EAAK,EAAM,EAAI,CAAC,AACnF,CAED,IAAM,EAAoB,IAAI,YAE9B,AAAM,eAAgB,IAClB,EAAkB,WAAa,SAAU,EAAK,EAAM,CAChD,IAAM,EAAM,EAAkB,OAAO,EAAI,CAEzC,MADA,GAAK,IAAI,EAAI,CACN,CACH,KAAM,EAAI,OACV,QAAS,EAAI,MAChB,CACJ,GAGL,IAAI,EAAkB,EAOtB,SAAS,EAAc,EAAK,EAAQ,CAGhC,IAFM,EAAO,EAAmB,EAAK,EAAK,kBAAkB,CACtD,EAAO,EACP,EAAM,EAAK,cAAc,EAAM,EAAM,EAAO,CAClD,OAAO,CACV,CACD,QAAQ,cAAgB,EASxB,SAAS,EAAqB,EAAO,EAAO,EAAU,EAAY,EAAa,CAE3E,IADM,EAAO,EAAkB,EAAO,EAAK,kBAAmB,EAAK,mBAAmB,CAChF,EAAO,EACb,EAAK,qBAAqB,EAAO,EAAM,EAAM,EAAW,EAAS,CAAG,EAAI,EAAqB,EAAS,CAAE,EAAW,EAAW,CAAG,EAAI,EAAqB,EAAW,CAAE,EAAW,EAAY,CAAG,EAAI,EAAqB,EAAY,CAAC,AAC1O,CACD,QAAQ,qBAAuB,EAM/B,SAAS,EAAY,EAAK,CAGtB,IAFM,EAAO,EAAmB,EAAK,EAAK,kBAAkB,CACtD,EAAO,EACP,EAAM,EAAK,YAAY,EAAM,EAAK,CACxC,IAAI,EAAK,EAAqB,EAAI,GAAI,EAAI,GAAG,CAAC,OAAO,CAErD,MADA,GAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,EAAE,CACpC,CACV,CACD,QAAQ,YAAc,EAQtB,SAAS,EAAmB,EAAO,EAAO,EAAU,EAAS,CAEzD,IADM,EAAO,EAAkB,EAAO,EAAK,kBAAmB,EAAK,mBAAmB,CAChF,EAAO,EACb,EAAK,mBAAmB,EAAO,EAAM,EAAM,EAAW,EAAS,CAAG,EAAI,EAAqB,EAAS,CAAE,EAAW,EAAQ,CAAG,EAAI,EAAqB,EAAQ,CAAC,AACjK,CACD,QAAQ,mBAAqB,EAM7B,SAASC,EAAU,EAAG,CAClB,IAAM,EAAM,EAAK,UAAU,EAAE,CAC7B,IAAI,EAAK,EAAqB,EAAI,GAAI,EAAI,GAAG,CAAC,OAAO,CAErD,MADA,GAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,EAAE,CACpC,CACV,CACD,QAAQ,UAAYA,EAMpB,SAAS,EAAc,EAAG,CACtB,IAAM,EAAM,EAAK,cAAc,EAAE,CACjC,OAAO,CACV,CACD,QAAQ,cAAgB,EAMxB,SAAS,EAAe,EAAK,CAGzB,IAFM,EAAO,EAAmB,EAAK,EAAK,kBAAkB,CACtD,EAAO,EACP,EAAM,EAAK,eAAe,EAAM,EAAK,CAC3C,IAAI,EAAK,EAAqB,EAAI,GAAI,EAAI,GAAG,CAAC,OAAO,CAErD,MADA,GAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,EAAE,CACpC,CACV,CACD,QAAQ,eAAiB,EAMzB,SAAS,EAAS,EAAG,CACjB,IAAM,EAAM,EAAK,SAAS,EAAE,CAC5B,OAAO,IAAQ,CAClB,CACD,QAAQ,SAAW,EAOnB,SAAS,EAAc,EAAK,EAAQ,CAGhC,IAFM,EAAO,EAAmB,EAAK,EAAK,kBAAkB,CACtD,EAAO,EACP,EAAM,EAAK,cAAc,EAAM,EAAM,EAAO,CAClD,IAAI,EAAK,EAAqB,EAAI,GAAI,EAAI,GAAG,CAAC,OAAO,CAErD,MADA,GAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,EAAE,CACpC,CACV,CACD,QAAQ,cAAgB,EAMxB,SAAS,EAAW,EAAK,CAGrB,IAFM,EAAO,EAAmB,EAAK,EAAK,kBAAkB,CACtD,EAAO,EACP,EAAM,EAAK,WAAW,EAAM,EAAK,CACvC,IAAI,EAAK,EAAqB,EAAI,GAAI,EAAI,GAAG,CAAC,OAAO,CAErD,MADA,GAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,EAAE,CACpC,CACV,CACD,QAAQ,WAAa,EAMrB,SAAS,EAAW,EAAK,CAGrB,IAFM,EAAO,EAAmB,EAAK,EAAK,kBAAkB,CACtD,EAAO,EACP,EAAM,EAAK,WAAW,EAAM,EAAK,CACvC,IAAI,EAAK,EAAqB,EAAI,GAAI,EAAI,GAAG,CAAC,OAAO,CAErD,MADA,GAAK,gBAAgB,EAAI,GAAI,EAAI,GAAK,EAAG,EAAE,CACpC,CACV,CA0KD,AAzKA,QAAQ,WAAa,EAErB,QAAQ,6BAA+B,SAAS,EAAM,EAAM,CACxD,IAAM,EAAM,MAAM,EAAmB,EAAM,EAAK,CAAC,CACjD,OAAO,CACV,EAED,QAAQ,8CAAgD,SAAS,EAAM,CAEnE,IADM,EAAI,EACJ,SAAa,GAAO,UAAY,MAAA,GACtC,MAAO,GAAW,EAAI,CAAG,SAAW,EAAM,EAAI,CACjD,EAED,QAAQ,+CAAiD,SAAS,EAAM,EAAM,CAG1E,IAFM,EAAM,EAAY,EAAK,CACvB,EAAO,EAAkB,EAAK,EAAK,kBAAmB,EAAK,mBAAmB,CAC9E,EAAO,EAEb,AADA,GAAoB,CAAC,SAAS,EAAO,EAAI,EAAG,GAAM,EAAK,CACvD,GAAoB,CAAC,SAAS,EAAO,EAAO,GAAM,EAAK,AAC1D,EAED,QAAQ,8CAAgD,SAAS,EAAM,CACnE,IAAM,SAAa,GAAU,WAC7B,OAAO,CACV,EAED,QAAQ,4CAA8C,SAAS,EAAM,CAEjE,IADM,EAAM,EACN,SAAa,GAAS,YAAY,EACxC,OAAO,CACV,EAED,QAAQ,iDAAmD,SAAS,EAAM,EAAM,CAC5E,IAAM,EAAM,GAAQ,EACpB,OAAO,CACV,EAED,QAAQ,6CAA+C,SAAS,EAAM,EAAM,CAExE,IADM,EAAM,EACN,SAAa,GAAS,SAAW,MAAA,GAEvC,AADA,GAAoB,CAAC,WAAW,EAAO,EAAI,EAAG,EAAW,EAAI,CAAG,EAAI,GAAK,EAAK,CAC9E,GAAoB,CAAC,SAAS,EAAO,GAAQ,EAAW,EAAI,EAAE,EAAK,AACtE,EAED,QAAQ,6CAA+C,SAAS,EAAM,EAAM,CAExE,IADM,EAAM,EACN,SAAa,GAAS,SAAW,MAAA,GAEvC,IADI,EAAO,EAAW,EAAI,CAAG,EAAI,EAAkB,EAAK,EAAK,kBAAmB,EAAK,mBAAmB,CACpG,EAAO,EAEX,AADA,GAAoB,CAAC,SAAS,EAAO,EAAI,EAAG,GAAM,EAAK,CACvD,GAAoB,CAAC,SAAS,EAAO,EAAO,GAAM,EAAK,AAC1D,EAED,QAAQ,wCAA0C,SAAS,EAAM,EAAM,CACnE,KAAM,CAAI,MAAM,EAAmB,EAAM,EAAK,CAAA,AACjD,EAED,QAAQ,4BAA8B,UAAW,CAAE,MAAO,GAAY,SAAU,EAAM,EAAM,EAAM,CAC9F,IAAM,EAAM,EAAK,KAAK,EAAM,EAAK,CACjC,OAAO,CACV,EAAE,UAAU,AAAE,EAEf,QAAQ,4BAA8B,UAAW,CAAE,MAAO,GAAY,SAAU,EAAM,EAAM,CACxF,IAAM,EAAM,EAAK,KAAK,EAAK,CAC3B,OAAO,CACV,EAAE,UAAU,AAAE,EAEf,QAAQ,4BAA8B,SAAS,EAAM,CACjD,IAAM,EAAM,EAAK,KACjB,OAAO,CACV,EAED,QAAQ,+BAAiC,SAAS,EAAM,CACpD,IAAM,EAAM,OAAO,QAAQ,EAAK,CAChC,OAAO,CACV,EAED,QAAQ,2BAA6B,SAAS,EAAM,EAAM,CACtD,IAAM,EAAM,EAAK,IAAS,GAC1B,OAAO,CACV,EAED,QAAQ,2BAA6B,UAAW,CAAE,MAAO,GAAY,SAAU,EAAM,EAAM,CACvF,IAAM,EAAM,QAAQ,IAAI,EAAM,EAAK,CACnC,OAAO,CACV,EAAE,UAAU,AAAE,EAEf,QAAQ,8CAAgD,SAAS,EAAM,CACnE,IAAI,EACJ,GAAI,CACA,EAAS,aAAgB,WAC5B,MAAW,CACR,GAAS,CACZ,CACD,IAAM,EAAM,EACZ,OAAO,CACV,EAED,QAAQ,6CAA+C,SAAS,EAAM,CAClE,IAAI,EACJ,GAAI,CACA,EAAS,aAAgB,UAC5B,MAAW,CACR,GAAS,CACZ,CACD,IAAM,EAAM,EACZ,OAAO,CACV,EAED,QAAQ,+BAAiC,SAAS,EAAM,CACpD,IAAM,EAAM,MAAM,QAAQ,EAAK,CAC/B,OAAO,CACV,EAED,QAAQ,gCAAkC,UAAW,CACjD,IAAM,EAAM,OAAO,SACnB,OAAO,CACV,EAED,QAAQ,8BAAgC,SAAS,EAAM,CACnD,IAAM,EAAM,EAAK,OACjB,OAAO,CACV,EAED,QAAQ,8BAAgC,SAAS,EAAM,CACnD,IAAM,EAAM,EAAK,OACjB,OAAO,CACV,EAED,QAAQ,2BAA6B,UAAW,CAC5C,IAAM,EAAM,CAAI,EAChB,OAAO,CACV,EAED,QAAQ,2BAA6B,SAAS,EAAM,CAChD,IAAM,EAAM,IAAI,WAAW,GAC3B,OAAO,CACV,EAED,QAAQ,4BAA8B,SAAS,EAAM,CACjD,IAAM,EAAM,EAAK,KACjB,OAAO,CACV,EAED,QAAQ,4BAA8B,UAAW,CAAE,MAAO,GAAY,SAAU,EAAM,CAClF,IAAM,EAAM,EAAK,MAAM,CACvB,OAAO,CACV,EAAE,UAAU,AAAE,EAEf,QAAQ,wCAA0C,SAAS,EAAM,EAAM,EAAM,CACzE,WAAW,UAAU,IAAI,KAAK,EAAoB,EAAM,EAAK,CAAE,EAAK,AACvE,EAED,QAAQ,4BAA8B,SAAS,EAAM,EAAM,CACvD,IAAM,EAAM,EAAK,KAAK,EAAK,CAC3B,OAAO,CACV,EAED,QAAQ,6BAA+B,SAAS,EAAM,CAClD,IAAM,EAAM,EAAK,MACjB,OAAO,CACV,EAED,QAAQ,iCAAmC,SAAS,EAAM,EAAM,CAE5D,IAAM,EAAM,EAAmB,EAAM,EAAK,CAC1C,OAAO,CACV,EAED,QAAQ,gCAAkC,UAAW,CAEjD,IADM,EAAQ,EAAK,sBACb,EAAS,EAAM,KAAK,EAAE,CAK5B,AAJA,EAAM,IAAI,MAAA,GAAa,CACvB,EAAM,IAAI,EAAS,MAAA,GAAa,CAChC,EAAM,IAAI,EAAS,EAAG,KAAK,CAC3B,EAAM,IAAI,EAAS,GAAG,EAAK,CAC3B,EAAM,IAAI,EAAS,GAAG,EAAM,AAC/B,EAKD,IAHM,GAAY,EAAE,UAAU,qBACxB,EAAY,QAAQ,KAAK,CAAC,aAAa,EAAS,CAChD,EAAa,IAAI,YAAY,OAAO,GACpC,EAAO,QAAQ,OAAS,IAAI,YAAY,SAAS,EAAY,GAAS,QAE5E,EAAK,kBAAkB,cChgBvB,MAJa,EAAe,AAACE,GACpB,CAAA,EAAA,EAAA,eAAiB,EAAE,CAGf,EAAY,AAACA,GACjB,CAAA,EAAA,EAAA,WAAa,EAAE,gBCZxB,MAAa,EAAU,AAACA,GACf,CAAA,EAAA,EAAA,UAAY,EAAE,gBCKvB,MAAa,EAAe,CAAC,CAC3B,MACA,SACoB,GAAkB,CACtC,IAAM,EAAW,IAAI,WAAW,GAEhC,MAAO,CAAA,EAAA,EAAA,eAAiB,EAAU,EAAO,AAC1C,iBCPD,MAAa,EAAe,CAAC,CAC3B,MACA,SACoB,GAAa,CACjC,IAAM,EAAW,IAAI,WAAW,GAEhC,MAAO,CAAA,EAAA,EAAA,eAAiB,EAAU,EAAO,AAC1C,iBCPD,MAAa,EAAa,CAAC,CACzB,MACkB,GAAkB,CACpC,IAAM,EAAW,IAAI,WAAW,GAEhC,MAAO,CAAA,EAAA,EAAA,aAAe,EAAS,AAChC,iBCND,MAAa,EAAgB,CAAC,CAC5B,MACqB,GAAkB,CACvC,IAAM,EAAW,IAAI,WAAW,GAEhC,MAAO,CAAA,EAAA,EAAA,gBAAkB,EAAS,AACnC,iBCND,MAAa,EAAY,CAAC,CACxB,MACiB,GAAkB,CACnC,IAAM,EAAW,IAAI,WAAW,GAEhC,MAAO,CAAA,EAAA,EAAA,YAAc,EAAS,AAC/B,iBCND,MAAa,EAAY,CAAC,CACxB,MACiB,GAAkB,CACnC,IAAM,EAAW,IAAI,WAAW,GAEhC,MAAO,CAAA,EAAA,EAAA,YAAc,EAAS,AAC/B,iBCPD,MAAa,EAAqB,CAAC,CACjC,QACA,QACA,UACA,YACA,aACW,GAAW,CACtB,CAAA,EAAA,EAAA,sBAAwB,EAAO,EAAO,EAAS,EAAW,EAAW,AACtE,iBCRD,MAAa,EAAmB,CAAC,CAC/B,QACA,QACA,UACA,SACW,GAAW,CACtB,CAAA,EAAA,EAAA,oBAAsB,EAAO,EAAO,EAAS,EAAO,AACrD"}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
//#region src/types/types.d.ts
|
|
2
|
+
type Result = number;
|
|
3
|
+
type ResultArray = Int32Array<ArrayBufferLike>;
|
|
4
|
+
type FibonacciSequence = Int32Array<ArrayBufferLike>;
|
|
5
|
+
type SearchArray = number[];
|
|
6
|
+
type SearchTarget = number;
|
|
7
|
+
type SortArray = number[];
|
|
8
|
+
type Graph = Record<string, string[]>;
|
|
9
|
+
type GraphNode = string;
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/types/interfaces.d.ts
|
|
12
|
+
interface LinearSearchOptions {
|
|
13
|
+
arr: SearchArray;
|
|
14
|
+
target: SearchTarget;
|
|
15
|
+
}
|
|
16
|
+
interface BinarySearchOptions {
|
|
17
|
+
arr: SearchArray;
|
|
18
|
+
target: SearchTarget;
|
|
19
|
+
}
|
|
20
|
+
interface BubbleSortOptions {
|
|
21
|
+
arr: SortArray;
|
|
22
|
+
}
|
|
23
|
+
interface MergeSortOptions {
|
|
24
|
+
arr: SortArray;
|
|
25
|
+
}
|
|
26
|
+
interface InsertionSortOptions {
|
|
27
|
+
arr: SortArray;
|
|
28
|
+
}
|
|
29
|
+
interface QuickSortOptions {
|
|
30
|
+
arr: SortArray;
|
|
31
|
+
}
|
|
32
|
+
interface BFSOptions {
|
|
33
|
+
graph: Graph;
|
|
34
|
+
start: GraphNode;
|
|
35
|
+
onVisit?: (node: GraphNode) => void;
|
|
36
|
+
onEnqueue?: (node: GraphNode) => void;
|
|
37
|
+
onComplete?: (order: GraphNode[]) => void;
|
|
38
|
+
}
|
|
39
|
+
interface DFSOptions {
|
|
40
|
+
graph: Graph;
|
|
41
|
+
start: GraphNode;
|
|
42
|
+
onEnter?: (node: GraphNode) => void;
|
|
43
|
+
onExit?: (node: GraphNode) => void;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/node/math/fibonacci.d.ts
|
|
47
|
+
declare const fibonacciNth: (n: number) => Result;
|
|
48
|
+
declare const fibonacci: (n: number) => FibonacciSequence;
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region src/node/math/isPrime.d.ts
|
|
51
|
+
declare const isPrime: (n: number) => boolean;
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/node/search/linearSearch.d.ts
|
|
54
|
+
declare const linearSearch: ({
|
|
55
|
+
arr,
|
|
56
|
+
target
|
|
57
|
+
}: LinearSearchOptions) => ResultArray;
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/node/search/binarySearch.d.ts
|
|
60
|
+
declare const binarySearch: ({
|
|
61
|
+
arr,
|
|
62
|
+
target
|
|
63
|
+
}: BinarySearchOptions) => Result;
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region src/node/sort/bubbleSort.d.ts
|
|
66
|
+
declare const bubbleSort: ({
|
|
67
|
+
arr
|
|
68
|
+
}: BubbleSortOptions) => ResultArray;
|
|
69
|
+
//#endregion
|
|
70
|
+
//#region src/node/sort/insertionSort.d.ts
|
|
71
|
+
declare const insertionSort: ({
|
|
72
|
+
arr
|
|
73
|
+
}: InsertionSortOptions) => ResultArray;
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region src/node/sort/mergeSort.d.ts
|
|
76
|
+
declare const mergeSort: ({
|
|
77
|
+
arr
|
|
78
|
+
}: MergeSortOptions) => ResultArray;
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/node/sort/quickSort.d.ts
|
|
81
|
+
declare const quickSort: ({
|
|
82
|
+
arr
|
|
83
|
+
}: QuickSortOptions) => ResultArray;
|
|
84
|
+
//#endregion
|
|
85
|
+
//#region src/node/graph/breadthFirstSearch.d.ts
|
|
86
|
+
declare const breadthFirstSearch: ({
|
|
87
|
+
graph,
|
|
88
|
+
start,
|
|
89
|
+
onVisit,
|
|
90
|
+
onEnqueue,
|
|
91
|
+
onComplete
|
|
92
|
+
}: BFSOptions) => void;
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/node/graph/depthFirstSearch.d.ts
|
|
95
|
+
declare const depthFirstSearch: ({
|
|
96
|
+
graph,
|
|
97
|
+
start,
|
|
98
|
+
onEnter,
|
|
99
|
+
onExit
|
|
100
|
+
}: DFSOptions) => void;
|
|
101
|
+
//#endregion
|
|
102
|
+
export { type BFSOptions, type BinarySearchOptions, type BubbleSortOptions, type DFSOptions, type FibonacciSequence, type Graph, type GraphNode, type InsertionSortOptions, type LinearSearchOptions, type MergeSortOptions, type QuickSortOptions, type Result, type ResultArray, type SearchArray, type SearchTarget, type SortArray, binarySearch, breadthFirstSearch, bubbleSort, depthFirstSearch, fibonacci, fibonacciNth, insertionSort, isPrime, linearSearch, mergeSort, quickSort };
|
|
103
|
+
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
//#region src/types/types.d.ts
|
|
2
|
+
type Result = number;
|
|
3
|
+
type ResultArray = Int32Array<ArrayBufferLike>;
|
|
4
|
+
type FibonacciSequence = Int32Array<ArrayBufferLike>;
|
|
5
|
+
type SearchArray = number[];
|
|
6
|
+
type SearchTarget = number;
|
|
7
|
+
type SortArray = number[];
|
|
8
|
+
type Graph = Record<string, string[]>;
|
|
9
|
+
type GraphNode = string;
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/types/interfaces.d.ts
|
|
12
|
+
interface LinearSearchOptions {
|
|
13
|
+
arr: SearchArray;
|
|
14
|
+
target: SearchTarget;
|
|
15
|
+
}
|
|
16
|
+
interface BinarySearchOptions {
|
|
17
|
+
arr: SearchArray;
|
|
18
|
+
target: SearchTarget;
|
|
19
|
+
}
|
|
20
|
+
interface BubbleSortOptions {
|
|
21
|
+
arr: SortArray;
|
|
22
|
+
}
|
|
23
|
+
interface MergeSortOptions {
|
|
24
|
+
arr: SortArray;
|
|
25
|
+
}
|
|
26
|
+
interface InsertionSortOptions {
|
|
27
|
+
arr: SortArray;
|
|
28
|
+
}
|
|
29
|
+
interface QuickSortOptions {
|
|
30
|
+
arr: SortArray;
|
|
31
|
+
}
|
|
32
|
+
interface BFSOptions {
|
|
33
|
+
graph: Graph;
|
|
34
|
+
start: GraphNode;
|
|
35
|
+
onVisit?: (node: GraphNode) => void;
|
|
36
|
+
onEnqueue?: (node: GraphNode) => void;
|
|
37
|
+
onComplete?: (order: GraphNode[]) => void;
|
|
38
|
+
}
|
|
39
|
+
interface DFSOptions {
|
|
40
|
+
graph: Graph;
|
|
41
|
+
start: GraphNode;
|
|
42
|
+
onEnter?: (node: GraphNode) => void;
|
|
43
|
+
onExit?: (node: GraphNode) => void;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/node/math/fibonacci.d.ts
|
|
47
|
+
declare const fibonacciNth: (n: number) => Result;
|
|
48
|
+
declare const fibonacci: (n: number) => FibonacciSequence;
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region src/node/math/isPrime.d.ts
|
|
51
|
+
declare const isPrime: (n: number) => boolean;
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/node/search/linearSearch.d.ts
|
|
54
|
+
declare const linearSearch: ({
|
|
55
|
+
arr,
|
|
56
|
+
target
|
|
57
|
+
}: LinearSearchOptions) => ResultArray;
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/node/search/binarySearch.d.ts
|
|
60
|
+
declare const binarySearch: ({
|
|
61
|
+
arr,
|
|
62
|
+
target
|
|
63
|
+
}: BinarySearchOptions) => Result;
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region src/node/sort/bubbleSort.d.ts
|
|
66
|
+
declare const bubbleSort: ({
|
|
67
|
+
arr
|
|
68
|
+
}: BubbleSortOptions) => ResultArray;
|
|
69
|
+
//#endregion
|
|
70
|
+
//#region src/node/sort/insertionSort.d.ts
|
|
71
|
+
declare const insertionSort: ({
|
|
72
|
+
arr
|
|
73
|
+
}: InsertionSortOptions) => ResultArray;
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region src/node/sort/mergeSort.d.ts
|
|
76
|
+
declare const mergeSort: ({
|
|
77
|
+
arr
|
|
78
|
+
}: MergeSortOptions) => ResultArray;
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/node/sort/quickSort.d.ts
|
|
81
|
+
declare const quickSort: ({
|
|
82
|
+
arr
|
|
83
|
+
}: QuickSortOptions) => ResultArray;
|
|
84
|
+
//#endregion
|
|
85
|
+
//#region src/node/graph/breadthFirstSearch.d.ts
|
|
86
|
+
declare const breadthFirstSearch: ({
|
|
87
|
+
graph,
|
|
88
|
+
start,
|
|
89
|
+
onVisit,
|
|
90
|
+
onEnqueue,
|
|
91
|
+
onComplete
|
|
92
|
+
}: BFSOptions) => void;
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/node/graph/depthFirstSearch.d.ts
|
|
95
|
+
declare const depthFirstSearch: ({
|
|
96
|
+
graph,
|
|
97
|
+
start,
|
|
98
|
+
onEnter,
|
|
99
|
+
onExit
|
|
100
|
+
}: DFSOptions) => void;
|
|
101
|
+
//#endregion
|
|
102
|
+
export { type BFSOptions, type BinarySearchOptions, type BubbleSortOptions, type DFSOptions, type FibonacciSequence, type Graph, type GraphNode, type InsertionSortOptions, type LinearSearchOptions, type MergeSortOptions, type QuickSortOptions, type Result, type ResultArray, type SearchArray, type SearchTarget, type SortArray, binarySearch, breadthFirstSearch, bubbleSort, depthFirstSearch, fibonacci, fibonacciNth, insertionSort, isPrime, linearSearch, mergeSort, quickSort };
|
|
103
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as e}from"node:module";var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),u=e(import.meta.url),d=s((exports,t)=>{let n={};n.__wbindgen_placeholder__=t.exports;function r(e){let t=z.__externref_table_alloc();return z.__wbindgen_externrefs.set(t,e),t}function i(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=i(e[0]));for(let r=1;r<t;r++)n+=`, `+i(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function a(e,t){return e>>>=0,d().subarray(e/4,e/4+t)}function o(e,t){return e>>>=0,g().subarray(e/1,e/1+t)}let s=null;function c(){return(s===null||s.buffer.detached===!0||s.buffer.detached===void 0&&s.buffer!==z.memory.buffer)&&(s=new DataView(z.memory.buffer)),s}let l=null;function d(){return(l===null||l.byteLength===0)&&(l=new Int32Array(z.memory.buffer)),l}function f(e,t){return e>>>=0,S(e,t)}let p=null;function m(){return(p===null||p.byteLength===0)&&(p=new Uint32Array(z.memory.buffer)),p}let h=null;function g(){return(h===null||h.byteLength===0)&&(h=new Uint8Array(z.memory.buffer)),h}function _(e,t){try{return e.apply(this,t)}catch(e){let t=r(e);z.__wbindgen_exn_store(t)}}function v(e){return e==null}function y(e,t){let n=t(e.length*4,4)>>>0;return m().set(e,n/4),w=e.length,n}function b(e,t,n){if(n===void 0){let n=C.encode(e),r=t(n.length,1)>>>0;return g().subarray(r,r+n.length).set(n),w=n.length,r}let r=e.length,i=t(r,1)>>>0,a=g(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=g().subarray(i+o,i+r),a=C.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return w=o,i}let x=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});x.decode();function S(e,t){return x.decode(g().subarray(e,e+t))}let C=new TextEncoder;`encodeInto`in C||(C.encodeInto=function(e,t){let n=C.encode(e);return t.set(n),{read:e.length,written:n.length}});let w=0;function T(e,t){let n=y(e,z.__wbindgen_malloc),r=w,i=z.binary_search(n,r,t);return i}exports.binary_search=T;function E(e,t,n,i,a){let o=b(t,z.__wbindgen_malloc,z.__wbindgen_realloc),s=w;z.breadth_first_search(e,o,s,v(n)?0:r(n),v(i)?0:r(i),v(a)?0:r(a))}exports.breadth_first_search=E;function D(e){let t=y(e,z.__wbindgen_malloc),n=w,r=z.bubble_sort(t,n);var i=a(r[0],r[1]).slice();return z.__wbindgen_free(r[0],r[1]*4,4),i}exports.bubble_sort=D;function O(e,t,n,i){let a=b(t,z.__wbindgen_malloc,z.__wbindgen_realloc),o=w;z.depth_first_search(e,a,o,v(n)?0:r(n),v(i)?0:r(i))}exports.depth_first_search=O;function k(e){let t=z.fibonacci(e);var n=a(t[0],t[1]).slice();return z.__wbindgen_free(t[0],t[1]*4,4),n}exports.fibonacci=k;function A(e){let t=z.fibonacci_nth(e);return t}exports.fibonacci_nth=A;function j(e){let t=y(e,z.__wbindgen_malloc),n=w,r=z.insertion_sort(t,n);var i=a(r[0],r[1]).slice();return z.__wbindgen_free(r[0],r[1]*4,4),i}exports.insertion_sort=j;function M(e){let t=z.is_prime(e);return t!==0}exports.is_prime=M;function N(e,t){let n=y(e,z.__wbindgen_malloc),r=w,i=z.linear_search(n,r,t);var o=a(i[0],i[1]).slice();return z.__wbindgen_free(i[0],i[1]*4,4),o}exports.linear_search=N;function P(e){let t=y(e,z.__wbindgen_malloc),n=w,r=z.merge_sort(t,n);var i=a(r[0],r[1]).slice();return z.__wbindgen_free(r[0],r[1]*4,4),i}exports.merge_sort=P;function F(e){let t=y(e,z.__wbindgen_malloc),n=w,r=z.quick_sort(t,n);var i=a(r[0],r[1]).slice();return z.__wbindgen_free(r[0],r[1]*4,4),i}exports.quick_sort=F,exports.__wbg_Error_52673b7de5a0ca89=function(e,t){let n=Error(f(e,t));return n},exports.__wbg___wbindgen_boolean_get_dea25b33882b895b=function(e){let t=e,n=typeof t==`boolean`?t:void 0;return v(n)?16777215:n?1:0},exports.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(e,t){let n=i(t),r=b(n,z.__wbindgen_malloc,z.__wbindgen_realloc),a=w;c().setInt32(e+4*1,a,!0),c().setInt32(e+0,r,!0)},exports.__wbg___wbindgen_is_function_8d400b8b1af978cd=function(e){let t=typeof e==`function`;return t},exports.__wbg___wbindgen_is_object_ce774f3490692386=function(e){let t=e,n=typeof t==`object`&&!!t;return n},exports.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d=function(e,t){let n=e==t;return n},exports.__wbg___wbindgen_number_get_9619185a74197f95=function(e,t){let n=t,r=typeof n==`number`?n:void 0;c().setFloat64(e+8*1,v(r)?0:r,!0),c().setInt32(e+0,!v(r),!0)},exports.__wbg___wbindgen_string_get_a2a31e16edf96e42=function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=v(r)?0:b(r,z.__wbindgen_malloc,z.__wbindgen_realloc),a=w;c().setInt32(e+4*1,a,!0),c().setInt32(e+0,i,!0)},exports.__wbg___wbindgen_throw_dd24417ed36fc46e=function(e,t){throw Error(f(e,t))},exports.__wbg_call_3020136f7a2d6e44=function(){return _(function(e,t,n){let r=e.call(t,n);return r},arguments)},exports.__wbg_call_abb4ff46ce38be40=function(){return _(function(e,t){let n=e.call(t);return n},arguments)},exports.__wbg_done_62ea16af4ce34b24=function(e){let t=e.done;return t},exports.__wbg_entries_83c79938054e065f=function(e){let t=Object.entries(e);return t},exports.__wbg_get_6b7bd52aca3f9671=function(e,t){let n=e[t>>>0];return n},exports.__wbg_get_af9dab7e9603ea93=function(){return _(function(e,t){let n=Reflect.get(e,t);return n},arguments)},exports.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355=function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}let n=t;return n},exports.__wbg_instanceof_Uint8Array_da54ccc9d3e09434=function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}let n=t;return n},exports.__wbg_isArray_51fd9e6422c0a395=function(e){let t=Array.isArray(e);return t},exports.__wbg_iterator_27b7c8b35ab3e86b=function(){let e=Symbol.iterator;return e},exports.__wbg_length_22ac23eaec9d8053=function(e){let t=e.length;return t},exports.__wbg_length_d45040a40c570362=function(e){let t=e.length;return t},exports.__wbg_new_25f239778d6112b9=function(){let e=[];return e},exports.__wbg_new_6421f6084cc5bc5a=function(e){let t=new Uint8Array(e);return t},exports.__wbg_next_138a17bbf04e926c=function(e){let t=e.next;return t},exports.__wbg_next_3cfe5c0fe2a4cc53=function(){return _(function(e){let t=e.next();return t},arguments)},exports.__wbg_prototypesetcall_dfe9b766cdc1f1fd=function(e,t,n){Uint8Array.prototype.set.call(o(e,t),n)},exports.__wbg_push_7d9be8f38fc13975=function(e,t){let n=e.push(t);return n},exports.__wbg_value_57b7b035e117f7ee=function(e){let t=e.value;return t},exports.__wbindgen_cast_2241b6af4c4b2941=function(e,t){let n=f(e,t);return n},exports.__wbindgen_init_externref_table=function(){let e=z.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)};let I=`${__dirname}/algorithms_bg.wasm`,L=u(`fs`).readFileSync(I),R=new WebAssembly.Module(L),z=exports.__wasm=new WebAssembly.Instance(R,n).exports;z.__wbindgen_start()}),f=l(d());const p=e=>(0,f.fibonacci_nth)(e),m=e=>(0,f.fibonacci)(e);var h=l(d());const g=e=>(0,h.is_prime)(e);var _=l(d());const v=({arr:e,target:t})=>{let n=new Int32Array(e);return(0,_.linear_search)(n,t)};var y=l(d());const b=({arr:e,target:t})=>{let n=new Int32Array(e);return(0,y.binary_search)(n,t)};var x=l(d());const S=({arr:e})=>{let t=new Int32Array(e);return(0,x.bubble_sort)(t)};var C=l(d());const w=({arr:e})=>{let t=new Int32Array(e);return(0,C.insertion_sort)(t)};var T=l(d());const E=({arr:e})=>{let t=new Int32Array(e);return(0,T.merge_sort)(t)};var D=l(d());const O=({arr:e})=>{let t=new Int32Array(e);return(0,D.quick_sort)(t)};var k=l(d());const A=({graph:e,start:t,onVisit:n,onEnqueue:r,onComplete:i})=>{(0,k.breadth_first_search)(e,t,n,r,i)};var j=l(d());const M=({graph:e,start:t,onEnter:n,onExit:r})=>{(0,j.depth_first_search)(e,t,n,r)};export{b as binarySearch,A as breadthFirstSearch,S as bubbleSort,M as depthFirstSearch,m as fibonacci,p as fibonacciNth,w as insertionSort,g as isPrime,v as linearSearch,E as mergeSort,O as quickSort};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["ptr","fibonacci","n: number","n: number"],"sources":["../src/generated/node/algorithms.js","../src/node/math/fibonacci.ts","../src/node/math/isPrime.ts","../src/node/search/linearSearch.ts","../src/node/search/binarySearch.ts","../src/node/sort/bubbleSort.ts","../src/node/sort/insertionSort.ts","../src/node/sort/mergeSort.ts","../src/node/sort/quickSort.ts","../src/node/graph/breadthFirstSearch.ts","../src/node/graph/depthFirstSearch.ts"],"sourcesContent":["\nlet imports = {};\nimports['__wbindgen_placeholder__'] = module.exports;\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_externrefs.set(idx, obj);\n return idx;\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction getArrayI32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nlet cachedInt32ArrayMemory0 = null;\nfunction getInt32ArrayMemory0() {\n if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) {\n cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachedInt32ArrayMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n}\n\nlet cachedUint32ArrayMemory0 = null;\nfunction getUint32ArrayMemory0() {\n if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {\n cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32ArrayMemory0;\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction passArray32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getUint32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nfunction decodeText(ptr, len) {\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n }\n}\n\nlet WASM_VECTOR_LEN = 0;\n\n/**\n * @param {Int32Array} arr\n * @param {number} target\n * @returns {number}\n */\nfunction binary_search(arr, target) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.binary_search(ptr0, len0, target);\n return ret;\n}\nexports.binary_search = binary_search;\n\n/**\n * @param {any} graph\n * @param {string} start\n * @param {Function | null} [on_visit]\n * @param {Function | null} [on_enqueue]\n * @param {Function | null} [on_complete]\n */\nfunction breadth_first_search(graph, start, on_visit, on_enqueue, on_complete) {\n const ptr0 = passStringToWasm0(start, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.breadth_first_search(graph, ptr0, len0, isLikeNone(on_visit) ? 0 : addToExternrefTable0(on_visit), isLikeNone(on_enqueue) ? 0 : addToExternrefTable0(on_enqueue), isLikeNone(on_complete) ? 0 : addToExternrefTable0(on_complete));\n}\nexports.breadth_first_search = breadth_first_search;\n\n/**\n * @param {Int32Array} arr\n * @returns {Int32Array}\n */\nfunction bubble_sort(arr) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.bubble_sort(ptr0, len0);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.bubble_sort = bubble_sort;\n\n/**\n * @param {any} graph\n * @param {string} start\n * @param {Function | null} [on_enter]\n * @param {Function | null} [on_exit]\n */\nfunction depth_first_search(graph, start, on_enter, on_exit) {\n const ptr0 = passStringToWasm0(start, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.depth_first_search(graph, ptr0, len0, isLikeNone(on_enter) ? 0 : addToExternrefTable0(on_enter), isLikeNone(on_exit) ? 0 : addToExternrefTable0(on_exit));\n}\nexports.depth_first_search = depth_first_search;\n\n/**\n * @param {number} n\n * @returns {Int32Array}\n */\nfunction fibonacci(n) {\n const ret = wasm.fibonacci(n);\n var v1 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n}\nexports.fibonacci = fibonacci;\n\n/**\n * @param {number} n\n * @returns {number}\n */\nfunction fibonacci_nth(n) {\n const ret = wasm.fibonacci_nth(n);\n return ret;\n}\nexports.fibonacci_nth = fibonacci_nth;\n\n/**\n * @param {Int32Array} arr\n * @returns {Int32Array}\n */\nfunction insertion_sort(arr) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.insertion_sort(ptr0, len0);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.insertion_sort = insertion_sort;\n\n/**\n * @param {number} n\n * @returns {boolean}\n */\nfunction is_prime(n) {\n const ret = wasm.is_prime(n);\n return ret !== 0;\n}\nexports.is_prime = is_prime;\n\n/**\n * @param {Int32Array} arr\n * @param {number} target\n * @returns {Int32Array}\n */\nfunction linear_search(arr, target) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.linear_search(ptr0, len0, target);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.linear_search = linear_search;\n\n/**\n * @param {Int32Array} arr\n * @returns {Int32Array}\n */\nfunction merge_sort(arr) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.merge_sort(ptr0, len0);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.merge_sort = merge_sort;\n\n/**\n * @param {Int32Array} arr\n * @returns {Int32Array}\n */\nfunction quick_sort(arr) {\n const ptr0 = passArray32ToWasm0(arr, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.quick_sort(ptr0, len0);\n var v2 = getArrayI32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n}\nexports.quick_sort = quick_sort;\n\nexports.__wbg_Error_52673b7de5a0ca89 = function(arg0, arg1) {\n const ret = Error(getStringFromWasm0(arg0, arg1));\n return ret;\n};\n\nexports.__wbg___wbindgen_boolean_get_dea25b33882b895b = function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n};\n\nexports.__wbg___wbindgen_debug_string_adfb662ae34724b6 = function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n};\n\nexports.__wbg___wbindgen_is_function_8d400b8b1af978cd = function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n};\n\nexports.__wbg___wbindgen_is_object_ce774f3490692386 = function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n};\n\nexports.__wbg___wbindgen_jsval_loose_eq_766057600fdd1b0d = function(arg0, arg1) {\n const ret = arg0 == arg1;\n return ret;\n};\n\nexports.__wbg___wbindgen_number_get_9619185a74197f95 = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n};\n\nexports.__wbg___wbindgen_string_get_a2a31e16edf96e42 = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n};\n\nexports.__wbg___wbindgen_throw_dd24417ed36fc46e = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n};\n\nexports.__wbg_call_3020136f7a2d6e44 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n}, arguments) };\n\nexports.__wbg_call_abb4ff46ce38be40 = function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n}, arguments) };\n\nexports.__wbg_done_62ea16af4ce34b24 = function(arg0) {\n const ret = arg0.done;\n return ret;\n};\n\nexports.__wbg_entries_83c79938054e065f = function(arg0) {\n const ret = Object.entries(arg0);\n return ret;\n};\n\nexports.__wbg_get_6b7bd52aca3f9671 = function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n};\n\nexports.__wbg_get_af9dab7e9603ea93 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n}, arguments) };\n\nexports.__wbg_instanceof_ArrayBuffer_f3320d2419cd0355 = function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n};\n\nexports.__wbg_instanceof_Uint8Array_da54ccc9d3e09434 = function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n};\n\nexports.__wbg_isArray_51fd9e6422c0a395 = function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n};\n\nexports.__wbg_iterator_27b7c8b35ab3e86b = function() {\n const ret = Symbol.iterator;\n return ret;\n};\n\nexports.__wbg_length_22ac23eaec9d8053 = function(arg0) {\n const ret = arg0.length;\n return ret;\n};\n\nexports.__wbg_length_d45040a40c570362 = function(arg0) {\n const ret = arg0.length;\n return ret;\n};\n\nexports.__wbg_new_25f239778d6112b9 = function() {\n const ret = new Array();\n return ret;\n};\n\nexports.__wbg_new_6421f6084cc5bc5a = function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n};\n\nexports.__wbg_next_138a17bbf04e926c = function(arg0) {\n const ret = arg0.next;\n return ret;\n};\n\nexports.__wbg_next_3cfe5c0fe2a4cc53 = function() { return handleError(function (arg0) {\n const ret = arg0.next();\n return ret;\n}, arguments) };\n\nexports.__wbg_prototypesetcall_dfe9b766cdc1f1fd = function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n};\n\nexports.__wbg_push_7d9be8f38fc13975 = function(arg0, arg1) {\n const ret = arg0.push(arg1);\n return ret;\n};\n\nexports.__wbg_value_57b7b035e117f7ee = function(arg0) {\n const ret = arg0.value;\n return ret;\n};\n\nexports.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n};\n\nexports.__wbindgen_init_externref_table = function() {\n const table = wasm.__wbindgen_externrefs;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n};\n\nconst wasmPath = `${__dirname}/algorithms_bg.wasm`;\nconst wasmBytes = require('fs').readFileSync(wasmPath);\nconst wasmModule = new WebAssembly.Module(wasmBytes);\nconst wasm = exports.__wasm = new WebAssembly.Instance(wasmModule, imports).exports;\n\nwasm.__wbindgen_start();\n","import {\n fibonacci_nth as fibonacci_nth_rs,\n fibonacci as fibonacci_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n Result,\n FibonacciSequence,\n} from '../../types'\n\nexport const fibonacciNth = (n: number): Result => {\n return fibonacci_nth_rs(n)\n}\n\nexport const fibonacci = (n: number): FibonacciSequence => {\n return fibonacci_rs(n)\n}\n","import { is_prime as is_prime_rs } from '../../generated/node/algorithms.js'\n\nexport const isPrime = (n: number): boolean => {\n return is_prime_rs(n)\n}\n","import {\n linear_search as linear_search_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n LinearSearchOptions,\n} from '../../types'\n\nexport const linearSearch = ({\n arr,\n target,\n}: LinearSearchOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return linear_search_rs(arrForRs, target)\n}\n","import {\n binary_search as binary_search_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n Result,\n BinarySearchOptions,\n} from '../../types'\n\nexport const binarySearch = ({\n arr,\n target,\n}: BinarySearchOptions): Result => {\n const arrForRs = new Int32Array(arr)\n\n return binary_search_rs(arrForRs, target)\n}\n","import {\n bubble_sort as bubble_sort_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n BubbleSortOptions,\n} from '../../types'\n\nexport const bubbleSort = ({\n arr,\n}: BubbleSortOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return bubble_sort_rs(arrForRs)\n}\n","import {\n insertion_sort as insertion_sort_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n InsertionSortOptions,\n} from '../../types'\n\nexport const insertionSort = ({\n arr,\n}: InsertionSortOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return insertion_sort_rs(arrForRs)\n}\n","import {\n merge_sort as merge_sort_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n MergeSortOptions,\n} from '../../types'\n\nexport const mergeSort = ({\n arr,\n}: MergeSortOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return merge_sort_rs(arrForRs)\n}\n","import {\n quick_sort as quick_sort_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n ResultArray,\n QuickSortOptions,\n} from '../../types'\n\nexport const quickSort = ({\n arr,\n}: QuickSortOptions): ResultArray => {\n const arrForRs = new Int32Array(arr)\n\n return quick_sort_rs(arrForRs)\n}\n","import {\n breadth_first_search as breadth_first_search_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n BFSOptions,\n} from '../../types'\n\nexport const breadthFirstSearch = ({\n graph,\n start,\n onVisit,\n onEnqueue,\n onComplete,\n}: BFSOptions): void => {\n breadth_first_search_rs(graph, start, onVisit, onEnqueue, onComplete)\n}\n","import {\n depth_first_search as depth_first_search_rs,\n} from '../../generated/node/algorithms.js'\nimport type {\n DFSOptions,\n} from '../../types'\n\nexport const depthFirstSearch = ({\n graph,\n start,\n onEnter,\n onExit,\n}: DFSOptions): void => {\n depth_first_search_rs(graph, start, onEnter, onExit)\n}\n"],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@epic-effx/rsalgo",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "fast running algorithms for .js/.ts written in rust",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"require": "./dist/index.cjs",
|
|
12
|
+
"import": "./dist/index.cjs"
|
|
13
|
+
},
|
|
14
|
+
"./browser": {
|
|
15
|
+
"types": "./dist/browser/algorithms.d.ts",
|
|
16
|
+
"import": "./dist/browser/algorithms.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"README.md",
|
|
22
|
+
"LICENSE"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "npm run clean:dist && npm run build:wasm:node && npm run build:wasm:browser && npm run build:js",
|
|
26
|
+
"build:wasm:node": "wasm-pack build algorithms --target nodejs --out-dir pkg-node && mkdir -p src/generated/node && cp algorithms/pkg-node/algorithms* src/generated/node/",
|
|
27
|
+
"build:wasm:browser": "rm -rf algorithms/pkg-browser src/generated/browser && wasm-pack build algorithms --target bundler --out-dir pkg-browser && mkdir -p src/generated/browser && cp algorithms/pkg-browser/* src/generated/browser/",
|
|
28
|
+
"build:package": "npm run build && npm pack",
|
|
29
|
+
"build:js": "npm run clean:dist && npm run build:js:node && npm run build:js:browser",
|
|
30
|
+
"build:js:node": "tsdown --minify --copy src/generated/node/algorithms_bg.wasm",
|
|
31
|
+
"build:js:browser": "npm run sync:browser",
|
|
32
|
+
"clean:dist": "rm -rf dist",
|
|
33
|
+
"pack:dev": "node ./scripts/pack-dev.mjs",
|
|
34
|
+
"watch:rust": "cd algorithms && cargo watch -s \"wasm-pack build --target nodejs --out-dir pkg-node && mkdir -p ../src/generated/node && cp pkg-node/algorithms* ../src/generated/node/ && wasm-pack build --target bundler --out-dir pkg-browser && mkdir -p ../src/generated/browser && cp pkg-browser/algorithms* ../src/generated/browser/\"",
|
|
35
|
+
"watch:js": "concurrently -k \"npm run watch:js:node\" \"npm run watch:js:browser\"",
|
|
36
|
+
"watch:js:node": "tsdown --watch --copy src/generated/node/algorithms_bg.wasm",
|
|
37
|
+
"watch:js:browser": "chokidar \"src/generated/browser/*\" -c \"npm run sync:browser\"",
|
|
38
|
+
"sync:browser": "mkdir -p dist/browser && cp src/generated/browser/* dist/browser/",
|
|
39
|
+
"watch:pack:dev": "chokidar --await-write-finish \"dist/index.*\" \"dist/browser/*\" -c \"npm run pack:dev\"",
|
|
40
|
+
"test:rust": "cd algorithms && cargo test",
|
|
41
|
+
"test:rust:watch": "cd algorithms && cargo watch -w src -w tests -x check -x test",
|
|
42
|
+
"test:js": "tsx node_modules/mocha/bin/mocha specs/**/*.ts",
|
|
43
|
+
"test:js:watch": "tsx node_modules/mocha/bin/mocha specs/**/*.ts --watch --watch-files src/**/*.ts,specs/**/*.ts",
|
|
44
|
+
"test:js:watch:min": "tsx node_modules/mocha/bin/mocha specs/**/*.ts --watch --watch-files src/**/*.ts,specs/**/*.ts --reporter min",
|
|
45
|
+
"bench": "tsx benchmarks/index.ts",
|
|
46
|
+
"lint": "eslint src --ext .ts",
|
|
47
|
+
"dev:rust": "npm run build:wasm:node && npm run build:wasm:browser && concurrently -k \"npm run watch:rust\" \"npm run test:rust:watch\"",
|
|
48
|
+
"dev": "npm run build:wasm:node && npm run build:wasm:browser && npm run build:js && concurrently -k \"npm run watch:rust\" \"npm run test:rust:watch\" \"npm run watch:js\" \"npm run watch:pack:dev\" \"npm run test:js:watch:min\"",
|
|
49
|
+
"release:patch": "npm version patch && npm run build",
|
|
50
|
+
"release:minor": "npm version minor && npm run build",
|
|
51
|
+
"release:major": "npm version major && npm run build",
|
|
52
|
+
"prepare": "husky"
|
|
53
|
+
},
|
|
54
|
+
"repository": {
|
|
55
|
+
"type": "git",
|
|
56
|
+
"url": "git+https://github.com/daveKontro/rsalgo.git"
|
|
57
|
+
},
|
|
58
|
+
"keywords": [
|
|
59
|
+
"tsdown",
|
|
60
|
+
"rust",
|
|
61
|
+
"cargo",
|
|
62
|
+
"wasm-pack",
|
|
63
|
+
"webassembly",
|
|
64
|
+
"typescript",
|
|
65
|
+
"eslint",
|
|
66
|
+
"husky"
|
|
67
|
+
],
|
|
68
|
+
"author": "David Kontrovitz",
|
|
69
|
+
"license": "MIT",
|
|
70
|
+
"overrides": {
|
|
71
|
+
"serialize-javascript": "7.0.3"
|
|
72
|
+
},
|
|
73
|
+
"templateMeta": {
|
|
74
|
+
"overridesNote": "overrides patch known transitive vulnerabilities; safe within same major; remove once upstream ranges are updated."
|
|
75
|
+
},
|
|
76
|
+
"devDependencies": {
|
|
77
|
+
"@types/chai": "5.2.3",
|
|
78
|
+
"@types/dotenv-flow": "3.3.3",
|
|
79
|
+
"@types/mocha": "10.0.10",
|
|
80
|
+
"@types/node": "25.0.3",
|
|
81
|
+
"@typescript-eslint/eslint-plugin": "6.5.0",
|
|
82
|
+
"@typescript-eslint/parser": "6.5.0",
|
|
83
|
+
"chai": "6.2.2",
|
|
84
|
+
"chokidar-cli": "3.0.0",
|
|
85
|
+
"concurrently": "9.2.0",
|
|
86
|
+
"dotenv-flow": "4.1.0",
|
|
87
|
+
"eslint": "8.57.1",
|
|
88
|
+
"husky": "9.1.7",
|
|
89
|
+
"mocha": "11.7.6",
|
|
90
|
+
"tinybench": "6.0.2",
|
|
91
|
+
"tsdown": "0.12.9",
|
|
92
|
+
"tsx": "4.21.0",
|
|
93
|
+
"typescript": "5.9.3"
|
|
94
|
+
}
|
|
95
|
+
}
|