data-structure-typed 1.45.3 → 1.46.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/CHANGELOG.md +1 -1
- package/README.md +91 -40
- package/benchmark/report.html +17 -17
- package/benchmark/report.json +160 -142
- package/dist/cjs/data-structures/hash/hash-map.d.ts +6 -5
- package/dist/cjs/data-structures/hash/hash-map.js +9 -6
- package/dist/cjs/data-structures/hash/hash-map.js.map +1 -1
- package/dist/cjs/data-structures/heap/heap.d.ts +59 -47
- package/dist/cjs/data-structures/heap/heap.js +133 -123
- package/dist/cjs/data-structures/heap/heap.js.map +1 -1
- package/dist/cjs/data-structures/queue/deque.d.ts +131 -164
- package/dist/cjs/data-structures/queue/deque.js +543 -211
- package/dist/cjs/data-structures/queue/deque.js.map +1 -1
- package/dist/cjs/types/data-structures/hash/hash-map.d.ts +0 -9
- package/dist/cjs/types/helpers.d.ts +11 -0
- package/dist/cjs/utils/utils.d.ts +1 -0
- package/dist/cjs/utils/utils.js +3 -1
- package/dist/cjs/utils/utils.js.map +1 -1
- package/dist/mjs/data-structures/hash/hash-map.d.ts +6 -5
- package/dist/mjs/data-structures/hash/hash-map.js +9 -6
- package/dist/mjs/data-structures/heap/heap.d.ts +59 -47
- package/dist/mjs/data-structures/heap/heap.js +133 -123
- package/dist/mjs/data-structures/queue/deque.d.ts +131 -164
- package/dist/mjs/data-structures/queue/deque.js +544 -201
- package/dist/mjs/types/data-structures/hash/hash-map.d.ts +0 -9
- package/dist/mjs/types/helpers.d.ts +11 -0
- package/dist/mjs/utils/utils.d.ts +1 -0
- package/dist/mjs/utils/utils.js +1 -0
- package/dist/umd/data-structure-typed.js +684 -328
- package/dist/umd/data-structure-typed.min.js +1 -1
- package/dist/umd/data-structure-typed.min.js.map +1 -1
- package/package.json +1 -1
- package/src/data-structures/hash/hash-map.ts +11 -7
- package/src/data-structures/heap/heap.ts +132 -128
- package/src/data-structures/queue/deque.ts +605 -226
- package/src/types/data-structures/hash/hash-map.ts +0 -11
- package/src/types/helpers.ts +15 -0
- package/src/utils/utils.ts +2 -0
- package/test/performance/data-structures/linked-list/doubly-linked-list.test.ts +21 -0
- package/test/performance/data-structures/priority-queue/priority-queue.test.ts +7 -7
- package/test/performance/data-structures/queue/deque.test.ts +24 -13
- package/test/unit/data-structures/hash/hash-map.test.ts +4 -4
- package/test/unit/data-structures/heap/heap.test.ts +2 -1
- package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +3 -3
- package/test/unit/data-structures/priority-queue/priority-queue.test.ts +3 -3
- package/test/unit/data-structures/queue/deque.test.ts +252 -240
- /package/test/performance/data-structures/{comparation.test.ts → comparison.test.ts} +0 -0
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
export declare const enum IterateDirection {
|
|
2
|
-
DEFAULT = 0,
|
|
3
|
-
REVERSE = 1
|
|
4
|
-
}
|
|
5
|
-
export type HashMapOptions<T> = {
|
|
6
|
-
sizeFunction?: number | (() => number);
|
|
7
|
-
fixedLength?: number;
|
|
8
|
-
forEach: (callback: (el: T) => void) => void;
|
|
9
|
-
};
|
|
10
1
|
export type HashMapLinkedNode<K, V> = {
|
|
11
2
|
key: K;
|
|
12
3
|
value: V;
|
|
@@ -6,3 +6,14 @@ export declare enum CP {
|
|
|
6
6
|
eq = "eq",
|
|
7
7
|
gt = "gt"
|
|
8
8
|
}
|
|
9
|
+
export declare const enum IterateDirection {
|
|
10
|
+
DEFAULT = 0,
|
|
11
|
+
REVERSE = 1
|
|
12
|
+
}
|
|
13
|
+
export interface IterableWithSize<T> extends Iterable<T> {
|
|
14
|
+
size: number;
|
|
15
|
+
}
|
|
16
|
+
export interface IterableWithLength<T> extends Iterable<T> {
|
|
17
|
+
length: number;
|
|
18
|
+
}
|
|
19
|
+
export type IterableWithSizeOrLength<T> = IterableWithSize<T> | IterableWithLength<T>;
|
|
@@ -21,3 +21,4 @@ export declare const getMSB: (value: number) => number;
|
|
|
21
21
|
export declare const rangeCheck: (index: number, min: number, max: number, message?: string) => void;
|
|
22
22
|
export declare const throwRangeError: (message?: string) => void;
|
|
23
23
|
export declare const isObjOrFunc: (input: unknown) => input is Record<string, unknown> | ((...args: any[]) => any);
|
|
24
|
+
export declare const calcMinUnitsRequired: (totalQuantity: number, unitSize: number) => number;
|
package/dist/mjs/utils/utils.js
CHANGED
|
@@ -63,3 +63,4 @@ export const isObjOrFunc = (input) => {
|
|
|
63
63
|
const inputType = typeof input;
|
|
64
64
|
return (inputType === 'object' && input !== null) || inputType === 'function';
|
|
65
65
|
};
|
|
66
|
+
export const calcMinUnitsRequired = (totalQuantity, unitSize) => Math.floor((totalQuantity + unitSize - 1) / unitSize);
|