| 1 |
import MaskedPattern, { type MaskedPatternOptions } from './pattern'; |
| 2 |
import { type MaskedRangeOptions } from './range'; |
| 3 |
import type Masked from './base'; |
| 4 |
import { type AppendFlags } from './base'; |
| 5 |
export type DateMaskType = DateConstructor; |
| 6 |
type DateOptionsKeys = 'pattern' | 'min' | 'max' | 'autofix'; |
| 7 |
export type DateValue = Date | null; |
| 8 |
declare const DefaultPattern = "d{.}`m{.}`Y"; |
| 9 |
type RequiredDateOptions = ({ |
| 10 |
pattern?: never | typeof DefaultPattern; |
| 11 |
format?: MaskedDate["format"]; |
| 12 |
parse?: MaskedDate["parse"]; |
| 13 |
} | { |
| 14 |
pattern: MaskedDate["pattern"]; |
| 15 |
format: MaskedDate["format"]; |
| 16 |
parse: MaskedDate["parse"]; |
| 17 |
}); |
| 18 |
export type MaskedDateOptions = Omit<MaskedPatternOptions<DateValue>, 'mask'> & Partial<Pick<MaskedDate, DateOptionsKeys>> & { |
| 19 |
mask?: string | DateMaskType; |
| 20 |
} & RequiredDateOptions; |
| 21 |
/** Date mask */ |
| 22 |
export default class MaskedDate extends MaskedPattern<DateValue> { |
| 23 |
static GET_DEFAULT_BLOCKS: () => { |
| 24 |
[k: string]: MaskedRangeOptions; |
| 25 |
}; |
| 26 |
static DEFAULTS: { |
| 27 |
mask: DateConstructor; |
| 28 |
pattern: "d{.}`m{.}`Y"; |
| 29 |
format: (date: DateValue, masked: Masked) => string; |
| 30 |
parse: (str: string, masked: Masked) => DateValue; |
| 31 |
lazy: boolean; |
| 32 |
placeholderChar: string; |
| 33 |
skipInvalid?: boolean | undefined; |
| 34 |
}; |
| 35 |
static extractPatternOptions(opts: Partial<MaskedDateOptions>): Partial<Omit<MaskedDateOptions, 'mask' | 'pattern'> & { |
| 36 |
mask: MaskedPatternOptions['mask']; |
| 37 |
}>; |
| 38 |
/** Pattern mask for date according to {@link MaskedDate#format} */ |
| 39 |
pattern: string; |
| 40 |
/** Start date */ |
| 41 |
min?: Date; |
| 42 |
/** End date */ |
| 43 |
max?: Date; |
| 44 |
/** Format typed value to string */ |
| 45 |
format: (value: DateValue, masked: Masked) => string; |
| 46 |
/** Parse string to get typed value */ |
| 47 |
parse: (str: string, masked: Masked) => DateValue; |
| 48 |
constructor(opts?: MaskedDateOptions); |
| 49 |
updateOptions(opts: Partial<MaskedDateOptions> & RequiredDateOptions): void; |
| 50 |
_update(opts: Partial<MaskedDateOptions>): void; |
| 51 |
doValidate(flags: AppendFlags): boolean; |
| 52 |
/** Checks if date is exists */ |
| 53 |
isDateExist(str: string): boolean; |
| 54 |
/** Parsed Date */ |
| 55 |
get date(): DateValue; |
| 56 |
set date(date: DateValue); |
| 57 |
get typedValue(): DateValue; |
| 58 |
set typedValue(value: DateValue); |
| 59 |
maskEquals(mask: any): boolean; |
| 60 |
optionsIsChanged(opts: Partial<MaskedDateOptions>): boolean; |
| 61 |
} |
| 62 |
export {}; |
| 63 |
//# sourceMappingURL=date.d.ts.map |