-
-
Notifications
You must be signed in to change notification settings - Fork 0
⚡ refactor encoder to iterative stack-based approach #47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 39 commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
9dc6ca2
feat: add validation for DecodeOptions and EncodeOptions to ensure pr…
techouse 06fa2a0
fix: enhance decoding logic for ByteBuffer to handle malformed UTF-8 …
techouse e93edd5
feat: add throwOnLimitExceeded option to DecodeOptions for stricter l…
techouse 121c8c7
test: add tests for throwOnLimitExceeded in DecodeOptions copyWith me…
techouse 8840069
feat: implement _EncodeFrame and refactor encoding logic for improved…
techouse a446970
test: enhance tests for DecodeOptions and EncodeOptions with runtime …
techouse 040ea89
refactor: move _EncodeFrame class to a separate file for better organ…
techouse 5561626
docs: expand _EncodeFrame with additional properties for enhanced enc…
techouse fd5a91b
refactor: replace _validateDecodeOptions function with validate metho…
techouse f157c7f
refactor: add validation in DecodeOptions constructor to ensure prope…
techouse 9b75955
refactor: enhance UTF-8 decoding in Utils to allow for malformed sequ…
techouse 124961e
refactor: simplify test description for allowDots and decodeDotInKeys…
techouse 14ff67b
refactor: introduce _MergePhase and _MergeFrame for improved merge ha…
techouse 5bb177c
refactor: enhance DecodeOptions with runtime validation and assertion…
techouse be760ac
refactor: enhance merge handling in Utils by normalizing undefined va…
techouse db24759
refactor: rename _MergeFrame and _MergePhase to MergeFrame and MergeP…
techouse 5a400fc
refactor: rename _EncodeFrame to EncodeFrame for improved clarity and…
techouse 65f7c15
refactor: add comment to clarify Expando usage in DecodeOptions valid…
techouse e0a0518
refactor: add runtime validation for charset in encoding function
techouse d6750dd
refactor: update encoder documentation to clarify iterative stack-bas…
techouse 7cd71fc
refactor: update import statement for DecodeOptions to use the correc…
techouse 263f5ff
refactor: enhance comment for UTF-8 decoding to clarify Node.js compa…
techouse 93a82ba
refactor: remove StateError from expected exceptions in decode tests
techouse cb1519e
refactor: create new merged lists and sets instead of mutating existi…
techouse 7a42791
refactor: streamline merging logic for lists and sets in Utils class
techouse 4c1e8c4
refactor: add validation for merge phase in Utils class
techouse 2e6d9be
refactor: optimize iterable handling in encoding extension
techouse e9d8982
refactor: enhance encoding and decoding tests with additional cases
techouse d9cbe63
refactor: enhance merging logic to handle Undefined values in Utils c…
techouse adb8e92
refactor: change result variable declaration to late initialization i…
techouse 15cb9c5
refactor: replace _FakeEncoding with FakeEncoding in tests and add fa…
techouse 1dd3ac9
chore: update CHANGELOG for 1.7.0-wip with new features, fixes, and e…
techouse 8fbc9d0
docs: enhance AI assistant guide with additional details on encoding …
techouse fcdc598
fix: decode ByteBuffer via charset when no custom encoder is provided
techouse 67c0c84
chore: updated the runtime validation to use ArgumentError.value(...)…
techouse cf2a7ff
chore: replace assertion with ArgumentError in charset validation
techouse 072c87d
chore: update CHANGELOG with new fixes for ByteBuffer decoding and ch…
techouse 5192fba
Update lib/src/models/decode_options.dart
techouse bac8d33
Update lib/src/utils.dart
techouse bceff99
chore: improve error messages in EncodeOptions validation
techouse 409599c
fix: correct typo in CHANGELOG for ByteBuffer encoding description
techouse da20f31
docs: add note about ByteBuffer decoding behavior in README
techouse File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| import 'package:meta/meta.dart' show internal; | ||
|
|
||
| /// Internal phases for the iterative merge walker. | ||
| /// | ||
| /// These drive the state machine used by [Utils.merge] to avoid recursion | ||
| /// while preserving `qs` merge semantics for maps and iterables. | ||
| @internal | ||
| enum MergePhase { | ||
| /// Initial dispatch and shape normalization. | ||
| start, | ||
|
|
||
| /// Iterating over map entries during a merge step. | ||
| mapIter, | ||
|
|
||
| /// Iterating over list/set indices during a merge step. | ||
| listIter, | ||
| } |
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.