exiftool-vendored
    Preparing search index...

    Function validTzOffsetMinutes

    • Type guard to check if a numeric offset (in minutes) represents a valid timezone.

      Validates that the offset:

      • Is a number (not null/undefined)
      • Is not the UnsetZone sentinel value (-1)
      • Matches a real-world timezone offset (respects Settings for archaic offsets)

      Use this for exact validation without rounding. For error-tolerant rounding to the nearest valid offset, use inferLikelyOffsetMinutes instead.

      Parameters

      • tzOffsetMinutes: Maybe<number>

        Offset in minutes to validate (e.g., 480 for UTC+8)

      Returns tzOffsetMinutes is number

      true if the offset is exactly valid (type guard)

      inferLikelyOffsetMinutes for error-tolerant rounding

      validTzOffsetMinutes(480)    // true (UTC+8)
      validTzOffsetMinutes(-300) // true (UTC-5)
      validTzOffsetMinutes(330) // true (UTC+5:30, India)
      validTzOffsetMinutes(345) // true (UTC+5:45, Nepal)

      validTzOffsetMinutes(481) // false (not a valid timezone)
      validTzOffsetMinutes(-1) // false (UnsetZone sentinel)
      validTzOffsetMinutes(null) // false

      // Archaic offsets require Settings
      Settings.allowArchaicTimezoneOffsets.value = false
      validTzOffsetMinutes(-630) // false (Hawaii -10:30, archaic)

      Settings.allowArchaicTimezoneOffsets.value = true
      validTzOffsetMinutes(-630) // true (Hawaii -10:30, archaic)