@digital-magic/io-ts-local-date-time
Version:
LocalDate, LocalTime and TimeSlot types and utilities for TS
37 lines (36 loc) • 1.64 kB
TypeScript
import * as t from 'io-ts';
import { Ord } from 'fp-ts/Ord';
import { Refinement } from 'fp-ts/function';
export declare const Time24hRegExp: RegExp;
export declare const timeSeparator = ":";
export declare const LocalTime: t.BrandC<t.StringC, {
readonly LocalTime: symbol;
}>;
export declare type LocalTime = t.TypeOf<typeof LocalTime>;
export declare const localTime: (value: string) => t.Branded<string, {
readonly LocalTime: symbol;
}>;
export declare const localTimeToSeconds: (v: LocalTime) => number;
export declare const SecondsFromLocalTimeDecoder: t.Decoder<t.Branded<string, {
readonly LocalTime: symbol;
}>, number>;
export declare const secondsFromLocalTimeEncoder: (dateFormat: string) => t.Encoder<number, LocalTime>;
export declare const secondsFromLocalTime: (value: t.Branded<string, {
readonly LocalTime: symbol;
}>) => number;
export declare const timeOrd: Ord<LocalTime>;
export declare const timeGreater: (x: t.Branded<string, {
readonly LocalTime: symbol;
}>, y: t.Branded<string, {
readonly LocalTime: symbol;
}>) => boolean;
export declare const timeBetween: (low: t.Branded<string, {
readonly LocalTime: symbol;
}>, hi: t.Branded<string, {
readonly LocalTime: symbol;
}>) => (x: t.Branded<string, {
readonly LocalTime: symbol;
}>) => boolean;
export declare type LocalTimeRefinement<T extends LocalTime> = Refinement<LocalTime, T>;
export declare function localTimeIsLesserRefinement<T extends LocalTime>(compareTo: LocalTime): LocalTimeRefinement<T>;
export declare function localTimeIsGreaterRefinement<T extends LocalTime>(compareTo: LocalTime): LocalTimeRefinement<T>;