Add trim functionality with tests and update package exports #219
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🧹 Fix: Improve typings for trim, trimStart, trimEnd, trimLeft, and trimRight on String
This PR enhances the type definitions for string trimming methods by introducing compile-time evaluation of the trimmed result. The updated types provide more precise behavior when working with string literals.
❓ Why
This makes the trimming methods more type-safe and predictable when working with string literals, especially in utility-heavy codebases where precise typing can improve DX and static analysis.
Let me know if you'd like tests or further refinements — happy to collaborate!
✅ Changes
Whitespacetype to define characters considered whitespace (" ","\n","\t").TrimLeftandTrimRightrecursive utility types to trim leading and trailing whitespace at the type level.Stringinterface to:trimasTrimLeft<TrimRight<S>>trimStartandtrimLeftasTrimLeft<S>trimEndandtrimRightasTrimRight<S>