typescript-ds-lib 0.4.5 → 0.4.7
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 +1 -1
- package/README.md +8 -3
- package/dist/algorithms/binary-search.d.ts +14 -0
- package/dist/algorithms/binary-search.js +36 -0
- package/dist/algorithms/binary-search.js.map +1 -0
- package/dist/algorithms/levenshtein-distance.d.ts +25 -0
- package/dist/algorithms/levenshtein-distance.js +73 -0
- package/dist/algorithms/levenshtein-distance.js.map +1 -0
- package/dist/algorithms/shuffle.d.ts +1 -0
- package/dist/algorithms/shuffle.js +20 -0
- package/dist/algorithms/shuffle.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
# TypeScript Data Structure Library
|
|
1
|
+
# TypeScript Data Structure & Algorithm Library
|
|
2
2
|
[](https://www.npmjs.com/package/typescript-ds-lib)
|
|
3
3
|
|
|
4
|
-
TypeScript data structure implementations
|
|
4
|
+
TypeScript data structure and algorithm implementations with no external dependencies.
|
|
5
5
|
|
|
6
|
+
**Why to use this library?**
|
|
6
7
|
- Fully Tested
|
|
7
8
|
- Fast
|
|
8
9
|
- 0 Dependencies
|
|
@@ -36,7 +37,7 @@ console.log(stack.size()); // 2
|
|
|
36
37
|
|
|
37
38
|
|
|
38
39
|
## Documentation and Examples
|
|
39
|
-
See the [documentation](https://github.com/baloian/typescript-ds-lib/blob/master/doc/
|
|
40
|
+
See the [documentation](https://github.com/baloian/typescript-ds-lib/blob/master/doc/README.md) for more details and examples.
|
|
40
41
|
|
|
41
42
|
|
|
42
43
|
## Data Structures
|
|
@@ -54,6 +55,10 @@ See the [documentation](https://github.com/baloian/typescript-ds-lib/blob/master
|
|
|
54
55
|
- Set
|
|
55
56
|
- Stack
|
|
56
57
|
|
|
58
|
+
## Algorithms
|
|
59
|
+
- Binary Search (with custom comparator)
|
|
60
|
+
- Levenshtein Distance (calculates the edit distance between two strings)
|
|
61
|
+
- Shuffle (shuffles the array in-place)
|
|
57
62
|
|
|
58
63
|
## `Map-Set` vs Native JavaScript `Map-Set`
|
|
59
64
|
The library's `Map` and `Set` data structures are implemented as Red-Black Tree and Binary Search Tree respectively.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performs a binary search on a sorted array to locate a target element.
|
|
3
|
+
*
|
|
4
|
+
* This function assumes that the input array is sorted in ascending order with respect to the comparison logic.
|
|
5
|
+
* It accepts an optional comparison function for custom sorting logic; if not provided,
|
|
6
|
+
* native < and > operators are used.
|
|
7
|
+
*
|
|
8
|
+
* @param arr - A sorted array of elements of type T.
|
|
9
|
+
* @param target - The element to search for within the array.
|
|
10
|
+
* @param compare - (Optional) A comparison function that returns a negative value if the first argument is less
|
|
11
|
+
* than the second, a positive value if the first is greater, and zero if they are considered equal.
|
|
12
|
+
* @returns The index of the target element if it is found in the array; otherwise, returns -1.
|
|
13
|
+
*/
|
|
14
|
+
export declare function binarySearch<T>(arr: T[], target: T, compare?: (a: T, b: T) => number): number;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.binarySearch = binarySearch;
|
|
4
|
+
/**
|
|
5
|
+
* Performs a binary search on a sorted array to locate a target element.
|
|
6
|
+
*
|
|
7
|
+
* This function assumes that the input array is sorted in ascending order with respect to the comparison logic.
|
|
8
|
+
* It accepts an optional comparison function for custom sorting logic; if not provided,
|
|
9
|
+
* native < and > operators are used.
|
|
10
|
+
*
|
|
11
|
+
* @param arr - A sorted array of elements of type T.
|
|
12
|
+
* @param target - The element to search for within the array.
|
|
13
|
+
* @param compare - (Optional) A comparison function that returns a negative value if the first argument is less
|
|
14
|
+
* than the second, a positive value if the first is greater, and zero if they are considered equal.
|
|
15
|
+
* @returns The index of the target element if it is found in the array; otherwise, returns -1.
|
|
16
|
+
*/
|
|
17
|
+
function binarySearch(arr, target, compare) {
|
|
18
|
+
let left = 0;
|
|
19
|
+
let right = arr.length - 1;
|
|
20
|
+
const cmp = compare ? compare : (a, b) => (a < b ? -1 : a > b ? 1 : 0);
|
|
21
|
+
while (left <= right) {
|
|
22
|
+
const mid = left + Math.floor((right - left) / 2);
|
|
23
|
+
const comparison = cmp(arr[mid], target);
|
|
24
|
+
if (comparison === 0) {
|
|
25
|
+
return mid;
|
|
26
|
+
}
|
|
27
|
+
if (comparison < 0) {
|
|
28
|
+
left = mid + 1;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
right = mid - 1;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return -1;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=binary-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-search.js","sourceRoot":"","sources":["../../algorithms/binary-search.ts"],"names":[],"mappings":";;AAaA,oCAiBC;AA9BD;;;;;;;;;;;;GAYG;AACH,SAAgB,YAAY,CAAI,GAAQ,EAAE,MAAS,EAAE,OAAgC;IACnF,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the Levenshtein distance (edit distance) between two strings.
|
|
3
|
+
*
|
|
4
|
+
* The Levenshtein distance is the minimum number of single-character edits
|
|
5
|
+
* (insertions, deletions, or substitutions) required to transform one string into another.
|
|
6
|
+
*
|
|
7
|
+
* This implementation uses space-optimized dynamic programming with O(min(m, n)) space complexity
|
|
8
|
+
* instead of the naive O(m * n) approach, where m and n are the lengths of the input strings.
|
|
9
|
+
*
|
|
10
|
+
* Time complexity: O(m * n)
|
|
11
|
+
* Space complexity: O(min(m, n))
|
|
12
|
+
*
|
|
13
|
+
* @param str1 - The first string to compare.
|
|
14
|
+
* @param str2 - The second string to compare.
|
|
15
|
+
* @returns The Levenshtein distance between the two strings (a non-negative integer).
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* levenshteinDistance('kitten', 'sitting'); // Returns 3
|
|
20
|
+
* levenshteinDistance('hello', 'hello'); // Returns 0
|
|
21
|
+
* levenshteinDistance('', 'abc'); // Returns 3
|
|
22
|
+
* levenshteinDistance('abc', ''); // Returns 3
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function levenshteinDistance(str1: string, str2: string): number;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.levenshteinDistance = levenshteinDistance;
|
|
4
|
+
/**
|
|
5
|
+
* Calculates the Levenshtein distance (edit distance) between two strings.
|
|
6
|
+
*
|
|
7
|
+
* The Levenshtein distance is the minimum number of single-character edits
|
|
8
|
+
* (insertions, deletions, or substitutions) required to transform one string into another.
|
|
9
|
+
*
|
|
10
|
+
* This implementation uses space-optimized dynamic programming with O(min(m, n)) space complexity
|
|
11
|
+
* instead of the naive O(m * n) approach, where m and n are the lengths of the input strings.
|
|
12
|
+
*
|
|
13
|
+
* Time complexity: O(m * n)
|
|
14
|
+
* Space complexity: O(min(m, n))
|
|
15
|
+
*
|
|
16
|
+
* @param str1 - The first string to compare.
|
|
17
|
+
* @param str2 - The second string to compare.
|
|
18
|
+
* @returns The Levenshtein distance between the two strings (a non-negative integer).
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* levenshteinDistance('kitten', 'sitting'); // Returns 3
|
|
23
|
+
* levenshteinDistance('hello', 'hello'); // Returns 0
|
|
24
|
+
* levenshteinDistance('', 'abc'); // Returns 3
|
|
25
|
+
* levenshteinDistance('abc', ''); // Returns 3
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
function levenshteinDistance(str1, str2) {
|
|
29
|
+
// Early termination: if strings are identical, distance is 0
|
|
30
|
+
if (str1 === str2) {
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
// Early termination: if one string is empty, distance is the length of the other
|
|
34
|
+
if (str1.length === 0) {
|
|
35
|
+
return str2.length;
|
|
36
|
+
}
|
|
37
|
+
if (str2.length === 0) {
|
|
38
|
+
return str1.length;
|
|
39
|
+
}
|
|
40
|
+
// Use the shorter string for the inner dimension to minimize space
|
|
41
|
+
const [longer, shorter] = str1.length >= str2.length ? [str1, str2] : [str2, str1];
|
|
42
|
+
const m = longer.length;
|
|
43
|
+
const n = shorter.length;
|
|
44
|
+
// Initialize two rows: previous and current
|
|
45
|
+
// prevRow represents the distances for the previous character of the longer string
|
|
46
|
+
let prevRow = Array.from({ length: n + 1 }, (_, i) => i);
|
|
47
|
+
let currRow = new Array(n + 1);
|
|
48
|
+
// Fill the DP table row by row
|
|
49
|
+
for (let i = 1; i <= m; i++) {
|
|
50
|
+
currRow[0] = i; // Cost of deleting all characters up to i in longer string
|
|
51
|
+
for (let j = 1; j <= n; j++) {
|
|
52
|
+
// If characters match, no operation needed (take diagonal value)
|
|
53
|
+
if (longer[i - 1] === shorter[j - 1]) {
|
|
54
|
+
currRow[j] = prevRow[j - 1];
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// Take minimum of three operations:
|
|
58
|
+
// 1. Deletion: prevRow[j] + 1
|
|
59
|
+
// 2. Insertion: currRow[j - 1] + 1
|
|
60
|
+
// 3. Substitution: prevRow[j - 1] + 1
|
|
61
|
+
currRow[j] = Math.min(prevRow[j] + 1, // deletion
|
|
62
|
+
currRow[j - 1] + 1, // insertion
|
|
63
|
+
prevRow[j - 1] + 1 // substitution
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Swap rows for next iteration
|
|
68
|
+
[prevRow, currRow] = [currRow, prevRow];
|
|
69
|
+
}
|
|
70
|
+
// The result is in prevRow[n] (since we swapped at the end)
|
|
71
|
+
return prevRow[n];
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=levenshtein-distance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"levenshtein-distance.js","sourceRoot":"","sources":["../../algorithms/levenshtein-distance.ts"],"names":[],"mappings":";;AAwBA,kDA4CC;AApED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,mBAAmB,CAAC,IAAY,EAAE,IAAY;IAC5D,6DAA6D;IAC7D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,iFAAiF;IACjF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,mEAAmE;IACnE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnF,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,4CAA4C;IAC5C,mFAAmF;IACnF,IAAI,OAAO,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,GAAa,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,+BAA+B;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,2DAA2D;QAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,iEAAiE;YACjE,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,8BAA8B;gBAC9B,mCAAmC;gBACnC,sCAAsC;gBACtC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACnB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAO,WAAW;gBAChC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAG,YAAY;gBACjC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAG,eAAe;iBACrC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,+BAA+B;QAC/B,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,4DAA4D;IAC5D,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function shuffle<T>(array: T[]): void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.shuffle = shuffle;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
/*
|
|
9
|
+
* Fisher-Yates shuffle algorithm, Durstenfeld's variant as described in
|
|
10
|
+
* https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
|
|
11
|
+
*
|
|
12
|
+
* This function shuffles the given array in-place.
|
|
13
|
+
*/
|
|
14
|
+
function shuffle(array) {
|
|
15
|
+
for (let i = array.length - 1; i > 0; i--) {
|
|
16
|
+
const j = crypto_1.default.randomInt(0, i + 1);
|
|
17
|
+
[array[i], array[j]] = [array[j], array[i]];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=shuffle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shuffle.js","sourceRoot":"","sources":["../../algorithms/shuffle.ts"],"names":[],"mappings":";;;;;AAQA,0BAKC;AAbD,oDAAgC;AAEhC;;;;;EAKE;AACF,SAAgB,OAAO,CAAI,KAAU;IACnC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,gBAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,3 +13,6 @@ export { Queue } from './lib/queue';
|
|
|
13
13
|
export { RedBlackTree } from './lib/red-black-tree';
|
|
14
14
|
export { Set } from './lib/set';
|
|
15
15
|
export { Stack } from './lib/stack';
|
|
16
|
+
export { binarySearch } from './algorithms/binary-search';
|
|
17
|
+
export { levenshteinDistance } from './algorithms/levenshtein-distance';
|
|
18
|
+
export { shuffle } from './algorithms/shuffle';
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Stack = exports.Set = exports.RedBlackTree = exports.Queue = exports.PriorityQueue = exports.Matrix = exports.Map = exports.LinkedList = exports.Heap = exports.HashTable = exports.LinkedListGraph = exports.MatrixGraph = exports.Deque = exports.BinarySearchTree = void 0;
|
|
17
|
+
exports.shuffle = exports.levenshteinDistance = exports.binarySearch = exports.Stack = exports.Set = exports.RedBlackTree = exports.Queue = exports.PriorityQueue = exports.Matrix = exports.Map = exports.LinkedList = exports.Heap = exports.HashTable = exports.LinkedListGraph = exports.MatrixGraph = exports.Deque = exports.BinarySearchTree = void 0;
|
|
18
18
|
__exportStar(require("./types"), exports);
|
|
19
19
|
var binary_search_tree_1 = require("./lib/binary-search-tree");
|
|
20
20
|
Object.defineProperty(exports, "BinarySearchTree", { enumerable: true, get: function () { return binary_search_tree_1.BinarySearchTree; } });
|
|
@@ -44,4 +44,10 @@ var set_1 = require("./lib/set");
|
|
|
44
44
|
Object.defineProperty(exports, "Set", { enumerable: true, get: function () { return set_1.Set; } });
|
|
45
45
|
var stack_1 = require("./lib/stack");
|
|
46
46
|
Object.defineProperty(exports, "Stack", { enumerable: true, get: function () { return stack_1.Stack; } });
|
|
47
|
+
var binary_search_1 = require("./algorithms/binary-search");
|
|
48
|
+
Object.defineProperty(exports, "binarySearch", { enumerable: true, get: function () { return binary_search_1.binarySearch; } });
|
|
49
|
+
var levenshtein_distance_1 = require("./algorithms/levenshtein-distance");
|
|
50
|
+
Object.defineProperty(exports, "levenshteinDistance", { enumerable: true, get: function () { return levenshtein_distance_1.levenshteinDistance; } });
|
|
51
|
+
var shuffle_1 = require("./algorithms/shuffle");
|
|
52
|
+
Object.defineProperty(exports, "shuffle", { enumerable: true, get: function () { return shuffle_1.shuffle; } });
|
|
47
53
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,+DAA4D;AAAnD,sHAAA,gBAAgB,OAAA;AACzB,qCAAoC;AAA3B,8FAAA,KAAK,OAAA;AACd,yDAAuD;AAA9C,2GAAA,WAAW,OAAA;AACpB,mEAAgE;AAAvD,oHAAA,eAAe,OAAA;AACxB,+CAA6C;AAApC,uGAAA,SAAS,OAAA;AAClB,mCAAkC;AAAzB,4FAAA,IAAI,OAAA;AACb,iDAA+C;AAAtC,yGAAA,UAAU,OAAA;AACnB,iCAAgC;AAAvB,0FAAA,GAAG,OAAA;AACZ,uCAAsC;AAA7B,gGAAA,MAAM,OAAA;AACf,uDAAqD;AAA5C,+GAAA,aAAa,OAAA;AACtB,qCAAoC;AAA3B,8FAAA,KAAK,OAAA;AACd,uDAAoD;AAA3C,8GAAA,YAAY,OAAA;AACrB,iCAAgC;AAAvB,0FAAA,GAAG,OAAA;AACZ,qCAAoC;AAA3B,8FAAA,KAAK,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,+DAA4D;AAAnD,sHAAA,gBAAgB,OAAA;AACzB,qCAAoC;AAA3B,8FAAA,KAAK,OAAA;AACd,yDAAuD;AAA9C,2GAAA,WAAW,OAAA;AACpB,mEAAgE;AAAvD,oHAAA,eAAe,OAAA;AACxB,+CAA6C;AAApC,uGAAA,SAAS,OAAA;AAClB,mCAAkC;AAAzB,4FAAA,IAAI,OAAA;AACb,iDAA+C;AAAtC,yGAAA,UAAU,OAAA;AACnB,iCAAgC;AAAvB,0FAAA,GAAG,OAAA;AACZ,uCAAsC;AAA7B,gGAAA,MAAM,OAAA;AACf,uDAAqD;AAA5C,+GAAA,aAAa,OAAA;AACtB,qCAAoC;AAA3B,8FAAA,KAAK,OAAA;AACd,uDAAoD;AAA3C,8GAAA,YAAY,OAAA;AACrB,iCAAgC;AAAvB,0FAAA,GAAG,OAAA;AACZ,qCAAoC;AAA3B,8FAAA,KAAK,OAAA;AACd,4DAA0D;AAAjD,6GAAA,YAAY,OAAA;AACrB,0EAAwE;AAA/D,2HAAA,mBAAmB,OAAA;AAC5B,gDAA+C;AAAtC,kGAAA,OAAO,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typescript-ds-lib",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.7",
|
|
4
4
|
"description": "A collection of TypeScript data structure implementations",
|
|
5
5
|
"author": "Artiom Baloian <artiom.baloian@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/jest": "^29.5.14",
|
|
27
|
-
"@types/node": "^
|
|
28
|
-
"ts-jest": "^29.
|
|
27
|
+
"@types/node": "^25.0.3",
|
|
28
|
+
"ts-jest": "^29.4.1",
|
|
29
29
|
"ts-node": "^10.9.2",
|
|
30
|
-
"typescript": "^5.
|
|
30
|
+
"typescript": "^5.9.3"
|
|
31
31
|
},
|
|
32
32
|
"keywords": [
|
|
33
33
|
"typescript",
|