Blame view

天文台pc/tianwentai-ui/node_modules/date-fns/areIntervalsOverlapping.d.ts 2.04 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
  import type { Interval } from "./types.js";
  /**
   * The {@link areIntervalsOverlapping} function options.
   */
  export interface AreIntervalsOverlappingOptions {
    /** Whether the comparison is inclusive or not */
    inclusive?: boolean;
  }
  /**
   * @name areIntervalsOverlapping
   * @category Interval Helpers
   * @summary Is the given time interval overlapping with another time interval?
   *
   * @description
   * Is the given time interval overlapping with another time interval? Adjacent intervals do not count as overlapping unless `inclusive` is set to `true`.
   *
   * @param intervalLeft - The first interval to compare.
   * @param intervalRight - The second interval to compare.
   * @param options - The object with options
   *
   * @returns Whether the time intervals are overlapping
   *
   * @example
   * // For overlapping time intervals:
   * areIntervalsOverlapping(
   *   { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },
   *   { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }
   * )
   * //=> true
   *
   * @example
   * // For non-overlapping time intervals:
   * areIntervalsOverlapping(
   *   { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },
   *   { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) }
   * )
   * //=> false
   *
   * @example
   * // For adjacent time intervals:
   * areIntervalsOverlapping(
   *   { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },
   *   { start: new Date(2014, 0, 20), end: new Date(2014, 0, 30) }
   * )
   * //=> false
   *
   * @example
   * // Using the inclusive option:
   * areIntervalsOverlapping(
   *   { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },
   *   { start: new Date(2014, 0, 20), end: new Date(2014, 0, 24) }
   * )
   * //=> false
   *
   * @example
   * areIntervalsOverlapping(
   *   { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },
   *   { start: new Date(2014, 0, 20), end: new Date(2014, 0, 24) },
   *   { inclusive: true }
   * )
   * //=> true
   */
  export declare function areIntervalsOverlapping(
    intervalLeft: Interval,
    intervalRight: Interval,
    options?: AreIntervalsOverlappingOptions,
  ): boolean;