* chore: Switch to Node 20 + Vitest
* chore: migrate to vitest mock functions
* chore: code style (switch to prettier)
* test: re-enable long-running test
Seems the switch to Node 20 and Vitest has vastly improved the code's and / or the test's runtime!
see #1193
* chore: code style
* chore: fix failing tests
* Updated Documentation in README.md
* Update contribution guidelines to state usage of Prettier
* fix: set prettier printWidth back to 80
* chore: apply updated code style automatically
* fix: set prettier line endings to lf again
* chore: apply updated code style automatically
---------
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
* feat: New String Algorithm for LengthofLongestSubstringWithoutRepeatingCharacters
* Fixed Errors and Mistakes in New Algorithm LengthofLongestSubstringWithoutRepetition
* fix:#1389 Errors Fixed
* fix:#1389 Syntax and Code Errors Fixed
* fix:#1389 Errors FIxed
* Fixed All new errors
* fix:1389 Implemented suggestions and corrections
* Use @see annotation
---------
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
* test: remove ValidateUrl.test.js
The code was removed with ecac786d but the test was left here (and has been failing since then, obviously 🤣)
* test: remove conflicting test case
There is another test case that explicitly expects the `null` result when the input array only contains one element.
* Updated Documentation in README.md
---------
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* feat: improved memoize function
used Map instead of object & used the JSON.stringfy method for generate a valid string as a key
* docs: modified documentation
* style: format with standard
* docs: modified stringify doc
* refactor: remove two repetition implementation
* feat: added validation, test codes
* chore: remove useless words
* feat: added types for jest
* chore: added link box
* feat: added new validation test casses & methods
* style: formated with standard
* feat: added parse method & test cases
* docs: added js docs
* chore: added default import export
* feat: imporved algorithm via replace method
* test: added two test cases
* feat: added jest type for suggestions
* feat: added `reduceRight` & `trim` method
* chore: added helper variable
* feat: added new rotation option
* Revert "chore: added helper variable"
This reverts commit 489544da0a3d479910fbea020d3be3d0d10681bf.
* remove: yarn lock
* chore: fix grammer
* feat: used replace method & added test case
* feat: remove revert
* chore: added new line
* feat: optimized algo n to n / 2 & replaced test cases
* chore: update node version
* chore: set node version to lts
* chore: updated the node version & added engines prop
* resolve: removed while loop
* chore: added right shift ops comment
* chore: update comment
* chore: removed abs
Co-authored-by: Rak Laptudirm <raklaptudirm@gmail.com>
* feat: improved memoize function
used Map instead of object & used the JSON.stringfy method for generate a valid string as a key
* docs: modified documentation
* style: format with standard
* docs: modified stringify doc
* refactor: remove two repetition implementation
* feat: added validation, test codes
* chore: remove useless words
* feat: added types for jest
* chore: added link box
* feat: added new validation test casses & methods
* style: formated with standard
* feat: added parse method & test cases
* docs: added js docs
* chore: added default import export
* feat: imporved algorithm via replace method
* test: added two test cases
* feat: added jest type for suggestions
* feat: added `reduceRight` & `trim` method
* chore: added helper variable
* feat: added new rotation option
* Revert "chore: added helper variable"
This reverts commit 489544da0a3d479910fbea020d3be3d0d10681bf.
* remove: yarn lock
* chore: fix grammer
* feat: used replace method & added test case
* feat: remove revert
* chore: added new line
* feat: added filter for alphabets only
* resolve: added empty validation improved ignore pattern
* chore: reverted to for of loop
* feat: used regex instead of Set
* docs: add js doc
* docs: add comments of workable code
* style: format via standardJs
* docs: add details explanation of pangram regex
* docs: add example
* feat: add two implemetaion of
The first implementation with regex and second via HashSet & add the test code for both
* chore: add QNA format of **Pangram**
* style: format with standardJs
* resolve: removed 'Ans'
* pref: optimize the algo via reduce & replace method
* feat: add TypeError for invalid types
* test: upgrade test case for invalid types
* docs: add js doc
* test: modify the case-sensitive test case
* pref: Optimize algo & add case-insensitive mode
* style: format with standard style
* docs: fix the js doc
* docs: rename function name & add comments
* feat: add chackAnagramViaMap function
* test: add test case for checkAnagramViaMap func
* fix: remove **Via** from functions name
* style: fix alignment of js doc
* chore: grammar fix
Co-authored-by: Rak Laptudirm <raklaptudirm@gmail.com>
* docs: update the js doc
* pref: Optimize algo via regex
ignore the useless traverse in best case via regex and String.prototype.replace
* test: add some new test cases
* fix: styled with standard
* refactor: remove useless variable
* Remove QuickSelect doctest
There are more Jest test cases already.
* Remove AverageMedian doctest
Already migrated to jest
* Migrate doctest for BinaryExponentiationRecursive.js
(also remove inline "main" test method)
* Migrate doctest for EulersTotient.js
(also remove inline "main" test method)
* Migrate doctest for PrimeFactors.js
(also remove inline "main" test method)
* Migrate doctest for BogoSort.js
Re-write prototype-polluting helper methods, too.
(also remove inline test driver code)
* Migrate doctest for BeadSort.js
(also remove inline test driver code)
* Migrate doctest for BucketSort.js
(also remove inline test driver code)
* Migrate doctest for CocktailShakerSort.js
(also remove inline test driver code)
* Migrate doctest for MergeSort.js
(also remove inline test driver code)
* Migrate doctest for QuickSort.js
(also remove inline test driver code)
* Migrate doctest for ReverseString.js
(also remove inline test driver code)
* Migrate doctest for ReverseString.js
* Migrate doctest for ValidateEmail.js
* Migrate doctest for ConwaysGameOfLife.js
(remove the animate code, too)
* Remove TernarySearch doctest
Already migrated to jest
* Migrate doctest for BubbleSort.js
(also remove inline test driver code)
* Remove doctest from CI and from dependencies
relates to #742fixes#586
* Migrate doctest for RgbHsvConversion.js
* Add --fix option to "standard" npm script
* Migrate doctest for BreadthFirstSearch.js
(also remove inline test driver code)
* Migrate doctest for BreadthFirstShortestPath.js
(also remove inline test driver code)
* Migrate doctest for EulerMethod.js
(also remove inline test driver code)
Move manual test-code for plotting stuff in the browser in a distinct file, too. Those "*.manual-test.js" files are excluded from the UpdateDirectory.mjs script, as well.
* Migrate doctest for Mandelbrot.js
(also remove inline test driver code & moved manual drawing test into a *.manual-test.js)
* Migrate doctest for FloodFill.js
* Migrate doctest for KochSnowflake.js
(also move manual drawing test into a *.manual-test.js)
* Update npm lockfile
* Update README and COMMITTING with a few bits & bobs regarding testing & code quality
* add test cases for checkAnagram function to cover additional inputs and edge cases
* adjust spacing between tests to be more consistent with other files
* update CheckAnagram to return boolean value instead of string
* add a reference link and definition of Anagram to CheckAnagram documentation
* update function documentation and name to match js convention
* add additional documentation explaining what the function does
* add tests for checkFlatCase function
* fix standard.js errors