diff --git a/src/fp/index.js b/src/fp/index.js index db698c0ae6..f4bfe860d6 100644 --- a/src/fp/index.js +++ b/src/fp/index.js @@ -196,6 +196,7 @@ export { default as min } from './min/index.js' export { default as parse } from './parse/index.js' export { default as parseISO } from './parseISO/index.js' export { default as parseISOWithOptions } from './parseISOWithOptions/index.js' +export { default as parseJSON } from './parseJSON/index.js' export { default as parseWithOptions } from './parseWithOptions/index.js' export { default as roundToNearestMinutes diff --git a/src/fp/index.js.flow b/src/fp/index.js.flow index 4e358992db..231896dd53 100644 --- a/src/fp/index.js.flow +++ b/src/fp/index.js.flow @@ -238,6 +238,7 @@ declare module.exports: { parse: CurriedFn3, parseISO: CurriedFn1, parseISOWithOptions: CurriedFn2, + parseJSON: CurriedFn1, parseWithOptions: CurriedFn4, roundToNearestMinutes: CurriedFn1, roundToNearestMinutesWithOptions: CurriedFn2, diff --git a/src/fp/parseJSON/index.d.ts b/src/fp/parseJSON/index.d.ts new file mode 100644 index 0000000000..dd64334efe --- /dev/null +++ b/src/fp/parseJSON/index.d.ts @@ -0,0 +1,4 @@ +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +import { parseJSON } from 'date-fns/fp' +export default parseJSON diff --git a/src/fp/parseJSON/index.js b/src/fp/parseJSON/index.js new file mode 100644 index 0000000000..23d838263e --- /dev/null +++ b/src/fp/parseJSON/index.js @@ -0,0 +1,8 @@ +// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it. + +import fn from '../../parseJSON/index.js' +import convertToFP from '../_lib/convertToFP/index.js' + +var parseJSON = convertToFP(fn, 1) + +export default parseJSON diff --git a/src/fp/parseJSON/index.js.flow b/src/fp/parseJSON/index.js.flow new file mode 100644 index 0000000000..10912d70a2 --- /dev/null +++ b/src/fp/parseJSON/index.js.flow @@ -0,0 +1,40 @@ +// @flow +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +export type Interval = { + start: Date | number, + end: Date | number +} + +export type Locale = { + formatDistance: Function, + formatRelative: Function, + localize: { + ordinalNumber: Function, + era: Function, + quarter: Function, + month: Function, + day: Function, + dayPeriod: Function + }, + formatLong: Object, + date: Function, + time: Function, + dateTime: Function, + match: { + ordinalNumber: Function, + era: Function, + quarter: Function, + month: Function, + day: Function, + dayPeriod: Function + }, + options?: { + weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6, + firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7 + } +} + +type CurriedFn1 = (a: A) => R + +declare module.exports: CurriedFn1 diff --git a/src/index.js b/src/index.js index a0a24fef95..1bfd38724e 100644 --- a/src/index.js +++ b/src/index.js @@ -167,6 +167,7 @@ export { default as max } from './max/index.js' export { default as min } from './min/index.js' export { default as parse } from './parse/index.js' export { default as parseISO } from './parseISO/index.js' +export { default as parseJSON } from './parseJSON/index.js' export { default as roundToNearestMinutes } from './roundToNearestMinutes/index.js' diff --git a/src/index.js.flow b/src/index.js.flow index 718fcf5dfc..eea061046b 100644 --- a/src/index.js.flow +++ b/src/index.js.flow @@ -508,6 +508,8 @@ declare module.exports: { } ) => Date, + parseJSON: (argument: string | number | Date) => Date, + roundToNearestMinutes: ( date: Date | number, options?: { diff --git a/src/parseJSON/index.d.ts b/src/parseJSON/index.d.ts new file mode 100644 index 0000000000..b6b186d83c --- /dev/null +++ b/src/parseJSON/index.d.ts @@ -0,0 +1,4 @@ +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +import { parseJSON } from 'date-fns' +export default parseJSON diff --git a/src/parseJSON/index.js b/src/parseJSON/index.js index 811c7cc8c9..8ce0bfbfe4 100644 --- a/src/parseJSON/index.js +++ b/src/parseJSON/index.js @@ -28,6 +28,7 @@ import toDate from '../toDate/index.js' * * @param {String|Number|Date} argument A fully formed ISO1806 date string to convert * @returns {Date} the parsed date in the local time zone + * @throws {TypeError} 1 argument required */ export default function index(argument) { if (typeof argument === 'string') { diff --git a/src/parseJSON/index.js.flow b/src/parseJSON/index.js.flow new file mode 100644 index 0000000000..3ebf6878d5 --- /dev/null +++ b/src/parseJSON/index.js.flow @@ -0,0 +1,38 @@ +// @flow +// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it. + +export type Interval = { + start: Date | number, + end: Date | number +} + +export type Locale = { + formatDistance: Function, + formatRelative: Function, + localize: { + ordinalNumber: Function, + era: Function, + quarter: Function, + month: Function, + day: Function, + dayPeriod: Function + }, + formatLong: Object, + date: Function, + time: Function, + dateTime: Function, + match: { + ordinalNumber: Function, + era: Function, + quarter: Function, + month: Function, + day: Function, + dayPeriod: Function + }, + options?: { + weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6, + firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7 + } +} + +declare module.exports: (argument: string | number | Date) => Date diff --git a/typings.d.ts b/typings.d.ts index 2b37cd6900..3198453a6e 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -704,6 +704,9 @@ declare module 'date-fns' { ): Date namespace parseISO {} + function parseJSON(argument: string | number | Date): Date + namespace parseJSON {} + function roundToNearestMinutes( date: Date | number, options?: { @@ -1565,6 +1568,11 @@ declare module 'date-fns/parseISO' { export default parseISO } +declare module 'date-fns/parseJSON' { + import { parseJSON } from 'date-fns' + export default parseJSON +} + declare module 'date-fns/roundToNearestMinutes' { import { roundToNearestMinutes } from 'date-fns' export default roundToNearestMinutes @@ -2455,6 +2463,11 @@ declare module 'date-fns/parseISO/index' { export default parseISO } +declare module 'date-fns/parseJSON/index' { + import { parseJSON } from 'date-fns' + export default parseJSON +} + declare module 'date-fns/roundToNearestMinutes/index' { import { roundToNearestMinutes } from 'date-fns' export default roundToNearestMinutes @@ -3345,6 +3358,11 @@ declare module 'date-fns/parseISO/index.js' { export default parseISO } +declare module 'date-fns/parseJSON/index.js' { + import { parseJSON } from 'date-fns' + export default parseJSON +} + declare module 'date-fns/roundToNearestMinutes/index.js' { import { roundToNearestMinutes } from 'date-fns' export default roundToNearestMinutes @@ -4033,6 +4051,9 @@ declare module 'date-fns/fp' { const parseISOWithOptions: CurriedFn2 namespace parseISOWithOptions {} + const parseJSON: CurriedFn1 + namespace parseJSON {} + const parseWithOptions: CurriedFn4< Object, Date | number, @@ -4864,6 +4885,11 @@ declare module 'date-fns/fp/parseISOWithOptions' { export default parseISOWithOptions } +declare module 'date-fns/fp/parseJSON' { + import { parseJSON } from 'date-fns/fp' + export default parseJSON +} + declare module 'date-fns/fp/parseWithOptions' { import { parseWithOptions } from 'date-fns/fp' export default parseWithOptions @@ -5774,6 +5800,11 @@ declare module 'date-fns/fp/parseISOWithOptions/index' { export default parseISOWithOptions } +declare module 'date-fns/fp/parseJSON/index' { + import { parseJSON } from 'date-fns/fp' + export default parseJSON +} + declare module 'date-fns/fp/parseWithOptions/index' { import { parseWithOptions } from 'date-fns/fp' export default parseWithOptions @@ -6684,6 +6715,11 @@ declare module 'date-fns/fp/parseISOWithOptions/index.js' { export default parseISOWithOptions } +declare module 'date-fns/fp/parseJSON/index.js' { + import { parseJSON } from 'date-fns/fp' + export default parseJSON +} + declare module 'date-fns/fp/parseWithOptions/index.js' { import { parseWithOptions } from 'date-fns/fp' export default parseWithOptions @@ -7553,6 +7589,9 @@ declare module 'date-fns/esm' { ): Date namespace parseISO {} + function parseJSON(argument: string | number | Date): Date + namespace parseJSON {} + function roundToNearestMinutes( date: Date | number, options?: { @@ -8414,6 +8453,11 @@ declare module 'date-fns/esm/parseISO' { export default parseISO } +declare module 'date-fns/esm/parseJSON' { + import { parseJSON } from 'date-fns/esm' + export default parseJSON +} + declare module 'date-fns/esm/roundToNearestMinutes' { import { roundToNearestMinutes } from 'date-fns/esm' export default roundToNearestMinutes @@ -9304,6 +9348,11 @@ declare module 'date-fns/esm/parseISO/index' { export default parseISO } +declare module 'date-fns/esm/parseJSON/index' { + import { parseJSON } from 'date-fns/esm' + export default parseJSON +} + declare module 'date-fns/esm/roundToNearestMinutes/index' { import { roundToNearestMinutes } from 'date-fns/esm' export default roundToNearestMinutes @@ -10194,6 +10243,11 @@ declare module 'date-fns/esm/parseISO/index.js' { export default parseISO } +declare module 'date-fns/esm/parseJSON/index.js' { + import { parseJSON } from 'date-fns/esm' + export default parseJSON +} + declare module 'date-fns/esm/roundToNearestMinutes/index.js' { import { roundToNearestMinutes } from 'date-fns/esm' export default roundToNearestMinutes @@ -10882,6 +10936,9 @@ declare module 'date-fns/esm/fp' { const parseISOWithOptions: CurriedFn2 namespace parseISOWithOptions {} + const parseJSON: CurriedFn1 + namespace parseJSON {} + const parseWithOptions: CurriedFn4< Object, Date | number, @@ -11713,6 +11770,11 @@ declare module 'date-fns/esm/fp/parseISOWithOptions' { export default parseISOWithOptions } +declare module 'date-fns/esm/fp/parseJSON' { + import { parseJSON } from 'date-fns/esm/fp' + export default parseJSON +} + declare module 'date-fns/esm/fp/parseWithOptions' { import { parseWithOptions } from 'date-fns/esm/fp' export default parseWithOptions @@ -12623,6 +12685,11 @@ declare module 'date-fns/esm/fp/parseISOWithOptions/index' { export default parseISOWithOptions } +declare module 'date-fns/esm/fp/parseJSON/index' { + import { parseJSON } from 'date-fns/esm/fp' + export default parseJSON +} + declare module 'date-fns/esm/fp/parseWithOptions/index' { import { parseWithOptions } from 'date-fns/esm/fp' export default parseWithOptions @@ -13533,6 +13600,11 @@ declare module 'date-fns/esm/fp/parseISOWithOptions/index.js' { export default parseISOWithOptions } +declare module 'date-fns/esm/fp/parseJSON/index.js' { + import { parseJSON } from 'date-fns/esm/fp' + export default parseJSON +} + declare module 'date-fns/esm/fp/parseWithOptions/index.js' { import { parseWithOptions } from 'date-fns/esm/fp' export default parseWithOptions @@ -16600,6 +16672,8 @@ interface dateFns { } ): Date + parseJSON(argument: string | number | Date): Date + roundToNearestMinutes( date: Date | number, options?: {