qstd 0.3.64 → 0.3.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/index.cjs +9 -1
- package/dist/client/index.js +9 -1
- package/dist/server/index.cjs +9 -1
- package/dist/server/index.js +9 -1
- package/dist/shared/time.d.ts +15 -14
- package/dist/shared/time.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/client/index.cjs
CHANGED
|
@@ -281,7 +281,15 @@ var formatDuration = (value, options = {}) => {
|
|
|
281
281
|
showMs = false,
|
|
282
282
|
spaces = true
|
|
283
283
|
} = options;
|
|
284
|
-
const
|
|
284
|
+
const isMs = unit === "ms";
|
|
285
|
+
const isSeconds = unit === "seconds" || unit === "secs" || unit === "ss";
|
|
286
|
+
const isMinutes = unit === "minutes" || unit === "mins" || unit === "mm";
|
|
287
|
+
if (!isMs && !isSeconds && !isMinutes) {
|
|
288
|
+
throw new Error(
|
|
289
|
+
`Invalid unit "${unit}". Use "ms", "seconds" (or "secs"/"ss"), or "minutes" (or "mins"/"mm").`
|
|
290
|
+
);
|
|
291
|
+
}
|
|
292
|
+
const ms = isSeconds ? value * 1e3 : isMinutes ? value * 60 * 1e3 : value;
|
|
285
293
|
const absMs = Math.abs(ms);
|
|
286
294
|
const totalSeconds = Math.floor(absMs / 1e3);
|
|
287
295
|
const hours = Math.floor(totalSeconds / 3600);
|
package/dist/client/index.js
CHANGED
|
@@ -274,7 +274,15 @@ var formatDuration = (value, options = {}) => {
|
|
|
274
274
|
showMs = false,
|
|
275
275
|
spaces = true
|
|
276
276
|
} = options;
|
|
277
|
-
const
|
|
277
|
+
const isMs = unit === "ms";
|
|
278
|
+
const isSeconds = unit === "seconds" || unit === "secs" || unit === "ss";
|
|
279
|
+
const isMinutes = unit === "minutes" || unit === "mins" || unit === "mm";
|
|
280
|
+
if (!isMs && !isSeconds && !isMinutes) {
|
|
281
|
+
throw new Error(
|
|
282
|
+
`Invalid unit "${unit}". Use "ms", "seconds" (or "secs"/"ss"), or "minutes" (or "mins"/"mm").`
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
const ms = isSeconds ? value * 1e3 : isMinutes ? value * 60 * 1e3 : value;
|
|
278
286
|
const absMs = Math.abs(ms);
|
|
279
287
|
const totalSeconds = Math.floor(absMs / 1e3);
|
|
280
288
|
const hours = Math.floor(totalSeconds / 3600);
|
package/dist/server/index.cjs
CHANGED
|
@@ -293,7 +293,15 @@ var formatDuration = (value, options = {}) => {
|
|
|
293
293
|
showMs = false,
|
|
294
294
|
spaces = true
|
|
295
295
|
} = options;
|
|
296
|
-
const
|
|
296
|
+
const isMs = unit === "ms";
|
|
297
|
+
const isSeconds = unit === "seconds" || unit === "secs" || unit === "ss";
|
|
298
|
+
const isMinutes = unit === "minutes" || unit === "mins" || unit === "mm";
|
|
299
|
+
if (!isMs && !isSeconds && !isMinutes) {
|
|
300
|
+
throw new Error(
|
|
301
|
+
`Invalid unit "${unit}". Use "ms", "seconds" (or "secs"/"ss"), or "minutes" (or "mins"/"mm").`
|
|
302
|
+
);
|
|
303
|
+
}
|
|
304
|
+
const ms = isSeconds ? value * 1e3 : isMinutes ? value * 60 * 1e3 : value;
|
|
297
305
|
const absMs = Math.abs(ms);
|
|
298
306
|
const totalSeconds = Math.floor(absMs / 1e3);
|
|
299
307
|
const hours = Math.floor(totalSeconds / 3600);
|
package/dist/server/index.js
CHANGED
|
@@ -285,7 +285,15 @@ var formatDuration = (value, options = {}) => {
|
|
|
285
285
|
showMs = false,
|
|
286
286
|
spaces = true
|
|
287
287
|
} = options;
|
|
288
|
-
const
|
|
288
|
+
const isMs = unit === "ms";
|
|
289
|
+
const isSeconds = unit === "seconds" || unit === "secs" || unit === "ss";
|
|
290
|
+
const isMinutes = unit === "minutes" || unit === "mins" || unit === "mm";
|
|
291
|
+
if (!isMs && !isSeconds && !isMinutes) {
|
|
292
|
+
throw new Error(
|
|
293
|
+
`Invalid unit "${unit}". Use "ms", "seconds" (or "secs"/"ss"), or "minutes" (or "mins"/"mm").`
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
const ms = isSeconds ? value * 1e3 : isMinutes ? value * 60 * 1e3 : value;
|
|
289
297
|
const absMs = Math.abs(ms);
|
|
290
298
|
const totalSeconds = Math.floor(absMs / 1e3);
|
|
291
299
|
const hours = Math.floor(totalSeconds / 3600);
|
package/dist/shared/time.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Locale } from "date-fns";
|
|
2
2
|
type DurationFormat = "compact" | "full" | "clock" | "fractional";
|
|
3
|
-
|
|
3
|
+
/** Suggested units - aliases like 'ss', 'secs', 'mm', 'mins' are also accepted */
|
|
4
|
+
type DurationUnit = "ms" | "seconds" | "minutes" | (string & {});
|
|
4
5
|
type DurationOptions = {
|
|
5
6
|
/** Format style: 'compact' (1h 2m), 'full' (1 hour 2 minutes), 'clock' (01:02:03), 'fractional' (1.4s, 1m4.4s) */
|
|
6
7
|
format?: DurationFormat;
|
|
7
|
-
/** Input unit: 'ms' (milliseconds, default), '
|
|
8
|
+
/** Input unit: 'ms' (milliseconds, default), 'seconds' (or 'secs'/'ss'), or 'minutes' (or 'mins'/'mm'). Use 'seconds' for audio/video currentTime. */
|
|
8
9
|
unit?: DurationUnit;
|
|
9
10
|
/** Show zero values for intermediate units (e.g., "1h 0m 30s" vs "1h 30s") */
|
|
10
11
|
showZero?: boolean;
|
|
@@ -24,7 +25,7 @@ type DurationOptions = {
|
|
|
24
25
|
* @param value - Duration value in the specified unit (defaults to milliseconds)
|
|
25
26
|
* @param options - Configuration options
|
|
26
27
|
* @param options.format - Output format: 'clock' (default), 'compact', 'full', or 'fractional'
|
|
27
|
-
* @param options.unit - Input unit: 'ms' (milliseconds, default), '
|
|
28
|
+
* @param options.unit - Input unit: 'ms' (milliseconds, default), 'seconds' (or 'secs'/'ss'), or 'minutes' (or 'mins'/'mm')
|
|
28
29
|
* @param options.showZero - Show zero intermediate units (e.g., "1h 0m 0s" vs "1h")
|
|
29
30
|
* @param options.showMs - Include milliseconds in compact format
|
|
30
31
|
* @param options.spaces - Use spaces between units in compact format (default: true)
|
|
@@ -37,10 +38,10 @@ type DurationOptions = {
|
|
|
37
38
|
* // ─────────────────────────────────────────────────────────────────────────────
|
|
38
39
|
* formatDuration(90000) // "1:30"
|
|
39
40
|
* formatDuration(3661000) // "1:01:01"
|
|
40
|
-
* formatDuration(45, { unit: "
|
|
41
|
-
* formatDuration(225, { unit: "
|
|
42
|
-
* formatDuration(3661, { unit: "
|
|
43
|
-
* formatDuration(90, { unit: "
|
|
41
|
+
* formatDuration(45, { unit: "seconds" }) // "0:45"
|
|
42
|
+
* formatDuration(225, { unit: "seconds" }) // "3:45"
|
|
43
|
+
* formatDuration(3661, { unit: "seconds" }) // "1:01:01"
|
|
44
|
+
* formatDuration(90, { unit: "minutes" }) // "1:30:00"
|
|
44
45
|
*
|
|
45
46
|
* // ─────────────────────────────────────────────────────────────────────────────
|
|
46
47
|
* // COMPACT FORMAT - "1h 2m 3s" or "1h2m3s"
|
|
@@ -49,14 +50,14 @@ type DurationOptions = {
|
|
|
49
50
|
* formatDuration(90000, { format: "compact" }) // "1m 30s"
|
|
50
51
|
* formatDuration(3600000, { format: "compact" }) // "1h"
|
|
51
52
|
* formatDuration(3661000, { format: "compact" }) // "1h 1m 1s"
|
|
52
|
-
* formatDuration(45, { unit: "
|
|
53
|
-
* formatDuration(90, { unit: "
|
|
54
|
-
* formatDuration(3661, { unit: "
|
|
53
|
+
* formatDuration(45, { unit: "seconds", format: "compact" }) // "45s"
|
|
54
|
+
* formatDuration(90, { unit: "seconds", format: "compact" }) // "1m 30s"
|
|
55
|
+
* formatDuration(3661, { unit: "seconds", format: "compact" }) // "1h 1m 1s"
|
|
55
56
|
*
|
|
56
57
|
* // Without spaces (recording timer style)
|
|
57
|
-
* formatDuration(3661, { unit: "
|
|
58
|
-
* formatDuration(90, { unit: "
|
|
59
|
-
* formatDuration(45, { unit: "
|
|
58
|
+
* formatDuration(3661, { unit: "seconds", format: "compact", spaces: false }) // "1h1m1s"
|
|
59
|
+
* formatDuration(90, { unit: "seconds", format: "compact", spaces: false }) // "1m30s"
|
|
60
|
+
* formatDuration(45, { unit: "seconds", format: "compact", spaces: false }) // "45s"
|
|
60
61
|
*
|
|
61
62
|
* // With zero intermediate units
|
|
62
63
|
* formatDuration(3600000, { format: "compact", showZero: true }) // "1h 0m 0s"
|
|
@@ -92,7 +93,7 @@ type DurationOptions = {
|
|
|
92
93
|
* formatDuration(NaN) // "--:--"
|
|
93
94
|
* formatDuration(Infinity) // "--:--"
|
|
94
95
|
* formatDuration(-5) // "--:--"
|
|
95
|
-
* formatDuration(-5, { unit: "
|
|
96
|
+
* formatDuration(-5, { unit: "seconds" }) // "--:--"
|
|
96
97
|
* ```
|
|
97
98
|
*/
|
|
98
99
|
export declare const formatDuration: (value: number | null | undefined, options?: DurationOptions) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/shared/time.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,KAAK,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;AAClE,KAAK,YAAY,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/shared/time.ts"],"names":[],"mappings":"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"}
|