Skip to content
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

add ISO8601 duration formatting #4343

Merged
merged 4 commits into from
Feb 5, 2025
Merged

add ISO8601 duration formatting #4343

merged 4 commits into from
Feb 5, 2025

Conversation

fubhy
Copy link
Member

@fubhy fubhy commented Jan 26, 2025

Should we add this? If so, I'd add a parser implementation too. The spec isn't clear on how to deal with months and years but I left them out anyways for now which is in line with our existing Duration implementation which also doesn't handle those.

Closes #4319

@fubhy fubhy requested a review from mikearnaldi as a code owner January 26, 2025 12:00
Copy link

changeset-bot bot commented Jan 26, 2025

🦋 Changeset detected

Latest commit: 1e4c3c0

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 35 packages
Name Type
effect Minor
@effect/cli Major
@effect/cluster-browser Major
@effect/cluster-node Major
@effect/cluster-workflow Major
@effect/cluster Major
@effect/experimental Major
@effect/opentelemetry Major
@effect/platform-browser Major
@effect/platform-bun Major
@effect/platform-node-shared Major
@effect/platform-node Major
@effect/platform Major
@effect/printer-ansi Major
@effect/printer Major
@effect/rpc-http Major
@effect/rpc Major
@effect/sql-clickhouse Major
@effect/sql-d1 Major
@effect/sql-drizzle Major
@effect/sql-kysely Major
@effect/sql-libsql Major
@effect/sql-mssql Major
@effect/sql-mysql2 Major
@effect/sql-pg Major
@effect/sql-sqlite-bun Major
@effect/sql-sqlite-do Major
@effect/sql-sqlite-node Major
@effect/sql-sqlite-react-native Major
@effect/sql-sqlite-wasm Major
@effect/sql Major
@effect/typeclass Major
@effect/vitest Major
@effect/ai Major
@effect/ai-openai Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@fubhy fubhy force-pushed the duration-format-iso branch from 88a9ef1 to 3489bac Compare January 26, 2025 12:06
@effect-bot effect-bot changed the base branch from main to next-minor January 26, 2025 12:06
@effect-bot effect-bot force-pushed the next-minor branch 6 times, most recently from bbe556f to df7f007 Compare January 28, 2025 10:12
@mikearnaldi
Copy link
Member

I can't think of an argument against imho

@fubhy
Copy link
Member Author

fubhy commented Jan 30, 2025

I can't think of an argument against imho

Alright, let's do it then!

@fubhy fubhy force-pushed the duration-format-iso branch from b9d4a6f to 1e4c3c0 Compare January 31, 2025 09:12
@fubhy fubhy requested a review from gcanti as a code owner January 31, 2025 09:12
@effect-bot effect-bot force-pushed the next-minor branch 9 times, most recently from 147d0a7 to 0e9616f Compare February 2, 2025 14:36
@effect-bot effect-bot force-pushed the next-minor branch 10 times, most recently from 2940151 to 71c9d49 Compare February 5, 2025 00:44
@gcanti gcanti merged commit c122ad6 into next-minor Feb 5, 2025
1 check passed
@gcanti gcanti deleted the duration-format-iso branch February 5, 2025 09:22
effect-bot pushed a commit that referenced this pull request Feb 5, 2025
/**
* Formats a Duration into an ISO8601 duration string.
*
* The ISO8601 duration format is generally specified as P[n]Y[n]M[n]DT[n]H[n]M[n]S. However, since
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gcanti whoops. I forgot to remove this comment. I decided to go with 30 days per month qnd 365 days per year instead.

effect-bot pushed a commit that referenced this pull request Feb 5, 2025
effect-bot pushed a commit that referenced this pull request Feb 5, 2025
effect-bot pushed a commit that referenced this pull request Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Support ISO-8601 format for Duration
4 participants