fix(02): emit IANA-annotated timed strings from serializeTime

Temporal.ZonedDateTime.from() rejects offset-only ISO strings such as
'2026-06-18T08:00:00-04:00'; it requires an IANA bracket, e.g.
'2026-06-18T08:00:00-04:00[America/New_York]'. serializeTime() was
emitting offset-only for named zones and bare 'Z' for UTC — both
unparseable by the frontend, blanking the calendar view.

Changes:
- Named IANA zone: emit '...±HH:MM[tzid]' using t.zone.tzid
- UTC zone: strip trailing 'Z' from toString(), emit '+00:00[UTC]'
- Floating zone (no registered VTIMEZONE): fall back to '+00:00[UTC]'
- Update CalendarOccurrence docstrings to reflect the IANA-annotated contract
- Add temporal-polyfill@0.3.2 as dev dep in api for cross-contract test
This commit is contained in:
Lucas Berger
2026-06-05 14:02:36 -04:00
parent df5d36308a
commit 35f725d450
3 changed files with 30 additions and 13 deletions
+3
View File
@@ -47,6 +47,9 @@ importers:
drizzle-kit:
specifier: 0.31.10
version: 0.31.10
temporal-polyfill:
specifier: 0.3.2
version: 0.3.2
typescript:
specifier: ^5.5.0
version: 5.9.3