npm.io
10.4.0 • Published 6d ago

@leancodepl/api-date-utils

Licence
Apache-2.0
Version
10.4.0
Deps
1
Size
43 kB
Vulns
0
Weekly
297

@leancodepl/api-date-utils

Utilities for parsing and working with API date types.

Installation

npm install @leancodepl/api-date-utils
# or
yarn add @leancodepl/api-date-utils

API

parseApiTimeSpan(timespan)

Parses ApiTimeSpan string into structured time components.

Parameters:

  • timespan: ApiTimeSpan - The ApiTimeSpan string to parse

Returns: Object with sign and time component values

Usage Examples

Basic Parsing
import { parseApiTimeSpan } from "@leancodepl/api-date-utils"

const result = parseApiTimeSpan("1.23:45:67.890")
console.log(result.values.hours) // 23
console.log(result.values.days) // 1
console.log(result.sign) // undefined (positive)
Negative TimeSpan
import { parseApiTimeSpan } from "@leancodepl/api-date-utils"

const result = parseApiTimeSpan("-2.10:30:45.123")
console.log(result.sign) // '-'
console.log(result.values.days) // 2
console.log(result.values.hours) // 10
console.log(result.values.minutes) // 30
console.log(result.values.milliseconds) // 123
Duration Calculations
import { parseApiTimeSpan } from "@leancodepl/api-date-utils"

const calculateTotalMilliseconds = (timespan: ApiTimeSpan) => {
  const parsed = parseApiTimeSpan(timespan)
  const { days, hours, minutes, seconds, milliseconds } = parsed.values

  const total = days * 86400000 + hours * 3600000 + minutes * 60000 + seconds * 1000 + milliseconds

  return parsed.sign === "-" ? -total : total
}

Keywords