chronoshift
Version:
A tiny library for shifting time with timezones
34 lines • 1.15 kB
TypeScript
import type { Timezone } from '../timezone/timezone';
export type AlignFn = (dt: Date, tz: Timezone) => Date;
export type ShiftFn = (dt: Date, tz: Timezone, step: number) => Date;
export type RoundFn = (dt: Date, roundTo: number, tz: Timezone) => Date;
export interface TimeShifterNoCeil {
canonicalLength: number;
siblings: number;
floor: AlignFn;
round: RoundFn;
shift: ShiftFn;
}
export interface TimeShifter extends TimeShifterNoCeil {
ceil: AlignFn;
}
export declare const second: TimeShifter;
export declare const minute: TimeShifter;
export declare const hour: TimeShifter;
export declare const day: TimeShifter;
export declare const week: TimeShifter;
export declare const month: TimeShifter;
export declare const year: TimeShifter;
export declare function getMultiDayShifter(numDays: number): TimeShifter;
export interface Shifters {
second: TimeShifter;
minute: TimeShifter;
hour: TimeShifter;
day: TimeShifter;
week: TimeShifter;
month: TimeShifter;
year: TimeShifter;
[key: string]: TimeShifter;
}
export declare const shifters: Shifters;
//# sourceMappingURL=floor-shift-ceil.d.ts.map