UNPKG

@digital-magic/io-ts-local-date-time

Version:

LocalDate, LocalTime and TimeSlot types and utilities for TS

37 lines (36 loc) 1.64 kB
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>;