Setter.d.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import type { ContextFn, DateArg } from "../../types.js";
  2. import type { ParseFlags, ParserOptions } from "./types.js";
  3. export declare abstract class Setter {
  4. abstract priority: number;
  5. subPriority: number;
  6. validate<DateType extends Date>(
  7. _utcDate: DateType,
  8. _options?: ParserOptions,
  9. ): boolean;
  10. abstract set<DateType extends Date>(
  11. date: DateType,
  12. flags: ParseFlags,
  13. options: ParserOptions,
  14. ): DateType | [DateType, ParseFlags];
  15. }
  16. export declare class ValueSetter<Value> extends Setter {
  17. private value;
  18. private validateValue;
  19. private setValue;
  20. priority: number;
  21. constructor(
  22. value: Value,
  23. validateValue: <DateType extends Date>(
  24. date: DateType,
  25. value: Value,
  26. options: ParserOptions,
  27. ) => boolean,
  28. setValue: <DateType extends Date>(
  29. date: DateType,
  30. flags: ParseFlags,
  31. value: Value,
  32. options: ParserOptions,
  33. ) => DateType | [DateType, ParseFlags],
  34. priority: number,
  35. subPriority?: number,
  36. );
  37. validate<DateType extends Date>(
  38. date: DateType,
  39. options: ParserOptions,
  40. ): boolean;
  41. set<DateType extends Date>(
  42. date: DateType,
  43. flags: ParseFlags,
  44. options: ParserOptions,
  45. ): DateType | [DateType, ParseFlags];
  46. }
  47. export declare class DateTimezoneSetter extends Setter {
  48. priority: number;
  49. subPriority: number;
  50. context: ContextFn<Date>;
  51. constructor(
  52. context: ContextFn<Date> | undefined,
  53. reference: DateArg<Date> & {},
  54. );
  55. set<DateType extends Date>(date: DateType, flags: ParseFlags): DateType;
  56. }