UNPKG

timered-counter

Version:

Make the value change more vivid and natural

32 lines 1.04 kB
import { isNumber } from 'remeda'; import { DurationPartType } from '../types/duration.js'; const ISO8601DurationMarker = { [DurationPartType.Year]: 'Y', [DurationPartType.Month]: 'M', [DurationPartType.Week]: 'W', [DurationPartType.Day]: 'D', [DurationPartType.Hour]: 'H', [DurationPartType.Minute]: 'M', [DurationPartType.Second]: 'S', }; const DateParts = [ DurationPartType.Year, DurationPartType.Month, DurationPartType.Week, DurationPartType.Day, ]; const TimeParts = [ DurationPartType.Hour, DurationPartType.Minute, DurationPartType.Second, ]; export function iso8601Duration(duration) { const datePart = DateParts.map(part => isNumber(duration[part]) ? `${duration[part]}${ISO8601DurationMarker[part]}` : ''); const timePart = TimeParts.map(part => isNumber(duration[part]) ? `${duration[part]}${ISO8601DurationMarker[part]}` : ''); return `P${datePart.join('')}T${timePart.join('')}`; } //# sourceMappingURL=iso8601-duration.js.map