mirror of
https://github.com/zrwusa/data-structure-typed.git
synced 2024-11-23 04:44:04 +00:00
fix: Fix the bug where a regex replacement error occurs when test cases contain both .toBeUndefined() and .toBe or .toEqual.
This commit is contained in:
parent
f84518cc6d
commit
1b0ee601ac
|
@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file.
|
|||
- [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
||||
- [`auto-changelog`](https://github.com/CookPete/auto-changelog)
|
||||
|
||||
## [v1.53.2](https://github.com/zrwusa/data-structure-typed/compare/v1.51.5...main) (upcoming)
|
||||
## [v1.53.3](https://github.com/zrwusa/data-structure-typed/compare/v1.51.5...main) (upcoming)
|
||||
|
||||
### Changes
|
||||
|
||||
|
|
52
package-lock.json
generated
52
package-lock.json
generated
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "data-structure-typed",
|
||||
"version": "1.53.2",
|
||||
"version": "1.53.3",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "data-structure-typed",
|
||||
"version": "1.53.2",
|
||||
"version": "1.53.3",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@eslint/compat": "^1.2.2",
|
||||
|
@ -19,11 +19,11 @@
|
|||
"@typescript-eslint/eslint-plugin": "^8.12.1",
|
||||
"@typescript-eslint/parser": "^8.12.1",
|
||||
"auto-changelog": "^2.5.0",
|
||||
"avl-tree-typed": "^1.53.1",
|
||||
"avl-tree-typed": "^1.53.2",
|
||||
"benchmark": "^2.1.4",
|
||||
"binary-tree-typed": "^1.53.1",
|
||||
"bst-typed": "^1.53.1",
|
||||
"data-structure-typed": "^1.53.1",
|
||||
"binary-tree-typed": "^1.53.2",
|
||||
"bst-typed": "^1.53.2",
|
||||
"data-structure-typed": "^1.53.2",
|
||||
"dependency-cruiser": "^16.5.0",
|
||||
"doctoc": "^2.2.1",
|
||||
"eslint": "^9.13.0",
|
||||
|
@ -32,7 +32,7 @@
|
|||
"eslint-import-resolver-typescript": "^3.6.3",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
"fast-glob": "^3.3.2",
|
||||
"heap-typed": "^1.53.1",
|
||||
"heap-typed": "^1.53.2",
|
||||
"istanbul-badges-readme": "^1.9.0",
|
||||
"jest": "^29.7.0",
|
||||
"js-sdsl": "^4.4.2",
|
||||
|
@ -3437,13 +3437,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/avl-tree-typed": {
|
||||
"version": "1.53.1",
|
||||
"resolved": "https://registry.npmjs.org/avl-tree-typed/-/avl-tree-typed-1.53.1.tgz",
|
||||
"integrity": "sha512-4k54zM7lNtz37FSgNstoGlRSqN9kO1y98Lz7+8RXAoOtYe1McIUyJYhuukOFJi6XshEQDFHaxz/zklZJFqLq/g==",
|
||||
"version": "1.53.2",
|
||||
"resolved": "https://registry.npmjs.org/avl-tree-typed/-/avl-tree-typed-1.53.2.tgz",
|
||||
"integrity": "sha512-jGt2jUKu5hyscy6HKMpNIeqwI9lFZc23Cgaj/drbmobMsMLWMnsa0FKE17jPKsTkR7+BNzi37CvZ84Y6J4KpAA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"data-structure-typed": "^1.53.1"
|
||||
"data-structure-typed": "^1.53.2"
|
||||
}
|
||||
},
|
||||
"node_modules/babel-jest": {
|
||||
|
@ -3602,13 +3602,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/binary-tree-typed": {
|
||||
"version": "1.53.1",
|
||||
"resolved": "https://registry.npmjs.org/binary-tree-typed/-/binary-tree-typed-1.53.1.tgz",
|
||||
"integrity": "sha512-Ym/VfNG8iRhBUxxlCFArQSbf46m39voLVXdKbLzP/G3Sb3N7xwSwMTRC2Evx9lEWnhMmg4WHXsqZByun2xIljw==",
|
||||
"version": "1.53.2",
|
||||
"resolved": "https://registry.npmjs.org/binary-tree-typed/-/binary-tree-typed-1.53.2.tgz",
|
||||
"integrity": "sha512-1cxBo5XvlCaBWn9TchqWBO8r7M2rUdLnX9b1BGH5+rs9Ch6zKJejVLEVjpwwg7PtUvUC2wB0NHpQRcXWReZ2Hg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"data-structure-typed": "^1.53.1"
|
||||
"data-structure-typed": "^1.53.2"
|
||||
}
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
|
@ -3691,13 +3691,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/bst-typed": {
|
||||
"version": "1.53.1",
|
||||
"resolved": "https://registry.npmjs.org/bst-typed/-/bst-typed-1.53.1.tgz",
|
||||
"integrity": "sha512-pSAIStgqneF4kTbbJJU7tcTMUBvchUXoID9fpKmcpsLHzG0jgfmMnGYZBZlRQXYJkUAsiFHeDaDMbK6W2muBQA==",
|
||||
"version": "1.53.2",
|
||||
"resolved": "https://registry.npmjs.org/bst-typed/-/bst-typed-1.53.2.tgz",
|
||||
"integrity": "sha512-TYQDT2/6hBUzNKvw8cylT+FBu3s0MZW0JhoibDg2u65XdsOL79WOvGtEVFJOWhRmDe6yjJLnZWz+iIpOtpkSjw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"data-structure-typed": "^1.53.1"
|
||||
"data-structure-typed": "^1.53.2"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer-from": {
|
||||
|
@ -4069,9 +4069,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/data-structure-typed": {
|
||||
"version": "1.53.1",
|
||||
"resolved": "https://registry.npmjs.org/data-structure-typed/-/data-structure-typed-1.53.1.tgz",
|
||||
"integrity": "sha512-D3KDDnf6zY7vW45ht/U467UCVx1Zs6E3uVlGe4HSa+qvMHtPZMZahU5X8HbQVfzHZ1wg7NBKW6OtQdy0YzbuSQ==",
|
||||
"version": "1.53.2",
|
||||
"resolved": "https://registry.npmjs.org/data-structure-typed/-/data-structure-typed-1.53.2.tgz",
|
||||
"integrity": "sha512-TOPCOnFk3JPYiAdMJ+3VXRq4YR7MWtuZZzQJilV4lsBxlc1d50CA1kisic0YikKri3TT3YRmzRjaFfRAJh6big==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
|
@ -5946,13 +5946,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/heap-typed": {
|
||||
"version": "1.53.1",
|
||||
"resolved": "https://registry.npmjs.org/heap-typed/-/heap-typed-1.53.1.tgz",
|
||||
"integrity": "sha512-4/fHFXV3YLC0wvi+H3IXTRF4t2CzU1AcaB8PZvU/vR5V7lTPHNAb9IUGj9bC1f/7tmz/3a38r1Mx0xJVPIhzaw==",
|
||||
"version": "1.53.2",
|
||||
"resolved": "https://registry.npmjs.org/heap-typed/-/heap-typed-1.53.2.tgz",
|
||||
"integrity": "sha512-5aT12YbIeXyD6uJ0SEpDNUqQCfp8058ynQBhhzEQWOQEh1pfCVN50oIQmXde7CWzZTVTr3IMTxIUWAvdFIAYyQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"data-structure-typed": "^1.53.1"
|
||||
"data-structure-typed": "^1.53.2"
|
||||
}
|
||||
},
|
||||
"node_modules/html-escaper": {
|
||||
|
|
12
package.json
12
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "data-structure-typed",
|
||||
"version": "1.53.3",
|
||||
"version": "1.53.4",
|
||||
"description": "Javascript Data Structure. Heap, Binary Tree, Red Black Tree, Linked List, Deque, Trie, HashMap, Directed Graph, Undirected Graph, Binary Search Tree(BST), AVL Tree, Priority Queue, Graph, Queue, Tree Multiset, Singly Linked List, Doubly Linked List, Max Heap, Max Priority Queue, Min Heap, Min Priority Queue, Stack. Benchmark compared with C++ STL. API aligned with ES6 and Java.util. Usability is comparable to Python",
|
||||
"main": "dist/cjs/index.js",
|
||||
"module": "dist/mjs/index.js",
|
||||
|
@ -70,11 +70,11 @@
|
|||
"@typescript-eslint/eslint-plugin": "^8.12.1",
|
||||
"@typescript-eslint/parser": "^8.12.1",
|
||||
"auto-changelog": "^2.5.0",
|
||||
"avl-tree-typed": "^1.53.1",
|
||||
"avl-tree-typed": "^1.53.2",
|
||||
"benchmark": "^2.1.4",
|
||||
"binary-tree-typed": "^1.53.1",
|
||||
"bst-typed": "^1.53.1",
|
||||
"data-structure-typed": "^1.53.1",
|
||||
"binary-tree-typed": "^1.53.2",
|
||||
"bst-typed": "^1.53.2",
|
||||
"data-structure-typed": "^1.53.2",
|
||||
"dependency-cruiser": "^16.5.0",
|
||||
"doctoc": "^2.2.1",
|
||||
"eslint": "^9.13.0",
|
||||
|
@ -83,7 +83,7 @@
|
|||
"eslint-import-resolver-typescript": "^3.6.3",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
"fast-glob": "^3.3.2",
|
||||
"heap-typed": "^1.53.1",
|
||||
"heap-typed": "^1.53.2",
|
||||
"istanbul-badges-readme": "^1.9.0",
|
||||
"jest": "^29.7.0",
|
||||
"js-sdsl": "^4.4.2",
|
||||
|
|
|
@ -353,8 +353,8 @@ export class DoublyLinkedListNode<E = any> {
|
|||
* cache.set('c', 3);
|
||||
* cache.set('d', 4); // This will eliminate 'a'
|
||||
*
|
||||
* console.log(cache.get('a')).toBeUndefined();
|
||||
* expect(cache.get('b')); // 2
|
||||
* console.log(cache.get('a')); // undefined
|
||||
* console.log(cache.get('b')); // 2
|
||||
* console.log(cache.get('c')); // 3
|
||||
* console.log(cache.get('d')); // 4
|
||||
*
|
||||
|
@ -368,8 +368,8 @@ export class DoublyLinkedListNode<E = any> {
|
|||
* cache.set('d', 4); // This will eliminate 'b'
|
||||
*
|
||||
* console.log(cache.get('a')); // 1
|
||||
* console.log(cache.get('b')).toBeUndefined();
|
||||
* expect(cache.get('c')); // 3
|
||||
* console.log(cache.get('b')); // undefined
|
||||
* console.log(cache.get('c')); // 3
|
||||
* console.log(cache.get('d')); // 4
|
||||
*
|
||||
* // Should support updating existing keys
|
||||
|
@ -385,8 +385,8 @@ export class DoublyLinkedListNode<E = any> {
|
|||
* cache.set('b', 2);
|
||||
*
|
||||
* console.log(cache.delete('a')); // true
|
||||
* console.log(cache.get('a')).toBeUndefined();
|
||||
* expect(cache.size); // 1
|
||||
* console.log(cache.get('a')); // undefined
|
||||
* console.log(cache.size); // 1
|
||||
*
|
||||
* // Should support clearing cache
|
||||
* cache.clear();
|
||||
|
@ -431,11 +431,11 @@ export class DoublyLinkedListNode<E = any> {
|
|||
*
|
||||
* // 3. Find first lyric when timestamp is less than first entry
|
||||
* const earlyTimeLyric = lyricsList.findBackward(lyric => lyric.time <= -1000);
|
||||
* console.log(earlyTimeLyric).toBeUndefined();
|
||||
* console.log(earlyTimeLyric); // undefined
|
||||
*
|
||||
* // 4. Find last lyric when timestamp is after last entry
|
||||
* const lateTimeLyric = lyricsList.findBackward(lyric => lyric.time <= 50000);
|
||||
* expect(lateTimeLyric?.text); // 'And I will try to fix you'
|
||||
* console.log(lateTimeLyric?.text); // 'And I will try to fix you'
|
||||
* @example
|
||||
* // cpu process schedules
|
||||
* class Process {
|
||||
|
|
|
@ -59,13 +59,6 @@ function extractExamplesFromFile(filePath: string): { name: string; body: string
|
|||
}
|
||||
|
||||
const transformedBody = exampleBody
|
||||
.replace(
|
||||
/expect\((.*?)\)\.(toEqual|toBe|toStrictEqual|toHaveLength|toMatchObject)\((.*?)\);/gs, // Use `s` flag for multiline
|
||||
(match, actual, method, expected) => {
|
||||
expected = expected.replace(/\n/g, '\n //')
|
||||
return `console.log(${actual}); // ${expected}`;
|
||||
}
|
||||
)
|
||||
.replace(
|
||||
/expect\((.*?)\)\.(toBeUndefined|toBeNull)\(\);/g,
|
||||
(match, actual, method) => {
|
||||
|
@ -73,6 +66,13 @@ function extractExamplesFromFile(filePath: string): { name: string; body: string
|
|||
return `console.log(${actual}); // ${expectedValue}`;
|
||||
}
|
||||
)
|
||||
.replace(
|
||||
/expect\((.*?)\)\.(toEqual|toBe|toStrictEqual|toHaveLength|toMatchObject)\((.*?)\);/gs, // Use `s` flag for multiline
|
||||
(match, actual, method, expected) => {
|
||||
expected = expected.replace(/\n/g, '\n //')
|
||||
return `console.log(${actual}); // ${expected}`;
|
||||
}
|
||||
)
|
||||
.trim();
|
||||
|
||||
examples.push({ name: exampleName, body: transformedBody });
|
||||
|
|
Loading…
Reference in a new issue