Add Optional Strict Input Checking to u8aToU8a
#1994
Merged
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.
📝 Description
This PR introduces an opt-in
strict
parameter to theu8aToU8a
function to prevent silently convertingnull
orundefined
inputs into emptyUint8Array
instances.💡 Motivation
While working with this function, we noticed that passing
null
orundefined
was producing empty arrays instead of throwing errors, leading to hard-to-trace issues. This behavior caused 134 test failures. Instead of modifying every test and potentially introducing inconsistencies, we chose to add a strict checking mode.🔧 Changes
strict
boolean parameter (default:false
) tou8aToU8a
.strict
is enabled, the function throws an error if the input isnull
orundefined
.✅ Benefits
This approach allows developers to opt into stricter input validation when needed, reducing the chances of subtle bugs or random runtime issues in downstream applications.