Skip to content

Commit a9853d0

Browse files
committed
fix(spec)!: the time stored-form value contract carries no zone
Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
1 parent 97005ae commit a9853d0

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

‎packages/spec/src/data/field-value.zod.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export const INSTANT_TYPES: ReadonlySet<string> = new Set([
8080
'datetime',
8181
] as const satisfies readonly FieldType[]);
8282

83-
/** Wall-clock time of day, `HH:MM[:SS[.fff]]` (+ optional zone) — not `Date.parse`-able (#2004). */
83+
/** Wall-clock time of day, `HH:MM[:SS[.fff]]` with no zone (ADR-0053 D-C1) — not `Date.parse`-able (#2004). */
8484
export const CLOCK_TIME_TYPES: ReadonlySet<string> = new Set([
8585
'time',
8686
] as const satisfies readonly FieldType[]);
@@ -372,10 +372,10 @@ export const InstantValueSchema = lazySchema(() =>
372372
'expected an ISO-8601 instant with explicit zone (e.g. 2026-03-15T14:30:00.000Z)'));
373373
export type InstantValue = z.input<typeof InstantValueSchema>;
374374

375-
/** `HH:MM[:SS[.fff]]` with optional zone — the `time` stored form (#2004). */
375+
/** `HH:MM[:SS[.fff]]` with no zone — the `time` stored form (#2004, ADR-0053 D-C1). */
376376
export const ClockTimeValueSchema = lazySchema(() =>
377-
z.string().regex(/^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d(\.\d+)?)?(Z|[+-]([01]\d|2[0-3]):?[0-5]\d)?$/,
378-
'expected HH:MM or HH:MM:SS (wall-clock time of day)'));
377+
z.string().regex(/^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d(\.\d+)?)?$/,
378+
'expected HH:MM or HH:MM:SS (wall-clock time of day, no time zone)'));
379379
export type ClockTimeValue = z.input<typeof ClockTimeValueSchema>;
380380

381381
/**

0 commit comments

Comments
 (0)