negateDuration
Signature
Section titled “Signature”negateDuration(value: string): stringimport { negateDuration } from "@northguild/gmt/duration/calculate";Flip the sign of an ISO 8601 duration string.
- Uses Temporal.Duration.from and .negated, then .toString() to re-emit.
- Negating is a pure sign flip on every component, so it never needs
relativeTo— calendar-unit durations round-trip through it fine, unlikeaddDuration/durationAs. - A zero-length duration has no sign to flip and comes back as “PT0S”, the canonical spelling Temporal emits for every zero duration (so “P0D” also renders “PT0S”).
- Returns “” when
valueis not a valid ISO 8601 duration string.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
value |
string |
ISO 8601 duration string |
Returns
Section titled “Returns”ISO 8601 duration string with the opposite sign, or “” on invalid input
Examples
Section titled “Examples”negateDuration("P1DT2H") // "-P1DT2H"negateDuration("-P1DT2H") // "P1DT2H"negateDuration("P1Y2M") // "-P1Y2M" (no relativeTo needed)negateDuration("PT0S") // "PT0S"negateDuration("not a duration") // ""