feat(plugin:duration): Add { round: false } option to humanize() #2973
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.
Hi maintainers!
This PR adds a round: false option to duration.humanize() to allow for unrounded, precise output.
Closes: #2970
Summary
Updated duration.humanize() to accept an options object for { round: false } and { withSuffix: true }.
If round: false is passed, it now bypasses the relativeTime thresholds and formats the string manually.
If no options are passed, it defaults to the original, rounding behavior (fully backward-compatible).
Added ss: '%d seconds' to the relativeTime plugin for the new "10 seconds" output.
Added full tests for the new feature, backward compatibility, and fallbacks, maintaining 100% test coverage.
I'm a student working on a university project to learn open source, and I'd be happy to make any changes you suggest. Thanks!