Skip to content

stream: use validateObject for zlib/iter params - #65015

Open
greenheadHQ wants to merge 1 commit into
nodejs:mainfrom
greenheadHQ:transform-validate-object
Open

stream: use validateObject for zlib/iter params#65015
greenheadHQ wants to merge 1 commit into
nodejs:mainfrom
greenheadHQ:transform-validate-object

Conversation

@greenheadHQ

Copy link
Copy Markdown
Contributor

Replace the open-coded object check in validateParams() with validateObject using the kValidateObjectAllowArray flag. The flag matches the previous typeof params !== 'object' || params === null semantics case by case: arrays keep passing, null and other primitives keep rejecting. Both paths construct ERR_INVALID_ARG_TYPE with identical arguments, so the error type, code, and message are unchanged.

The added test locks the array-accepting boundary, which was not covered by the existing validation tests, and passes with and without the lib change.

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/streams

@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. stream Issues and PRs related to the stream subsystem. labels Aug 4, 2026
The kValidateObjectAllowArray flag matches the replaced check: arrays
keep passing and the thrown error is unchanged.

Signed-off-by: greenhead <shren0812@gmail.com>
@greenheadHQ
greenheadHQ force-pushed the transform-validate-object branch from 23fcacd to 163140a Compare August 4, 2026 14:16
@codecov

codecov Bot commented Aug 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.28%. Comparing base (31cde9f) to head (163140a).
⚠️ Report is 11 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #65015      +/-   ##
==========================================
- Coverage   90.30%   90.28%   -0.02%     
==========================================
  Files         759      759              
  Lines      247621   247633      +12     
  Branches    46672    46688      +16     
==========================================
- Hits       223603   223585      -18     
- Misses      15473    15515      +42     
+ Partials     8545     8533      -12     
Files with missing lines Coverage Δ
lib/internal/streams/iter/transform.js 95.72% <100.00%> (-0.01%) ⬇️

... and 38 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@greenheadHQ

Copy link
Copy Markdown
Contributor Author

@nodejs/streams Could someone take a look at this? It swaps an open-coded object check in validateParams() for the existing validateObject helper, keeping the same error via kValidateObjectAllowArray. CI is green.

@greenheadHQ

Copy link
Copy Markdown
Contributor Author

@jasnell You wrote stream/iter, so you may be the right person to look at this one. It's a small refactor of the options.params check, with the array-accepting behaviour preserved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-ci PRs that need a full CI run. stream Issues and PRs related to the stream subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants