index.d.ts 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. export = CronParser
  2. declare class CronDate {
  3. addYear(): void
  4. addMonth(): void
  5. addDay(): void
  6. addHour(): void
  7. addMinute(): void
  8. addSecond(): void
  9. subtractYear(): void
  10. subtractMonth(): void
  11. subtractDay(): void
  12. subtractHour(): void
  13. subtractMinute(): void
  14. subtractSecond(): void
  15. getDate(): number
  16. getFullYear(): number
  17. getDay(): number
  18. getMonth(): number
  19. getHours(): number
  20. getMinutes(): number
  21. getSeconds(): number
  22. getMilliseconds(): number
  23. getTime(): number
  24. getUTCDate(): number
  25. getUTCFullYear(): number
  26. getUTCDay(): number
  27. getUTCMonth(): number
  28. getUTCHours(): number
  29. getUTCMinutes(): number
  30. getUTCSeconds(): number
  31. toISOString(): string
  32. toJSON(): string
  33. setDate(d: number): void
  34. setFullYear(y: number): void
  35. setDay(d: number): void
  36. setMonth(m: number): void
  37. setHours(h: number): void
  38. setMinutes(m: number): void
  39. setSeconds(s: number): void
  40. setMilliseconds(s: number): void
  41. getTime(): number
  42. toString(): string
  43. toDate(): Date
  44. }
  45. interface ParserOptions {
  46. currentDate?: string | number | Date
  47. startDate?: string | number | Date
  48. endDate?: string | number | Date
  49. iterator?: boolean
  50. utc?: boolean
  51. tz?: string
  52. }
  53. declare class CronExpression {
  54. constructor(fields: {}, options: {})
  55. /** Find next suitable date */
  56. next(): CronDate
  57. /** Find previous suitable date */
  58. prev(): CronDate
  59. /** Check if next suitable date exists */
  60. hasNext(): boolean
  61. /** Check if previous suitable date exists */
  62. hasPrev(): boolean
  63. /** Iterate over expression iterator */
  64. iterate(steps: number, callback?: (item: CronDate, i: number) => any): CronDate[]
  65. /** Reset expression iterator state */
  66. reset(resetDate?: string | number | Date): void
  67. /** Parse input expression (async) */
  68. parse(expression: string, options?: ParserOptions, callback?: () => any): CronExpression
  69. }
  70. interface StringResult {
  71. variables: { [key: string]: string },
  72. expressions: CronExpression[],
  73. errors: { [key: string]: string }
  74. }
  75. declare namespace CronParser {
  76. /** Wrapper for CronExpression.parse method */
  77. function parseExpression(expression: string, options?: ParserOptions): CronExpression
  78. /** Parse crontab file */
  79. function parseFile(filePath: string, callback: (err: any, data: StringResult) => any): void
  80. /** Parse content string */
  81. function parseString(data: string): StringResult
  82. }