Skip to content

Conversation

@Invokedzz
Copy link
Contributor

Description

Refactor in order to improve legibility and understanding of ValueDecoder.class

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test coverage improvement

Related Issues

Closes #

Changes Made

  • Refactored ValueDecoder.class;
  • Wrote some tests for the new classes created.

SPEC Compliance

  • This PR implements/fixes spec compliance
  • Spec section(s) affected:
  • Spec version:

Testing

  • All existing tests pass
  • Added new tests for changes
  • Tested on Java 17
  • Tested on Java 21

Test Output

# Paste test output here

Code Quality

  • Ran ./gradlew test - all tests pass
  • Ran ./gradlew jacocoTestCoverageVerification - coverage meets 85% threshold
  • Added JavaDoc comments for public APIs
  • Code follows Java conventions

Checklist

  • My code follows the project's coding standards
  • I have added JavaDoc comments to new public APIs
  • I have added JUnit tests that prove my fix/feature works
  • New and existing tests pass locally
  • I have updated documentation (README.md if needed)
  • My changes do not introduce new dependencies (or are justified)
  • I have maintained Java 17+ compatibility
  • I have reviewed the TOON specification for relevant sections

Performance Impact

  • No performance impact
  • Performance improvement (describe below)
  • Potential performance regression (describe and justify below)

Breaking Changes

  • No breaking changes
  • Breaking changes (describe migration path below)

Screenshots / Examples

// Example usage

Output:

# Example output

Additional Context

Checklist for Reviewers

  • Code changes are clear and well-documented
  • Tests adequately cover the changes
  • Documentation is updated
  • No security concerns
  • Follows TOON specification
  • Backward compatible (or breaking changes are justified and documented)

@Invokedzz Invokedzz requested a review from a team as a code owner November 29, 2025 22:52
@jenspapenhagen jenspapenhagen merged commit 20aced1 into toon-format:main Nov 30, 2025
1 check passed
@github-actions
Copy link
Contributor

Code Coverage

Overall Project 94.52% -4.36% 🍏
Files changed 90.31% 🍏

File Coverage
DecodeContext.java 100% 🍏
ArrayDecoder.java 97.12% -2.88% 🍏
DecodeParser.java 94.31% -5.69% 🍏
KeyDecoder.java 90.67% -9.33% 🍏
ListItemDecoder.java 90% -10% 🍏
TabularArrayDecoder.java 88.84% -11.16% 🍏
ObjectDecoder.java 86.16% -13.84% 🍏
DecodeHelper.java 85.54% -14.46% 🍏
ValueDecoder.java 85.06% 🍏
Headers.java 76.92% -23.08% 🍏

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants