ts-toolbelt icon indicating copy to clipboard operation
ts-toolbelt copied to clipboard

PR: Fix Autopath and Path for primitive types

Open vonBrax opened this issue 3 years ago • 1 comments

🎁 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

vonBrax avatar Sep 24 '21 06:09 vonBrax

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. 🙏

gautelo avatar Sep 06 '22 08:09 gautelo