jenesius-vue-form
Version:
Heavy form system for Vue.js
58 lines (57 loc) • 2.95 kB
TypeScript
declare type AvailableMask = 'YYYY' | 'MM' | 'DD' | 'HH' | 'mm';
/**
* @description На данный момент вся работа производится в UTC. Это было сделано для более лаконичного решения. Если
* на проекте есть необходимость записывать дату в другом формате -
* */
export default class DateController {
/**
* SPECIFICATION: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#date_time_string_format
* */
static get ValidatedPrimaryMask(): AvailableMask[];
/**
* @description Функция предназначена для валидации маски. Вернёт true в случае успеха, или выкинет ошибку, если
* маска не является валидной.
* */
static ValidateMask(mask: unknown): boolean;
static SplitStringByMask(input: string, primaryMask: string): ({
part: AvailableMask;
input: string;
construction: boolean;
ended: boolean;
last: boolean;
skipped?: undefined;
} | {
part: string;
skipped: boolean;
input?: undefined;
construction?: undefined;
ended?: undefined;
last?: undefined;
})[];
/**
* @description Конвертация в строки в дату используя маску.
* */
static ConvertToDate(input: unknown, mask: string): Date | null;
/**
* @description Проверяет является ли переданная строка законченной маской. Это означает то, что для всех элементов
* маски есть хотя бы один символ, а для последнего - все. То есть если к значению поля в конец добавить любую цифру
* то данная строка будет уже не валидна.
* */
static CheckFullerMask(input: string, mask: string): boolean;
static GetPrettyDate(date: Date, mask: string): string;
/**
* @description Используется только для красивой записи. По этому не используется getUTCFullYear, getUTCMonth и т.д.
* */
static GetValueByMaskPart(date: Date, part: AvailableMask | string): string | number;
/**
* @description Parse Mask to part.
* @example mm/dd/yyyy HH:MM -> ["mm", "/", "dd", "yyyy", " ", "HH", ":", "MM"]
* */
static ParseMask(mask: string): string[];
/**
* @description Метод возвращает оставшуюся часть маски
* */
static GetRestMask(input: string, mask: string): string;
static isUTCDate(str: string): boolean;
}
export {};