UNPKG

@koalarx/utils

Version:

Biblioteca com validadores, conversores e abstrações de algumas problemáticas

71 lines (70 loc) 3.24 kB
import { KlDateDayEnum } from './enums/KlDateDayEnum'; import { KlDateCountry } from './types/KlDateCountry'; import { KlDateDateType } from './types/KlDateDateType'; import { KlDateTimeZone } from './types/KlDateTimeZone'; interface KlDateOptions { skipHolidays?: { country: KlDateCountry; }; skipDays?: KlDateDayEnum[]; } export declare class KlDate extends Date { /** * Formata a data atual em uma string com base no padrão fornecido. * @param mask Máscara de formatação (ex.: 'dd/MM/yyyy HH:mm:ss'). * @returns Uma string representando a data formatada. */ format(mask?: string): string; /** * Altera o fuso horário (GMT) da data atual. * @param timeZone String representando o GMT (ex.: '+3', '-2'). * @returns Uma nova instância de `KlDate` com o GMT ajustado. */ changeTimeZone(timeZone: KlDateTimeZone): KlDate; /** * Converte a data atual para o formato UTC. * @returns Uma nova instância de `KlDate` no formato UTC. */ toUTC(): KlDate; /** * Adiciona uma quantidade de tempo à data atual. * @param qty Quantidade de tempo a ser adicionada. * @param type Tipo de unidade de tempo (ex.: 'seconds', 'days', 'months'). * @param options Opções para ignorar feriados ou dias específicos. * @returns A própria instância de `KlDate` com a data ajustada. */ add(qty: number, type: KlDateDateType, options?: KlDateOptions): this; /** * Subtrai uma quantidade de tempo da data atual. * @param qty Quantidade de tempo a ser subtraída. * @param type Tipo de unidade de tempo (ex.: 'seconds', 'days', 'months'). * @param options Opções para ignorar feriados ou dias específicos. * @returns A própria instância de `KlDate` com a data ajustada. */ sub(qty: number, type: KlDateDateType, options?: KlDateOptions): any; /** * Calcula a diferença entre a data atual e outra data fornecida. * @param date A data para calcular a diferença. * @param type Tipo de unidade de tempo para o cálculo (ex.: 'seconds', 'days'). * @returns A diferença entre as datas na unidade especificada. */ diff(date: Date, type: KlDateDateType): number; /** * Verifica se a data atual é um feriado no país especificado. * @param country Código do país (ex.: 'BR' para Brasil). * @returns `true` se a data atual for um feriado no país especificado, caso contrário `false`. * * Esta função utiliza a biblioteca `date-holidays` para determinar se a data atual * corresponde a um feriado oficial no país informado. A data é ajustada para garantir * que a verificação seja precisa, mesmo em diferentes fusos horários. */ isHoliday(country?: KlDateCountry): boolean; } /** * Função utilitária para verificar se uma data específica é um feriado em um país. * @param date Instância de `KlDate` ou `Date` para verificar. * @param country Código do país (ex.: 'BR' para Brasil). * @returns `true` se a data for um feriado no país especificado, caso contrário `false`. */ export declare function isHoliday(date: KlDate | Date, country?: KlDateCountry): boolean; export {};