Skip to content

Commit 33fa667

Browse files
authored
Duration: fix format output when the input is zero (#4403)
1 parent 57d1623 commit 33fa667

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

.changeset/many-lemons-rush.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
"effect": patch
3+
---
4+
5+
Duration: fix `format` output when the input is zero.
6+
7+
Before
8+
9+
```ts
10+
import { Duration } from "effect"
11+
12+
console.log(Duration.format(Duration.zero))
13+
// Output: ""
14+
```
15+
16+
After
17+
18+
```ts
19+
import { Duration } from "effect"
20+
21+
console.log(Duration.format(Duration.zero))
22+
// Output: "0"
23+
```

packages/effect/src/Duration.ts

+3
Original file line numberDiff line numberDiff line change
@@ -821,6 +821,9 @@ export const format = (self: DurationInput): string => {
821821
if (duration.value._tag === "Infinity") {
822822
return "Infinity"
823823
}
824+
if (isZero(duration)) {
825+
return "0"
826+
}
824827

825828
const fragments = parts(duration)
826829
const pieces = []

packages/effect/test/Duration.test.ts

+1
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ describe("Duration", () => {
322322
strictEqual(Duration.format(Duration.days(2)), `2d`)
323323
strictEqual(Duration.format(Duration.days(2.25)), `2d 6h`)
324324
strictEqual(Duration.format(Duration.weeks(1)), `7d`)
325+
strictEqual(Duration.format(Duration.zero), `0`)
325326
})
326327

327328
it("format", () => {

0 commit comments

Comments
 (0)