🚀. Socket Launch Week Day 2:Introducing Manifest Alerts.Learn more
Sign In

@samual/lib

Package Overview
Dependencies
Maintainers
1
Versions
173
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@samual/lib - npm Package Compare versions

Comparing version
0.13.1-9d7a0d3
to
0.13.1-c62d91a
+1
-1
package.json
{
"name": "@samual/lib",
"version": "0.13.1-9d7a0d3",
"version": "0.13.1-c62d91a",
"repository": "github:samualtnorman/lib",

@@ -5,0 +5,0 @@ "author": "Samual Norman <me@samual.uk> (https://samual.uk/)",

import type { LaxPartial } from ".";
export type Duration = LaxPartial<{
years: bigint;
days: bigint;
hours: bigint;
minutes: bigint;
seconds: bigint;
milliseconds: bigint;
}>;
export declare const Duration: ({ years, days, hours, minutes, seconds, milliseconds }: Partial<Duration>) => Duration;
export declare function normaliseDuration(duration: Duration): void;
type FormatDurationOptions = LaxPartial<{
ignoreZero: boolean;
}>;
export declare const formatDuration: ({ years, days, hours, minutes, seconds, milliseconds }: Duration, { ignoreZero }?: FormatDurationOptions) => string;
export {};
const Duration = ({ years, days, hours, minutes, seconds, milliseconds }) => ({
years,
days,
hours,
minutes,
seconds,
milliseconds
})
function normaliseDuration(duration) {
let milliseconds = duration.milliseconds ?? 0n,
seconds = duration.seconds ?? 0n,
minutes = duration.minutes ?? 0n,
hours = duration.hours ?? 0n,
days = duration.days ?? 0n,
years = duration.years ?? 0n
seconds += milliseconds / 1000n
milliseconds %= 1000n
minutes += seconds / 60n
seconds %= 60n
hours += minutes / 60n
minutes %= 60n
days += hours / 24n
hours %= 24n
years += days / 365n
days %= 365n
null != duration.years ? (duration.years = years) : (days += 365n * years)
null != duration.days ? (duration.days = days) : (hours += 24n * days)
null != duration.hours ? (duration.hours = hours) : (minutes += 60n * hours)
null != duration.minutes ? (duration.minutes = minutes) : (seconds += 60n * minutes)
null != duration.seconds ? (duration.seconds = seconds) : (milliseconds += 1000n * seconds)
null != duration.milliseconds && (duration.milliseconds = milliseconds)
}
const formatDuration = ({ years, days, hours, minutes, seconds, milliseconds }, { ignoreZero = !1 } = {}) =>
[
(ignoreZero ? years : null != years) && `${years} year${1n == years ? "" : "s"}`,
(ignoreZero ? days : null != days) && `${days} day${1n == days ? "" : "s"}`,
(ignoreZero ? hours : null != hours) && `${hours} hour${1n == hours ? "" : "s"}`,
(ignoreZero ? minutes : null != minutes) && `${minutes} minute${1n == minutes ? "" : "s"}`,
(ignoreZero ? seconds : null != seconds) && `${seconds} second${1n == seconds ? "" : "s"}`,
(ignoreZero ? milliseconds : null != milliseconds) &&
`${milliseconds} millisecond${1n == milliseconds ? "" : "s"}`
]
.filter(Boolean)
.join(", ")
export { Duration, formatDuration, normaliseDuration }