aboutsummaryrefslogtreecommitdiff
path: root/src/util/duration.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/duration.ts')
-rw-r--r--src/util/duration.ts44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/util/duration.ts b/src/util/duration.ts
index 9c10375..3d1a44c 100644
--- a/src/util/duration.ts
+++ b/src/util/duration.ts
@@ -1,6 +1,6 @@
import { flow, pipe } from "fp-ts/function";
-import * as E from "fp-ts/Either";
-import * as S from "fp-ts/String";
+import * as E from "fp-ts/lib/Either";
+import * as S from "fp-ts/lib/string";
import * as O from "fp-ts/lib/Option";
import * as R from "fp-ts/lib/ReadonlyArray";
@@ -60,30 +60,30 @@ export const createDurationBuilder = (): DurationBuilder => ({
hours: 0,
});
-export const withMillis =
- (millis: number) =>
- (builder: DurationBuilder): DurationBuilder => ({
+export type DurationBuilderField<T> = (
+ arg: T,
+) => (builder: DurationBuilder) => DurationBuilder;
+
+export const withMillis: DurationBuilderField<number> =
+ (millis) => (builder) => ({
...builder,
millis,
});
-export const withSeconds =
- (seconds: number) =>
- (builder: DurationBuilder): DurationBuilder => ({
+export const withSeconds: DurationBuilderField<number> =
+ (seconds) => (builder) => ({
...builder,
seconds,
});
-export const withMinutes =
- (minutes: number) =>
- (builder: DurationBuilder): DurationBuilder => ({
+export const withMinutes: DurationBuilderField<number> =
+ (minutes) => (builder) => ({
...builder,
minutes,
});
-export const withHours =
- (hours: number) =>
- (builder: DurationBuilder): DurationBuilder => ({
+export const withHours: DurationBuilderField<number> =
+ (hours) => (builder) => ({
...builder,
hours,
});
@@ -99,7 +99,7 @@ export const parse = (duration: string): E.Either<string, Duration> => {
duration,
S.split(" "),
R.map(S.trim),
- R.filter((part) => !S.isEmpty(part))
+ R.filter((part) => !S.isEmpty(part)),
);
const valueUnitPairs = pipe(
@@ -120,9 +120,9 @@ export const parse = (duration: string): E.Either<string, Duration> => {
E.map(
flow(
R.filter(O.isSome),
- R.map(({ value }) => value)
- )
- )
+ R.map(({ value }) => value),
+ ),
+ ),
);
return pipe(
@@ -146,10 +146,10 @@ export const parse = (duration: string): E.Either<string, Duration> => {
default:
return E.left(`unknown unit: ${unit}`);
}
- })
- )
- )
+ }),
+ ),
+ ),
),
- E.map(build)
+ E.map(build),
);
};