export function serializeDurationToISOFormat()

in lib/lambda-functions/helpers/src/isoDurationUtility.ts [103:130]


export function serializeDurationToISOFormat(duration: Duration): string {
  if (
    !duration.years &&
    !duration.months &&
    !duration.weeks &&
    !duration.days &&
    !duration.hours &&
    !duration.minutes &&
    !duration.seconds
  ) {
    return "PT0S";
  }

  return [
    duration.negative && "-",
    "P",
    s(duration.years, "Y"),
    s(duration.months, "M"),
    s(duration.weeks, "W"),
    s(duration.days, "D"),
    (duration.hours || duration.minutes || duration.seconds) && "T",
    s(duration.hours, "H"),
    s(duration.minutes, "M"),
    s(duration.seconds, "S"),
  ]
    .filter(Boolean)
    .join("");
}