ts-toolbelt
ts-toolbelt copied to clipboard
PR: Fix Autopath and Path for primitive types
🎁 Pull Request
- [x] Used a clear / meaningful title for this pull request
- [x] Tested the changes in your own code (on your projects)
- [x] Added / Edited tests to reflect changes (
tests
folder) - [x] Have read the Contributing part of the Readme
- [x] Passed
npm test
Fixes
#246 #228
Why have you made changes?
To fix the above mentioned issues. Autopath currently does not work for primitive types since they don't have a "next path".
What changes have you made?
- Added a new type CurrentPath in Autopath to retrieve the value of the current path if there's no next path, using the inverse logic for NextPath
- Added a filter in Path to exclude methods from primitive types, since Path currently return their types (ex:
a.someStr.toUpperCase
returns() => string
). This way Path and Autopath have a more consistent behavior when working together.
What tests have you updated?
- tested primitive types, array indexes and functions in
tests/Function.ts
- tested paths to primitive methods in
tests/Object.ts
Is there any breaking changes?
- [ ] Yes, I changed the public API & documented it
- [ ] Yes, I changed existing tests
- [ ] No, I added to the public API & documented it
- [X] No, I added to the existing tests
- [ ] I don't know
Any chance you can have a look at this @millsp ? AutoPath is a pretty cool feature, so would be nice if it could get fixed. 🙏