BREAKING(path): remove runtime type-checking #4954
Closed
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.
What's changed
This change removes
assertPath()
and its use from@std/path
.Why was this change made?
assertPath()
was an internal function that checked whether a provided string was a string (see implementation). In other words, it could catch an incorrectly typed variable when either not using TypeScript or bypassing the type-checker. In most environments, this function wasn't useful. Hence, the removal.While the topic of runtime type-checking is still being discussed in #3888, this change was made to be consistent with the rest of the Standard Library in the meantime, which doesn't perform initial type-checking of arguments.
Migration guide
If using an environment that doesn't use TypeScript or bypasses the type-checker, and if needed, check that variables passed to
@std/path
API are the correct type manually.Related
join()
implementations #4946 (comment)