Skip to content

Commit 4dba903

Browse files
authored
fix: use DateTime instance method isValid (#151)
1 parent f72a463 commit 4dba903

File tree

5 files changed

+11
-14
lines changed

5 files changed

+11
-14
lines changed

src/components/DateField/hooks/useDateFieldState.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import React from 'react';
22

3-
import {isValid} from '@gravity-ui/date-utils';
43
import type {DateTime} from '@gravity-ui/date-utils';
54
import {useControlledState} from '@gravity-ui/uikit';
65

@@ -84,7 +83,7 @@ export function useDateFieldState(props: DateFieldStateOptions): DateFieldState
8483
}
8584

8685
const displayValue =
87-
value && isValid(value) && isAllSegmentsValid(allSegments, validSegments)
86+
value && value.isValid() && isAllSegmentsValid(allSegments, validSegments)
8887
? value.timeZone(timeZone)
8988
: placeholderDate.timeZone(timeZone);
9089
const sectionsState = useSectionsState(sections, displayValue, validSegments);
@@ -201,7 +200,7 @@ export function useDateFieldState(props: DateFieldStateOptions): DateFieldState
201200

202201
function setValueFromString(str: string) {
203202
const date = parseDateFromString(str, format, timeZone);
204-
if (isValid(date)) {
203+
if (date.isValid()) {
205204
handleUpdateDate(date);
206205
return true;
207206
}

src/components/DateField/utils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22

3-
import {dateTime, expandFormat, isValid} from '@gravity-ui/date-utils';
3+
import {dateTime, expandFormat} from '@gravity-ui/date-utils';
44
import type {DateTime} from '@gravity-ui/date-utils';
55

66
import {mergeDateTime} from '../utils/dates';
@@ -612,7 +612,7 @@ export function formatSections(sections: DateFieldSection[]): string {
612612

613613
function parseDate(options: {input: string; format: string; timeZone?: string}) {
614614
let date = dateTime(options);
615-
if (!isValid(date)) {
615+
if (!date.isValid()) {
616616
date = dateTime({...options, format: undefined});
617617
}
618618
return date;
@@ -624,7 +624,7 @@ function isDateStringWithTimeZone(str: string) {
624624

625625
export function parseDateFromString(str: string, format: string, timeZone?: string): DateTime {
626626
let date = parseDate({input: str, format, timeZone});
627-
if (isValid(date)) {
627+
if (date.isValid()) {
628628
if (timeZone && !isDateStringWithTimeZone(str)) {
629629
const time = parseDate({input: str, format});
630630
date = mergeDateTime(date, time);

src/components/RangeDateField/hooks/useRangeDateFieldState.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/* eslint-disable complexity */
22
import React from 'react';
33

4-
import {isValid} from '@gravity-ui/date-utils';
54
import type {DateTime} from '@gravity-ui/date-utils';
65
import {useControlledState} from '@gravity-ui/uikit';
76

@@ -98,8 +97,8 @@ export function useRangeDateFieldState(props: RangeDateFieldStateOptions): Range
9897

9998
const displayValue =
10099
value &&
101-
isValid(value.start) &&
102-
isValid(value.end) &&
100+
value.start.isValid() &&
101+
value.end.isValid() &&
103102
Object.keys(validSegments.start).length >= Object.keys(allSegments).length &&
104103
Object.keys(validSegments.end).length >= Object.keys(allSegments).length
105104
? {start: value.start.timeZone(timeZone), end: value.end.timeZone(timeZone)}
@@ -236,7 +235,7 @@ export function useRangeDateFieldState(props: RangeDateFieldStateOptions): Range
236235
const start = parseDateFromString(list?.[0]?.trim(), format, timeZone);
237236
const end = parseDateFromString(list?.[1]?.trim(), format, timeZone);
238237
const range = {start, end};
239-
if (isValid(range.start) && isValid(range.end)) {
238+
if (range.start.isValid() && range.end.isValid()) {
240239
handleUpdateRange(range);
241240
return true;
242241
}
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import {isValid} from '@gravity-ui/date-utils';
21
import type {DateTime} from '@gravity-ui/date-utils';
32

43
import type {RangeValue} from '../../types';
54

65
export function isValidRange({start, end}: RangeValue<DateTime>): boolean {
7-
return isValid(start) && isValid(end) && (start.isSame(end) || start.isBefore(end));
6+
return start.isValid() && end.isValid() && (start.isSame(end) || start.isBefore(end));
87
}

src/components/RelativeDateField/hooks/useRelativeDateFieldState.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22

3-
import {dateTimeParse, isLikeRelative, isValid} from '@gravity-ui/date-utils';
3+
import {dateTimeParse, isLikeRelative} from '@gravity-ui/date-utils';
44
import type {DateTime} from '@gravity-ui/date-utils';
55
import {useControlledState} from '@gravity-ui/uikit';
66

@@ -55,7 +55,7 @@ export function useRelativeDateFieldState(props: RelativeDateFieldOptions): Rela
5555
setText(t);
5656
if (isLikeRelative(t)) {
5757
const date = dateTimeParse(t);
58-
if (date && isValid(date)) {
58+
if (date && date.isValid()) {
5959
setValue(t);
6060
} else {
6161
setValue(null);

0 commit comments

Comments
 (0)