Repository navigation
✨ port qs 6.16.0 behavior - #65
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThis change adds an optional encoding depth limit and updates encoding and decoding behaviour for dotted top-level keys, filtered dates, and comma-separated groups. Documentation, examples, and tests cover these changes and related decoding cases. ChangesQuery serialisation and parsing
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant EncodeOptions
participant QS.encode
participant _$Encode._encode
EncodeOptions->>QS.encode: supplies depth
QS.encode->>_$Encode._encode: passes the root configuration with depth
_$Encode._encode-->>QS.encode: returns encoded output or throws RangeError
Merge Risk: ⚪ Minimal · up to No actionable merge-blocking behavior is identified in the reviewed changes. The changes document and test their new encoding and decoding boundaries. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The changes stay within the query library. Strict decoding rejects more oversized comma groups, and the new encoding depth limit is opt-in. No introduced security issue was established, but the behavior of applications using the library is not visible here. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Hardening Proposals
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit checks the depth and hops, Comment |
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Duplication | 0 |
🟢 Coverage 100.00% diff coverage · +0.13% coverage variation
Metric Results Coverage variation ✅ +0.13% coverage variation (-1.00%) Diff coverage ✅ 100.00% diff coverage Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (3aa211a) 1452 1420 97.80% Head commit (740a6a9) 1444 (-8) 1414 (-6) 97.92% (+0.13%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#65) 15 15 100.00% Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #65 +/- ##
==========================================
+ Coverage 97.79% 97.92% +0.12%
==========================================
Files 20 20
Lines 1452 1444 -8
==========================================
- Hits 1420 1414 -6
+ Misses 32 30 -2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Description
Port four behavior changes from upstream Node
qsv6.15.3 to v6.16.0:encodeDotInKeysis enabled.EncodeOptions.depth(unbounded by default) to limit encoding depth.DateTimevalues after function filters, including comma-format lists.[]=before value decoding.The README, changelog, and executable example cover the updated behavior and option semantics. The comparison package now uses upstream
qsv6.16.0.Issue: No repository issue is linked. Upstream reference: qs v6.15.3…v6.16.0.
Type of change
EncodeOptions.depth)How Has This Been Tested?
rtk bash test/comparison/compare_outputs.sh— Node, Dart VM, and dart2js outputs matched.rtk dart pub global run coverage:test_with_coverage— all 774 tests passed; local line coverage is 97.9% (1,414/1,444), excluding the 22-line human-readableEncodeOptions.toString()diagnostic representation from coverage.rtk dart test test/unit/decode_test.dart test/unit/models/encode_options_test.dart test/unit/format_test.dart --reporter compact— focused regressions passed.rtk dart analyze test/unit/decode_test.dart test/unit/models/encode_options_test.dart test/unit/format_test.dart— no issues found.rtk dart analyze lib/src/models/encode_options.dart— no issues found after adding the coverage directive.Focused cases include dotted primitive keys, encode-depth boundaries, filtered
DateTimeserialization, strict comma-list limits after custom decoding, zero-width RegExp delimiters at query boundaries, and the documentedFormat.toString()names.Checklist