From 35f33f980f32aa523874c61c5dc7973c680c0f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20=C5=BDilinskas?= Date: Wed, 14 Jun 2017 14:38:07 +0300 Subject: [PATCH 1/7] Remade moment-range types and fixed extendMoment function. --- types/moment-range/index.d.ts | 114 +++++++++++----------------------- 1 file changed, 36 insertions(+), 78 deletions(-) diff --git a/types/moment-range/index.d.ts b/types/moment-range/index.d.ts index d6c3bde7b2..15a07beef3 100644 --- a/types/moment-range/index.d.ts +++ b/types/moment-range/index.d.ts @@ -1,104 +1,62 @@ // Type definitions for Moment-range.js 3.0 // Project: https://github.com/gf3/moment-range -// Definitions by: Bart van den Burg , Wilgert Velinga , Juan Francisco Adame +// Definitions by: Bart van den Burg +// Wilgert Velinga +// Juan Francisco Adame +// MartynasZilinskas // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import * as moment from 'moment'; +import { Moment, unitOfTime } from 'moment'; -export = moment; +export class DateRange { + start: Moment; + end: Moment; -declare module 'moment' { - class DateRange implements Range { - start: Moment; - end: Moment; + constructor(range: string | Date[] | Moment[]); + constructor(start: Date | Moment, end: Date | Moment); - constructor(range: string | Date[] | Moment[]); - constructor(start: Date | Moment, end: Date | Moment); + contains(other: DateRange | Moment | Date, options?: { exclusive?: boolean }): boolean; - contains(other: DateRange | Moment | Date, options?: { exclusive?: boolean }): boolean; + overlaps(range: DateRange, options?: { adjacent?: boolean }): boolean; - overlaps(range: DateRange, options?: { adjacent?: boolean }): boolean; + intersect(other: DateRange): DateRange; - intersect(other: DateRange): DateRange; + add(other: DateRange): DateRange; - add(other: DateRange): DateRange; + subtract(other: DateRange): DateRange[]; - subtract(other: DateRange): DateRange[]; + by(interval: unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; - by(interval: unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; + byRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; - byRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; + isSame(other: DateRange): boolean; - isSame(other: DateRange): boolean; + diff(unit?: unitOfTime.Diff, rounded?: boolean): number; - diff(unit?: unitOfTime.Diff, rounded?: boolean): number; + toDate(): Date[]; - toDate(): Date[]; + toString(): string; - toString(): string; + valueOf(): number; - valueOf(): number; + center(): Moment; - center(): Moment; + clone(): DateRange; - clone(): DateRange; + isEqual(other: DateRange): boolean; - isEqual(other: DateRange): boolean; + adjacent(other: DateRange): boolean; - adjacent(other: DateRange): boolean; + duration(unit?: unitOfTime.Diff, precise?: boolean): number; - duration(unit?: unitOfTime.Diff, precise?: boolean): number; + reverseBy(interval: unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; - reverseBy(interval: unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; - - reverseByRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; - } - - interface Range { - start: Moment; - end: Moment; - - contains(other: DateRange | Moment | Date, options?: { exclusive?: boolean }): boolean; - - overlaps(range: DateRange, options?: { adjacent?: boolean }): boolean; - - intersect(other: DateRange): DateRange; - - add(other: DateRange): DateRange; - - subtract(other: DateRange): DateRange[]; - - by(interval: unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; - - byRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; - - isSame(other: DateRange): boolean; - - diff(unit?: unitOfTime.Diff, rounded?: boolean): number; - - toDate(): Date[]; - - toString(): string; - - valueOf(): number; - - center(): Moment; - - clone(): DateRange; - - isEqual(other: DateRange): boolean; - - adjacent(other: DateRange): boolean; - - duration(unit?: unitOfTime.Diff, precise?: boolean): number; - - reverseBy(interval: unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; - - reverseByRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; - } - - function extendMoment(moment: any): any; - - function range(range: string | Date[] | Moment[]): Range; - function range(start: Date | Moment, end: Date | Moment): Range; + reverseByRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; } + +export interface MomentRangeExtends { + range(range: string | Date[] | Moment[]): DateRange; + range(start: Date | Moment, end: Date | Moment): DateRange; +} + +export function extendMoment(moment: T): T & MomentRangeExtends; From 24673e801647886ca97c0895459dd78a535d2c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20=C5=BDilinskas?= Date: Wed, 14 Jun 2017 15:39:03 +0300 Subject: [PATCH 2/7] Fixed react-daterange-picker which depends on moment-range. --- types/react-daterange-picker/index.d.ts | 30 +++++++++---------- types/react-daterange-picker/package.json | 5 ++++ .../react-daterange-picker-tests.tsx | 30 ++++++++++--------- types/react-daterange-picker/tslint.json | 3 ++ 4 files changed, 39 insertions(+), 29 deletions(-) create mode 100644 types/react-daterange-picker/package.json create mode 100644 types/react-daterange-picker/tslint.json diff --git a/types/react-daterange-picker/index.d.ts b/types/react-daterange-picker/index.d.ts index 280c730df1..7725188d98 100644 --- a/types/react-daterange-picker/index.d.ts +++ b/types/react-daterange-picker/index.d.ts @@ -1,16 +1,18 @@ -// Type definitions for React Daterange Picker v1.1.0 +// Type definitions for React Daterange Picker 1.1 // Project: https://github.com/onefinestay/react-daterange-picker // Definitions by: UNCOVER TRUTH Inc. +// MartynasZilinskas // Definitions: https://github.com/borisyankov/DefinitelyTyped // TypeScript Version: 2.1 import * as React from "react"; -import * as moment from "moment-range"; +import * as Moment from "moment"; +import * as MomentRange from "moment-range"; -export default class DateRangePicker extends React.Component {} +export default class DateRangePicker extends React.Component { } export as namespace ReactDateRangePicker; -interface Props extends React.Props<{}> { +export interface Props extends React.Props<{}> { bemBlock?: string; bemNamespace?: string; dateStates?: DateState[]; @@ -30,37 +32,35 @@ interface Props extends React.Props<{}> { onHighlightDate?(date: Date): void; onHighlightRange?(date: Date): void; onSelect?(value: Props): void; - onSelectStart?(value: moment.Moment): void; + onSelectStart?(value: Moment.Moment & MomentRange.MomentRangeExtends): void; paginationArrowComponent?: PaginationArrow; selectedLabel?: string; - selectionType?: 'single' |'range'; + selectionType?: 'single' | 'range'; singleDateRange?: boolean; showLegend?: boolean; stateDefinitions?: StateDefinitions; - value?: moment.Moment | moment.Range; + value?: Moment.Moment & MomentRange.MomentRangeExtends | MomentRange.DateRange; } -interface DateState { +export interface DateState { state: string; - range: moment.Range; + range: MomentRange.DateRange; } -interface StateDefinitions { +export interface StateDefinitions { [key: string]: StateDefinition; } -interface StateDefinition { +export interface StateDefinition { color: string; label: string; selectable?: boolean; } -interface PaginationArrowProps extends React.Props<{}> { +export interface PaginationArrowProps extends React.Props<{}> { disabled?: boolean; onTrigger?(): void; direction?: 'next' | 'previous'; } -declare class PaginationArrow extends React.Component { -} - +export class PaginationArrow extends React.Component { } diff --git a/types/react-daterange-picker/package.json b/types/react-daterange-picker/package.json new file mode 100644 index 0000000000..62e9ccc7dd --- /dev/null +++ b/types/react-daterange-picker/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "moment": "^2.18.1" + } +} \ No newline at end of file diff --git a/types/react-daterange-picker/react-daterange-picker-tests.tsx b/types/react-daterange-picker/react-daterange-picker-tests.tsx index 1bb372d4db..e943c6b498 100644 --- a/types/react-daterange-picker/react-daterange-picker-tests.tsx +++ b/types/react-daterange-picker/react-daterange-picker-tests.tsx @@ -1,12 +1,15 @@ -// Test app from https://github.com/onefinestay/react-daterange-picker/blob/master/example/index.jsx +// test app from https://github.com/onefinestay/react-daterange-picker/blob/master/example/index.jsx import * as React from 'react'; import * as ReactDOM from 'react-dom'; -import * as moment from 'moment-range'; import DateRangePicker from "react-daterange-picker"; import * as ReactDateRangePicker from "react-daterange-picker"; -interface AppProps extends ReactDateRangePicker.Props { -} +import * as MomentRange from "moment-range"; +import * as Moment from "moment"; + +const moment = MomentRange.extendMoment(Moment); + +type AppProps = ReactDateRangePicker.Props; class App extends React.Component { constructor(props: AppProps, context: any) { @@ -16,7 +19,7 @@ class App extends React.Component { } handleSelect(value: AppProps, states: any): void { - this.setState({value, states}); + this.setState({ value, states }); } render(): any { @@ -29,8 +32,8 @@ class App extends React.Component { - + @@ -41,25 +44,25 @@ class App extends React.Component { } class DateSinglePicker extends React.Component { - constructor(props : AppProps, context: any) { + constructor(props: AppProps, context: any) { super(props, context); this.state = {}; } handleSelect(value: AppProps) { - this.setState({value: value}); + this.setState({ value }); } render() { return (
+ value={this.state.value} />
- +
); @@ -67,7 +70,6 @@ class DateSinglePicker extends React.Component { } export class Main extends React.Component { - render() { const stateDefinitions: ReactDateRangePicker.StateDefinitions = { available: { diff --git a/types/react-daterange-picker/tslint.json b/types/react-daterange-picker/tslint.json new file mode 100644 index 0000000000..e60c15844f --- /dev/null +++ b/types/react-daterange-picker/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +} \ No newline at end of file From bcde0d9fc427464b1736507d5e088a60488d3ab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20=C5=BDilinskas?= Date: Mon, 19 Jun 2017 21:09:42 +0300 Subject: [PATCH 3/7] Updated react-daterange-picker. --- types/react-daterange-picker/index.d.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/types/react-daterange-picker/index.d.ts b/types/react-daterange-picker/index.d.ts index 7725188d98..5db9f3422f 100644 --- a/types/react-daterange-picker/index.d.ts +++ b/types/react-daterange-picker/index.d.ts @@ -6,12 +6,17 @@ // TypeScript Version: 2.1 import * as React from "react"; -import * as Moment from "moment"; -import * as MomentRange from "moment-range"; +import * as moment from "moment"; +import * as momentRange from "moment-range"; export default class DateRangePicker extends React.Component { } export as namespace ReactDateRangePicker; +/** + * Extended Moment with MomentRange. + */ +export type ExtendedMoment = moment.Moment & momentRange.MomentRangeExtends; + export interface Props extends React.Props<{}> { bemBlock?: string; bemNamespace?: string; @@ -32,19 +37,19 @@ export interface Props extends React.Props<{}> { onHighlightDate?(date: Date): void; onHighlightRange?(date: Date): void; onSelect?(value: Props): void; - onSelectStart?(value: Moment.Moment & MomentRange.MomentRangeExtends): void; + onSelectStart?(value: ExtendedMoment): void; paginationArrowComponent?: PaginationArrow; selectedLabel?: string; selectionType?: 'single' | 'range'; singleDateRange?: boolean; showLegend?: boolean; stateDefinitions?: StateDefinitions; - value?: Moment.Moment & MomentRange.MomentRangeExtends | MomentRange.DateRange; + value?: ExtendedMoment | momentRange.DateRange; } export interface DateState { state: string; - range: MomentRange.DateRange; + range: momentRange.DateRange; } export interface StateDefinitions { From bda56cc9e7152b42a2ba94574d5df1def46d6f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20=C5=BDilinskas?= Date: Tue, 20 Jun 2017 13:00:26 +0300 Subject: [PATCH 4/7] Added within in MomentRangeExtends interface. --- types/moment-range/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/moment-range/index.d.ts b/types/moment-range/index.d.ts index 15a07beef3..4ada0490cc 100644 --- a/types/moment-range/index.d.ts +++ b/types/moment-range/index.d.ts @@ -57,6 +57,7 @@ export class DateRange { export interface MomentRangeExtends { range(range: string | Date[] | Moment[]): DateRange; range(start: Date | Moment, end: Date | Moment): DateRange; + within(range: DateRange): boolean; } export function extendMoment(moment: T): T & MomentRangeExtends; From 45d0ca54bb025ffc2e0ed86fd3f6a032976dde5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20=C5=BDilinskas?= Date: Tue, 20 Jun 2017 13:53:11 +0300 Subject: [PATCH 5/7] Updated extended moment function return type. Updated tests. --- types/moment-range/index.d.ts | 38 +++++++++++++----------- types/moment-range/moment-range-tests.ts | 33 ++++++++++++-------- 2 files changed, 41 insertions(+), 30 deletions(-) diff --git a/types/moment-range/index.d.ts b/types/moment-range/index.d.ts index 4ada0490cc..e74bd5a1be 100644 --- a/types/moment-range/index.d.ts +++ b/types/moment-range/index.d.ts @@ -6,16 +6,16 @@ // MartynasZilinskas // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import { Moment, unitOfTime } from 'moment'; +import * as moment from 'moment'; export class DateRange { - start: Moment; - end: Moment; + start: moment.Moment; + end: moment.Moment; - constructor(range: string | Date[] | Moment[]); - constructor(start: Date | Moment, end: Date | Moment); + constructor(range: string | Date[] | moment.Moment[]); + constructor(start: Date | moment.Moment, end: Date | moment.Moment); - contains(other: DateRange | Moment | Date, options?: { exclusive?: boolean }): boolean; + contains(other: DateRange | moment.Moment | Date, options?: { exclusive?: boolean }): boolean; overlaps(range: DateRange, options?: { adjacent?: boolean }): boolean; @@ -25,13 +25,13 @@ export class DateRange { subtract(other: DateRange): DateRange[]; - by(interval: unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; + by(interval: moment.unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; - byRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; + byRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; isSame(other: DateRange): boolean; - diff(unit?: unitOfTime.Diff, rounded?: boolean): number; + diff(unit?: moment.unitOfTime.Diff, rounded?: boolean): number; toDate(): Date[]; @@ -39,7 +39,7 @@ export class DateRange { valueOf(): number; - center(): Moment; + center(): moment.Moment; clone(): DateRange; @@ -47,17 +47,21 @@ export class DateRange { adjacent(other: DateRange): boolean; - duration(unit?: unitOfTime.Diff, precise?: boolean): number; + duration(unit?: moment.unitOfTime.Diff, precise?: boolean): number; - reverseBy(interval: unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; + reverseBy(interval: moment.unitOfTime.Diff, options?: { exclusive?: boolean, step?: number }): Iterable; - reverseByRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; + reverseByRange(interval: DateRange, options?: { exclusive?: boolean, step?: number }): Iterable; } -export interface MomentRangeExtends { - range(range: string | Date[] | Moment[]): DateRange; - range(start: Date | Moment, end: Date | Moment): DateRange; +export interface MomentRangeMethods { + range(range: string | Date[] | moment.Moment[]): DateRange; + range(start: Date | moment.Moment, end: Date | moment.Moment): DateRange; within(range: DateRange): boolean; } -export function extendMoment(moment: T): T & MomentRangeExtends; +export interface MomentRangeExtends extends MomentRangeMethods { + (...args: any[]): MomentRangeMethods & T; +} + +export function extendMoment(moment: T): MomentRangeExtends & T; diff --git a/types/moment-range/moment-range-tests.ts b/types/moment-range/moment-range-tests.ts index 7aa63c593f..00b60c7f41 100644 --- a/types/moment-range/moment-range-tests.ts +++ b/types/moment-range/moment-range-tests.ts @@ -1,7 +1,10 @@ -import * as moment from 'moment'; +import * as moment from "moment"; import * as momentRange from "moment-range"; const range: momentRange.DateRange = new momentRange.DateRange(new Date(2012, 0, 15), new Date(2012, 4, 23)); + +const extendedMoment = momentRange.extendMoment(moment); + const range2: momentRange.DateRange = new momentRange.DateRange(moment("2011-04-15", "YYYY-MM-DD"), moment("2011-11-27", "YYYY-MM-DD")); const range3: momentRange.DateRange = new momentRange.DateRange([moment("2011-04-15", "YYYY-MM-DD"), moment("2011-11-27", "YYYY-MM-DD")]); const range4: momentRange.DateRange = new momentRange.DateRange("2015-01-17T09:50:04+00:00/2015-04-17T08:29:55+00:00"); @@ -11,20 +14,20 @@ const date: moment.Moment = moment('2012-05-15'); const res1: boolean = range.adjacent(range2); const it0: Iterable = range.by('days'); -const it1: Iterable = range.by('months', {exclusive: true}); -const it2: Iterable = range.by('years', {exclusive: false, step: 2}); +const it1: Iterable = range.by('months', { exclusive: true }); +const it2: Iterable = range.by('years', { exclusive: false, step: 2 }); const it3: Iterable = range.byRange(range); -const it4: Iterable = range.byRange(range, {exclusive: true}); -const it5: Iterable = range.byRange(range, {exclusive: false, step: 2}); +const it4: Iterable = range.byRange(range, { exclusive: true }); +const it5: Iterable = range.byRange(range, { exclusive: false, step: 2 }); const res2: moment.Moment = range.center(); const res3: momentRange.DateRange = range.clone(); const res4: boolean = range.contains(range); -const res5: boolean = range.contains(range, {exclusive: true}); -const res6: boolean = range.contains(range, {exclusive: false}); +const res5: boolean = range.contains(range, { exclusive: true }); +const res6: boolean = range.contains(range, { exclusive: false }); const res10: number = range.diff('months', true); const res11: number = range.diff('days'); @@ -41,16 +44,16 @@ const res17: boolean = range.isSame(range2); const res18: boolean = range.isEqual(range2); const res20: boolean = range.overlaps(range2); -const res21: boolean = range.overlaps(range2, {adjacent: true}); -const res22: boolean = range.overlaps(range2, {adjacent: false}); +const res21: boolean = range.overlaps(range2, { adjacent: true }); +const res22: boolean = range.overlaps(range2, { adjacent: false }); const it6: Iterable = range.reverseBy('days'); -const it7: Iterable = range.reverseBy('months', {exclusive: true}); -const it8: Iterable = range.reverseBy('years', {exclusive: false, step: 2}); +const it7: Iterable = range.reverseBy('months', { exclusive: true }); +const it8: Iterable = range.reverseBy('years', { exclusive: false, step: 2 }); const it9: Iterable = range.reverseByRange(range); -const it10: Iterable = range.reverseByRange(range, {exclusive: true}); -const it11: Iterable = range.reverseByRange(range, {exclusive: false, step: 2}); +const it10: Iterable = range.reverseByRange(range, { exclusive: true }); +const it11: Iterable = range.reverseByRange(range, { exclusive: false, step: 2 }); const res23: momentRange.DateRange = range.add(range2); @@ -64,3 +67,7 @@ const res27: number = range.valueOf(); const res28: moment.Moment = range.start; const res29: moment.Moment = range.end; + +const res30: boolean = extendedMoment.within(range); +const res31: boolean = extendedMoment().within(range); +const res32: momentRange.DateRange = extendedMoment().range(moment("2011-04-15", "YYYY-MM-DD"), moment("2011-11-27", "YYYY-MM-DD")); From 963e9be957c2f3107b547103865d876faa8331f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20=C5=BDilinskas?= Date: Tue, 20 Jun 2017 13:57:57 +0300 Subject: [PATCH 6/7] Updated react-daterange-picker. --- types/react-daterange-picker/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-daterange-picker/index.d.ts b/types/react-daterange-picker/index.d.ts index 5db9f3422f..b142cb6fb2 100644 --- a/types/react-daterange-picker/index.d.ts +++ b/types/react-daterange-picker/index.d.ts @@ -15,7 +15,7 @@ export as namespace ReactDateRangePicker; /** * Extended Moment with MomentRange. */ -export type ExtendedMoment = moment.Moment & momentRange.MomentRangeExtends; +export type ExtendedMoment = momentRange.MomentRangeExtends; export interface Props extends React.Props<{}> { bemBlock?: string; From 1b9efa13f75ba31c4eaa80bfd1f8e78c739fbe51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20=C5=BDilinskas?= Date: Tue, 20 Jun 2017 14:30:51 +0300 Subject: [PATCH 7/7] Fixed errors in moment-range when using moment methods. --- types/moment-range/index.d.ts | 6 +++--- types/moment-range/moment-range-tests.ts | 4 ++++ types/react-daterange-picker/index.d.ts | 9 ++------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/types/moment-range/index.d.ts b/types/moment-range/index.d.ts index e74bd5a1be..eb9bb30910 100644 --- a/types/moment-range/index.d.ts +++ b/types/moment-range/index.d.ts @@ -60,8 +60,8 @@ export interface MomentRangeMethods { within(range: DateRange): boolean; } -export interface MomentRangeExtends extends MomentRangeMethods { - (...args: any[]): MomentRangeMethods & T; +export interface MomentRangeExtends extends MomentRangeMethods { + (...args: any[]): MomentRangeMethods & moment.Moment; } -export function extendMoment(moment: T): MomentRangeExtends & T; +export function extendMoment(momentInstance: moment.Moment | typeof moment): MomentRangeExtends & moment.Moment; diff --git a/types/moment-range/moment-range-tests.ts b/types/moment-range/moment-range-tests.ts index 00b60c7f41..6043d3b203 100644 --- a/types/moment-range/moment-range-tests.ts +++ b/types/moment-range/moment-range-tests.ts @@ -5,6 +5,10 @@ const range: momentRange.DateRange = new momentRange.DateRange(new Date(2012, 0, const extendedMoment = momentRange.extendMoment(moment); +// Moment methods test +extendedMoment.add(); +extendedMoment().add(); + const range2: momentRange.DateRange = new momentRange.DateRange(moment("2011-04-15", "YYYY-MM-DD"), moment("2011-11-27", "YYYY-MM-DD")); const range3: momentRange.DateRange = new momentRange.DateRange([moment("2011-04-15", "YYYY-MM-DD"), moment("2011-11-27", "YYYY-MM-DD")]); const range4: momentRange.DateRange = new momentRange.DateRange("2015-01-17T09:50:04+00:00/2015-04-17T08:29:55+00:00"); diff --git a/types/react-daterange-picker/index.d.ts b/types/react-daterange-picker/index.d.ts index b142cb6fb2..4dfa7fbd42 100644 --- a/types/react-daterange-picker/index.d.ts +++ b/types/react-daterange-picker/index.d.ts @@ -12,11 +12,6 @@ import * as momentRange from "moment-range"; export default class DateRangePicker extends React.Component { } export as namespace ReactDateRangePicker; -/** - * Extended Moment with MomentRange. - */ -export type ExtendedMoment = momentRange.MomentRangeExtends; - export interface Props extends React.Props<{}> { bemBlock?: string; bemNamespace?: string; @@ -37,14 +32,14 @@ export interface Props extends React.Props<{}> { onHighlightDate?(date: Date): void; onHighlightRange?(date: Date): void; onSelect?(value: Props): void; - onSelectStart?(value: ExtendedMoment): void; + onSelectStart?(value: momentRange.MomentRangeExtends): void; paginationArrowComponent?: PaginationArrow; selectedLabel?: string; selectionType?: 'single' | 'range'; singleDateRange?: boolean; showLegend?: boolean; stateDefinitions?: StateDefinitions; - value?: ExtendedMoment | momentRange.DateRange; + value?: momentRange.MomentRangeExtends | momentRange.DateRange; } export interface DateState {