summaryrefslogtreecommitdiff
path: root/date-fns/src/fp
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2021-08-23 16:46:06 -0300
committerSebastian <sebasjm@gmail.com>2021-08-23 16:48:30 -0300
commit38acabfa6089ab8ac469c12b5f55022fb96935e5 (patch)
tree453dbf70000cc5e338b06201af1eaca8343f8f73 /date-fns/src/fp
parentf26125e039143b92dc0d84e7775f508ab0cdcaa8 (diff)
downloadnode-vendor-master.tar.gz
node-vendor-master.tar.bz2
node-vendor-master.zip
added web vendorsHEADmaster
Diffstat (limited to 'date-fns/src/fp')
-rw-r--r--date-fns/src/fp/_lib/convertToFP/index.js12
-rw-r--r--date-fns/src/fp/_lib/convertToFP/test.js69
-rw-r--r--date-fns/src/fp/add/index.d.ts4
-rw-r--r--date-fns/src/fp/add/index.js8
-rw-r--r--date-fns/src/fp/add/index.js.flow58
-rw-r--r--date-fns/src/fp/addBusinessDays/index.d.ts4
-rw-r--r--date-fns/src/fp/addBusinessDays/index.js8
-rw-r--r--date-fns/src/fp/addBusinessDays/index.js.flow58
-rw-r--r--date-fns/src/fp/addDays/index.d.ts4
-rw-r--r--date-fns/src/fp/addDays/index.js8
-rw-r--r--date-fns/src/fp/addDays/index.js.flow58
-rw-r--r--date-fns/src/fp/addHours/index.d.ts4
-rw-r--r--date-fns/src/fp/addHours/index.js8
-rw-r--r--date-fns/src/fp/addHours/index.js.flow58
-rw-r--r--date-fns/src/fp/addISOWeekYears/index.d.ts4
-rw-r--r--date-fns/src/fp/addISOWeekYears/index.js8
-rw-r--r--date-fns/src/fp/addISOWeekYears/index.js.flow58
-rw-r--r--date-fns/src/fp/addMilliseconds/index.d.ts4
-rw-r--r--date-fns/src/fp/addMilliseconds/index.js8
-rw-r--r--date-fns/src/fp/addMilliseconds/index.js.flow58
-rw-r--r--date-fns/src/fp/addMinutes/index.d.ts4
-rw-r--r--date-fns/src/fp/addMinutes/index.js8
-rw-r--r--date-fns/src/fp/addMinutes/index.js.flow58
-rw-r--r--date-fns/src/fp/addMonths/index.d.ts4
-rw-r--r--date-fns/src/fp/addMonths/index.js8
-rw-r--r--date-fns/src/fp/addMonths/index.js.flow58
-rw-r--r--date-fns/src/fp/addQuarters/index.d.ts4
-rw-r--r--date-fns/src/fp/addQuarters/index.js8
-rw-r--r--date-fns/src/fp/addQuarters/index.js.flow58
-rw-r--r--date-fns/src/fp/addSeconds/index.d.ts4
-rw-r--r--date-fns/src/fp/addSeconds/index.js8
-rw-r--r--date-fns/src/fp/addSeconds/index.js.flow58
-rw-r--r--date-fns/src/fp/addWeeks/index.d.ts4
-rw-r--r--date-fns/src/fp/addWeeks/index.js8
-rw-r--r--date-fns/src/fp/addWeeks/index.js.flow58
-rw-r--r--date-fns/src/fp/addYears/index.d.ts4
-rw-r--r--date-fns/src/fp/addYears/index.js8
-rw-r--r--date-fns/src/fp/addYears/index.js.flow58
-rw-r--r--date-fns/src/fp/areIntervalsOverlapping/index.d.ts4
-rw-r--r--date-fns/src/fp/areIntervalsOverlapping/index.js8
-rw-r--r--date-fns/src/fp/areIntervalsOverlapping/index.js.flow58
-rw-r--r--date-fns/src/fp/areIntervalsOverlappingWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/areIntervalsOverlappingWithOptions/index.js8
-rw-r--r--date-fns/src/fp/areIntervalsOverlappingWithOptions/index.js.flow74
-rw-r--r--date-fns/src/fp/closestIndexTo/index.d.ts4
-rw-r--r--date-fns/src/fp/closestIndexTo/index.js8
-rw-r--r--date-fns/src/fp/closestIndexTo/index.js.flow58
-rw-r--r--date-fns/src/fp/closestTo/index.d.ts4
-rw-r--r--date-fns/src/fp/closestTo/index.js8
-rw-r--r--date-fns/src/fp/closestTo/index.js.flow58
-rw-r--r--date-fns/src/fp/compareAsc/index.d.ts4
-rw-r--r--date-fns/src/fp/compareAsc/index.js8
-rw-r--r--date-fns/src/fp/compareAsc/index.js.flow58
-rw-r--r--date-fns/src/fp/compareDesc/index.d.ts4
-rw-r--r--date-fns/src/fp/compareDesc/index.js8
-rw-r--r--date-fns/src/fp/compareDesc/index.js.flow58
-rw-r--r--date-fns/src/fp/daysToWeeks/index.d.ts4
-rw-r--r--date-fns/src/fp/daysToWeeks/index.js8
-rw-r--r--date-fns/src/fp/daysToWeeks/index.js.flow54
-rw-r--r--date-fns/src/fp/differenceInBusinessDays/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInBusinessDays/index.js8
-rw-r--r--date-fns/src/fp/differenceInBusinessDays/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInCalendarDays/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInCalendarDays/index.js8
-rw-r--r--date-fns/src/fp/differenceInCalendarDays/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInCalendarISOWeekYears/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInCalendarISOWeekYears/index.js8
-rw-r--r--date-fns/src/fp/differenceInCalendarISOWeekYears/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInCalendarISOWeeks/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInCalendarISOWeeks/index.js8
-rw-r--r--date-fns/src/fp/differenceInCalendarISOWeeks/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInCalendarMonths/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInCalendarMonths/index.js8
-rw-r--r--date-fns/src/fp/differenceInCalendarMonths/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInCalendarQuarters/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInCalendarQuarters/index.js8
-rw-r--r--date-fns/src/fp/differenceInCalendarQuarters/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInCalendarWeeks/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInCalendarWeeks/index.js8
-rw-r--r--date-fns/src/fp/differenceInCalendarWeeks/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.js8
-rw-r--r--date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.js.flow75
-rw-r--r--date-fns/src/fp/differenceInCalendarYears/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInCalendarYears/index.js8
-rw-r--r--date-fns/src/fp/differenceInCalendarYears/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInDays/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInDays/index.js8
-rw-r--r--date-fns/src/fp/differenceInDays/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInHours/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInHours/index.js8
-rw-r--r--date-fns/src/fp/differenceInHours/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInISOWeekYears/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInISOWeekYears/index.js8
-rw-r--r--date-fns/src/fp/differenceInISOWeekYears/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInMilliseconds/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInMilliseconds/index.js8
-rw-r--r--date-fns/src/fp/differenceInMilliseconds/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInMinutes/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInMinutes/index.js8
-rw-r--r--date-fns/src/fp/differenceInMinutes/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInMonths/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInMonths/index.js8
-rw-r--r--date-fns/src/fp/differenceInMonths/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInQuarters/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInQuarters/index.js8
-rw-r--r--date-fns/src/fp/differenceInQuarters/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInSeconds/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInSeconds/index.js8
-rw-r--r--date-fns/src/fp/differenceInSeconds/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInWeeks/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInWeeks/index.js8
-rw-r--r--date-fns/src/fp/differenceInWeeks/index.js.flow58
-rw-r--r--date-fns/src/fp/differenceInYears/index.d.ts4
-rw-r--r--date-fns/src/fp/differenceInYears/index.js8
-rw-r--r--date-fns/src/fp/differenceInYears/index.js.flow58
-rw-r--r--date-fns/src/fp/eachDayOfInterval/index.d.ts4
-rw-r--r--date-fns/src/fp/eachDayOfInterval/index.js8
-rw-r--r--date-fns/src/fp/eachDayOfInterval/index.js.flow54
-rw-r--r--date-fns/src/fp/eachDayOfIntervalWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/eachDayOfIntervalWithOptions/index.js8
-rw-r--r--date-fns/src/fp/eachDayOfIntervalWithOptions/index.js.flow64
-rw-r--r--date-fns/src/fp/eachHourOfInterval/index.d.ts4
-rw-r--r--date-fns/src/fp/eachHourOfInterval/index.js8
-rw-r--r--date-fns/src/fp/eachHourOfInterval/index.js.flow54
-rw-r--r--date-fns/src/fp/eachHourOfIntervalWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/eachHourOfIntervalWithOptions/index.js8
-rw-r--r--date-fns/src/fp/eachHourOfIntervalWithOptions/index.js.flow64
-rw-r--r--date-fns/src/fp/eachMinuteOfInterval/index.d.ts4
-rw-r--r--date-fns/src/fp/eachMinuteOfInterval/index.js8
-rw-r--r--date-fns/src/fp/eachMinuteOfInterval/index.js.flow54
-rw-r--r--date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.js8
-rw-r--r--date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.js.flow64
-rw-r--r--date-fns/src/fp/eachMonthOfInterval/index.d.ts4
-rw-r--r--date-fns/src/fp/eachMonthOfInterval/index.js8
-rw-r--r--date-fns/src/fp/eachMonthOfInterval/index.js.flow54
-rw-r--r--date-fns/src/fp/eachQuarterOfInterval/index.d.ts4
-rw-r--r--date-fns/src/fp/eachQuarterOfInterval/index.js8
-rw-r--r--date-fns/src/fp/eachQuarterOfInterval/index.js.flow54
-rw-r--r--date-fns/src/fp/eachWeekOfInterval/index.d.ts4
-rw-r--r--date-fns/src/fp/eachWeekOfInterval/index.js8
-rw-r--r--date-fns/src/fp/eachWeekOfInterval/index.js.flow54
-rw-r--r--date-fns/src/fp/eachWeekOfIntervalWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/eachWeekOfIntervalWithOptions/index.js8
-rw-r--r--date-fns/src/fp/eachWeekOfIntervalWithOptions/index.js.flow65
-rw-r--r--date-fns/src/fp/eachWeekendOfInterval/index.d.ts4
-rw-r--r--date-fns/src/fp/eachWeekendOfInterval/index.js8
-rw-r--r--date-fns/src/fp/eachWeekendOfInterval/index.js.flow54
-rw-r--r--date-fns/src/fp/eachWeekendOfMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/eachWeekendOfMonth/index.js8
-rw-r--r--date-fns/src/fp/eachWeekendOfMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/eachWeekendOfYear/index.d.ts4
-rw-r--r--date-fns/src/fp/eachWeekendOfYear/index.js8
-rw-r--r--date-fns/src/fp/eachWeekendOfYear/index.js.flow54
-rw-r--r--date-fns/src/fp/eachYearOfInterval/index.d.ts4
-rw-r--r--date-fns/src/fp/eachYearOfInterval/index.js8
-rw-r--r--date-fns/src/fp/eachYearOfInterval/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfDay/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfDay/index.js8
-rw-r--r--date-fns/src/fp/endOfDay/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfDecade/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfDecade/index.js8
-rw-r--r--date-fns/src/fp/endOfDecade/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfDecadeWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfDecadeWithOptions/index.js8
-rw-r--r--date-fns/src/fp/endOfDecadeWithOptions/index.js.flow64
-rw-r--r--date-fns/src/fp/endOfHour/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfHour/index.js8
-rw-r--r--date-fns/src/fp/endOfHour/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfISOWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfISOWeek/index.js8
-rw-r--r--date-fns/src/fp/endOfISOWeek/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfISOWeekYear/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfISOWeekYear/index.js8
-rw-r--r--date-fns/src/fp/endOfISOWeekYear/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfMinute/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfMinute/index.js8
-rw-r--r--date-fns/src/fp/endOfMinute/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfMonth/index.js8
-rw-r--r--date-fns/src/fp/endOfMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfQuarter/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfQuarter/index.js8
-rw-r--r--date-fns/src/fp/endOfQuarter/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfSecond/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfSecond/index.js8
-rw-r--r--date-fns/src/fp/endOfSecond/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfWeek/index.js8
-rw-r--r--date-fns/src/fp/endOfWeek/index.js.flow54
-rw-r--r--date-fns/src/fp/endOfWeekWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfWeekWithOptions/index.js8
-rw-r--r--date-fns/src/fp/endOfWeekWithOptions/index.js.flow65
-rw-r--r--date-fns/src/fp/endOfYear/index.d.ts4
-rw-r--r--date-fns/src/fp/endOfYear/index.js8
-rw-r--r--date-fns/src/fp/endOfYear/index.js.flow54
-rw-r--r--date-fns/src/fp/format/index.d.ts4
-rw-r--r--date-fns/src/fp/format/index.js8
-rw-r--r--date-fns/src/fp/format/index.js.flow58
-rw-r--r--date-fns/src/fp/formatDistance/index.d.ts4
-rw-r--r--date-fns/src/fp/formatDistance/index.js8
-rw-r--r--date-fns/src/fp/formatDistance/index.js.flow58
-rw-r--r--date-fns/src/fp/formatDistanceStrict/index.d.ts4
-rw-r--r--date-fns/src/fp/formatDistanceStrict/index.js8
-rw-r--r--date-fns/src/fp/formatDistanceStrict/index.js.flow58
-rw-r--r--date-fns/src/fp/formatDistanceStrictWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/formatDistanceStrictWithOptions/index.js8
-rw-r--r--date-fns/src/fp/formatDistanceStrictWithOptions/index.js.flow77
-rw-r--r--date-fns/src/fp/formatDistanceWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/formatDistanceWithOptions/index.js8
-rw-r--r--date-fns/src/fp/formatDistanceWithOptions/index.js.flow76
-rw-r--r--date-fns/src/fp/formatDuration/index.d.ts4
-rw-r--r--date-fns/src/fp/formatDuration/index.js8
-rw-r--r--date-fns/src/fp/formatDuration/index.js.flow54
-rw-r--r--date-fns/src/fp/formatDurationWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/formatDurationWithOptions/index.js8
-rw-r--r--date-fns/src/fp/formatDurationWithOptions/index.js.flow67
-rw-r--r--date-fns/src/fp/formatISO/index.d.ts4
-rw-r--r--date-fns/src/fp/formatISO/index.js8
-rw-r--r--date-fns/src/fp/formatISO/index.js.flow54
-rw-r--r--date-fns/src/fp/formatISO9075/index.d.ts4
-rw-r--r--date-fns/src/fp/formatISO9075/index.js8
-rw-r--r--date-fns/src/fp/formatISO9075/index.js.flow54
-rw-r--r--date-fns/src/fp/formatISO9075WithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/formatISO9075WithOptions/index.js8
-rw-r--r--date-fns/src/fp/formatISO9075WithOptions/index.js.flow65
-rw-r--r--date-fns/src/fp/formatISODuration/index.d.ts4
-rw-r--r--date-fns/src/fp/formatISODuration/index.js8
-rw-r--r--date-fns/src/fp/formatISODuration/index.js.flow54
-rw-r--r--date-fns/src/fp/formatISOWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/formatISOWithOptions/index.js8
-rw-r--r--date-fns/src/fp/formatISOWithOptions/index.js.flow65
-rw-r--r--date-fns/src/fp/formatRFC3339/index.d.ts4
-rw-r--r--date-fns/src/fp/formatRFC3339/index.js8
-rw-r--r--date-fns/src/fp/formatRFC3339/index.js.flow54
-rw-r--r--date-fns/src/fp/formatRFC3339WithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/formatRFC3339WithOptions/index.js8
-rw-r--r--date-fns/src/fp/formatRFC3339WithOptions/index.js.flow64
-rw-r--r--date-fns/src/fp/formatRFC7231/index.d.ts4
-rw-r--r--date-fns/src/fp/formatRFC7231/index.js8
-rw-r--r--date-fns/src/fp/formatRFC7231/index.js.flow54
-rw-r--r--date-fns/src/fp/formatRelative/index.d.ts4
-rw-r--r--date-fns/src/fp/formatRelative/index.js8
-rw-r--r--date-fns/src/fp/formatRelative/index.js.flow58
-rw-r--r--date-fns/src/fp/formatRelativeWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/formatRelativeWithOptions/index.js8
-rw-r--r--date-fns/src/fp/formatRelativeWithOptions/index.js.flow75
-rw-r--r--date-fns/src/fp/formatWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/formatWithOptions/index.js8
-rw-r--r--date-fns/src/fp/formatWithOptions/index.js.flow78
-rw-r--r--date-fns/src/fp/fromUnixTime/index.d.ts4
-rw-r--r--date-fns/src/fp/fromUnixTime/index.js8
-rw-r--r--date-fns/src/fp/fromUnixTime/index.js.flow54
-rw-r--r--date-fns/src/fp/getDate/index.d.ts4
-rw-r--r--date-fns/src/fp/getDate/index.js8
-rw-r--r--date-fns/src/fp/getDate/index.js.flow54
-rw-r--r--date-fns/src/fp/getDay/index.d.ts4
-rw-r--r--date-fns/src/fp/getDay/index.js8
-rw-r--r--date-fns/src/fp/getDay/index.js.flow54
-rw-r--r--date-fns/src/fp/getDayOfYear/index.d.ts4
-rw-r--r--date-fns/src/fp/getDayOfYear/index.js8
-rw-r--r--date-fns/src/fp/getDayOfYear/index.js.flow54
-rw-r--r--date-fns/src/fp/getDaysInMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/getDaysInMonth/index.js8
-rw-r--r--date-fns/src/fp/getDaysInMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/getDaysInYear/index.d.ts4
-rw-r--r--date-fns/src/fp/getDaysInYear/index.js8
-rw-r--r--date-fns/src/fp/getDaysInYear/index.js.flow54
-rw-r--r--date-fns/src/fp/getDecade/index.d.ts4
-rw-r--r--date-fns/src/fp/getDecade/index.js8
-rw-r--r--date-fns/src/fp/getDecade/index.js.flow54
-rw-r--r--date-fns/src/fp/getHours/index.d.ts4
-rw-r--r--date-fns/src/fp/getHours/index.js8
-rw-r--r--date-fns/src/fp/getHours/index.js.flow54
-rw-r--r--date-fns/src/fp/getISODay/index.d.ts4
-rw-r--r--date-fns/src/fp/getISODay/index.js8
-rw-r--r--date-fns/src/fp/getISODay/index.js.flow54
-rw-r--r--date-fns/src/fp/getISOWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/getISOWeek/index.js8
-rw-r--r--date-fns/src/fp/getISOWeek/index.js.flow54
-rw-r--r--date-fns/src/fp/getISOWeekYear/index.d.ts4
-rw-r--r--date-fns/src/fp/getISOWeekYear/index.js8
-rw-r--r--date-fns/src/fp/getISOWeekYear/index.js.flow54
-rw-r--r--date-fns/src/fp/getISOWeeksInYear/index.d.ts4
-rw-r--r--date-fns/src/fp/getISOWeeksInYear/index.js8
-rw-r--r--date-fns/src/fp/getISOWeeksInYear/index.js.flow54
-rw-r--r--date-fns/src/fp/getMilliseconds/index.d.ts4
-rw-r--r--date-fns/src/fp/getMilliseconds/index.js8
-rw-r--r--date-fns/src/fp/getMilliseconds/index.js.flow54
-rw-r--r--date-fns/src/fp/getMinutes/index.d.ts4
-rw-r--r--date-fns/src/fp/getMinutes/index.js8
-rw-r--r--date-fns/src/fp/getMinutes/index.js.flow54
-rw-r--r--date-fns/src/fp/getMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/getMonth/index.js8
-rw-r--r--date-fns/src/fp/getMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/getOverlappingDaysInIntervals/index.d.ts4
-rw-r--r--date-fns/src/fp/getOverlappingDaysInIntervals/index.js8
-rw-r--r--date-fns/src/fp/getOverlappingDaysInIntervals/index.js.flow58
-rw-r--r--date-fns/src/fp/getQuarter/index.d.ts4
-rw-r--r--date-fns/src/fp/getQuarter/index.js8
-rw-r--r--date-fns/src/fp/getQuarter/index.js.flow54
-rw-r--r--date-fns/src/fp/getSeconds/index.d.ts4
-rw-r--r--date-fns/src/fp/getSeconds/index.js8
-rw-r--r--date-fns/src/fp/getSeconds/index.js.flow54
-rw-r--r--date-fns/src/fp/getTime/index.d.ts4
-rw-r--r--date-fns/src/fp/getTime/index.js8
-rw-r--r--date-fns/src/fp/getTime/index.js.flow54
-rw-r--r--date-fns/src/fp/getUnixTime/index.d.ts4
-rw-r--r--date-fns/src/fp/getUnixTime/index.js8
-rw-r--r--date-fns/src/fp/getUnixTime/index.js.flow54
-rw-r--r--date-fns/src/fp/getWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/getWeek/index.js8
-rw-r--r--date-fns/src/fp/getWeek/index.js.flow54
-rw-r--r--date-fns/src/fp/getWeekOfMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/getWeekOfMonth/index.js8
-rw-r--r--date-fns/src/fp/getWeekOfMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/getWeekOfMonthWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/getWeekOfMonthWithOptions/index.js8
-rw-r--r--date-fns/src/fp/getWeekOfMonthWithOptions/index.js.flow65
-rw-r--r--date-fns/src/fp/getWeekWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/getWeekWithOptions/index.js8
-rw-r--r--date-fns/src/fp/getWeekWithOptions/index.js.flow66
-rw-r--r--date-fns/src/fp/getWeekYear/index.d.ts4
-rw-r--r--date-fns/src/fp/getWeekYear/index.js8
-rw-r--r--date-fns/src/fp/getWeekYear/index.js.flow54
-rw-r--r--date-fns/src/fp/getWeekYearWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/getWeekYearWithOptions/index.js8
-rw-r--r--date-fns/src/fp/getWeekYearWithOptions/index.js.flow66
-rw-r--r--date-fns/src/fp/getWeeksInMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/getWeeksInMonth/index.js8
-rw-r--r--date-fns/src/fp/getWeeksInMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/getWeeksInMonthWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/getWeeksInMonthWithOptions/index.js8
-rw-r--r--date-fns/src/fp/getWeeksInMonthWithOptions/index.js.flow65
-rw-r--r--date-fns/src/fp/getYear/index.d.ts4
-rw-r--r--date-fns/src/fp/getYear/index.js8
-rw-r--r--date-fns/src/fp/getYear/index.js.flow54
-rw-r--r--date-fns/src/fp/hoursToMilliseconds/index.d.ts4
-rw-r--r--date-fns/src/fp/hoursToMilliseconds/index.js8
-rw-r--r--date-fns/src/fp/hoursToMilliseconds/index.js.flow54
-rw-r--r--date-fns/src/fp/hoursToMinutes/index.d.ts4
-rw-r--r--date-fns/src/fp/hoursToMinutes/index.js8
-rw-r--r--date-fns/src/fp/hoursToMinutes/index.js.flow54
-rw-r--r--date-fns/src/fp/hoursToSeconds/index.d.ts4
-rw-r--r--date-fns/src/fp/hoursToSeconds/index.js8
-rw-r--r--date-fns/src/fp/hoursToSeconds/index.js.flow54
-rw-r--r--date-fns/src/fp/index.js241
-rw-r--r--date-fns/src/fp/index.js.flow625
-rw-r--r--date-fns/src/fp/intervalToDuration/index.d.ts4
-rw-r--r--date-fns/src/fp/intervalToDuration/index.js8
-rw-r--r--date-fns/src/fp/intervalToDuration/index.js.flow54
-rw-r--r--date-fns/src/fp/intlFormat/index.d.ts4
-rw-r--r--date-fns/src/fp/intlFormat/index.js8
-rw-r--r--date-fns/src/fp/intlFormat/index.js.flow88
-rw-r--r--date-fns/src/fp/isAfter/index.d.ts4
-rw-r--r--date-fns/src/fp/isAfter/index.js8
-rw-r--r--date-fns/src/fp/isAfter/index.js.flow58
-rw-r--r--date-fns/src/fp/isBefore/index.d.ts4
-rw-r--r--date-fns/src/fp/isBefore/index.js8
-rw-r--r--date-fns/src/fp/isBefore/index.js.flow58
-rw-r--r--date-fns/src/fp/isDate/index.d.ts4
-rw-r--r--date-fns/src/fp/isDate/index.js8
-rw-r--r--date-fns/src/fp/isDate/index.js.flow54
-rw-r--r--date-fns/src/fp/isEqual/index.d.ts4
-rw-r--r--date-fns/src/fp/isEqual/index.js8
-rw-r--r--date-fns/src/fp/isEqual/index.js.flow58
-rw-r--r--date-fns/src/fp/isExists/index.d.ts4
-rw-r--r--date-fns/src/fp/isExists/index.js8
-rw-r--r--date-fns/src/fp/isExists/index.js.flow67
-rw-r--r--date-fns/src/fp/isFirstDayOfMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/isFirstDayOfMonth/index.js8
-rw-r--r--date-fns/src/fp/isFirstDayOfMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/isFriday/index.d.ts4
-rw-r--r--date-fns/src/fp/isFriday/index.js8
-rw-r--r--date-fns/src/fp/isFriday/index.js.flow54
-rw-r--r--date-fns/src/fp/isLastDayOfMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/isLastDayOfMonth/index.js8
-rw-r--r--date-fns/src/fp/isLastDayOfMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/isLeapYear/index.d.ts4
-rw-r--r--date-fns/src/fp/isLeapYear/index.js8
-rw-r--r--date-fns/src/fp/isLeapYear/index.js.flow54
-rw-r--r--date-fns/src/fp/isMatch/index.d.ts4
-rw-r--r--date-fns/src/fp/isMatch/index.js8
-rw-r--r--date-fns/src/fp/isMatch/index.js.flow58
-rw-r--r--date-fns/src/fp/isMatchWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/isMatchWithOptions/index.js8
-rw-r--r--date-fns/src/fp/isMatchWithOptions/index.js.flow78
-rw-r--r--date-fns/src/fp/isMonday/index.d.ts4
-rw-r--r--date-fns/src/fp/isMonday/index.js8
-rw-r--r--date-fns/src/fp/isMonday/index.js.flow54
-rw-r--r--date-fns/src/fp/isSameDay/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameDay/index.js8
-rw-r--r--date-fns/src/fp/isSameDay/index.js.flow58
-rw-r--r--date-fns/src/fp/isSameHour/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameHour/index.js8
-rw-r--r--date-fns/src/fp/isSameHour/index.js.flow58
-rw-r--r--date-fns/src/fp/isSameISOWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameISOWeek/index.js8
-rw-r--r--date-fns/src/fp/isSameISOWeek/index.js.flow58
-rw-r--r--date-fns/src/fp/isSameISOWeekYear/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameISOWeekYear/index.js8
-rw-r--r--date-fns/src/fp/isSameISOWeekYear/index.js.flow58
-rw-r--r--date-fns/src/fp/isSameMinute/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameMinute/index.js8
-rw-r--r--date-fns/src/fp/isSameMinute/index.js.flow58
-rw-r--r--date-fns/src/fp/isSameMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameMonth/index.js8
-rw-r--r--date-fns/src/fp/isSameMonth/index.js.flow58
-rw-r--r--date-fns/src/fp/isSameQuarter/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameQuarter/index.js8
-rw-r--r--date-fns/src/fp/isSameQuarter/index.js.flow58
-rw-r--r--date-fns/src/fp/isSameSecond/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameSecond/index.js8
-rw-r--r--date-fns/src/fp/isSameSecond/index.js.flow58
-rw-r--r--date-fns/src/fp/isSameWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameWeek/index.js8
-rw-r--r--date-fns/src/fp/isSameWeek/index.js.flow58
-rw-r--r--date-fns/src/fp/isSameWeekWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameWeekWithOptions/index.js8
-rw-r--r--date-fns/src/fp/isSameWeekWithOptions/index.js.flow75
-rw-r--r--date-fns/src/fp/isSameYear/index.d.ts4
-rw-r--r--date-fns/src/fp/isSameYear/index.js8
-rw-r--r--date-fns/src/fp/isSameYear/index.js.flow58
-rw-r--r--date-fns/src/fp/isSaturday/index.d.ts4
-rw-r--r--date-fns/src/fp/isSaturday/index.js8
-rw-r--r--date-fns/src/fp/isSaturday/index.js.flow54
-rw-r--r--date-fns/src/fp/isSunday/index.d.ts4
-rw-r--r--date-fns/src/fp/isSunday/index.js8
-rw-r--r--date-fns/src/fp/isSunday/index.js.flow54
-rw-r--r--date-fns/src/fp/isThursday/index.d.ts4
-rw-r--r--date-fns/src/fp/isThursday/index.js8
-rw-r--r--date-fns/src/fp/isThursday/index.js.flow54
-rw-r--r--date-fns/src/fp/isTuesday/index.d.ts4
-rw-r--r--date-fns/src/fp/isTuesday/index.js8
-rw-r--r--date-fns/src/fp/isTuesday/index.js.flow54
-rw-r--r--date-fns/src/fp/isValid/index.d.ts4
-rw-r--r--date-fns/src/fp/isValid/index.js8
-rw-r--r--date-fns/src/fp/isValid/index.js.flow54
-rw-r--r--date-fns/src/fp/isWednesday/index.d.ts4
-rw-r--r--date-fns/src/fp/isWednesday/index.js8
-rw-r--r--date-fns/src/fp/isWednesday/index.js.flow54
-rw-r--r--date-fns/src/fp/isWeekend/index.d.ts4
-rw-r--r--date-fns/src/fp/isWeekend/index.js8
-rw-r--r--date-fns/src/fp/isWeekend/index.js.flow54
-rw-r--r--date-fns/src/fp/isWithinInterval/index.d.ts4
-rw-r--r--date-fns/src/fp/isWithinInterval/index.js8
-rw-r--r--date-fns/src/fp/isWithinInterval/index.js.flow58
-rw-r--r--date-fns/src/fp/lastDayOfDecade/index.d.ts4
-rw-r--r--date-fns/src/fp/lastDayOfDecade/index.js8
-rw-r--r--date-fns/src/fp/lastDayOfDecade/index.js.flow54
-rw-r--r--date-fns/src/fp/lastDayOfISOWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/lastDayOfISOWeek/index.js8
-rw-r--r--date-fns/src/fp/lastDayOfISOWeek/index.js.flow54
-rw-r--r--date-fns/src/fp/lastDayOfISOWeekYear/index.d.ts4
-rw-r--r--date-fns/src/fp/lastDayOfISOWeekYear/index.js8
-rw-r--r--date-fns/src/fp/lastDayOfISOWeekYear/index.js.flow54
-rw-r--r--date-fns/src/fp/lastDayOfMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/lastDayOfMonth/index.js8
-rw-r--r--date-fns/src/fp/lastDayOfMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/lastDayOfQuarter/index.d.ts4
-rw-r--r--date-fns/src/fp/lastDayOfQuarter/index.js8
-rw-r--r--date-fns/src/fp/lastDayOfQuarter/index.js.flow54
-rw-r--r--date-fns/src/fp/lastDayOfQuarterWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/lastDayOfQuarterWithOptions/index.js8
-rw-r--r--date-fns/src/fp/lastDayOfQuarterWithOptions/index.js.flow64
-rw-r--r--date-fns/src/fp/lastDayOfWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/lastDayOfWeek/index.js8
-rw-r--r--date-fns/src/fp/lastDayOfWeek/index.js.flow54
-rw-r--r--date-fns/src/fp/lastDayOfWeekWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/lastDayOfWeekWithOptions/index.js8
-rw-r--r--date-fns/src/fp/lastDayOfWeekWithOptions/index.js.flow65
-rw-r--r--date-fns/src/fp/lastDayOfYear/index.d.ts4
-rw-r--r--date-fns/src/fp/lastDayOfYear/index.js8
-rw-r--r--date-fns/src/fp/lastDayOfYear/index.js.flow54
-rw-r--r--date-fns/src/fp/lightFormat/index.d.ts4
-rw-r--r--date-fns/src/fp/lightFormat/index.js8
-rw-r--r--date-fns/src/fp/lightFormat/index.js.flow58
-rw-r--r--date-fns/src/fp/max/index.d.ts4
-rw-r--r--date-fns/src/fp/max/index.js8
-rw-r--r--date-fns/src/fp/max/index.js.flow54
-rw-r--r--date-fns/src/fp/milliseconds/index.d.ts4
-rw-r--r--date-fns/src/fp/milliseconds/index.js8
-rw-r--r--date-fns/src/fp/milliseconds/index.js.flow54
-rw-r--r--date-fns/src/fp/millisecondsToHours/index.d.ts4
-rw-r--r--date-fns/src/fp/millisecondsToHours/index.js8
-rw-r--r--date-fns/src/fp/millisecondsToHours/index.js.flow54
-rw-r--r--date-fns/src/fp/millisecondsToMinutes/index.d.ts4
-rw-r--r--date-fns/src/fp/millisecondsToMinutes/index.js8
-rw-r--r--date-fns/src/fp/millisecondsToMinutes/index.js.flow54
-rw-r--r--date-fns/src/fp/millisecondsToSeconds/index.d.ts4
-rw-r--r--date-fns/src/fp/millisecondsToSeconds/index.js8
-rw-r--r--date-fns/src/fp/millisecondsToSeconds/index.js.flow54
-rw-r--r--date-fns/src/fp/min/index.d.ts4
-rw-r--r--date-fns/src/fp/min/index.js8
-rw-r--r--date-fns/src/fp/min/index.js.flow54
-rw-r--r--date-fns/src/fp/minutesToHours/index.d.ts4
-rw-r--r--date-fns/src/fp/minutesToHours/index.js8
-rw-r--r--date-fns/src/fp/minutesToHours/index.js.flow54
-rw-r--r--date-fns/src/fp/minutesToMilliseconds/index.d.ts4
-rw-r--r--date-fns/src/fp/minutesToMilliseconds/index.js8
-rw-r--r--date-fns/src/fp/minutesToMilliseconds/index.js.flow54
-rw-r--r--date-fns/src/fp/minutesToSeconds/index.d.ts4
-rw-r--r--date-fns/src/fp/minutesToSeconds/index.js8
-rw-r--r--date-fns/src/fp/minutesToSeconds/index.js.flow54
-rw-r--r--date-fns/src/fp/monthsToQuarters/index.d.ts4
-rw-r--r--date-fns/src/fp/monthsToQuarters/index.js8
-rw-r--r--date-fns/src/fp/monthsToQuarters/index.js.flow54
-rw-r--r--date-fns/src/fp/monthsToYears/index.d.ts4
-rw-r--r--date-fns/src/fp/monthsToYears/index.js8
-rw-r--r--date-fns/src/fp/monthsToYears/index.js.flow54
-rw-r--r--date-fns/src/fp/nextDay/index.d.ts4
-rw-r--r--date-fns/src/fp/nextDay/index.js8
-rw-r--r--date-fns/src/fp/nextDay/index.js.flow58
-rw-r--r--date-fns/src/fp/nextFriday/index.d.ts4
-rw-r--r--date-fns/src/fp/nextFriday/index.js8
-rw-r--r--date-fns/src/fp/nextFriday/index.js.flow54
-rw-r--r--date-fns/src/fp/nextMonday/index.d.ts4
-rw-r--r--date-fns/src/fp/nextMonday/index.js8
-rw-r--r--date-fns/src/fp/nextMonday/index.js.flow54
-rw-r--r--date-fns/src/fp/nextSaturday/index.d.ts4
-rw-r--r--date-fns/src/fp/nextSaturday/index.js8
-rw-r--r--date-fns/src/fp/nextSaturday/index.js.flow54
-rw-r--r--date-fns/src/fp/nextSunday/index.d.ts4
-rw-r--r--date-fns/src/fp/nextSunday/index.js8
-rw-r--r--date-fns/src/fp/nextSunday/index.js.flow54
-rw-r--r--date-fns/src/fp/nextThursday/index.d.ts4
-rw-r--r--date-fns/src/fp/nextThursday/index.js8
-rw-r--r--date-fns/src/fp/nextThursday/index.js.flow54
-rw-r--r--date-fns/src/fp/nextTuesday/index.d.ts4
-rw-r--r--date-fns/src/fp/nextTuesday/index.js8
-rw-r--r--date-fns/src/fp/nextTuesday/index.js.flow54
-rw-r--r--date-fns/src/fp/nextWednesday/index.d.ts4
-rw-r--r--date-fns/src/fp/nextWednesday/index.js8
-rw-r--r--date-fns/src/fp/nextWednesday/index.js.flow54
-rw-r--r--date-fns/src/fp/parse/index.d.ts4
-rw-r--r--date-fns/src/fp/parse/index.js8
-rw-r--r--date-fns/src/fp/parse/index.js.flow67
-rw-r--r--date-fns/src/fp/parseISO/index.d.ts4
-rw-r--r--date-fns/src/fp/parseISO/index.js8
-rw-r--r--date-fns/src/fp/parseISO/index.js.flow54
-rw-r--r--date-fns/src/fp/parseISOWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/parseISOWithOptions/index.js8
-rw-r--r--date-fns/src/fp/parseISOWithOptions/index.js.flow64
-rw-r--r--date-fns/src/fp/parseJSON/index.d.ts4
-rw-r--r--date-fns/src/fp/parseJSON/index.js8
-rw-r--r--date-fns/src/fp/parseJSON/index.js.flow54
-rw-r--r--date-fns/src/fp/parseWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/parseWithOptions/index.js8
-rw-r--r--date-fns/src/fp/parseWithOptions/index.js.flow94
-rw-r--r--date-fns/src/fp/quartersToMonths/index.d.ts4
-rw-r--r--date-fns/src/fp/quartersToMonths/index.js8
-rw-r--r--date-fns/src/fp/quartersToMonths/index.js.flow54
-rw-r--r--date-fns/src/fp/quartersToYears/index.d.ts4
-rw-r--r--date-fns/src/fp/quartersToYears/index.js8
-rw-r--r--date-fns/src/fp/quartersToYears/index.js.flow54
-rw-r--r--date-fns/src/fp/roundToNearestMinutes/index.d.ts4
-rw-r--r--date-fns/src/fp/roundToNearestMinutes/index.js8
-rw-r--r--date-fns/src/fp/roundToNearestMinutes/index.js.flow54
-rw-r--r--date-fns/src/fp/roundToNearestMinutesWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/roundToNearestMinutesWithOptions/index.js8
-rw-r--r--date-fns/src/fp/roundToNearestMinutesWithOptions/index.js.flow64
-rw-r--r--date-fns/src/fp/secondsToHours/index.d.ts4
-rw-r--r--date-fns/src/fp/secondsToHours/index.js8
-rw-r--r--date-fns/src/fp/secondsToHours/index.js.flow54
-rw-r--r--date-fns/src/fp/secondsToMilliseconds/index.d.ts4
-rw-r--r--date-fns/src/fp/secondsToMilliseconds/index.js8
-rw-r--r--date-fns/src/fp/secondsToMilliseconds/index.js.flow54
-rw-r--r--date-fns/src/fp/secondsToMinutes/index.d.ts4
-rw-r--r--date-fns/src/fp/secondsToMinutes/index.js8
-rw-r--r--date-fns/src/fp/secondsToMinutes/index.js.flow54
-rw-r--r--date-fns/src/fp/set/index.d.ts4
-rw-r--r--date-fns/src/fp/set/index.js8
-rw-r--r--date-fns/src/fp/set/index.js.flow70
-rw-r--r--date-fns/src/fp/setDate/index.d.ts4
-rw-r--r--date-fns/src/fp/setDate/index.js8
-rw-r--r--date-fns/src/fp/setDate/index.js.flow58
-rw-r--r--date-fns/src/fp/setDay/index.d.ts4
-rw-r--r--date-fns/src/fp/setDay/index.js8
-rw-r--r--date-fns/src/fp/setDay/index.js.flow58
-rw-r--r--date-fns/src/fp/setDayOfYear/index.d.ts4
-rw-r--r--date-fns/src/fp/setDayOfYear/index.js8
-rw-r--r--date-fns/src/fp/setDayOfYear/index.js.flow58
-rw-r--r--date-fns/src/fp/setDayWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/setDayWithOptions/index.js8
-rw-r--r--date-fns/src/fp/setDayWithOptions/index.js.flow75
-rw-r--r--date-fns/src/fp/setHours/index.d.ts4
-rw-r--r--date-fns/src/fp/setHours/index.js8
-rw-r--r--date-fns/src/fp/setHours/index.js.flow58
-rw-r--r--date-fns/src/fp/setISODay/index.d.ts4
-rw-r--r--date-fns/src/fp/setISODay/index.js8
-rw-r--r--date-fns/src/fp/setISODay/index.js.flow58
-rw-r--r--date-fns/src/fp/setISOWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/setISOWeek/index.js8
-rw-r--r--date-fns/src/fp/setISOWeek/index.js.flow58
-rw-r--r--date-fns/src/fp/setISOWeekYear/index.d.ts4
-rw-r--r--date-fns/src/fp/setISOWeekYear/index.js8
-rw-r--r--date-fns/src/fp/setISOWeekYear/index.js.flow58
-rw-r--r--date-fns/src/fp/setMilliseconds/index.d.ts4
-rw-r--r--date-fns/src/fp/setMilliseconds/index.js8
-rw-r--r--date-fns/src/fp/setMilliseconds/index.js.flow58
-rw-r--r--date-fns/src/fp/setMinutes/index.d.ts4
-rw-r--r--date-fns/src/fp/setMinutes/index.js8
-rw-r--r--date-fns/src/fp/setMinutes/index.js.flow58
-rw-r--r--date-fns/src/fp/setMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/setMonth/index.js8
-rw-r--r--date-fns/src/fp/setMonth/index.js.flow58
-rw-r--r--date-fns/src/fp/setQuarter/index.d.ts4
-rw-r--r--date-fns/src/fp/setQuarter/index.js8
-rw-r--r--date-fns/src/fp/setQuarter/index.js.flow58
-rw-r--r--date-fns/src/fp/setSeconds/index.d.ts4
-rw-r--r--date-fns/src/fp/setSeconds/index.js8
-rw-r--r--date-fns/src/fp/setSeconds/index.js.flow58
-rw-r--r--date-fns/src/fp/setWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/setWeek/index.js8
-rw-r--r--date-fns/src/fp/setWeek/index.js.flow58
-rw-r--r--date-fns/src/fp/setWeekWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/setWeekWithOptions/index.js8
-rw-r--r--date-fns/src/fp/setWeekWithOptions/index.js.flow76
-rw-r--r--date-fns/src/fp/setWeekYear/index.d.ts4
-rw-r--r--date-fns/src/fp/setWeekYear/index.js8
-rw-r--r--date-fns/src/fp/setWeekYear/index.js.flow58
-rw-r--r--date-fns/src/fp/setWeekYearWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/setWeekYearWithOptions/index.js8
-rw-r--r--date-fns/src/fp/setWeekYearWithOptions/index.js.flow76
-rw-r--r--date-fns/src/fp/setYear/index.d.ts4
-rw-r--r--date-fns/src/fp/setYear/index.js8
-rw-r--r--date-fns/src/fp/setYear/index.js.flow58
-rw-r--r--date-fns/src/fp/startOfDay/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfDay/index.js8
-rw-r--r--date-fns/src/fp/startOfDay/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfDecade/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfDecade/index.js8
-rw-r--r--date-fns/src/fp/startOfDecade/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfHour/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfHour/index.js8
-rw-r--r--date-fns/src/fp/startOfHour/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfISOWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfISOWeek/index.js8
-rw-r--r--date-fns/src/fp/startOfISOWeek/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfISOWeekYear/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfISOWeekYear/index.js8
-rw-r--r--date-fns/src/fp/startOfISOWeekYear/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfMinute/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfMinute/index.js8
-rw-r--r--date-fns/src/fp/startOfMinute/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfMonth/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfMonth/index.js8
-rw-r--r--date-fns/src/fp/startOfMonth/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfQuarter/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfQuarter/index.js8
-rw-r--r--date-fns/src/fp/startOfQuarter/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfSecond/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfSecond/index.js8
-rw-r--r--date-fns/src/fp/startOfSecond/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfWeek/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfWeek/index.js8
-rw-r--r--date-fns/src/fp/startOfWeek/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfWeekWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfWeekWithOptions/index.js8
-rw-r--r--date-fns/src/fp/startOfWeekWithOptions/index.js.flow65
-rw-r--r--date-fns/src/fp/startOfWeekYear/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfWeekYear/index.js8
-rw-r--r--date-fns/src/fp/startOfWeekYear/index.js.flow54
-rw-r--r--date-fns/src/fp/startOfWeekYearWithOptions/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfWeekYearWithOptions/index.js8
-rw-r--r--date-fns/src/fp/startOfWeekYearWithOptions/index.js.flow66
-rw-r--r--date-fns/src/fp/startOfYear/index.d.ts4
-rw-r--r--date-fns/src/fp/startOfYear/index.js8
-rw-r--r--date-fns/src/fp/startOfYear/index.js.flow54
-rw-r--r--date-fns/src/fp/sub/index.d.ts4
-rw-r--r--date-fns/src/fp/sub/index.js8
-rw-r--r--date-fns/src/fp/sub/index.js.flow58
-rw-r--r--date-fns/src/fp/subBusinessDays/index.d.ts4
-rw-r--r--date-fns/src/fp/subBusinessDays/index.js8
-rw-r--r--date-fns/src/fp/subBusinessDays/index.js.flow58
-rw-r--r--date-fns/src/fp/subDays/index.d.ts4
-rw-r--r--date-fns/src/fp/subDays/index.js8
-rw-r--r--date-fns/src/fp/subDays/index.js.flow58
-rw-r--r--date-fns/src/fp/subHours/index.d.ts4
-rw-r--r--date-fns/src/fp/subHours/index.js8
-rw-r--r--date-fns/src/fp/subHours/index.js.flow58
-rw-r--r--date-fns/src/fp/subISOWeekYears/index.d.ts4
-rw-r--r--date-fns/src/fp/subISOWeekYears/index.js8
-rw-r--r--date-fns/src/fp/subISOWeekYears/index.js.flow58
-rw-r--r--date-fns/src/fp/subMilliseconds/index.d.ts4
-rw-r--r--date-fns/src/fp/subMilliseconds/index.js8
-rw-r--r--date-fns/src/fp/subMilliseconds/index.js.flow58
-rw-r--r--date-fns/src/fp/subMinutes/index.d.ts4
-rw-r--r--date-fns/src/fp/subMinutes/index.js8
-rw-r--r--date-fns/src/fp/subMinutes/index.js.flow58
-rw-r--r--date-fns/src/fp/subMonths/index.d.ts4
-rw-r--r--date-fns/src/fp/subMonths/index.js8
-rw-r--r--date-fns/src/fp/subMonths/index.js.flow58
-rw-r--r--date-fns/src/fp/subQuarters/index.d.ts4
-rw-r--r--date-fns/src/fp/subQuarters/index.js8
-rw-r--r--date-fns/src/fp/subQuarters/index.js.flow58
-rw-r--r--date-fns/src/fp/subSeconds/index.d.ts4
-rw-r--r--date-fns/src/fp/subSeconds/index.js8
-rw-r--r--date-fns/src/fp/subSeconds/index.js.flow58
-rw-r--r--date-fns/src/fp/subWeeks/index.d.ts4
-rw-r--r--date-fns/src/fp/subWeeks/index.js8
-rw-r--r--date-fns/src/fp/subWeeks/index.js.flow58
-rw-r--r--date-fns/src/fp/subYears/index.d.ts4
-rw-r--r--date-fns/src/fp/subYears/index.js8
-rw-r--r--date-fns/src/fp/subYears/index.js.flow58
-rw-r--r--date-fns/src/fp/test.js1045
-rw-r--r--date-fns/src/fp/toDate/index.d.ts4
-rw-r--r--date-fns/src/fp/toDate/index.js8
-rw-r--r--date-fns/src/fp/toDate/index.js.flow54
-rw-r--r--date-fns/src/fp/weeksToDays/index.d.ts4
-rw-r--r--date-fns/src/fp/weeksToDays/index.js8
-rw-r--r--date-fns/src/fp/weeksToDays/index.js.flow54
-rw-r--r--date-fns/src/fp/yearsToMonths/index.d.ts4
-rw-r--r--date-fns/src/fp/yearsToMonths/index.js8
-rw-r--r--date-fns/src/fp/yearsToMonths/index.js.flow54
-rw-r--r--date-fns/src/fp/yearsToQuarters/index.d.ts4
-rw-r--r--date-fns/src/fp/yearsToQuarters/index.js8
-rw-r--r--date-fns/src/fp/yearsToQuarters/index.js.flow54
719 files changed, 18610 insertions, 0 deletions
diff --git a/date-fns/src/fp/_lib/convertToFP/index.js b/date-fns/src/fp/_lib/convertToFP/index.js
new file mode 100644
index 0000000..efe0af5
--- /dev/null
+++ b/date-fns/src/fp/_lib/convertToFP/index.js
@@ -0,0 +1,12 @@
+export default function convertToFP (fn, arity, a) {
+ a = a || []
+
+ if (a.length >= arity) {
+ return fn.apply(null, a.slice(0, arity).reverse())
+ }
+
+ return function () {
+ var args = Array.prototype.slice.call(arguments)
+ return convertToFP(fn, arity, a.concat(args))
+ }
+}
diff --git a/date-fns/src/fp/_lib/convertToFP/test.js b/date-fns/src/fp/_lib/convertToFP/test.js
new file mode 100644
index 0000000..e8224d7
--- /dev/null
+++ b/date-fns/src/fp/_lib/convertToFP/test.js
@@ -0,0 +1,69 @@
+// @flow
+/* eslint-env mocha */
+
+import assert from 'power-assert'
+import convertToFP from '.'
+
+describe('convertToFP', function () {
+ function fn(a, b, c) {
+ return 'a b c'.replace('a', a).replace('b', b).replace('c', c)
+ }
+
+ describe('arity of converted function === arity of initial function', function () {
+ it('allows arguments to be curried (and reverses their order)', function () {
+ var fpFn = convertToFP(fn, 3)
+ assert(fpFn(3)(2)(1) === '1 2 3')
+ })
+
+ it('allows to group arguments', function () {
+ var fpFn = convertToFP(fn, 3)
+ assert(fpFn(3, 2)(1) === '1 2 3')
+ assert(fpFn(3)(2, 1) === '1 2 3')
+ })
+
+ it('allows the function to be called with all arguments in the reversed order', function () {
+ var fpFn = convertToFP(fn, 3)
+ assert(fpFn(3, 2, 1) === '1 2 3')
+ })
+
+ it('ignores calls without curried arguments', function () {
+ var fpFn = convertToFP(fn, 3)
+ assert(fpFn()()(3, 2)()()(1) === '1 2 3')
+ })
+
+ it('ignores extra curried arguments in the last group', function () {
+ var fpFn = convertToFP(fn, 3)
+ assert(fpFn(3, 2, 1, 0, -1, -2) === '1 2 3')
+ assert(fpFn(3)(2)(1, 0, -1, -2) === '1 2 3')
+ })
+ })
+
+ describe('arity of converted function < arity of initial function', function () {
+ it('calls the initial function with a short list of arguments', function () {
+ var fpFn = convertToFP(fn, 2)
+ assert(fpFn(2)(1) === '1 2 undefined')
+ assert(fpFn(2, 1) === '1 2 undefined')
+ })
+
+ it('ignores extra curried arguments in the last group', function () {
+ var fpFn = convertToFP(fn, 2)
+ assert(fpFn(3)(2, 1) === '2 3 undefined')
+ assert(fpFn(3, 2, 1) === '2 3 undefined')
+ })
+ })
+
+ describe('arity of converted function > arity of initial function', function () {
+ it('works, but ignores the extra arguments', function () {
+ var fpFn = convertToFP(fn, 4)
+ assert(fpFn(4)(3)(2)(1) === '1 2 3')
+ assert(fpFn(4, 3, 2, 1) === '1 2 3')
+ })
+ })
+
+ describe('arity of converted function === 0', function () {
+ it('returns the constant instead of function', function () {
+ var result = convertToFP(fn, 0)
+ assert(result === 'undefined undefined undefined')
+ })
+ })
+})
diff --git a/date-fns/src/fp/add/index.d.ts b/date-fns/src/fp/add/index.d.ts
new file mode 100644
index 0000000..f05edaa
--- /dev/null
+++ b/date-fns/src/fp/add/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { add } from 'date-fns/fp'
+export default add
diff --git a/date-fns/src/fp/add/index.js b/date-fns/src/fp/add/index.js
new file mode 100644
index 0000000..530bac6
--- /dev/null
+++ b/date-fns/src/fp/add/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../add/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var add = convertToFP(fn, 2)
+
+export default add
diff --git a/date-fns/src/fp/add/index.js.flow b/date-fns/src/fp/add/index.js.flow
new file mode 100644
index 0000000..3d4363b
--- /dev/null
+++ b/date-fns/src/fp/add/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Duration, Date | number, Date>
diff --git a/date-fns/src/fp/addBusinessDays/index.d.ts b/date-fns/src/fp/addBusinessDays/index.d.ts
new file mode 100644
index 0000000..dd3b869
--- /dev/null
+++ b/date-fns/src/fp/addBusinessDays/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addBusinessDays } from 'date-fns/fp'
+export default addBusinessDays
diff --git a/date-fns/src/fp/addBusinessDays/index.js b/date-fns/src/fp/addBusinessDays/index.js
new file mode 100644
index 0000000..d76f1c1
--- /dev/null
+++ b/date-fns/src/fp/addBusinessDays/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addBusinessDays/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addBusinessDays = convertToFP(fn, 2)
+
+export default addBusinessDays
diff --git a/date-fns/src/fp/addBusinessDays/index.js.flow b/date-fns/src/fp/addBusinessDays/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addBusinessDays/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addDays/index.d.ts b/date-fns/src/fp/addDays/index.d.ts
new file mode 100644
index 0000000..7ba1ace
--- /dev/null
+++ b/date-fns/src/fp/addDays/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addDays } from 'date-fns/fp'
+export default addDays
diff --git a/date-fns/src/fp/addDays/index.js b/date-fns/src/fp/addDays/index.js
new file mode 100644
index 0000000..6827194
--- /dev/null
+++ b/date-fns/src/fp/addDays/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addDays/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addDays = convertToFP(fn, 2)
+
+export default addDays
diff --git a/date-fns/src/fp/addDays/index.js.flow b/date-fns/src/fp/addDays/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addDays/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addHours/index.d.ts b/date-fns/src/fp/addHours/index.d.ts
new file mode 100644
index 0000000..9b66a88
--- /dev/null
+++ b/date-fns/src/fp/addHours/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addHours } from 'date-fns/fp'
+export default addHours
diff --git a/date-fns/src/fp/addHours/index.js b/date-fns/src/fp/addHours/index.js
new file mode 100644
index 0000000..04a3f27
--- /dev/null
+++ b/date-fns/src/fp/addHours/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addHours/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addHours = convertToFP(fn, 2)
+
+export default addHours
diff --git a/date-fns/src/fp/addHours/index.js.flow b/date-fns/src/fp/addHours/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addHours/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addISOWeekYears/index.d.ts b/date-fns/src/fp/addISOWeekYears/index.d.ts
new file mode 100644
index 0000000..01dab9b
--- /dev/null
+++ b/date-fns/src/fp/addISOWeekYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addISOWeekYears } from 'date-fns/fp'
+export default addISOWeekYears
diff --git a/date-fns/src/fp/addISOWeekYears/index.js b/date-fns/src/fp/addISOWeekYears/index.js
new file mode 100644
index 0000000..858f7fa
--- /dev/null
+++ b/date-fns/src/fp/addISOWeekYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addISOWeekYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addISOWeekYears = convertToFP(fn, 2)
+
+export default addISOWeekYears
diff --git a/date-fns/src/fp/addISOWeekYears/index.js.flow b/date-fns/src/fp/addISOWeekYears/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addISOWeekYears/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addMilliseconds/index.d.ts b/date-fns/src/fp/addMilliseconds/index.d.ts
new file mode 100644
index 0000000..7a93c90
--- /dev/null
+++ b/date-fns/src/fp/addMilliseconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addMilliseconds } from 'date-fns/fp'
+export default addMilliseconds
diff --git a/date-fns/src/fp/addMilliseconds/index.js b/date-fns/src/fp/addMilliseconds/index.js
new file mode 100644
index 0000000..c4ae505
--- /dev/null
+++ b/date-fns/src/fp/addMilliseconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addMilliseconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addMilliseconds = convertToFP(fn, 2)
+
+export default addMilliseconds
diff --git a/date-fns/src/fp/addMilliseconds/index.js.flow b/date-fns/src/fp/addMilliseconds/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addMilliseconds/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addMinutes/index.d.ts b/date-fns/src/fp/addMinutes/index.d.ts
new file mode 100644
index 0000000..fc7b670
--- /dev/null
+++ b/date-fns/src/fp/addMinutes/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addMinutes } from 'date-fns/fp'
+export default addMinutes
diff --git a/date-fns/src/fp/addMinutes/index.js b/date-fns/src/fp/addMinutes/index.js
new file mode 100644
index 0000000..1f0b5fe
--- /dev/null
+++ b/date-fns/src/fp/addMinutes/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addMinutes = convertToFP(fn, 2)
+
+export default addMinutes
diff --git a/date-fns/src/fp/addMinutes/index.js.flow b/date-fns/src/fp/addMinutes/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addMinutes/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addMonths/index.d.ts b/date-fns/src/fp/addMonths/index.d.ts
new file mode 100644
index 0000000..01f0e2d
--- /dev/null
+++ b/date-fns/src/fp/addMonths/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addMonths } from 'date-fns/fp'
+export default addMonths
diff --git a/date-fns/src/fp/addMonths/index.js b/date-fns/src/fp/addMonths/index.js
new file mode 100644
index 0000000..eeb6a87
--- /dev/null
+++ b/date-fns/src/fp/addMonths/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addMonths/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addMonths = convertToFP(fn, 2)
+
+export default addMonths
diff --git a/date-fns/src/fp/addMonths/index.js.flow b/date-fns/src/fp/addMonths/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addMonths/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addQuarters/index.d.ts b/date-fns/src/fp/addQuarters/index.d.ts
new file mode 100644
index 0000000..f766d56
--- /dev/null
+++ b/date-fns/src/fp/addQuarters/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addQuarters } from 'date-fns/fp'
+export default addQuarters
diff --git a/date-fns/src/fp/addQuarters/index.js b/date-fns/src/fp/addQuarters/index.js
new file mode 100644
index 0000000..6e29d3e
--- /dev/null
+++ b/date-fns/src/fp/addQuarters/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addQuarters/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addQuarters = convertToFP(fn, 2)
+
+export default addQuarters
diff --git a/date-fns/src/fp/addQuarters/index.js.flow b/date-fns/src/fp/addQuarters/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addQuarters/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addSeconds/index.d.ts b/date-fns/src/fp/addSeconds/index.d.ts
new file mode 100644
index 0000000..5c7c41c
--- /dev/null
+++ b/date-fns/src/fp/addSeconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addSeconds } from 'date-fns/fp'
+export default addSeconds
diff --git a/date-fns/src/fp/addSeconds/index.js b/date-fns/src/fp/addSeconds/index.js
new file mode 100644
index 0000000..84d68f3
--- /dev/null
+++ b/date-fns/src/fp/addSeconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addSeconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addSeconds = convertToFP(fn, 2)
+
+export default addSeconds
diff --git a/date-fns/src/fp/addSeconds/index.js.flow b/date-fns/src/fp/addSeconds/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addSeconds/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addWeeks/index.d.ts b/date-fns/src/fp/addWeeks/index.d.ts
new file mode 100644
index 0000000..2703fef
--- /dev/null
+++ b/date-fns/src/fp/addWeeks/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addWeeks } from 'date-fns/fp'
+export default addWeeks
diff --git a/date-fns/src/fp/addWeeks/index.js b/date-fns/src/fp/addWeeks/index.js
new file mode 100644
index 0000000..f20ede2
--- /dev/null
+++ b/date-fns/src/fp/addWeeks/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addWeeks/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addWeeks = convertToFP(fn, 2)
+
+export default addWeeks
diff --git a/date-fns/src/fp/addWeeks/index.js.flow b/date-fns/src/fp/addWeeks/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addWeeks/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/addYears/index.d.ts b/date-fns/src/fp/addYears/index.d.ts
new file mode 100644
index 0000000..ff907d4
--- /dev/null
+++ b/date-fns/src/fp/addYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { addYears } from 'date-fns/fp'
+export default addYears
diff --git a/date-fns/src/fp/addYears/index.js b/date-fns/src/fp/addYears/index.js
new file mode 100644
index 0000000..f2f10c6
--- /dev/null
+++ b/date-fns/src/fp/addYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../addYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var addYears = convertToFP(fn, 2)
+
+export default addYears
diff --git a/date-fns/src/fp/addYears/index.js.flow b/date-fns/src/fp/addYears/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/addYears/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/areIntervalsOverlapping/index.d.ts b/date-fns/src/fp/areIntervalsOverlapping/index.d.ts
new file mode 100644
index 0000000..870f26b
--- /dev/null
+++ b/date-fns/src/fp/areIntervalsOverlapping/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { areIntervalsOverlapping } from 'date-fns/fp'
+export default areIntervalsOverlapping
diff --git a/date-fns/src/fp/areIntervalsOverlapping/index.js b/date-fns/src/fp/areIntervalsOverlapping/index.js
new file mode 100644
index 0000000..97c9ae4
--- /dev/null
+++ b/date-fns/src/fp/areIntervalsOverlapping/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../areIntervalsOverlapping/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var areIntervalsOverlapping = convertToFP(fn, 2)
+
+export default areIntervalsOverlapping
diff --git a/date-fns/src/fp/areIntervalsOverlapping/index.js.flow b/date-fns/src/fp/areIntervalsOverlapping/index.js.flow
new file mode 100644
index 0000000..cd39633
--- /dev/null
+++ b/date-fns/src/fp/areIntervalsOverlapping/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Interval, Interval, boolean>
diff --git a/date-fns/src/fp/areIntervalsOverlappingWithOptions/index.d.ts b/date-fns/src/fp/areIntervalsOverlappingWithOptions/index.d.ts
new file mode 100644
index 0000000..010890a
--- /dev/null
+++ b/date-fns/src/fp/areIntervalsOverlappingWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { areIntervalsOverlappingWithOptions } from 'date-fns/fp'
+export default areIntervalsOverlappingWithOptions
diff --git a/date-fns/src/fp/areIntervalsOverlappingWithOptions/index.js b/date-fns/src/fp/areIntervalsOverlappingWithOptions/index.js
new file mode 100644
index 0000000..3269510
--- /dev/null
+++ b/date-fns/src/fp/areIntervalsOverlappingWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../areIntervalsOverlapping/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var areIntervalsOverlappingWithOptions = convertToFP(fn, 3)
+
+export default areIntervalsOverlappingWithOptions
diff --git a/date-fns/src/fp/areIntervalsOverlappingWithOptions/index.js.flow b/date-fns/src/fp/areIntervalsOverlappingWithOptions/index.js.flow
new file mode 100644
index 0000000..67e7396
--- /dev/null
+++ b/date-fns/src/fp/areIntervalsOverlappingWithOptions/index.js.flow
@@ -0,0 +1,74 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ inclusive?: boolean,
+ },
+ Interval,
+ Interval,
+ boolean
+>
diff --git a/date-fns/src/fp/closestIndexTo/index.d.ts b/date-fns/src/fp/closestIndexTo/index.d.ts
new file mode 100644
index 0000000..562180d
--- /dev/null
+++ b/date-fns/src/fp/closestIndexTo/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { closestIndexTo } from 'date-fns/fp'
+export default closestIndexTo
diff --git a/date-fns/src/fp/closestIndexTo/index.js b/date-fns/src/fp/closestIndexTo/index.js
new file mode 100644
index 0000000..e448ad6
--- /dev/null
+++ b/date-fns/src/fp/closestIndexTo/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../closestIndexTo/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var closestIndexTo = convertToFP(fn, 2)
+
+export default closestIndexTo
diff --git a/date-fns/src/fp/closestIndexTo/index.js.flow b/date-fns/src/fp/closestIndexTo/index.js.flow
new file mode 100644
index 0000000..986c64e
--- /dev/null
+++ b/date-fns/src/fp/closestIndexTo/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<(Date | number)[], Date | number, number>
diff --git a/date-fns/src/fp/closestTo/index.d.ts b/date-fns/src/fp/closestTo/index.d.ts
new file mode 100644
index 0000000..44d10c3
--- /dev/null
+++ b/date-fns/src/fp/closestTo/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { closestTo } from 'date-fns/fp'
+export default closestTo
diff --git a/date-fns/src/fp/closestTo/index.js b/date-fns/src/fp/closestTo/index.js
new file mode 100644
index 0000000..fb0b8fc
--- /dev/null
+++ b/date-fns/src/fp/closestTo/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../closestTo/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var closestTo = convertToFP(fn, 2)
+
+export default closestTo
diff --git a/date-fns/src/fp/closestTo/index.js.flow b/date-fns/src/fp/closestTo/index.js.flow
new file mode 100644
index 0000000..89e8756
--- /dev/null
+++ b/date-fns/src/fp/closestTo/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<(Date | number)[], Date | number, Date>
diff --git a/date-fns/src/fp/compareAsc/index.d.ts b/date-fns/src/fp/compareAsc/index.d.ts
new file mode 100644
index 0000000..77d5c61
--- /dev/null
+++ b/date-fns/src/fp/compareAsc/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { compareAsc } from 'date-fns/fp'
+export default compareAsc
diff --git a/date-fns/src/fp/compareAsc/index.js b/date-fns/src/fp/compareAsc/index.js
new file mode 100644
index 0000000..74e13ff
--- /dev/null
+++ b/date-fns/src/fp/compareAsc/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../compareAsc/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var compareAsc = convertToFP(fn, 2)
+
+export default compareAsc
diff --git a/date-fns/src/fp/compareAsc/index.js.flow b/date-fns/src/fp/compareAsc/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/compareAsc/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/compareDesc/index.d.ts b/date-fns/src/fp/compareDesc/index.d.ts
new file mode 100644
index 0000000..df01367
--- /dev/null
+++ b/date-fns/src/fp/compareDesc/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { compareDesc } from 'date-fns/fp'
+export default compareDesc
diff --git a/date-fns/src/fp/compareDesc/index.js b/date-fns/src/fp/compareDesc/index.js
new file mode 100644
index 0000000..c455234
--- /dev/null
+++ b/date-fns/src/fp/compareDesc/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../compareDesc/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var compareDesc = convertToFP(fn, 2)
+
+export default compareDesc
diff --git a/date-fns/src/fp/compareDesc/index.js.flow b/date-fns/src/fp/compareDesc/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/compareDesc/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/daysToWeeks/index.d.ts b/date-fns/src/fp/daysToWeeks/index.d.ts
new file mode 100644
index 0000000..798a9e1
--- /dev/null
+++ b/date-fns/src/fp/daysToWeeks/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { daysToWeeks } from 'date-fns/fp'
+export default daysToWeeks
diff --git a/date-fns/src/fp/daysToWeeks/index.js b/date-fns/src/fp/daysToWeeks/index.js
new file mode 100644
index 0000000..058ab00
--- /dev/null
+++ b/date-fns/src/fp/daysToWeeks/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../daysToWeeks/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var daysToWeeks = convertToFP(fn, 1)
+
+export default daysToWeeks
diff --git a/date-fns/src/fp/daysToWeeks/index.js.flow b/date-fns/src/fp/daysToWeeks/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/daysToWeeks/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/differenceInBusinessDays/index.d.ts b/date-fns/src/fp/differenceInBusinessDays/index.d.ts
new file mode 100644
index 0000000..4ff9890
--- /dev/null
+++ b/date-fns/src/fp/differenceInBusinessDays/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInBusinessDays } from 'date-fns/fp'
+export default differenceInBusinessDays
diff --git a/date-fns/src/fp/differenceInBusinessDays/index.js b/date-fns/src/fp/differenceInBusinessDays/index.js
new file mode 100644
index 0000000..21c5bc7
--- /dev/null
+++ b/date-fns/src/fp/differenceInBusinessDays/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInBusinessDays/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInBusinessDays = convertToFP(fn, 2)
+
+export default differenceInBusinessDays
diff --git a/date-fns/src/fp/differenceInBusinessDays/index.js.flow b/date-fns/src/fp/differenceInBusinessDays/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInBusinessDays/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInCalendarDays/index.d.ts b/date-fns/src/fp/differenceInCalendarDays/index.d.ts
new file mode 100644
index 0000000..b6ae5f5
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarDays/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInCalendarDays } from 'date-fns/fp'
+export default differenceInCalendarDays
diff --git a/date-fns/src/fp/differenceInCalendarDays/index.js b/date-fns/src/fp/differenceInCalendarDays/index.js
new file mode 100644
index 0000000..d99e50d
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarDays/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInCalendarDays/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInCalendarDays = convertToFP(fn, 2)
+
+export default differenceInCalendarDays
diff --git a/date-fns/src/fp/differenceInCalendarDays/index.js.flow b/date-fns/src/fp/differenceInCalendarDays/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarDays/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInCalendarISOWeekYears/index.d.ts b/date-fns/src/fp/differenceInCalendarISOWeekYears/index.d.ts
new file mode 100644
index 0000000..4e21998
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarISOWeekYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInCalendarISOWeekYears } from 'date-fns/fp'
+export default differenceInCalendarISOWeekYears
diff --git a/date-fns/src/fp/differenceInCalendarISOWeekYears/index.js b/date-fns/src/fp/differenceInCalendarISOWeekYears/index.js
new file mode 100644
index 0000000..42bb5e4
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarISOWeekYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInCalendarISOWeekYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInCalendarISOWeekYears = convertToFP(fn, 2)
+
+export default differenceInCalendarISOWeekYears
diff --git a/date-fns/src/fp/differenceInCalendarISOWeekYears/index.js.flow b/date-fns/src/fp/differenceInCalendarISOWeekYears/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarISOWeekYears/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInCalendarISOWeeks/index.d.ts b/date-fns/src/fp/differenceInCalendarISOWeeks/index.d.ts
new file mode 100644
index 0000000..7751c6f
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarISOWeeks/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInCalendarISOWeeks } from 'date-fns/fp'
+export default differenceInCalendarISOWeeks
diff --git a/date-fns/src/fp/differenceInCalendarISOWeeks/index.js b/date-fns/src/fp/differenceInCalendarISOWeeks/index.js
new file mode 100644
index 0000000..d8551a1
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarISOWeeks/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInCalendarISOWeeks/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInCalendarISOWeeks = convertToFP(fn, 2)
+
+export default differenceInCalendarISOWeeks
diff --git a/date-fns/src/fp/differenceInCalendarISOWeeks/index.js.flow b/date-fns/src/fp/differenceInCalendarISOWeeks/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarISOWeeks/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInCalendarMonths/index.d.ts b/date-fns/src/fp/differenceInCalendarMonths/index.d.ts
new file mode 100644
index 0000000..080ac92
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarMonths/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInCalendarMonths } from 'date-fns/fp'
+export default differenceInCalendarMonths
diff --git a/date-fns/src/fp/differenceInCalendarMonths/index.js b/date-fns/src/fp/differenceInCalendarMonths/index.js
new file mode 100644
index 0000000..12edc3c
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarMonths/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInCalendarMonths/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInCalendarMonths = convertToFP(fn, 2)
+
+export default differenceInCalendarMonths
diff --git a/date-fns/src/fp/differenceInCalendarMonths/index.js.flow b/date-fns/src/fp/differenceInCalendarMonths/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarMonths/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInCalendarQuarters/index.d.ts b/date-fns/src/fp/differenceInCalendarQuarters/index.d.ts
new file mode 100644
index 0000000..7b9208b
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarQuarters/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInCalendarQuarters } from 'date-fns/fp'
+export default differenceInCalendarQuarters
diff --git a/date-fns/src/fp/differenceInCalendarQuarters/index.js b/date-fns/src/fp/differenceInCalendarQuarters/index.js
new file mode 100644
index 0000000..4c9417c
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarQuarters/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInCalendarQuarters/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInCalendarQuarters = convertToFP(fn, 2)
+
+export default differenceInCalendarQuarters
diff --git a/date-fns/src/fp/differenceInCalendarQuarters/index.js.flow b/date-fns/src/fp/differenceInCalendarQuarters/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarQuarters/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInCalendarWeeks/index.d.ts b/date-fns/src/fp/differenceInCalendarWeeks/index.d.ts
new file mode 100644
index 0000000..c64709a
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarWeeks/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInCalendarWeeks } from 'date-fns/fp'
+export default differenceInCalendarWeeks
diff --git a/date-fns/src/fp/differenceInCalendarWeeks/index.js b/date-fns/src/fp/differenceInCalendarWeeks/index.js
new file mode 100644
index 0000000..61190aa
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarWeeks/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInCalendarWeeks/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInCalendarWeeks = convertToFP(fn, 2)
+
+export default differenceInCalendarWeeks
diff --git a/date-fns/src/fp/differenceInCalendarWeeks/index.js.flow b/date-fns/src/fp/differenceInCalendarWeeks/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarWeeks/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.d.ts b/date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.d.ts
new file mode 100644
index 0000000..344e205
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInCalendarWeeksWithOptions } from 'date-fns/fp'
+export default differenceInCalendarWeeksWithOptions
diff --git a/date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.js b/date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.js
new file mode 100644
index 0000000..1708945
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInCalendarWeeks/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInCalendarWeeksWithOptions = convertToFP(fn, 3)
+
+export default differenceInCalendarWeeksWithOptions
diff --git a/date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.js.flow b/date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.js.flow
new file mode 100644
index 0000000..9ee18fd
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarWeeksWithOptions/index.js.flow
@@ -0,0 +1,75 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date | number,
+ number
+>
diff --git a/date-fns/src/fp/differenceInCalendarYears/index.d.ts b/date-fns/src/fp/differenceInCalendarYears/index.d.ts
new file mode 100644
index 0000000..1390b1f
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInCalendarYears } from 'date-fns/fp'
+export default differenceInCalendarYears
diff --git a/date-fns/src/fp/differenceInCalendarYears/index.js b/date-fns/src/fp/differenceInCalendarYears/index.js
new file mode 100644
index 0000000..fad8b02
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInCalendarYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInCalendarYears = convertToFP(fn, 2)
+
+export default differenceInCalendarYears
diff --git a/date-fns/src/fp/differenceInCalendarYears/index.js.flow b/date-fns/src/fp/differenceInCalendarYears/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInCalendarYears/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInDays/index.d.ts b/date-fns/src/fp/differenceInDays/index.d.ts
new file mode 100644
index 0000000..b240c6e
--- /dev/null
+++ b/date-fns/src/fp/differenceInDays/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInDays } from 'date-fns/fp'
+export default differenceInDays
diff --git a/date-fns/src/fp/differenceInDays/index.js b/date-fns/src/fp/differenceInDays/index.js
new file mode 100644
index 0000000..ee7d0d9
--- /dev/null
+++ b/date-fns/src/fp/differenceInDays/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInDays/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInDays = convertToFP(fn, 2)
+
+export default differenceInDays
diff --git a/date-fns/src/fp/differenceInDays/index.js.flow b/date-fns/src/fp/differenceInDays/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInDays/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInHours/index.d.ts b/date-fns/src/fp/differenceInHours/index.d.ts
new file mode 100644
index 0000000..4cc2797
--- /dev/null
+++ b/date-fns/src/fp/differenceInHours/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInHours } from 'date-fns/fp'
+export default differenceInHours
diff --git a/date-fns/src/fp/differenceInHours/index.js b/date-fns/src/fp/differenceInHours/index.js
new file mode 100644
index 0000000..5686bb2
--- /dev/null
+++ b/date-fns/src/fp/differenceInHours/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInHours/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInHours = convertToFP(fn, 2)
+
+export default differenceInHours
diff --git a/date-fns/src/fp/differenceInHours/index.js.flow b/date-fns/src/fp/differenceInHours/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInHours/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInISOWeekYears/index.d.ts b/date-fns/src/fp/differenceInISOWeekYears/index.d.ts
new file mode 100644
index 0000000..634591a
--- /dev/null
+++ b/date-fns/src/fp/differenceInISOWeekYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInISOWeekYears } from 'date-fns/fp'
+export default differenceInISOWeekYears
diff --git a/date-fns/src/fp/differenceInISOWeekYears/index.js b/date-fns/src/fp/differenceInISOWeekYears/index.js
new file mode 100644
index 0000000..1a60642
--- /dev/null
+++ b/date-fns/src/fp/differenceInISOWeekYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInISOWeekYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInISOWeekYears = convertToFP(fn, 2)
+
+export default differenceInISOWeekYears
diff --git a/date-fns/src/fp/differenceInISOWeekYears/index.js.flow b/date-fns/src/fp/differenceInISOWeekYears/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInISOWeekYears/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInMilliseconds/index.d.ts b/date-fns/src/fp/differenceInMilliseconds/index.d.ts
new file mode 100644
index 0000000..23924cb
--- /dev/null
+++ b/date-fns/src/fp/differenceInMilliseconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInMilliseconds } from 'date-fns/fp'
+export default differenceInMilliseconds
diff --git a/date-fns/src/fp/differenceInMilliseconds/index.js b/date-fns/src/fp/differenceInMilliseconds/index.js
new file mode 100644
index 0000000..2d82792
--- /dev/null
+++ b/date-fns/src/fp/differenceInMilliseconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInMilliseconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInMilliseconds = convertToFP(fn, 2)
+
+export default differenceInMilliseconds
diff --git a/date-fns/src/fp/differenceInMilliseconds/index.js.flow b/date-fns/src/fp/differenceInMilliseconds/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInMilliseconds/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInMinutes/index.d.ts b/date-fns/src/fp/differenceInMinutes/index.d.ts
new file mode 100644
index 0000000..6d00d34
--- /dev/null
+++ b/date-fns/src/fp/differenceInMinutes/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInMinutes } from 'date-fns/fp'
+export default differenceInMinutes
diff --git a/date-fns/src/fp/differenceInMinutes/index.js b/date-fns/src/fp/differenceInMinutes/index.js
new file mode 100644
index 0000000..4184936
--- /dev/null
+++ b/date-fns/src/fp/differenceInMinutes/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInMinutes = convertToFP(fn, 2)
+
+export default differenceInMinutes
diff --git a/date-fns/src/fp/differenceInMinutes/index.js.flow b/date-fns/src/fp/differenceInMinutes/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInMinutes/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInMonths/index.d.ts b/date-fns/src/fp/differenceInMonths/index.d.ts
new file mode 100644
index 0000000..17bdd4e
--- /dev/null
+++ b/date-fns/src/fp/differenceInMonths/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInMonths } from 'date-fns/fp'
+export default differenceInMonths
diff --git a/date-fns/src/fp/differenceInMonths/index.js b/date-fns/src/fp/differenceInMonths/index.js
new file mode 100644
index 0000000..ad89d12
--- /dev/null
+++ b/date-fns/src/fp/differenceInMonths/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInMonths/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInMonths = convertToFP(fn, 2)
+
+export default differenceInMonths
diff --git a/date-fns/src/fp/differenceInMonths/index.js.flow b/date-fns/src/fp/differenceInMonths/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInMonths/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInQuarters/index.d.ts b/date-fns/src/fp/differenceInQuarters/index.d.ts
new file mode 100644
index 0000000..649f21d
--- /dev/null
+++ b/date-fns/src/fp/differenceInQuarters/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInQuarters } from 'date-fns/fp'
+export default differenceInQuarters
diff --git a/date-fns/src/fp/differenceInQuarters/index.js b/date-fns/src/fp/differenceInQuarters/index.js
new file mode 100644
index 0000000..9283c20
--- /dev/null
+++ b/date-fns/src/fp/differenceInQuarters/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInQuarters/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInQuarters = convertToFP(fn, 2)
+
+export default differenceInQuarters
diff --git a/date-fns/src/fp/differenceInQuarters/index.js.flow b/date-fns/src/fp/differenceInQuarters/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInQuarters/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInSeconds/index.d.ts b/date-fns/src/fp/differenceInSeconds/index.d.ts
new file mode 100644
index 0000000..1dded51
--- /dev/null
+++ b/date-fns/src/fp/differenceInSeconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInSeconds } from 'date-fns/fp'
+export default differenceInSeconds
diff --git a/date-fns/src/fp/differenceInSeconds/index.js b/date-fns/src/fp/differenceInSeconds/index.js
new file mode 100644
index 0000000..408b754
--- /dev/null
+++ b/date-fns/src/fp/differenceInSeconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInSeconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInSeconds = convertToFP(fn, 2)
+
+export default differenceInSeconds
diff --git a/date-fns/src/fp/differenceInSeconds/index.js.flow b/date-fns/src/fp/differenceInSeconds/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInSeconds/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInWeeks/index.d.ts b/date-fns/src/fp/differenceInWeeks/index.d.ts
new file mode 100644
index 0000000..52d5220
--- /dev/null
+++ b/date-fns/src/fp/differenceInWeeks/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInWeeks } from 'date-fns/fp'
+export default differenceInWeeks
diff --git a/date-fns/src/fp/differenceInWeeks/index.js b/date-fns/src/fp/differenceInWeeks/index.js
new file mode 100644
index 0000000..ff0e3a4
--- /dev/null
+++ b/date-fns/src/fp/differenceInWeeks/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInWeeks/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInWeeks = convertToFP(fn, 2)
+
+export default differenceInWeeks
diff --git a/date-fns/src/fp/differenceInWeeks/index.js.flow b/date-fns/src/fp/differenceInWeeks/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInWeeks/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/differenceInYears/index.d.ts b/date-fns/src/fp/differenceInYears/index.d.ts
new file mode 100644
index 0000000..20fd164
--- /dev/null
+++ b/date-fns/src/fp/differenceInYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { differenceInYears } from 'date-fns/fp'
+export default differenceInYears
diff --git a/date-fns/src/fp/differenceInYears/index.js b/date-fns/src/fp/differenceInYears/index.js
new file mode 100644
index 0000000..cfa3274
--- /dev/null
+++ b/date-fns/src/fp/differenceInYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../differenceInYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var differenceInYears = convertToFP(fn, 2)
+
+export default differenceInYears
diff --git a/date-fns/src/fp/differenceInYears/index.js.flow b/date-fns/src/fp/differenceInYears/index.js.flow
new file mode 100644
index 0000000..78c45ae
--- /dev/null
+++ b/date-fns/src/fp/differenceInYears/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, number>
diff --git a/date-fns/src/fp/eachDayOfInterval/index.d.ts b/date-fns/src/fp/eachDayOfInterval/index.d.ts
new file mode 100644
index 0000000..e878e76
--- /dev/null
+++ b/date-fns/src/fp/eachDayOfInterval/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachDayOfInterval } from 'date-fns/fp'
+export default eachDayOfInterval
diff --git a/date-fns/src/fp/eachDayOfInterval/index.js b/date-fns/src/fp/eachDayOfInterval/index.js
new file mode 100644
index 0000000..e10f89a
--- /dev/null
+++ b/date-fns/src/fp/eachDayOfInterval/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachDayOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachDayOfInterval = convertToFP(fn, 1)
+
+export default eachDayOfInterval
diff --git a/date-fns/src/fp/eachDayOfInterval/index.js.flow b/date-fns/src/fp/eachDayOfInterval/index.js.flow
new file mode 100644
index 0000000..c5f2d6a
--- /dev/null
+++ b/date-fns/src/fp/eachDayOfInterval/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Interval, Date[]>
diff --git a/date-fns/src/fp/eachDayOfIntervalWithOptions/index.d.ts b/date-fns/src/fp/eachDayOfIntervalWithOptions/index.d.ts
new file mode 100644
index 0000000..5862284
--- /dev/null
+++ b/date-fns/src/fp/eachDayOfIntervalWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachDayOfIntervalWithOptions } from 'date-fns/fp'
+export default eachDayOfIntervalWithOptions
diff --git a/date-fns/src/fp/eachDayOfIntervalWithOptions/index.js b/date-fns/src/fp/eachDayOfIntervalWithOptions/index.js
new file mode 100644
index 0000000..5f83f92
--- /dev/null
+++ b/date-fns/src/fp/eachDayOfIntervalWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachDayOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachDayOfIntervalWithOptions = convertToFP(fn, 2)
+
+export default eachDayOfIntervalWithOptions
diff --git a/date-fns/src/fp/eachDayOfIntervalWithOptions/index.js.flow b/date-fns/src/fp/eachDayOfIntervalWithOptions/index.js.flow
new file mode 100644
index 0000000..bedeb21
--- /dev/null
+++ b/date-fns/src/fp/eachDayOfIntervalWithOptions/index.js.flow
@@ -0,0 +1,64 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ step?: number,
+ },
+ Interval,
+ Date[]
+>
diff --git a/date-fns/src/fp/eachHourOfInterval/index.d.ts b/date-fns/src/fp/eachHourOfInterval/index.d.ts
new file mode 100644
index 0000000..055ab32
--- /dev/null
+++ b/date-fns/src/fp/eachHourOfInterval/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachHourOfInterval } from 'date-fns/fp'
+export default eachHourOfInterval
diff --git a/date-fns/src/fp/eachHourOfInterval/index.js b/date-fns/src/fp/eachHourOfInterval/index.js
new file mode 100644
index 0000000..8025213
--- /dev/null
+++ b/date-fns/src/fp/eachHourOfInterval/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachHourOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachHourOfInterval = convertToFP(fn, 1)
+
+export default eachHourOfInterval
diff --git a/date-fns/src/fp/eachHourOfInterval/index.js.flow b/date-fns/src/fp/eachHourOfInterval/index.js.flow
new file mode 100644
index 0000000..c5f2d6a
--- /dev/null
+++ b/date-fns/src/fp/eachHourOfInterval/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Interval, Date[]>
diff --git a/date-fns/src/fp/eachHourOfIntervalWithOptions/index.d.ts b/date-fns/src/fp/eachHourOfIntervalWithOptions/index.d.ts
new file mode 100644
index 0000000..7b781f9
--- /dev/null
+++ b/date-fns/src/fp/eachHourOfIntervalWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachHourOfIntervalWithOptions } from 'date-fns/fp'
+export default eachHourOfIntervalWithOptions
diff --git a/date-fns/src/fp/eachHourOfIntervalWithOptions/index.js b/date-fns/src/fp/eachHourOfIntervalWithOptions/index.js
new file mode 100644
index 0000000..ab52bb3
--- /dev/null
+++ b/date-fns/src/fp/eachHourOfIntervalWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachHourOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachHourOfIntervalWithOptions = convertToFP(fn, 2)
+
+export default eachHourOfIntervalWithOptions
diff --git a/date-fns/src/fp/eachHourOfIntervalWithOptions/index.js.flow b/date-fns/src/fp/eachHourOfIntervalWithOptions/index.js.flow
new file mode 100644
index 0000000..bedeb21
--- /dev/null
+++ b/date-fns/src/fp/eachHourOfIntervalWithOptions/index.js.flow
@@ -0,0 +1,64 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ step?: number,
+ },
+ Interval,
+ Date[]
+>
diff --git a/date-fns/src/fp/eachMinuteOfInterval/index.d.ts b/date-fns/src/fp/eachMinuteOfInterval/index.d.ts
new file mode 100644
index 0000000..243185f
--- /dev/null
+++ b/date-fns/src/fp/eachMinuteOfInterval/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachMinuteOfInterval } from 'date-fns/fp'
+export default eachMinuteOfInterval
diff --git a/date-fns/src/fp/eachMinuteOfInterval/index.js b/date-fns/src/fp/eachMinuteOfInterval/index.js
new file mode 100644
index 0000000..b56e0dd
--- /dev/null
+++ b/date-fns/src/fp/eachMinuteOfInterval/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachMinuteOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachMinuteOfInterval = convertToFP(fn, 1)
+
+export default eachMinuteOfInterval
diff --git a/date-fns/src/fp/eachMinuteOfInterval/index.js.flow b/date-fns/src/fp/eachMinuteOfInterval/index.js.flow
new file mode 100644
index 0000000..c5f2d6a
--- /dev/null
+++ b/date-fns/src/fp/eachMinuteOfInterval/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Interval, Date[]>
diff --git a/date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.d.ts b/date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.d.ts
new file mode 100644
index 0000000..716aa44
--- /dev/null
+++ b/date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachMinuteOfIntervalWithOptions } from 'date-fns/fp'
+export default eachMinuteOfIntervalWithOptions
diff --git a/date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.js b/date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.js
new file mode 100644
index 0000000..e4d6702
--- /dev/null
+++ b/date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachMinuteOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachMinuteOfIntervalWithOptions = convertToFP(fn, 2)
+
+export default eachMinuteOfIntervalWithOptions
diff --git a/date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.js.flow b/date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.js.flow
new file mode 100644
index 0000000..bedeb21
--- /dev/null
+++ b/date-fns/src/fp/eachMinuteOfIntervalWithOptions/index.js.flow
@@ -0,0 +1,64 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ step?: number,
+ },
+ Interval,
+ Date[]
+>
diff --git a/date-fns/src/fp/eachMonthOfInterval/index.d.ts b/date-fns/src/fp/eachMonthOfInterval/index.d.ts
new file mode 100644
index 0000000..1f3cae5
--- /dev/null
+++ b/date-fns/src/fp/eachMonthOfInterval/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachMonthOfInterval } from 'date-fns/fp'
+export default eachMonthOfInterval
diff --git a/date-fns/src/fp/eachMonthOfInterval/index.js b/date-fns/src/fp/eachMonthOfInterval/index.js
new file mode 100644
index 0000000..91cf896
--- /dev/null
+++ b/date-fns/src/fp/eachMonthOfInterval/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachMonthOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachMonthOfInterval = convertToFP(fn, 1)
+
+export default eachMonthOfInterval
diff --git a/date-fns/src/fp/eachMonthOfInterval/index.js.flow b/date-fns/src/fp/eachMonthOfInterval/index.js.flow
new file mode 100644
index 0000000..c5f2d6a
--- /dev/null
+++ b/date-fns/src/fp/eachMonthOfInterval/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Interval, Date[]>
diff --git a/date-fns/src/fp/eachQuarterOfInterval/index.d.ts b/date-fns/src/fp/eachQuarterOfInterval/index.d.ts
new file mode 100644
index 0000000..8a81f63
--- /dev/null
+++ b/date-fns/src/fp/eachQuarterOfInterval/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachQuarterOfInterval } from 'date-fns/fp'
+export default eachQuarterOfInterval
diff --git a/date-fns/src/fp/eachQuarterOfInterval/index.js b/date-fns/src/fp/eachQuarterOfInterval/index.js
new file mode 100644
index 0000000..ca236bc
--- /dev/null
+++ b/date-fns/src/fp/eachQuarterOfInterval/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachQuarterOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachQuarterOfInterval = convertToFP(fn, 1)
+
+export default eachQuarterOfInterval
diff --git a/date-fns/src/fp/eachQuarterOfInterval/index.js.flow b/date-fns/src/fp/eachQuarterOfInterval/index.js.flow
new file mode 100644
index 0000000..c5f2d6a
--- /dev/null
+++ b/date-fns/src/fp/eachQuarterOfInterval/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Interval, Date[]>
diff --git a/date-fns/src/fp/eachWeekOfInterval/index.d.ts b/date-fns/src/fp/eachWeekOfInterval/index.d.ts
new file mode 100644
index 0000000..ab5d4b4
--- /dev/null
+++ b/date-fns/src/fp/eachWeekOfInterval/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachWeekOfInterval } from 'date-fns/fp'
+export default eachWeekOfInterval
diff --git a/date-fns/src/fp/eachWeekOfInterval/index.js b/date-fns/src/fp/eachWeekOfInterval/index.js
new file mode 100644
index 0000000..e6e9820
--- /dev/null
+++ b/date-fns/src/fp/eachWeekOfInterval/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachWeekOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachWeekOfInterval = convertToFP(fn, 1)
+
+export default eachWeekOfInterval
diff --git a/date-fns/src/fp/eachWeekOfInterval/index.js.flow b/date-fns/src/fp/eachWeekOfInterval/index.js.flow
new file mode 100644
index 0000000..c5f2d6a
--- /dev/null
+++ b/date-fns/src/fp/eachWeekOfInterval/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Interval, Date[]>
diff --git a/date-fns/src/fp/eachWeekOfIntervalWithOptions/index.d.ts b/date-fns/src/fp/eachWeekOfIntervalWithOptions/index.d.ts
new file mode 100644
index 0000000..def43ab
--- /dev/null
+++ b/date-fns/src/fp/eachWeekOfIntervalWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachWeekOfIntervalWithOptions } from 'date-fns/fp'
+export default eachWeekOfIntervalWithOptions
diff --git a/date-fns/src/fp/eachWeekOfIntervalWithOptions/index.js b/date-fns/src/fp/eachWeekOfIntervalWithOptions/index.js
new file mode 100644
index 0000000..396d3db
--- /dev/null
+++ b/date-fns/src/fp/eachWeekOfIntervalWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachWeekOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachWeekOfIntervalWithOptions = convertToFP(fn, 2)
+
+export default eachWeekOfIntervalWithOptions
diff --git a/date-fns/src/fp/eachWeekOfIntervalWithOptions/index.js.flow b/date-fns/src/fp/eachWeekOfIntervalWithOptions/index.js.flow
new file mode 100644
index 0000000..3aca218
--- /dev/null
+++ b/date-fns/src/fp/eachWeekOfIntervalWithOptions/index.js.flow
@@ -0,0 +1,65 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Interval,
+ Date[]
+>
diff --git a/date-fns/src/fp/eachWeekendOfInterval/index.d.ts b/date-fns/src/fp/eachWeekendOfInterval/index.d.ts
new file mode 100644
index 0000000..961eff7
--- /dev/null
+++ b/date-fns/src/fp/eachWeekendOfInterval/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachWeekendOfInterval } from 'date-fns/fp'
+export default eachWeekendOfInterval
diff --git a/date-fns/src/fp/eachWeekendOfInterval/index.js b/date-fns/src/fp/eachWeekendOfInterval/index.js
new file mode 100644
index 0000000..85c2578
--- /dev/null
+++ b/date-fns/src/fp/eachWeekendOfInterval/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachWeekendOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachWeekendOfInterval = convertToFP(fn, 1)
+
+export default eachWeekendOfInterval
diff --git a/date-fns/src/fp/eachWeekendOfInterval/index.js.flow b/date-fns/src/fp/eachWeekendOfInterval/index.js.flow
new file mode 100644
index 0000000..c5f2d6a
--- /dev/null
+++ b/date-fns/src/fp/eachWeekendOfInterval/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Interval, Date[]>
diff --git a/date-fns/src/fp/eachWeekendOfMonth/index.d.ts b/date-fns/src/fp/eachWeekendOfMonth/index.d.ts
new file mode 100644
index 0000000..2501a05
--- /dev/null
+++ b/date-fns/src/fp/eachWeekendOfMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachWeekendOfMonth } from 'date-fns/fp'
+export default eachWeekendOfMonth
diff --git a/date-fns/src/fp/eachWeekendOfMonth/index.js b/date-fns/src/fp/eachWeekendOfMonth/index.js
new file mode 100644
index 0000000..c51f15c
--- /dev/null
+++ b/date-fns/src/fp/eachWeekendOfMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachWeekendOfMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachWeekendOfMonth = convertToFP(fn, 1)
+
+export default eachWeekendOfMonth
diff --git a/date-fns/src/fp/eachWeekendOfMonth/index.js.flow b/date-fns/src/fp/eachWeekendOfMonth/index.js.flow
new file mode 100644
index 0000000..9736b40
--- /dev/null
+++ b/date-fns/src/fp/eachWeekendOfMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date[]>
diff --git a/date-fns/src/fp/eachWeekendOfYear/index.d.ts b/date-fns/src/fp/eachWeekendOfYear/index.d.ts
new file mode 100644
index 0000000..8554541
--- /dev/null
+++ b/date-fns/src/fp/eachWeekendOfYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachWeekendOfYear } from 'date-fns/fp'
+export default eachWeekendOfYear
diff --git a/date-fns/src/fp/eachWeekendOfYear/index.js b/date-fns/src/fp/eachWeekendOfYear/index.js
new file mode 100644
index 0000000..176c513
--- /dev/null
+++ b/date-fns/src/fp/eachWeekendOfYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachWeekendOfYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachWeekendOfYear = convertToFP(fn, 1)
+
+export default eachWeekendOfYear
diff --git a/date-fns/src/fp/eachWeekendOfYear/index.js.flow b/date-fns/src/fp/eachWeekendOfYear/index.js.flow
new file mode 100644
index 0000000..9736b40
--- /dev/null
+++ b/date-fns/src/fp/eachWeekendOfYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date[]>
diff --git a/date-fns/src/fp/eachYearOfInterval/index.d.ts b/date-fns/src/fp/eachYearOfInterval/index.d.ts
new file mode 100644
index 0000000..51e093b
--- /dev/null
+++ b/date-fns/src/fp/eachYearOfInterval/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { eachYearOfInterval } from 'date-fns/fp'
+export default eachYearOfInterval
diff --git a/date-fns/src/fp/eachYearOfInterval/index.js b/date-fns/src/fp/eachYearOfInterval/index.js
new file mode 100644
index 0000000..9b4bc3f
--- /dev/null
+++ b/date-fns/src/fp/eachYearOfInterval/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../eachYearOfInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var eachYearOfInterval = convertToFP(fn, 1)
+
+export default eachYearOfInterval
diff --git a/date-fns/src/fp/eachYearOfInterval/index.js.flow b/date-fns/src/fp/eachYearOfInterval/index.js.flow
new file mode 100644
index 0000000..c5f2d6a
--- /dev/null
+++ b/date-fns/src/fp/eachYearOfInterval/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Interval, Date[]>
diff --git a/date-fns/src/fp/endOfDay/index.d.ts b/date-fns/src/fp/endOfDay/index.d.ts
new file mode 100644
index 0000000..2db665f
--- /dev/null
+++ b/date-fns/src/fp/endOfDay/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfDay } from 'date-fns/fp'
+export default endOfDay
diff --git a/date-fns/src/fp/endOfDay/index.js b/date-fns/src/fp/endOfDay/index.js
new file mode 100644
index 0000000..d4cd1c6
--- /dev/null
+++ b/date-fns/src/fp/endOfDay/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfDay/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfDay = convertToFP(fn, 1)
+
+export default endOfDay
diff --git a/date-fns/src/fp/endOfDay/index.js.flow b/date-fns/src/fp/endOfDay/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfDay/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfDecade/index.d.ts b/date-fns/src/fp/endOfDecade/index.d.ts
new file mode 100644
index 0000000..f3a7e8c
--- /dev/null
+++ b/date-fns/src/fp/endOfDecade/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfDecade } from 'date-fns/fp'
+export default endOfDecade
diff --git a/date-fns/src/fp/endOfDecade/index.js b/date-fns/src/fp/endOfDecade/index.js
new file mode 100644
index 0000000..7bd4446
--- /dev/null
+++ b/date-fns/src/fp/endOfDecade/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfDecade/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfDecade = convertToFP(fn, 1)
+
+export default endOfDecade
diff --git a/date-fns/src/fp/endOfDecade/index.js.flow b/date-fns/src/fp/endOfDecade/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfDecade/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfDecadeWithOptions/index.d.ts b/date-fns/src/fp/endOfDecadeWithOptions/index.d.ts
new file mode 100644
index 0000000..cad60da
--- /dev/null
+++ b/date-fns/src/fp/endOfDecadeWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfDecadeWithOptions } from 'date-fns/fp'
+export default endOfDecadeWithOptions
diff --git a/date-fns/src/fp/endOfDecadeWithOptions/index.js b/date-fns/src/fp/endOfDecadeWithOptions/index.js
new file mode 100644
index 0000000..fcef2a4
--- /dev/null
+++ b/date-fns/src/fp/endOfDecadeWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfDecade/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfDecadeWithOptions = convertToFP(fn, 2)
+
+export default endOfDecadeWithOptions
diff --git a/date-fns/src/fp/endOfDecadeWithOptions/index.js.flow b/date-fns/src/fp/endOfDecadeWithOptions/index.js.flow
new file mode 100644
index 0000000..4b6d0d4
--- /dev/null
+++ b/date-fns/src/fp/endOfDecadeWithOptions/index.js.flow
@@ -0,0 +1,64 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ additionalDigits?: 0 | 1 | 2,
+ },
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/endOfHour/index.d.ts b/date-fns/src/fp/endOfHour/index.d.ts
new file mode 100644
index 0000000..fb7b319
--- /dev/null
+++ b/date-fns/src/fp/endOfHour/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfHour } from 'date-fns/fp'
+export default endOfHour
diff --git a/date-fns/src/fp/endOfHour/index.js b/date-fns/src/fp/endOfHour/index.js
new file mode 100644
index 0000000..896ebf9
--- /dev/null
+++ b/date-fns/src/fp/endOfHour/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfHour/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfHour = convertToFP(fn, 1)
+
+export default endOfHour
diff --git a/date-fns/src/fp/endOfHour/index.js.flow b/date-fns/src/fp/endOfHour/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfHour/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfISOWeek/index.d.ts b/date-fns/src/fp/endOfISOWeek/index.d.ts
new file mode 100644
index 0000000..64f0b2e
--- /dev/null
+++ b/date-fns/src/fp/endOfISOWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfISOWeek } from 'date-fns/fp'
+export default endOfISOWeek
diff --git a/date-fns/src/fp/endOfISOWeek/index.js b/date-fns/src/fp/endOfISOWeek/index.js
new file mode 100644
index 0000000..12817f7
--- /dev/null
+++ b/date-fns/src/fp/endOfISOWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfISOWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfISOWeek = convertToFP(fn, 1)
+
+export default endOfISOWeek
diff --git a/date-fns/src/fp/endOfISOWeek/index.js.flow b/date-fns/src/fp/endOfISOWeek/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfISOWeek/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfISOWeekYear/index.d.ts b/date-fns/src/fp/endOfISOWeekYear/index.d.ts
new file mode 100644
index 0000000..9782d7f
--- /dev/null
+++ b/date-fns/src/fp/endOfISOWeekYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfISOWeekYear } from 'date-fns/fp'
+export default endOfISOWeekYear
diff --git a/date-fns/src/fp/endOfISOWeekYear/index.js b/date-fns/src/fp/endOfISOWeekYear/index.js
new file mode 100644
index 0000000..e8dca89
--- /dev/null
+++ b/date-fns/src/fp/endOfISOWeekYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfISOWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfISOWeekYear = convertToFP(fn, 1)
+
+export default endOfISOWeekYear
diff --git a/date-fns/src/fp/endOfISOWeekYear/index.js.flow b/date-fns/src/fp/endOfISOWeekYear/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfISOWeekYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfMinute/index.d.ts b/date-fns/src/fp/endOfMinute/index.d.ts
new file mode 100644
index 0000000..78e8a19
--- /dev/null
+++ b/date-fns/src/fp/endOfMinute/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfMinute } from 'date-fns/fp'
+export default endOfMinute
diff --git a/date-fns/src/fp/endOfMinute/index.js b/date-fns/src/fp/endOfMinute/index.js
new file mode 100644
index 0000000..66489bd
--- /dev/null
+++ b/date-fns/src/fp/endOfMinute/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfMinute/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfMinute = convertToFP(fn, 1)
+
+export default endOfMinute
diff --git a/date-fns/src/fp/endOfMinute/index.js.flow b/date-fns/src/fp/endOfMinute/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfMinute/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfMonth/index.d.ts b/date-fns/src/fp/endOfMonth/index.d.ts
new file mode 100644
index 0000000..0c23957
--- /dev/null
+++ b/date-fns/src/fp/endOfMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfMonth } from 'date-fns/fp'
+export default endOfMonth
diff --git a/date-fns/src/fp/endOfMonth/index.js b/date-fns/src/fp/endOfMonth/index.js
new file mode 100644
index 0000000..6e54f05
--- /dev/null
+++ b/date-fns/src/fp/endOfMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfMonth = convertToFP(fn, 1)
+
+export default endOfMonth
diff --git a/date-fns/src/fp/endOfMonth/index.js.flow b/date-fns/src/fp/endOfMonth/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfQuarter/index.d.ts b/date-fns/src/fp/endOfQuarter/index.d.ts
new file mode 100644
index 0000000..24e729b
--- /dev/null
+++ b/date-fns/src/fp/endOfQuarter/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfQuarter } from 'date-fns/fp'
+export default endOfQuarter
diff --git a/date-fns/src/fp/endOfQuarter/index.js b/date-fns/src/fp/endOfQuarter/index.js
new file mode 100644
index 0000000..0f5dc0b
--- /dev/null
+++ b/date-fns/src/fp/endOfQuarter/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfQuarter/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfQuarter = convertToFP(fn, 1)
+
+export default endOfQuarter
diff --git a/date-fns/src/fp/endOfQuarter/index.js.flow b/date-fns/src/fp/endOfQuarter/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfQuarter/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfSecond/index.d.ts b/date-fns/src/fp/endOfSecond/index.d.ts
new file mode 100644
index 0000000..6b5d624
--- /dev/null
+++ b/date-fns/src/fp/endOfSecond/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfSecond } from 'date-fns/fp'
+export default endOfSecond
diff --git a/date-fns/src/fp/endOfSecond/index.js b/date-fns/src/fp/endOfSecond/index.js
new file mode 100644
index 0000000..6b58bd8
--- /dev/null
+++ b/date-fns/src/fp/endOfSecond/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfSecond/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfSecond = convertToFP(fn, 1)
+
+export default endOfSecond
diff --git a/date-fns/src/fp/endOfSecond/index.js.flow b/date-fns/src/fp/endOfSecond/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfSecond/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfWeek/index.d.ts b/date-fns/src/fp/endOfWeek/index.d.ts
new file mode 100644
index 0000000..0aa4d10
--- /dev/null
+++ b/date-fns/src/fp/endOfWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfWeek } from 'date-fns/fp'
+export default endOfWeek
diff --git a/date-fns/src/fp/endOfWeek/index.js b/date-fns/src/fp/endOfWeek/index.js
new file mode 100644
index 0000000..256588b
--- /dev/null
+++ b/date-fns/src/fp/endOfWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfWeek = convertToFP(fn, 1)
+
+export default endOfWeek
diff --git a/date-fns/src/fp/endOfWeek/index.js.flow b/date-fns/src/fp/endOfWeek/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfWeek/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/endOfWeekWithOptions/index.d.ts b/date-fns/src/fp/endOfWeekWithOptions/index.d.ts
new file mode 100644
index 0000000..0ddcbf6
--- /dev/null
+++ b/date-fns/src/fp/endOfWeekWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfWeekWithOptions } from 'date-fns/fp'
+export default endOfWeekWithOptions
diff --git a/date-fns/src/fp/endOfWeekWithOptions/index.js b/date-fns/src/fp/endOfWeekWithOptions/index.js
new file mode 100644
index 0000000..49fe42b
--- /dev/null
+++ b/date-fns/src/fp/endOfWeekWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfWeekWithOptions = convertToFP(fn, 2)
+
+export default endOfWeekWithOptions
diff --git a/date-fns/src/fp/endOfWeekWithOptions/index.js.flow b/date-fns/src/fp/endOfWeekWithOptions/index.js.flow
new file mode 100644
index 0000000..9821646
--- /dev/null
+++ b/date-fns/src/fp/endOfWeekWithOptions/index.js.flow
@@ -0,0 +1,65 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/endOfYear/index.d.ts b/date-fns/src/fp/endOfYear/index.d.ts
new file mode 100644
index 0000000..b4e5904
--- /dev/null
+++ b/date-fns/src/fp/endOfYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { endOfYear } from 'date-fns/fp'
+export default endOfYear
diff --git a/date-fns/src/fp/endOfYear/index.js b/date-fns/src/fp/endOfYear/index.js
new file mode 100644
index 0000000..a66dd9f
--- /dev/null
+++ b/date-fns/src/fp/endOfYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../endOfYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var endOfYear = convertToFP(fn, 1)
+
+export default endOfYear
diff --git a/date-fns/src/fp/endOfYear/index.js.flow b/date-fns/src/fp/endOfYear/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/endOfYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/format/index.d.ts b/date-fns/src/fp/format/index.d.ts
new file mode 100644
index 0000000..bf0c948
--- /dev/null
+++ b/date-fns/src/fp/format/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { format } from 'date-fns/fp'
+export default format
diff --git a/date-fns/src/fp/format/index.js b/date-fns/src/fp/format/index.js
new file mode 100644
index 0000000..6125b0a
--- /dev/null
+++ b/date-fns/src/fp/format/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../format/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var format = convertToFP(fn, 2)
+
+export default format
diff --git a/date-fns/src/fp/format/index.js.flow b/date-fns/src/fp/format/index.js.flow
new file mode 100644
index 0000000..013f277
--- /dev/null
+++ b/date-fns/src/fp/format/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<string, Date | number, string>
diff --git a/date-fns/src/fp/formatDistance/index.d.ts b/date-fns/src/fp/formatDistance/index.d.ts
new file mode 100644
index 0000000..029daa4
--- /dev/null
+++ b/date-fns/src/fp/formatDistance/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatDistance } from 'date-fns/fp'
+export default formatDistance
diff --git a/date-fns/src/fp/formatDistance/index.js b/date-fns/src/fp/formatDistance/index.js
new file mode 100644
index 0000000..2b61a59
--- /dev/null
+++ b/date-fns/src/fp/formatDistance/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatDistance/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatDistance = convertToFP(fn, 2)
+
+export default formatDistance
diff --git a/date-fns/src/fp/formatDistance/index.js.flow b/date-fns/src/fp/formatDistance/index.js.flow
new file mode 100644
index 0000000..c4ef9a8
--- /dev/null
+++ b/date-fns/src/fp/formatDistance/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, string>
diff --git a/date-fns/src/fp/formatDistanceStrict/index.d.ts b/date-fns/src/fp/formatDistanceStrict/index.d.ts
new file mode 100644
index 0000000..dd41fb8
--- /dev/null
+++ b/date-fns/src/fp/formatDistanceStrict/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatDistanceStrict } from 'date-fns/fp'
+export default formatDistanceStrict
diff --git a/date-fns/src/fp/formatDistanceStrict/index.js b/date-fns/src/fp/formatDistanceStrict/index.js
new file mode 100644
index 0000000..2fe195c
--- /dev/null
+++ b/date-fns/src/fp/formatDistanceStrict/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatDistanceStrict/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatDistanceStrict = convertToFP(fn, 2)
+
+export default formatDistanceStrict
diff --git a/date-fns/src/fp/formatDistanceStrict/index.js.flow b/date-fns/src/fp/formatDistanceStrict/index.js.flow
new file mode 100644
index 0000000..c4ef9a8
--- /dev/null
+++ b/date-fns/src/fp/formatDistanceStrict/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, string>
diff --git a/date-fns/src/fp/formatDistanceStrictWithOptions/index.d.ts b/date-fns/src/fp/formatDistanceStrictWithOptions/index.d.ts
new file mode 100644
index 0000000..2e626c4
--- /dev/null
+++ b/date-fns/src/fp/formatDistanceStrictWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatDistanceStrictWithOptions } from 'date-fns/fp'
+export default formatDistanceStrictWithOptions
diff --git a/date-fns/src/fp/formatDistanceStrictWithOptions/index.js b/date-fns/src/fp/formatDistanceStrictWithOptions/index.js
new file mode 100644
index 0000000..e2494e4
--- /dev/null
+++ b/date-fns/src/fp/formatDistanceStrictWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatDistanceStrict/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatDistanceStrictWithOptions = convertToFP(fn, 3)
+
+export default formatDistanceStrictWithOptions
diff --git a/date-fns/src/fp/formatDistanceStrictWithOptions/index.js.flow b/date-fns/src/fp/formatDistanceStrictWithOptions/index.js.flow
new file mode 100644
index 0000000..b021da2
--- /dev/null
+++ b/date-fns/src/fp/formatDistanceStrictWithOptions/index.js.flow
@@ -0,0 +1,77 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ locale?: Locale,
+ roundingMethod?: 'floor' | 'ceil' | 'round',
+ unit?: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year',
+ addSuffix?: boolean,
+ },
+ Date | number,
+ Date | number,
+ string
+>
diff --git a/date-fns/src/fp/formatDistanceWithOptions/index.d.ts b/date-fns/src/fp/formatDistanceWithOptions/index.d.ts
new file mode 100644
index 0000000..62f0849
--- /dev/null
+++ b/date-fns/src/fp/formatDistanceWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatDistanceWithOptions } from 'date-fns/fp'
+export default formatDistanceWithOptions
diff --git a/date-fns/src/fp/formatDistanceWithOptions/index.js b/date-fns/src/fp/formatDistanceWithOptions/index.js
new file mode 100644
index 0000000..8e97fdc
--- /dev/null
+++ b/date-fns/src/fp/formatDistanceWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatDistance/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatDistanceWithOptions = convertToFP(fn, 3)
+
+export default formatDistanceWithOptions
diff --git a/date-fns/src/fp/formatDistanceWithOptions/index.js.flow b/date-fns/src/fp/formatDistanceWithOptions/index.js.flow
new file mode 100644
index 0000000..5904311
--- /dev/null
+++ b/date-fns/src/fp/formatDistanceWithOptions/index.js.flow
@@ -0,0 +1,76 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ locale?: Locale,
+ addSuffix?: boolean,
+ includeSeconds?: boolean,
+ },
+ Date | number,
+ Date | number,
+ string
+>
diff --git a/date-fns/src/fp/formatDuration/index.d.ts b/date-fns/src/fp/formatDuration/index.d.ts
new file mode 100644
index 0000000..3b184cc
--- /dev/null
+++ b/date-fns/src/fp/formatDuration/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatDuration } from 'date-fns/fp'
+export default formatDuration
diff --git a/date-fns/src/fp/formatDuration/index.js b/date-fns/src/fp/formatDuration/index.js
new file mode 100644
index 0000000..45dde95
--- /dev/null
+++ b/date-fns/src/fp/formatDuration/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatDuration/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatDuration = convertToFP(fn, 1)
+
+export default formatDuration
diff --git a/date-fns/src/fp/formatDuration/index.js.flow b/date-fns/src/fp/formatDuration/index.js.flow
new file mode 100644
index 0000000..da71564
--- /dev/null
+++ b/date-fns/src/fp/formatDuration/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Duration, string>
diff --git a/date-fns/src/fp/formatDurationWithOptions/index.d.ts b/date-fns/src/fp/formatDurationWithOptions/index.d.ts
new file mode 100644
index 0000000..6331517
--- /dev/null
+++ b/date-fns/src/fp/formatDurationWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatDurationWithOptions } from 'date-fns/fp'
+export default formatDurationWithOptions
diff --git a/date-fns/src/fp/formatDurationWithOptions/index.js b/date-fns/src/fp/formatDurationWithOptions/index.js
new file mode 100644
index 0000000..9add43f
--- /dev/null
+++ b/date-fns/src/fp/formatDurationWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatDuration/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatDurationWithOptions = convertToFP(fn, 2)
+
+export default formatDurationWithOptions
diff --git a/date-fns/src/fp/formatDurationWithOptions/index.js.flow b/date-fns/src/fp/formatDurationWithOptions/index.js.flow
new file mode 100644
index 0000000..72f2910
--- /dev/null
+++ b/date-fns/src/fp/formatDurationWithOptions/index.js.flow
@@ -0,0 +1,67 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ locale?: Locale,
+ delimiter?: string,
+ zero?: boolean,
+ format?: string[],
+ },
+ Duration,
+ string
+>
diff --git a/date-fns/src/fp/formatISO/index.d.ts b/date-fns/src/fp/formatISO/index.d.ts
new file mode 100644
index 0000000..6f3ba60
--- /dev/null
+++ b/date-fns/src/fp/formatISO/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatISO } from 'date-fns/fp'
+export default formatISO
diff --git a/date-fns/src/fp/formatISO/index.js b/date-fns/src/fp/formatISO/index.js
new file mode 100644
index 0000000..c59aeb5
--- /dev/null
+++ b/date-fns/src/fp/formatISO/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatISO/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatISO = convertToFP(fn, 1)
+
+export default formatISO
diff --git a/date-fns/src/fp/formatISO/index.js.flow b/date-fns/src/fp/formatISO/index.js.flow
new file mode 100644
index 0000000..a2b1a3a
--- /dev/null
+++ b/date-fns/src/fp/formatISO/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, string>
diff --git a/date-fns/src/fp/formatISO9075/index.d.ts b/date-fns/src/fp/formatISO9075/index.d.ts
new file mode 100644
index 0000000..171e2b7
--- /dev/null
+++ b/date-fns/src/fp/formatISO9075/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatISO9075 } from 'date-fns/fp'
+export default formatISO9075
diff --git a/date-fns/src/fp/formatISO9075/index.js b/date-fns/src/fp/formatISO9075/index.js
new file mode 100644
index 0000000..f7e3f44
--- /dev/null
+++ b/date-fns/src/fp/formatISO9075/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatISO9075/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatISO9075 = convertToFP(fn, 1)
+
+export default formatISO9075
diff --git a/date-fns/src/fp/formatISO9075/index.js.flow b/date-fns/src/fp/formatISO9075/index.js.flow
new file mode 100644
index 0000000..a2b1a3a
--- /dev/null
+++ b/date-fns/src/fp/formatISO9075/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, string>
diff --git a/date-fns/src/fp/formatISO9075WithOptions/index.d.ts b/date-fns/src/fp/formatISO9075WithOptions/index.d.ts
new file mode 100644
index 0000000..3000885
--- /dev/null
+++ b/date-fns/src/fp/formatISO9075WithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatISO9075WithOptions } from 'date-fns/fp'
+export default formatISO9075WithOptions
diff --git a/date-fns/src/fp/formatISO9075WithOptions/index.js b/date-fns/src/fp/formatISO9075WithOptions/index.js
new file mode 100644
index 0000000..aa642a6
--- /dev/null
+++ b/date-fns/src/fp/formatISO9075WithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatISO9075/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatISO9075WithOptions = convertToFP(fn, 2)
+
+export default formatISO9075WithOptions
diff --git a/date-fns/src/fp/formatISO9075WithOptions/index.js.flow b/date-fns/src/fp/formatISO9075WithOptions/index.js.flow
new file mode 100644
index 0000000..fd294f1
--- /dev/null
+++ b/date-fns/src/fp/formatISO9075WithOptions/index.js.flow
@@ -0,0 +1,65 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ representation?: 'complete' | 'date' | 'time',
+ format?: 'extended' | 'basic',
+ },
+ Date | number,
+ string
+>
diff --git a/date-fns/src/fp/formatISODuration/index.d.ts b/date-fns/src/fp/formatISODuration/index.d.ts
new file mode 100644
index 0000000..aedd086
--- /dev/null
+++ b/date-fns/src/fp/formatISODuration/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatISODuration } from 'date-fns/fp'
+export default formatISODuration
diff --git a/date-fns/src/fp/formatISODuration/index.js b/date-fns/src/fp/formatISODuration/index.js
new file mode 100644
index 0000000..21010c7
--- /dev/null
+++ b/date-fns/src/fp/formatISODuration/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatISODuration/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatISODuration = convertToFP(fn, 1)
+
+export default formatISODuration
diff --git a/date-fns/src/fp/formatISODuration/index.js.flow b/date-fns/src/fp/formatISODuration/index.js.flow
new file mode 100644
index 0000000..da71564
--- /dev/null
+++ b/date-fns/src/fp/formatISODuration/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Duration, string>
diff --git a/date-fns/src/fp/formatISOWithOptions/index.d.ts b/date-fns/src/fp/formatISOWithOptions/index.d.ts
new file mode 100644
index 0000000..286813e
--- /dev/null
+++ b/date-fns/src/fp/formatISOWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatISOWithOptions } from 'date-fns/fp'
+export default formatISOWithOptions
diff --git a/date-fns/src/fp/formatISOWithOptions/index.js b/date-fns/src/fp/formatISOWithOptions/index.js
new file mode 100644
index 0000000..273bc4c
--- /dev/null
+++ b/date-fns/src/fp/formatISOWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatISO/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatISOWithOptions = convertToFP(fn, 2)
+
+export default formatISOWithOptions
diff --git a/date-fns/src/fp/formatISOWithOptions/index.js.flow b/date-fns/src/fp/formatISOWithOptions/index.js.flow
new file mode 100644
index 0000000..fd294f1
--- /dev/null
+++ b/date-fns/src/fp/formatISOWithOptions/index.js.flow
@@ -0,0 +1,65 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ representation?: 'complete' | 'date' | 'time',
+ format?: 'extended' | 'basic',
+ },
+ Date | number,
+ string
+>
diff --git a/date-fns/src/fp/formatRFC3339/index.d.ts b/date-fns/src/fp/formatRFC3339/index.d.ts
new file mode 100644
index 0000000..c1ac827
--- /dev/null
+++ b/date-fns/src/fp/formatRFC3339/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatRFC3339 } from 'date-fns/fp'
+export default formatRFC3339
diff --git a/date-fns/src/fp/formatRFC3339/index.js b/date-fns/src/fp/formatRFC3339/index.js
new file mode 100644
index 0000000..f570155
--- /dev/null
+++ b/date-fns/src/fp/formatRFC3339/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatRFC3339/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatRFC3339 = convertToFP(fn, 1)
+
+export default formatRFC3339
diff --git a/date-fns/src/fp/formatRFC3339/index.js.flow b/date-fns/src/fp/formatRFC3339/index.js.flow
new file mode 100644
index 0000000..a2b1a3a
--- /dev/null
+++ b/date-fns/src/fp/formatRFC3339/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, string>
diff --git a/date-fns/src/fp/formatRFC3339WithOptions/index.d.ts b/date-fns/src/fp/formatRFC3339WithOptions/index.d.ts
new file mode 100644
index 0000000..b274531
--- /dev/null
+++ b/date-fns/src/fp/formatRFC3339WithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatRFC3339WithOptions } from 'date-fns/fp'
+export default formatRFC3339WithOptions
diff --git a/date-fns/src/fp/formatRFC3339WithOptions/index.js b/date-fns/src/fp/formatRFC3339WithOptions/index.js
new file mode 100644
index 0000000..6db8e3b
--- /dev/null
+++ b/date-fns/src/fp/formatRFC3339WithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatRFC3339/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatRFC3339WithOptions = convertToFP(fn, 2)
+
+export default formatRFC3339WithOptions
diff --git a/date-fns/src/fp/formatRFC3339WithOptions/index.js.flow b/date-fns/src/fp/formatRFC3339WithOptions/index.js.flow
new file mode 100644
index 0000000..77fba59
--- /dev/null
+++ b/date-fns/src/fp/formatRFC3339WithOptions/index.js.flow
@@ -0,0 +1,64 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ fractionDigits?: 0 | 1 | 2 | 3,
+ },
+ Date | number,
+ string
+>
diff --git a/date-fns/src/fp/formatRFC7231/index.d.ts b/date-fns/src/fp/formatRFC7231/index.d.ts
new file mode 100644
index 0000000..ca45e43
--- /dev/null
+++ b/date-fns/src/fp/formatRFC7231/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatRFC7231 } from 'date-fns/fp'
+export default formatRFC7231
diff --git a/date-fns/src/fp/formatRFC7231/index.js b/date-fns/src/fp/formatRFC7231/index.js
new file mode 100644
index 0000000..ef3b46f
--- /dev/null
+++ b/date-fns/src/fp/formatRFC7231/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatRFC7231/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatRFC7231 = convertToFP(fn, 1)
+
+export default formatRFC7231
diff --git a/date-fns/src/fp/formatRFC7231/index.js.flow b/date-fns/src/fp/formatRFC7231/index.js.flow
new file mode 100644
index 0000000..a2b1a3a
--- /dev/null
+++ b/date-fns/src/fp/formatRFC7231/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, string>
diff --git a/date-fns/src/fp/formatRelative/index.d.ts b/date-fns/src/fp/formatRelative/index.d.ts
new file mode 100644
index 0000000..927a300
--- /dev/null
+++ b/date-fns/src/fp/formatRelative/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatRelative } from 'date-fns/fp'
+export default formatRelative
diff --git a/date-fns/src/fp/formatRelative/index.js b/date-fns/src/fp/formatRelative/index.js
new file mode 100644
index 0000000..dc9e35f
--- /dev/null
+++ b/date-fns/src/fp/formatRelative/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatRelative/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatRelative = convertToFP(fn, 2)
+
+export default formatRelative
diff --git a/date-fns/src/fp/formatRelative/index.js.flow b/date-fns/src/fp/formatRelative/index.js.flow
new file mode 100644
index 0000000..c4ef9a8
--- /dev/null
+++ b/date-fns/src/fp/formatRelative/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, string>
diff --git a/date-fns/src/fp/formatRelativeWithOptions/index.d.ts b/date-fns/src/fp/formatRelativeWithOptions/index.d.ts
new file mode 100644
index 0000000..5bea41a
--- /dev/null
+++ b/date-fns/src/fp/formatRelativeWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatRelativeWithOptions } from 'date-fns/fp'
+export default formatRelativeWithOptions
diff --git a/date-fns/src/fp/formatRelativeWithOptions/index.js b/date-fns/src/fp/formatRelativeWithOptions/index.js
new file mode 100644
index 0000000..3ee8a1b
--- /dev/null
+++ b/date-fns/src/fp/formatRelativeWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../formatRelative/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatRelativeWithOptions = convertToFP(fn, 3)
+
+export default formatRelativeWithOptions
diff --git a/date-fns/src/fp/formatRelativeWithOptions/index.js.flow b/date-fns/src/fp/formatRelativeWithOptions/index.js.flow
new file mode 100644
index 0000000..cb51d97
--- /dev/null
+++ b/date-fns/src/fp/formatRelativeWithOptions/index.js.flow
@@ -0,0 +1,75 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date | number,
+ string
+>
diff --git a/date-fns/src/fp/formatWithOptions/index.d.ts b/date-fns/src/fp/formatWithOptions/index.d.ts
new file mode 100644
index 0000000..cd59897
--- /dev/null
+++ b/date-fns/src/fp/formatWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { formatWithOptions } from 'date-fns/fp'
+export default formatWithOptions
diff --git a/date-fns/src/fp/formatWithOptions/index.js b/date-fns/src/fp/formatWithOptions/index.js
new file mode 100644
index 0000000..9c0a819
--- /dev/null
+++ b/date-fns/src/fp/formatWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../format/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var formatWithOptions = convertToFP(fn, 3)
+
+export default formatWithOptions
diff --git a/date-fns/src/fp/formatWithOptions/index.js.flow b/date-fns/src/fp/formatWithOptions/index.js.flow
new file mode 100644
index 0000000..757f95a
--- /dev/null
+++ b/date-fns/src/fp/formatWithOptions/index.js.flow
@@ -0,0 +1,78 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ useAdditionalDayOfYearTokens?: boolean,
+ useAdditionalWeekYearTokens?: boolean,
+ firstWeekContainsDate?: number,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ string,
+ Date | number,
+ string
+>
diff --git a/date-fns/src/fp/fromUnixTime/index.d.ts b/date-fns/src/fp/fromUnixTime/index.d.ts
new file mode 100644
index 0000000..e6cbce3
--- /dev/null
+++ b/date-fns/src/fp/fromUnixTime/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { fromUnixTime } from 'date-fns/fp'
+export default fromUnixTime
diff --git a/date-fns/src/fp/fromUnixTime/index.js b/date-fns/src/fp/fromUnixTime/index.js
new file mode 100644
index 0000000..a0c8bf6
--- /dev/null
+++ b/date-fns/src/fp/fromUnixTime/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../fromUnixTime/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var fromUnixTime = convertToFP(fn, 1)
+
+export default fromUnixTime
diff --git a/date-fns/src/fp/fromUnixTime/index.js.flow b/date-fns/src/fp/fromUnixTime/index.js.flow
new file mode 100644
index 0000000..27fa886
--- /dev/null
+++ b/date-fns/src/fp/fromUnixTime/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, Date>
diff --git a/date-fns/src/fp/getDate/index.d.ts b/date-fns/src/fp/getDate/index.d.ts
new file mode 100644
index 0000000..879f12c
--- /dev/null
+++ b/date-fns/src/fp/getDate/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getDate } from 'date-fns/fp'
+export default getDate
diff --git a/date-fns/src/fp/getDate/index.js b/date-fns/src/fp/getDate/index.js
new file mode 100644
index 0000000..57b92e6
--- /dev/null
+++ b/date-fns/src/fp/getDate/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getDate/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getDate = convertToFP(fn, 1)
+
+export default getDate
diff --git a/date-fns/src/fp/getDate/index.js.flow b/date-fns/src/fp/getDate/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getDate/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getDay/index.d.ts b/date-fns/src/fp/getDay/index.d.ts
new file mode 100644
index 0000000..e1bccbb
--- /dev/null
+++ b/date-fns/src/fp/getDay/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getDay } from 'date-fns/fp'
+export default getDay
diff --git a/date-fns/src/fp/getDay/index.js b/date-fns/src/fp/getDay/index.js
new file mode 100644
index 0000000..a50b4c7
--- /dev/null
+++ b/date-fns/src/fp/getDay/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getDay/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getDay = convertToFP(fn, 1)
+
+export default getDay
diff --git a/date-fns/src/fp/getDay/index.js.flow b/date-fns/src/fp/getDay/index.js.flow
new file mode 100644
index 0000000..8971f41
--- /dev/null
+++ b/date-fns/src/fp/getDay/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, 0 | 1 | 2 | 3 | 4 | 5 | 6>
diff --git a/date-fns/src/fp/getDayOfYear/index.d.ts b/date-fns/src/fp/getDayOfYear/index.d.ts
new file mode 100644
index 0000000..ccc88e1
--- /dev/null
+++ b/date-fns/src/fp/getDayOfYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getDayOfYear } from 'date-fns/fp'
+export default getDayOfYear
diff --git a/date-fns/src/fp/getDayOfYear/index.js b/date-fns/src/fp/getDayOfYear/index.js
new file mode 100644
index 0000000..601b20f
--- /dev/null
+++ b/date-fns/src/fp/getDayOfYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getDayOfYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getDayOfYear = convertToFP(fn, 1)
+
+export default getDayOfYear
diff --git a/date-fns/src/fp/getDayOfYear/index.js.flow b/date-fns/src/fp/getDayOfYear/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getDayOfYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getDaysInMonth/index.d.ts b/date-fns/src/fp/getDaysInMonth/index.d.ts
new file mode 100644
index 0000000..2ca8445
--- /dev/null
+++ b/date-fns/src/fp/getDaysInMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getDaysInMonth } from 'date-fns/fp'
+export default getDaysInMonth
diff --git a/date-fns/src/fp/getDaysInMonth/index.js b/date-fns/src/fp/getDaysInMonth/index.js
new file mode 100644
index 0000000..b18dd45
--- /dev/null
+++ b/date-fns/src/fp/getDaysInMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getDaysInMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getDaysInMonth = convertToFP(fn, 1)
+
+export default getDaysInMonth
diff --git a/date-fns/src/fp/getDaysInMonth/index.js.flow b/date-fns/src/fp/getDaysInMonth/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getDaysInMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getDaysInYear/index.d.ts b/date-fns/src/fp/getDaysInYear/index.d.ts
new file mode 100644
index 0000000..599213f
--- /dev/null
+++ b/date-fns/src/fp/getDaysInYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getDaysInYear } from 'date-fns/fp'
+export default getDaysInYear
diff --git a/date-fns/src/fp/getDaysInYear/index.js b/date-fns/src/fp/getDaysInYear/index.js
new file mode 100644
index 0000000..793b00d
--- /dev/null
+++ b/date-fns/src/fp/getDaysInYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getDaysInYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getDaysInYear = convertToFP(fn, 1)
+
+export default getDaysInYear
diff --git a/date-fns/src/fp/getDaysInYear/index.js.flow b/date-fns/src/fp/getDaysInYear/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getDaysInYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getDecade/index.d.ts b/date-fns/src/fp/getDecade/index.d.ts
new file mode 100644
index 0000000..ca1c9c5
--- /dev/null
+++ b/date-fns/src/fp/getDecade/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getDecade } from 'date-fns/fp'
+export default getDecade
diff --git a/date-fns/src/fp/getDecade/index.js b/date-fns/src/fp/getDecade/index.js
new file mode 100644
index 0000000..6845b32
--- /dev/null
+++ b/date-fns/src/fp/getDecade/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getDecade/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getDecade = convertToFP(fn, 1)
+
+export default getDecade
diff --git a/date-fns/src/fp/getDecade/index.js.flow b/date-fns/src/fp/getDecade/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getDecade/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getHours/index.d.ts b/date-fns/src/fp/getHours/index.d.ts
new file mode 100644
index 0000000..9daea8a
--- /dev/null
+++ b/date-fns/src/fp/getHours/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getHours } from 'date-fns/fp'
+export default getHours
diff --git a/date-fns/src/fp/getHours/index.js b/date-fns/src/fp/getHours/index.js
new file mode 100644
index 0000000..107c1db
--- /dev/null
+++ b/date-fns/src/fp/getHours/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getHours/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getHours = convertToFP(fn, 1)
+
+export default getHours
diff --git a/date-fns/src/fp/getHours/index.js.flow b/date-fns/src/fp/getHours/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getHours/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getISODay/index.d.ts b/date-fns/src/fp/getISODay/index.d.ts
new file mode 100644
index 0000000..c85663e
--- /dev/null
+++ b/date-fns/src/fp/getISODay/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getISODay } from 'date-fns/fp'
+export default getISODay
diff --git a/date-fns/src/fp/getISODay/index.js b/date-fns/src/fp/getISODay/index.js
new file mode 100644
index 0000000..f7e8751
--- /dev/null
+++ b/date-fns/src/fp/getISODay/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getISODay/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getISODay = convertToFP(fn, 1)
+
+export default getISODay
diff --git a/date-fns/src/fp/getISODay/index.js.flow b/date-fns/src/fp/getISODay/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getISODay/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getISOWeek/index.d.ts b/date-fns/src/fp/getISOWeek/index.d.ts
new file mode 100644
index 0000000..2574d71
--- /dev/null
+++ b/date-fns/src/fp/getISOWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getISOWeek } from 'date-fns/fp'
+export default getISOWeek
diff --git a/date-fns/src/fp/getISOWeek/index.js b/date-fns/src/fp/getISOWeek/index.js
new file mode 100644
index 0000000..00fc0bf
--- /dev/null
+++ b/date-fns/src/fp/getISOWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getISOWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getISOWeek = convertToFP(fn, 1)
+
+export default getISOWeek
diff --git a/date-fns/src/fp/getISOWeek/index.js.flow b/date-fns/src/fp/getISOWeek/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getISOWeek/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getISOWeekYear/index.d.ts b/date-fns/src/fp/getISOWeekYear/index.d.ts
new file mode 100644
index 0000000..b0cfad8
--- /dev/null
+++ b/date-fns/src/fp/getISOWeekYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getISOWeekYear } from 'date-fns/fp'
+export default getISOWeekYear
diff --git a/date-fns/src/fp/getISOWeekYear/index.js b/date-fns/src/fp/getISOWeekYear/index.js
new file mode 100644
index 0000000..5ef6bad
--- /dev/null
+++ b/date-fns/src/fp/getISOWeekYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getISOWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getISOWeekYear = convertToFP(fn, 1)
+
+export default getISOWeekYear
diff --git a/date-fns/src/fp/getISOWeekYear/index.js.flow b/date-fns/src/fp/getISOWeekYear/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getISOWeekYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getISOWeeksInYear/index.d.ts b/date-fns/src/fp/getISOWeeksInYear/index.d.ts
new file mode 100644
index 0000000..3a1d6af
--- /dev/null
+++ b/date-fns/src/fp/getISOWeeksInYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getISOWeeksInYear } from 'date-fns/fp'
+export default getISOWeeksInYear
diff --git a/date-fns/src/fp/getISOWeeksInYear/index.js b/date-fns/src/fp/getISOWeeksInYear/index.js
new file mode 100644
index 0000000..c83b12c
--- /dev/null
+++ b/date-fns/src/fp/getISOWeeksInYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getISOWeeksInYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getISOWeeksInYear = convertToFP(fn, 1)
+
+export default getISOWeeksInYear
diff --git a/date-fns/src/fp/getISOWeeksInYear/index.js.flow b/date-fns/src/fp/getISOWeeksInYear/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getISOWeeksInYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getMilliseconds/index.d.ts b/date-fns/src/fp/getMilliseconds/index.d.ts
new file mode 100644
index 0000000..c125962
--- /dev/null
+++ b/date-fns/src/fp/getMilliseconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getMilliseconds } from 'date-fns/fp'
+export default getMilliseconds
diff --git a/date-fns/src/fp/getMilliseconds/index.js b/date-fns/src/fp/getMilliseconds/index.js
new file mode 100644
index 0000000..09a4e8c
--- /dev/null
+++ b/date-fns/src/fp/getMilliseconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getMilliseconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getMilliseconds = convertToFP(fn, 1)
+
+export default getMilliseconds
diff --git a/date-fns/src/fp/getMilliseconds/index.js.flow b/date-fns/src/fp/getMilliseconds/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getMilliseconds/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getMinutes/index.d.ts b/date-fns/src/fp/getMinutes/index.d.ts
new file mode 100644
index 0000000..14b6b04
--- /dev/null
+++ b/date-fns/src/fp/getMinutes/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getMinutes } from 'date-fns/fp'
+export default getMinutes
diff --git a/date-fns/src/fp/getMinutes/index.js b/date-fns/src/fp/getMinutes/index.js
new file mode 100644
index 0000000..9603744
--- /dev/null
+++ b/date-fns/src/fp/getMinutes/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getMinutes = convertToFP(fn, 1)
+
+export default getMinutes
diff --git a/date-fns/src/fp/getMinutes/index.js.flow b/date-fns/src/fp/getMinutes/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getMinutes/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getMonth/index.d.ts b/date-fns/src/fp/getMonth/index.d.ts
new file mode 100644
index 0000000..a7c696a
--- /dev/null
+++ b/date-fns/src/fp/getMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getMonth } from 'date-fns/fp'
+export default getMonth
diff --git a/date-fns/src/fp/getMonth/index.js b/date-fns/src/fp/getMonth/index.js
new file mode 100644
index 0000000..f80288a
--- /dev/null
+++ b/date-fns/src/fp/getMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getMonth = convertToFP(fn, 1)
+
+export default getMonth
diff --git a/date-fns/src/fp/getMonth/index.js.flow b/date-fns/src/fp/getMonth/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getOverlappingDaysInIntervals/index.d.ts b/date-fns/src/fp/getOverlappingDaysInIntervals/index.d.ts
new file mode 100644
index 0000000..de0b970
--- /dev/null
+++ b/date-fns/src/fp/getOverlappingDaysInIntervals/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getOverlappingDaysInIntervals } from 'date-fns/fp'
+export default getOverlappingDaysInIntervals
diff --git a/date-fns/src/fp/getOverlappingDaysInIntervals/index.js b/date-fns/src/fp/getOverlappingDaysInIntervals/index.js
new file mode 100644
index 0000000..9ac2f66
--- /dev/null
+++ b/date-fns/src/fp/getOverlappingDaysInIntervals/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getOverlappingDaysInIntervals/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getOverlappingDaysInIntervals = convertToFP(fn, 2)
+
+export default getOverlappingDaysInIntervals
diff --git a/date-fns/src/fp/getOverlappingDaysInIntervals/index.js.flow b/date-fns/src/fp/getOverlappingDaysInIntervals/index.js.flow
new file mode 100644
index 0000000..f640837
--- /dev/null
+++ b/date-fns/src/fp/getOverlappingDaysInIntervals/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Interval, Interval, number>
diff --git a/date-fns/src/fp/getQuarter/index.d.ts b/date-fns/src/fp/getQuarter/index.d.ts
new file mode 100644
index 0000000..50f13f6
--- /dev/null
+++ b/date-fns/src/fp/getQuarter/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getQuarter } from 'date-fns/fp'
+export default getQuarter
diff --git a/date-fns/src/fp/getQuarter/index.js b/date-fns/src/fp/getQuarter/index.js
new file mode 100644
index 0000000..722e70b
--- /dev/null
+++ b/date-fns/src/fp/getQuarter/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getQuarter/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getQuarter = convertToFP(fn, 1)
+
+export default getQuarter
diff --git a/date-fns/src/fp/getQuarter/index.js.flow b/date-fns/src/fp/getQuarter/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getQuarter/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getSeconds/index.d.ts b/date-fns/src/fp/getSeconds/index.d.ts
new file mode 100644
index 0000000..1f6c233
--- /dev/null
+++ b/date-fns/src/fp/getSeconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getSeconds } from 'date-fns/fp'
+export default getSeconds
diff --git a/date-fns/src/fp/getSeconds/index.js b/date-fns/src/fp/getSeconds/index.js
new file mode 100644
index 0000000..7fe1b75
--- /dev/null
+++ b/date-fns/src/fp/getSeconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getSeconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getSeconds = convertToFP(fn, 1)
+
+export default getSeconds
diff --git a/date-fns/src/fp/getSeconds/index.js.flow b/date-fns/src/fp/getSeconds/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getSeconds/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getTime/index.d.ts b/date-fns/src/fp/getTime/index.d.ts
new file mode 100644
index 0000000..7bfc8ce
--- /dev/null
+++ b/date-fns/src/fp/getTime/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getTime } from 'date-fns/fp'
+export default getTime
diff --git a/date-fns/src/fp/getTime/index.js b/date-fns/src/fp/getTime/index.js
new file mode 100644
index 0000000..7754b5d
--- /dev/null
+++ b/date-fns/src/fp/getTime/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getTime/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getTime = convertToFP(fn, 1)
+
+export default getTime
diff --git a/date-fns/src/fp/getTime/index.js.flow b/date-fns/src/fp/getTime/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getTime/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getUnixTime/index.d.ts b/date-fns/src/fp/getUnixTime/index.d.ts
new file mode 100644
index 0000000..7fb0dac
--- /dev/null
+++ b/date-fns/src/fp/getUnixTime/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getUnixTime } from 'date-fns/fp'
+export default getUnixTime
diff --git a/date-fns/src/fp/getUnixTime/index.js b/date-fns/src/fp/getUnixTime/index.js
new file mode 100644
index 0000000..d7e27b9
--- /dev/null
+++ b/date-fns/src/fp/getUnixTime/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getUnixTime/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getUnixTime = convertToFP(fn, 1)
+
+export default getUnixTime
diff --git a/date-fns/src/fp/getUnixTime/index.js.flow b/date-fns/src/fp/getUnixTime/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getUnixTime/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getWeek/index.d.ts b/date-fns/src/fp/getWeek/index.d.ts
new file mode 100644
index 0000000..2b3b4ee
--- /dev/null
+++ b/date-fns/src/fp/getWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getWeek } from 'date-fns/fp'
+export default getWeek
diff --git a/date-fns/src/fp/getWeek/index.js b/date-fns/src/fp/getWeek/index.js
new file mode 100644
index 0000000..a4197e5
--- /dev/null
+++ b/date-fns/src/fp/getWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getWeek = convertToFP(fn, 1)
+
+export default getWeek
diff --git a/date-fns/src/fp/getWeek/index.js.flow b/date-fns/src/fp/getWeek/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getWeek/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getWeekOfMonth/index.d.ts b/date-fns/src/fp/getWeekOfMonth/index.d.ts
new file mode 100644
index 0000000..1fd925f
--- /dev/null
+++ b/date-fns/src/fp/getWeekOfMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getWeekOfMonth } from 'date-fns/fp'
+export default getWeekOfMonth
diff --git a/date-fns/src/fp/getWeekOfMonth/index.js b/date-fns/src/fp/getWeekOfMonth/index.js
new file mode 100644
index 0000000..ad01383
--- /dev/null
+++ b/date-fns/src/fp/getWeekOfMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getWeekOfMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getWeekOfMonth = convertToFP(fn, 1)
+
+export default getWeekOfMonth
diff --git a/date-fns/src/fp/getWeekOfMonth/index.js.flow b/date-fns/src/fp/getWeekOfMonth/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getWeekOfMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getWeekOfMonthWithOptions/index.d.ts b/date-fns/src/fp/getWeekOfMonthWithOptions/index.d.ts
new file mode 100644
index 0000000..0bcf9e4
--- /dev/null
+++ b/date-fns/src/fp/getWeekOfMonthWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getWeekOfMonthWithOptions } from 'date-fns/fp'
+export default getWeekOfMonthWithOptions
diff --git a/date-fns/src/fp/getWeekOfMonthWithOptions/index.js b/date-fns/src/fp/getWeekOfMonthWithOptions/index.js
new file mode 100644
index 0000000..66297e5
--- /dev/null
+++ b/date-fns/src/fp/getWeekOfMonthWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getWeekOfMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getWeekOfMonthWithOptions = convertToFP(fn, 2)
+
+export default getWeekOfMonthWithOptions
diff --git a/date-fns/src/fp/getWeekOfMonthWithOptions/index.js.flow b/date-fns/src/fp/getWeekOfMonthWithOptions/index.js.flow
new file mode 100644
index 0000000..d1b5c20
--- /dev/null
+++ b/date-fns/src/fp/getWeekOfMonthWithOptions/index.js.flow
@@ -0,0 +1,65 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ number
+>
diff --git a/date-fns/src/fp/getWeekWithOptions/index.d.ts b/date-fns/src/fp/getWeekWithOptions/index.d.ts
new file mode 100644
index 0000000..6f2de40
--- /dev/null
+++ b/date-fns/src/fp/getWeekWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getWeekWithOptions } from 'date-fns/fp'
+export default getWeekWithOptions
diff --git a/date-fns/src/fp/getWeekWithOptions/index.js b/date-fns/src/fp/getWeekWithOptions/index.js
new file mode 100644
index 0000000..a7e0c84
--- /dev/null
+++ b/date-fns/src/fp/getWeekWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getWeekWithOptions = convertToFP(fn, 2)
+
+export default getWeekWithOptions
diff --git a/date-fns/src/fp/getWeekWithOptions/index.js.flow b/date-fns/src/fp/getWeekWithOptions/index.js.flow
new file mode 100644
index 0000000..970a659
--- /dev/null
+++ b/date-fns/src/fp/getWeekWithOptions/index.js.flow
@@ -0,0 +1,66 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ number
+>
diff --git a/date-fns/src/fp/getWeekYear/index.d.ts b/date-fns/src/fp/getWeekYear/index.d.ts
new file mode 100644
index 0000000..7cf37e0
--- /dev/null
+++ b/date-fns/src/fp/getWeekYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getWeekYear } from 'date-fns/fp'
+export default getWeekYear
diff --git a/date-fns/src/fp/getWeekYear/index.js b/date-fns/src/fp/getWeekYear/index.js
new file mode 100644
index 0000000..7396dac
--- /dev/null
+++ b/date-fns/src/fp/getWeekYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getWeekYear = convertToFP(fn, 1)
+
+export default getWeekYear
diff --git a/date-fns/src/fp/getWeekYear/index.js.flow b/date-fns/src/fp/getWeekYear/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getWeekYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getWeekYearWithOptions/index.d.ts b/date-fns/src/fp/getWeekYearWithOptions/index.d.ts
new file mode 100644
index 0000000..d33a37a
--- /dev/null
+++ b/date-fns/src/fp/getWeekYearWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getWeekYearWithOptions } from 'date-fns/fp'
+export default getWeekYearWithOptions
diff --git a/date-fns/src/fp/getWeekYearWithOptions/index.js b/date-fns/src/fp/getWeekYearWithOptions/index.js
new file mode 100644
index 0000000..86888f0
--- /dev/null
+++ b/date-fns/src/fp/getWeekYearWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getWeekYearWithOptions = convertToFP(fn, 2)
+
+export default getWeekYearWithOptions
diff --git a/date-fns/src/fp/getWeekYearWithOptions/index.js.flow b/date-fns/src/fp/getWeekYearWithOptions/index.js.flow
new file mode 100644
index 0000000..970a659
--- /dev/null
+++ b/date-fns/src/fp/getWeekYearWithOptions/index.js.flow
@@ -0,0 +1,66 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ number
+>
diff --git a/date-fns/src/fp/getWeeksInMonth/index.d.ts b/date-fns/src/fp/getWeeksInMonth/index.d.ts
new file mode 100644
index 0000000..2de5a9c
--- /dev/null
+++ b/date-fns/src/fp/getWeeksInMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getWeeksInMonth } from 'date-fns/fp'
+export default getWeeksInMonth
diff --git a/date-fns/src/fp/getWeeksInMonth/index.js b/date-fns/src/fp/getWeeksInMonth/index.js
new file mode 100644
index 0000000..e757062
--- /dev/null
+++ b/date-fns/src/fp/getWeeksInMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getWeeksInMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getWeeksInMonth = convertToFP(fn, 1)
+
+export default getWeeksInMonth
diff --git a/date-fns/src/fp/getWeeksInMonth/index.js.flow b/date-fns/src/fp/getWeeksInMonth/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getWeeksInMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/getWeeksInMonthWithOptions/index.d.ts b/date-fns/src/fp/getWeeksInMonthWithOptions/index.d.ts
new file mode 100644
index 0000000..9016970
--- /dev/null
+++ b/date-fns/src/fp/getWeeksInMonthWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getWeeksInMonthWithOptions } from 'date-fns/fp'
+export default getWeeksInMonthWithOptions
diff --git a/date-fns/src/fp/getWeeksInMonthWithOptions/index.js b/date-fns/src/fp/getWeeksInMonthWithOptions/index.js
new file mode 100644
index 0000000..086072f
--- /dev/null
+++ b/date-fns/src/fp/getWeeksInMonthWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getWeeksInMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getWeeksInMonthWithOptions = convertToFP(fn, 2)
+
+export default getWeeksInMonthWithOptions
diff --git a/date-fns/src/fp/getWeeksInMonthWithOptions/index.js.flow b/date-fns/src/fp/getWeeksInMonthWithOptions/index.js.flow
new file mode 100644
index 0000000..d1b5c20
--- /dev/null
+++ b/date-fns/src/fp/getWeeksInMonthWithOptions/index.js.flow
@@ -0,0 +1,65 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ number
+>
diff --git a/date-fns/src/fp/getYear/index.d.ts b/date-fns/src/fp/getYear/index.d.ts
new file mode 100644
index 0000000..603dc71
--- /dev/null
+++ b/date-fns/src/fp/getYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { getYear } from 'date-fns/fp'
+export default getYear
diff --git a/date-fns/src/fp/getYear/index.js b/date-fns/src/fp/getYear/index.js
new file mode 100644
index 0000000..60af7f3
--- /dev/null
+++ b/date-fns/src/fp/getYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../getYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var getYear = convertToFP(fn, 1)
+
+export default getYear
diff --git a/date-fns/src/fp/getYear/index.js.flow b/date-fns/src/fp/getYear/index.js.flow
new file mode 100644
index 0000000..7a34c65
--- /dev/null
+++ b/date-fns/src/fp/getYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, number>
diff --git a/date-fns/src/fp/hoursToMilliseconds/index.d.ts b/date-fns/src/fp/hoursToMilliseconds/index.d.ts
new file mode 100644
index 0000000..14caeac
--- /dev/null
+++ b/date-fns/src/fp/hoursToMilliseconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { hoursToMilliseconds } from 'date-fns/fp'
+export default hoursToMilliseconds
diff --git a/date-fns/src/fp/hoursToMilliseconds/index.js b/date-fns/src/fp/hoursToMilliseconds/index.js
new file mode 100644
index 0000000..103efa8
--- /dev/null
+++ b/date-fns/src/fp/hoursToMilliseconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../hoursToMilliseconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var hoursToMilliseconds = convertToFP(fn, 1)
+
+export default hoursToMilliseconds
diff --git a/date-fns/src/fp/hoursToMilliseconds/index.js.flow b/date-fns/src/fp/hoursToMilliseconds/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/hoursToMilliseconds/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/hoursToMinutes/index.d.ts b/date-fns/src/fp/hoursToMinutes/index.d.ts
new file mode 100644
index 0000000..e834de4
--- /dev/null
+++ b/date-fns/src/fp/hoursToMinutes/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { hoursToMinutes } from 'date-fns/fp'
+export default hoursToMinutes
diff --git a/date-fns/src/fp/hoursToMinutes/index.js b/date-fns/src/fp/hoursToMinutes/index.js
new file mode 100644
index 0000000..dd50115
--- /dev/null
+++ b/date-fns/src/fp/hoursToMinutes/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../hoursToMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var hoursToMinutes = convertToFP(fn, 1)
+
+export default hoursToMinutes
diff --git a/date-fns/src/fp/hoursToMinutes/index.js.flow b/date-fns/src/fp/hoursToMinutes/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/hoursToMinutes/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/hoursToSeconds/index.d.ts b/date-fns/src/fp/hoursToSeconds/index.d.ts
new file mode 100644
index 0000000..35a5bfd
--- /dev/null
+++ b/date-fns/src/fp/hoursToSeconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { hoursToSeconds } from 'date-fns/fp'
+export default hoursToSeconds
diff --git a/date-fns/src/fp/hoursToSeconds/index.js b/date-fns/src/fp/hoursToSeconds/index.js
new file mode 100644
index 0000000..f24c47d
--- /dev/null
+++ b/date-fns/src/fp/hoursToSeconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../hoursToSeconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var hoursToSeconds = convertToFP(fn, 1)
+
+export default hoursToSeconds
diff --git a/date-fns/src/fp/hoursToSeconds/index.js.flow b/date-fns/src/fp/hoursToSeconds/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/hoursToSeconds/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/index.js b/date-fns/src/fp/index.js
new file mode 100644
index 0000000..2caa61c
--- /dev/null
+++ b/date-fns/src/fp/index.js
@@ -0,0 +1,241 @@
+// This file is generated automatically by `scripts/build/indices.js`. Please, don't change it.
+
+export { default as add } from './add/index'
+export { default as addBusinessDays } from './addBusinessDays/index'
+export { default as addDays } from './addDays/index'
+export { default as addHours } from './addHours/index'
+export { default as addISOWeekYears } from './addISOWeekYears/index'
+export { default as addMilliseconds } from './addMilliseconds/index'
+export { default as addMinutes } from './addMinutes/index'
+export { default as addMonths } from './addMonths/index'
+export { default as addQuarters } from './addQuarters/index'
+export { default as addSeconds } from './addSeconds/index'
+export { default as addWeeks } from './addWeeks/index'
+export { default as addYears } from './addYears/index'
+export { default as areIntervalsOverlapping } from './areIntervalsOverlapping/index'
+export { default as areIntervalsOverlappingWithOptions } from './areIntervalsOverlappingWithOptions/index'
+export { default as closestIndexTo } from './closestIndexTo/index'
+export { default as closestTo } from './closestTo/index'
+export { default as compareAsc } from './compareAsc/index'
+export { default as compareDesc } from './compareDesc/index'
+export { default as daysToWeeks } from './daysToWeeks/index'
+export { default as differenceInBusinessDays } from './differenceInBusinessDays/index'
+export { default as differenceInCalendarDays } from './differenceInCalendarDays/index'
+export { default as differenceInCalendarISOWeekYears } from './differenceInCalendarISOWeekYears/index'
+export { default as differenceInCalendarISOWeeks } from './differenceInCalendarISOWeeks/index'
+export { default as differenceInCalendarMonths } from './differenceInCalendarMonths/index'
+export { default as differenceInCalendarQuarters } from './differenceInCalendarQuarters/index'
+export { default as differenceInCalendarWeeks } from './differenceInCalendarWeeks/index'
+export { default as differenceInCalendarWeeksWithOptions } from './differenceInCalendarWeeksWithOptions/index'
+export { default as differenceInCalendarYears } from './differenceInCalendarYears/index'
+export { default as differenceInDays } from './differenceInDays/index'
+export { default as differenceInHours } from './differenceInHours/index'
+export { default as differenceInISOWeekYears } from './differenceInISOWeekYears/index'
+export { default as differenceInMilliseconds } from './differenceInMilliseconds/index'
+export { default as differenceInMinutes } from './differenceInMinutes/index'
+export { default as differenceInMonths } from './differenceInMonths/index'
+export { default as differenceInQuarters } from './differenceInQuarters/index'
+export { default as differenceInSeconds } from './differenceInSeconds/index'
+export { default as differenceInWeeks } from './differenceInWeeks/index'
+export { default as differenceInYears } from './differenceInYears/index'
+export { default as eachDayOfInterval } from './eachDayOfInterval/index'
+export { default as eachDayOfIntervalWithOptions } from './eachDayOfIntervalWithOptions/index'
+export { default as eachHourOfInterval } from './eachHourOfInterval/index'
+export { default as eachHourOfIntervalWithOptions } from './eachHourOfIntervalWithOptions/index'
+export { default as eachMinuteOfInterval } from './eachMinuteOfInterval/index'
+export { default as eachMinuteOfIntervalWithOptions } from './eachMinuteOfIntervalWithOptions/index'
+export { default as eachMonthOfInterval } from './eachMonthOfInterval/index'
+export { default as eachQuarterOfInterval } from './eachQuarterOfInterval/index'
+export { default as eachWeekOfInterval } from './eachWeekOfInterval/index'
+export { default as eachWeekOfIntervalWithOptions } from './eachWeekOfIntervalWithOptions/index'
+export { default as eachWeekendOfInterval } from './eachWeekendOfInterval/index'
+export { default as eachWeekendOfMonth } from './eachWeekendOfMonth/index'
+export { default as eachWeekendOfYear } from './eachWeekendOfYear/index'
+export { default as eachYearOfInterval } from './eachYearOfInterval/index'
+export { default as endOfDay } from './endOfDay/index'
+export { default as endOfDecade } from './endOfDecade/index'
+export { default as endOfDecadeWithOptions } from './endOfDecadeWithOptions/index'
+export { default as endOfHour } from './endOfHour/index'
+export { default as endOfISOWeek } from './endOfISOWeek/index'
+export { default as endOfISOWeekYear } from './endOfISOWeekYear/index'
+export { default as endOfMinute } from './endOfMinute/index'
+export { default as endOfMonth } from './endOfMonth/index'
+export { default as endOfQuarter } from './endOfQuarter/index'
+export { default as endOfSecond } from './endOfSecond/index'
+export { default as endOfWeek } from './endOfWeek/index'
+export { default as endOfWeekWithOptions } from './endOfWeekWithOptions/index'
+export { default as endOfYear } from './endOfYear/index'
+export { default as format } from './format/index'
+export { default as formatDistance } from './formatDistance/index'
+export { default as formatDistanceStrict } from './formatDistanceStrict/index'
+export { default as formatDistanceStrictWithOptions } from './formatDistanceStrictWithOptions/index'
+export { default as formatDistanceWithOptions } from './formatDistanceWithOptions/index'
+export { default as formatDuration } from './formatDuration/index'
+export { default as formatDurationWithOptions } from './formatDurationWithOptions/index'
+export { default as formatISO } from './formatISO/index'
+export { default as formatISO9075 } from './formatISO9075/index'
+export { default as formatISO9075WithOptions } from './formatISO9075WithOptions/index'
+export { default as formatISODuration } from './formatISODuration/index'
+export { default as formatISOWithOptions } from './formatISOWithOptions/index'
+export { default as formatRFC3339 } from './formatRFC3339/index'
+export { default as formatRFC3339WithOptions } from './formatRFC3339WithOptions/index'
+export { default as formatRFC7231 } from './formatRFC7231/index'
+export { default as formatRelative } from './formatRelative/index'
+export { default as formatRelativeWithOptions } from './formatRelativeWithOptions/index'
+export { default as formatWithOptions } from './formatWithOptions/index'
+export { default as fromUnixTime } from './fromUnixTime/index'
+export { default as getDate } from './getDate/index'
+export { default as getDay } from './getDay/index'
+export { default as getDayOfYear } from './getDayOfYear/index'
+export { default as getDaysInMonth } from './getDaysInMonth/index'
+export { default as getDaysInYear } from './getDaysInYear/index'
+export { default as getDecade } from './getDecade/index'
+export { default as getHours } from './getHours/index'
+export { default as getISODay } from './getISODay/index'
+export { default as getISOWeek } from './getISOWeek/index'
+export { default as getISOWeekYear } from './getISOWeekYear/index'
+export { default as getISOWeeksInYear } from './getISOWeeksInYear/index'
+export { default as getMilliseconds } from './getMilliseconds/index'
+export { default as getMinutes } from './getMinutes/index'
+export { default as getMonth } from './getMonth/index'
+export { default as getOverlappingDaysInIntervals } from './getOverlappingDaysInIntervals/index'
+export { default as getQuarter } from './getQuarter/index'
+export { default as getSeconds } from './getSeconds/index'
+export { default as getTime } from './getTime/index'
+export { default as getUnixTime } from './getUnixTime/index'
+export { default as getWeek } from './getWeek/index'
+export { default as getWeekOfMonth } from './getWeekOfMonth/index'
+export { default as getWeekOfMonthWithOptions } from './getWeekOfMonthWithOptions/index'
+export { default as getWeekWithOptions } from './getWeekWithOptions/index'
+export { default as getWeekYear } from './getWeekYear/index'
+export { default as getWeekYearWithOptions } from './getWeekYearWithOptions/index'
+export { default as getWeeksInMonth } from './getWeeksInMonth/index'
+export { default as getWeeksInMonthWithOptions } from './getWeeksInMonthWithOptions/index'
+export { default as getYear } from './getYear/index'
+export { default as hoursToMilliseconds } from './hoursToMilliseconds/index'
+export { default as hoursToMinutes } from './hoursToMinutes/index'
+export { default as hoursToSeconds } from './hoursToSeconds/index'
+export { default as intervalToDuration } from './intervalToDuration/index'
+export { default as intlFormat } from './intlFormat/index'
+export { default as isAfter } from './isAfter/index'
+export { default as isBefore } from './isBefore/index'
+export { default as isDate } from './isDate/index'
+export { default as isEqual } from './isEqual/index'
+export { default as isExists } from './isExists/index'
+export { default as isFirstDayOfMonth } from './isFirstDayOfMonth/index'
+export { default as isFriday } from './isFriday/index'
+export { default as isLastDayOfMonth } from './isLastDayOfMonth/index'
+export { default as isLeapYear } from './isLeapYear/index'
+export { default as isMatch } from './isMatch/index'
+export { default as isMatchWithOptions } from './isMatchWithOptions/index'
+export { default as isMonday } from './isMonday/index'
+export { default as isSameDay } from './isSameDay/index'
+export { default as isSameHour } from './isSameHour/index'
+export { default as isSameISOWeek } from './isSameISOWeek/index'
+export { default as isSameISOWeekYear } from './isSameISOWeekYear/index'
+export { default as isSameMinute } from './isSameMinute/index'
+export { default as isSameMonth } from './isSameMonth/index'
+export { default as isSameQuarter } from './isSameQuarter/index'
+export { default as isSameSecond } from './isSameSecond/index'
+export { default as isSameWeek } from './isSameWeek/index'
+export { default as isSameWeekWithOptions } from './isSameWeekWithOptions/index'
+export { default as isSameYear } from './isSameYear/index'
+export { default as isSaturday } from './isSaturday/index'
+export { default as isSunday } from './isSunday/index'
+export { default as isThursday } from './isThursday/index'
+export { default as isTuesday } from './isTuesday/index'
+export { default as isValid } from './isValid/index'
+export { default as isWednesday } from './isWednesday/index'
+export { default as isWeekend } from './isWeekend/index'
+export { default as isWithinInterval } from './isWithinInterval/index'
+export { default as lastDayOfDecade } from './lastDayOfDecade/index'
+export { default as lastDayOfISOWeek } from './lastDayOfISOWeek/index'
+export { default as lastDayOfISOWeekYear } from './lastDayOfISOWeekYear/index'
+export { default as lastDayOfMonth } from './lastDayOfMonth/index'
+export { default as lastDayOfQuarter } from './lastDayOfQuarter/index'
+export { default as lastDayOfQuarterWithOptions } from './lastDayOfQuarterWithOptions/index'
+export { default as lastDayOfWeek } from './lastDayOfWeek/index'
+export { default as lastDayOfWeekWithOptions } from './lastDayOfWeekWithOptions/index'
+export { default as lastDayOfYear } from './lastDayOfYear/index'
+export { default as lightFormat } from './lightFormat/index'
+export { default as max } from './max/index'
+export { default as milliseconds } from './milliseconds/index'
+export { default as millisecondsToHours } from './millisecondsToHours/index'
+export { default as millisecondsToMinutes } from './millisecondsToMinutes/index'
+export { default as millisecondsToSeconds } from './millisecondsToSeconds/index'
+export { default as min } from './min/index'
+export { default as minutesToHours } from './minutesToHours/index'
+export { default as minutesToMilliseconds } from './minutesToMilliseconds/index'
+export { default as minutesToSeconds } from './minutesToSeconds/index'
+export { default as monthsToQuarters } from './monthsToQuarters/index'
+export { default as monthsToYears } from './monthsToYears/index'
+export { default as nextDay } from './nextDay/index'
+export { default as nextFriday } from './nextFriday/index'
+export { default as nextMonday } from './nextMonday/index'
+export { default as nextSaturday } from './nextSaturday/index'
+export { default as nextSunday } from './nextSunday/index'
+export { default as nextThursday } from './nextThursday/index'
+export { default as nextTuesday } from './nextTuesday/index'
+export { default as nextWednesday } from './nextWednesday/index'
+export { default as parse } from './parse/index'
+export { default as parseISO } from './parseISO/index'
+export { default as parseISOWithOptions } from './parseISOWithOptions/index'
+export { default as parseJSON } from './parseJSON/index'
+export { default as parseWithOptions } from './parseWithOptions/index'
+export { default as quartersToMonths } from './quartersToMonths/index'
+export { default as quartersToYears } from './quartersToYears/index'
+export { default as roundToNearestMinutes } from './roundToNearestMinutes/index'
+export { default as roundToNearestMinutesWithOptions } from './roundToNearestMinutesWithOptions/index'
+export { default as secondsToHours } from './secondsToHours/index'
+export { default as secondsToMilliseconds } from './secondsToMilliseconds/index'
+export { default as secondsToMinutes } from './secondsToMinutes/index'
+export { default as set } from './set/index'
+export { default as setDate } from './setDate/index'
+export { default as setDay } from './setDay/index'
+export { default as setDayOfYear } from './setDayOfYear/index'
+export { default as setDayWithOptions } from './setDayWithOptions/index'
+export { default as setHours } from './setHours/index'
+export { default as setISODay } from './setISODay/index'
+export { default as setISOWeek } from './setISOWeek/index'
+export { default as setISOWeekYear } from './setISOWeekYear/index'
+export { default as setMilliseconds } from './setMilliseconds/index'
+export { default as setMinutes } from './setMinutes/index'
+export { default as setMonth } from './setMonth/index'
+export { default as setQuarter } from './setQuarter/index'
+export { default as setSeconds } from './setSeconds/index'
+export { default as setWeek } from './setWeek/index'
+export { default as setWeekWithOptions } from './setWeekWithOptions/index'
+export { default as setWeekYear } from './setWeekYear/index'
+export { default as setWeekYearWithOptions } from './setWeekYearWithOptions/index'
+export { default as setYear } from './setYear/index'
+export { default as startOfDay } from './startOfDay/index'
+export { default as startOfDecade } from './startOfDecade/index'
+export { default as startOfHour } from './startOfHour/index'
+export { default as startOfISOWeek } from './startOfISOWeek/index'
+export { default as startOfISOWeekYear } from './startOfISOWeekYear/index'
+export { default as startOfMinute } from './startOfMinute/index'
+export { default as startOfMonth } from './startOfMonth/index'
+export { default as startOfQuarter } from './startOfQuarter/index'
+export { default as startOfSecond } from './startOfSecond/index'
+export { default as startOfWeek } from './startOfWeek/index'
+export { default as startOfWeekWithOptions } from './startOfWeekWithOptions/index'
+export { default as startOfWeekYear } from './startOfWeekYear/index'
+export { default as startOfWeekYearWithOptions } from './startOfWeekYearWithOptions/index'
+export { default as startOfYear } from './startOfYear/index'
+export { default as sub } from './sub/index'
+export { default as subBusinessDays } from './subBusinessDays/index'
+export { default as subDays } from './subDays/index'
+export { default as subHours } from './subHours/index'
+export { default as subISOWeekYears } from './subISOWeekYears/index'
+export { default as subMilliseconds } from './subMilliseconds/index'
+export { default as subMinutes } from './subMinutes/index'
+export { default as subMonths } from './subMonths/index'
+export { default as subQuarters } from './subQuarters/index'
+export { default as subSeconds } from './subSeconds/index'
+export { default as subWeeks } from './subWeeks/index'
+export { default as subYears } from './subYears/index'
+export { default as toDate } from './toDate/index'
+export { default as weeksToDays } from './weeksToDays/index'
+export { default as yearsToMonths } from './yearsToMonths/index'
+export { default as yearsToQuarters } from './yearsToQuarters/index'
+export * from '../constants/index'
diff --git a/date-fns/src/fp/index.js.flow b/date-fns/src/fp/index.js.flow
new file mode 100644
index 0000000..1db8a1d
--- /dev/null
+++ b/date-fns/src/fp/index.js.flow
@@ -0,0 +1,625 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+type CurriedFn4<A, B, C, D, R> = <A>(
+ a: A
+) =>
+ | CurriedFn3<B, C, D, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) =>
+ | CurriedFn2<C, D, R>
+ | (<A, B, C>(
+ a: A,
+ b: B,
+ c: C
+ ) => CurriedFn1<D, R> | (<A, B, C, D>(a: A, b: B, c: C, d: D) => R)))
+
+declare module.exports: {
+ add: CurriedFn2<Duration, Date | number, Date>,
+ addBusinessDays: CurriedFn2<number, Date | number, Date>,
+ addDays: CurriedFn2<number, Date | number, Date>,
+ addHours: CurriedFn2<number, Date | number, Date>,
+ addISOWeekYears: CurriedFn2<number, Date | number, Date>,
+ addMilliseconds: CurriedFn2<number, Date | number, Date>,
+ addMinutes: CurriedFn2<number, Date | number, Date>,
+ addMonths: CurriedFn2<number, Date | number, Date>,
+ addQuarters: CurriedFn2<number, Date | number, Date>,
+ addSeconds: CurriedFn2<number, Date | number, Date>,
+ addWeeks: CurriedFn2<number, Date | number, Date>,
+ addYears: CurriedFn2<number, Date | number, Date>,
+ areIntervalsOverlapping: CurriedFn2<Interval, Interval, boolean>,
+ areIntervalsOverlappingWithOptions: CurriedFn3<
+ {
+ inclusive?: boolean,
+ },
+ Interval,
+ Interval,
+ boolean
+ >,
+ closestIndexTo: CurriedFn2<(Date | number)[], Date | number, number>,
+ closestTo: CurriedFn2<(Date | number)[], Date | number, Date>,
+ compareAsc: CurriedFn2<Date | number, Date | number, number>,
+ compareDesc: CurriedFn2<Date | number, Date | number, number>,
+ daysToWeeks: CurriedFn1<number, number>,
+ differenceInBusinessDays: CurriedFn2<Date | number, Date | number, number>,
+ differenceInCalendarDays: CurriedFn2<Date | number, Date | number, number>,
+ differenceInCalendarISOWeeks: CurriedFn2<
+ Date | number,
+ Date | number,
+ number
+ >,
+ differenceInCalendarISOWeekYears: CurriedFn2<
+ Date | number,
+ Date | number,
+ number
+ >,
+ differenceInCalendarMonths: CurriedFn2<Date | number, Date | number, number>,
+ differenceInCalendarQuarters: CurriedFn2<
+ Date | number,
+ Date | number,
+ number
+ >,
+ differenceInCalendarWeeks: CurriedFn2<Date | number, Date | number, number>,
+ differenceInCalendarWeeksWithOptions: CurriedFn3<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date | number,
+ number
+ >,
+ differenceInCalendarYears: CurriedFn2<Date | number, Date | number, number>,
+ differenceInDays: CurriedFn2<Date | number, Date | number, number>,
+ differenceInHours: CurriedFn2<Date | number, Date | number, number>,
+ differenceInISOWeekYears: CurriedFn2<Date | number, Date | number, number>,
+ differenceInMilliseconds: CurriedFn2<Date | number, Date | number, number>,
+ differenceInMinutes: CurriedFn2<Date | number, Date | number, number>,
+ differenceInMonths: CurriedFn2<Date | number, Date | number, number>,
+ differenceInQuarters: CurriedFn2<Date | number, Date | number, number>,
+ differenceInSeconds: CurriedFn2<Date | number, Date | number, number>,
+ differenceInWeeks: CurriedFn2<Date | number, Date | number, number>,
+ differenceInYears: CurriedFn2<Date | number, Date | number, number>,
+ eachDayOfInterval: CurriedFn1<Interval, Date[]>,
+ eachDayOfIntervalWithOptions: CurriedFn2<
+ {
+ step?: number,
+ },
+ Interval,
+ Date[]
+ >,
+ eachHourOfInterval: CurriedFn1<Interval, Date[]>,
+ eachHourOfIntervalWithOptions: CurriedFn2<
+ {
+ step?: number,
+ },
+ Interval,
+ Date[]
+ >,
+ eachMinuteOfInterval: CurriedFn1<Interval, Date[]>,
+ eachMinuteOfIntervalWithOptions: CurriedFn2<
+ {
+ step?: number,
+ },
+ Interval,
+ Date[]
+ >,
+ eachMonthOfInterval: CurriedFn1<Interval, Date[]>,
+ eachQuarterOfInterval: CurriedFn1<Interval, Date[]>,
+ eachWeekendOfInterval: CurriedFn1<Interval, Date[]>,
+ eachWeekendOfMonth: CurriedFn1<Date | number, Date[]>,
+ eachWeekendOfYear: CurriedFn1<Date | number, Date[]>,
+ eachWeekOfInterval: CurriedFn1<Interval, Date[]>,
+ eachWeekOfIntervalWithOptions: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Interval,
+ Date[]
+ >,
+ eachYearOfInterval: CurriedFn1<Interval, Date[]>,
+ endOfDay: CurriedFn1<Date | number, Date>,
+ endOfDecade: CurriedFn1<Date | number, Date>,
+ endOfDecadeWithOptions: CurriedFn2<
+ {
+ additionalDigits?: 0 | 1 | 2,
+ },
+ Date | number,
+ Date
+ >,
+ endOfHour: CurriedFn1<Date | number, Date>,
+ endOfISOWeek: CurriedFn1<Date | number, Date>,
+ endOfISOWeekYear: CurriedFn1<Date | number, Date>,
+ endOfMinute: CurriedFn1<Date | number, Date>,
+ endOfMonth: CurriedFn1<Date | number, Date>,
+ endOfQuarter: CurriedFn1<Date | number, Date>,
+ endOfSecond: CurriedFn1<Date | number, Date>,
+ endOfWeek: CurriedFn1<Date | number, Date>,
+ endOfWeekWithOptions: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date
+ >,
+ endOfYear: CurriedFn1<Date | number, Date>,
+ format: CurriedFn2<string, Date | number, string>,
+ formatDistance: CurriedFn2<Date | number, Date | number, string>,
+ formatDistanceStrict: CurriedFn2<Date | number, Date | number, string>,
+ formatDistanceStrictWithOptions: CurriedFn3<
+ {
+ locale?: Locale,
+ roundingMethod?: 'floor' | 'ceil' | 'round',
+ unit?: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year',
+ addSuffix?: boolean,
+ },
+ Date | number,
+ Date | number,
+ string
+ >,
+ formatDistanceWithOptions: CurriedFn3<
+ {
+ locale?: Locale,
+ addSuffix?: boolean,
+ includeSeconds?: boolean,
+ },
+ Date | number,
+ Date | number,
+ string
+ >,
+ formatDuration: CurriedFn1<Duration, string>,
+ formatDurationWithOptions: CurriedFn2<
+ {
+ locale?: Locale,
+ delimiter?: string,
+ zero?: boolean,
+ format?: string[],
+ },
+ Duration,
+ string
+ >,
+ formatISO: CurriedFn1<Date | number, string>,
+ formatISO9075: CurriedFn1<Date | number, string>,
+ formatISO9075WithOptions: CurriedFn2<
+ {
+ representation?: 'complete' | 'date' | 'time',
+ format?: 'extended' | 'basic',
+ },
+ Date | number,
+ string
+ >,
+ formatISODuration: CurriedFn1<Duration, string>,
+ formatISOWithOptions: CurriedFn2<
+ {
+ representation?: 'complete' | 'date' | 'time',
+ format?: 'extended' | 'basic',
+ },
+ Date | number,
+ string
+ >,
+ formatRelative: CurriedFn2<Date | number, Date | number, string>,
+ formatRelativeWithOptions: CurriedFn3<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date | number,
+ string
+ >,
+ formatRFC3339: CurriedFn1<Date | number, string>,
+ formatRFC3339WithOptions: CurriedFn2<
+ {
+ fractionDigits?: 0 | 1 | 2 | 3,
+ },
+ Date | number,
+ string
+ >,
+ formatRFC7231: CurriedFn1<Date | number, string>,
+ formatWithOptions: CurriedFn3<
+ {
+ useAdditionalDayOfYearTokens?: boolean,
+ useAdditionalWeekYearTokens?: boolean,
+ firstWeekContainsDate?: number,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ string,
+ Date | number,
+ string
+ >,
+ fromUnixTime: CurriedFn1<number, Date>,
+ getDate: CurriedFn1<Date | number, number>,
+ getDay: CurriedFn1<Date | number, 0 | 1 | 2 | 3 | 4 | 5 | 6>,
+ getDayOfYear: CurriedFn1<Date | number, number>,
+ getDaysInMonth: CurriedFn1<Date | number, number>,
+ getDaysInYear: CurriedFn1<Date | number, number>,
+ getDecade: CurriedFn1<Date | number, number>,
+ getHours: CurriedFn1<Date | number, number>,
+ getISODay: CurriedFn1<Date | number, number>,
+ getISOWeek: CurriedFn1<Date | number, number>,
+ getISOWeeksInYear: CurriedFn1<Date | number, number>,
+ getISOWeekYear: CurriedFn1<Date | number, number>,
+ getMilliseconds: CurriedFn1<Date | number, number>,
+ getMinutes: CurriedFn1<Date | number, number>,
+ getMonth: CurriedFn1<Date | number, number>,
+ getOverlappingDaysInIntervals: CurriedFn2<Interval, Interval, number>,
+ getQuarter: CurriedFn1<Date | number, number>,
+ getSeconds: CurriedFn1<Date | number, number>,
+ getTime: CurriedFn1<Date | number, number>,
+ getUnixTime: CurriedFn1<Date | number, number>,
+ getWeek: CurriedFn1<Date | number, number>,
+ getWeekOfMonth: CurriedFn1<Date | number, number>,
+ getWeekOfMonthWithOptions: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ number
+ >,
+ getWeeksInMonth: CurriedFn1<Date | number, number>,
+ getWeeksInMonthWithOptions: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ number
+ >,
+ getWeekWithOptions: CurriedFn2<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ number
+ >,
+ getWeekYear: CurriedFn1<Date | number, number>,
+ getWeekYearWithOptions: CurriedFn2<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ number
+ >,
+ getYear: CurriedFn1<Date | number, number>,
+ hoursToMilliseconds: CurriedFn1<number, number>,
+ hoursToMinutes: CurriedFn1<number, number>,
+ hoursToSeconds: CurriedFn1<number, number>,
+ intervalToDuration: CurriedFn1<Interval, Duration>,
+ intlFormat: CurriedFn3<
+ {
+ locale?: string | string[],
+ },
+ {
+ timeZone?: string,
+ hour12?: boolean,
+ formatMatcher?: 'basic' | 'best fit',
+ timeZoneName?: 'short' | 'long',
+ second?: 'numeric' | '2-digit',
+ minute?: 'numeric' | '2-digit',
+ hour?: 'numeric' | '2-digit',
+ day?: 'numeric' | '2-digit',
+ month?: 'numeric' | '2-digit' | 'narrow' | 'short' | 'long',
+ year?: 'numeric' | '2-digit',
+ era?: 'narrow' | 'short' | 'long',
+ weekday?: 'narrow' | 'short' | 'long',
+ localeMatcher?: 'lookup' | 'best fit',
+ },
+ Date | number,
+ string
+ >,
+ isAfter: CurriedFn2<Date | number, Date | number, boolean>,
+ isBefore: CurriedFn2<Date | number, Date | number, boolean>,
+ isDate: CurriedFn1<any, boolean>,
+ isEqual: CurriedFn2<Date | number, Date | number, boolean>,
+ isExists: CurriedFn3<number, number, number, boolean>,
+ isFirstDayOfMonth: CurriedFn1<Date | number, boolean>,
+ isFriday: CurriedFn1<Date | number, boolean>,
+ isLastDayOfMonth: CurriedFn1<Date | number, boolean>,
+ isLeapYear: CurriedFn1<Date | number, boolean>,
+ isMatch: CurriedFn2<string, string, boolean>,
+ isMatchWithOptions: CurriedFn3<
+ {
+ useAdditionalDayOfYearTokens?: boolean,
+ useAdditionalWeekYearTokens?: boolean,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ string,
+ string,
+ boolean
+ >,
+ isMonday: CurriedFn1<Date | number, boolean>,
+ isSameDay: CurriedFn2<Date | number, Date | number, boolean>,
+ isSameHour: CurriedFn2<Date | number, Date | number, boolean>,
+ isSameISOWeek: CurriedFn2<Date | number, Date | number, boolean>,
+ isSameISOWeekYear: CurriedFn2<Date | number, Date | number, boolean>,
+ isSameMinute: CurriedFn2<Date | number, Date | number, boolean>,
+ isSameMonth: CurriedFn2<Date | number, Date | number, boolean>,
+ isSameQuarter: CurriedFn2<Date | number, Date | number, boolean>,
+ isSameSecond: CurriedFn2<Date | number, Date | number, boolean>,
+ isSameWeek: CurriedFn2<Date | number, Date | number, boolean>,
+ isSameWeekWithOptions: CurriedFn3<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date | number,
+ boolean
+ >,
+ isSameYear: CurriedFn2<Date | number, Date | number, boolean>,
+ isSaturday: CurriedFn1<Date | number, boolean>,
+ isSunday: CurriedFn1<Date | number, boolean>,
+ isThursday: CurriedFn1<Date | number, boolean>,
+ isTuesday: CurriedFn1<Date | number, boolean>,
+ isValid: CurriedFn1<any, boolean>,
+ isWednesday: CurriedFn1<Date | number, boolean>,
+ isWeekend: CurriedFn1<Date | number, boolean>,
+ isWithinInterval: CurriedFn2<Interval, Date | number, boolean>,
+ lastDayOfDecade: CurriedFn1<Date | number, Date>,
+ lastDayOfISOWeek: CurriedFn1<Date | number, Date>,
+ lastDayOfISOWeekYear: CurriedFn1<Date | number, Date>,
+ lastDayOfMonth: CurriedFn1<Date | number, Date>,
+ lastDayOfQuarter: CurriedFn1<Date | number, Date>,
+ lastDayOfQuarterWithOptions: CurriedFn2<
+ {
+ additionalDigits?: 0 | 1 | 2,
+ },
+ Date | number,
+ Date
+ >,
+ lastDayOfWeek: CurriedFn1<Date | number, Date>,
+ lastDayOfWeekWithOptions: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date
+ >,
+ lastDayOfYear: CurriedFn1<Date | number, Date>,
+ lightFormat: CurriedFn2<string, Date | number, string>,
+ max: CurriedFn1<(Date | number)[], Date>,
+ milliseconds: CurriedFn1<Duration, number>,
+ millisecondsToHours: CurriedFn1<number, number>,
+ millisecondsToMinutes: CurriedFn1<number, number>,
+ millisecondsToSeconds: CurriedFn1<number, number>,
+ min: CurriedFn1<(Date | number)[], Date>,
+ minutesToHours: CurriedFn1<number, number>,
+ minutesToMilliseconds: CurriedFn1<number, number>,
+ minutesToSeconds: CurriedFn1<number, number>,
+ monthsToQuarters: CurriedFn1<number, number>,
+ monthsToYears: CurriedFn1<number, number>,
+ nextDay: CurriedFn2<Day, Date | number, Date>,
+ nextFriday: CurriedFn1<Date | number, Date>,
+ nextMonday: CurriedFn1<Date | number, Date>,
+ nextSaturday: CurriedFn1<Date | number, Date>,
+ nextSunday: CurriedFn1<Date | number, Date>,
+ nextThursday: CurriedFn1<Date | number, Date>,
+ nextTuesday: CurriedFn1<Date | number, Date>,
+ nextWednesday: CurriedFn1<Date | number, Date>,
+ parse: CurriedFn3<Date | number, string, string, Date>,
+ parseISO: CurriedFn1<string, Date>,
+ parseISOWithOptions: CurriedFn2<
+ {
+ additionalDigits?: 0 | 1 | 2,
+ },
+ string,
+ Date
+ >,
+ parseJSON: CurriedFn1<string | number | Date, Date>,
+ parseWithOptions: CurriedFn4<
+ {
+ useAdditionalDayOfYearTokens?: boolean,
+ useAdditionalWeekYearTokens?: boolean,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ string,
+ string,
+ Date
+ >,
+ quartersToMonths: CurriedFn1<number, number>,
+ quartersToYears: CurriedFn1<number, number>,
+ roundToNearestMinutes: CurriedFn1<Date | number, Date>,
+ roundToNearestMinutesWithOptions: CurriedFn2<
+ {
+ nearestTo?: number,
+ },
+ Date | number,
+ Date
+ >,
+ secondsToHours: CurriedFn1<number, number>,
+ secondsToMilliseconds: CurriedFn1<number, number>,
+ secondsToMinutes: CurriedFn1<number, number>,
+ set: CurriedFn2<
+ {
+ milliseconds?: number,
+ seconds?: number,
+ minutes?: number,
+ hours?: number,
+ date?: number,
+ month?: number,
+ year?: number,
+ },
+ Date | number,
+ Date
+ >,
+ setDate: CurriedFn2<number, Date | number, Date>,
+ setDay: CurriedFn2<number, Date | number, Date>,
+ setDayOfYear: CurriedFn2<number, Date | number, Date>,
+ setDayWithOptions: CurriedFn3<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ number,
+ Date | number,
+ Date
+ >,
+ setHours: CurriedFn2<number, Date | number, Date>,
+ setISODay: CurriedFn2<number, Date | number, Date>,
+ setISOWeek: CurriedFn2<number, Date | number, Date>,
+ setISOWeekYear: CurriedFn2<number, Date | number, Date>,
+ setMilliseconds: CurriedFn2<number, Date | number, Date>,
+ setMinutes: CurriedFn2<number, Date | number, Date>,
+ setMonth: CurriedFn2<number, Date | number, Date>,
+ setQuarter: CurriedFn2<number, Date | number, Date>,
+ setSeconds: CurriedFn2<number, Date | number, Date>,
+ setWeek: CurriedFn2<number, Date | number, Date>,
+ setWeekWithOptions: CurriedFn3<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ number,
+ Date | number,
+ Date
+ >,
+ setWeekYear: CurriedFn2<number, Date | number, Date>,
+ setWeekYearWithOptions: CurriedFn3<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ number,
+ Date | number,
+ Date
+ >,
+ setYear: CurriedFn2<number, Date | number, Date>,
+ startOfDay: CurriedFn1<Date | number, Date>,
+ startOfDecade: CurriedFn1<Date | number, Date>,
+ startOfHour: CurriedFn1<Date | number, Date>,
+ startOfISOWeek: CurriedFn1<Date | number, Date>,
+ startOfISOWeekYear: CurriedFn1<Date | number, Date>,
+ startOfMinute: CurriedFn1<Date | number, Date>,
+ startOfMonth: CurriedFn1<Date | number, Date>,
+ startOfQuarter: CurriedFn1<Date | number, Date>,
+ startOfSecond: CurriedFn1<Date | number, Date>,
+ startOfWeek: CurriedFn1<Date | number, Date>,
+ startOfWeekWithOptions: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date
+ >,
+ startOfWeekYear: CurriedFn1<Date | number, Date>,
+ startOfWeekYearWithOptions: CurriedFn2<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date
+ >,
+ startOfYear: CurriedFn1<Date | number, Date>,
+ sub: CurriedFn2<Duration, Date | number, Date>,
+ subBusinessDays: CurriedFn2<number, Date | number, Date>,
+ subDays: CurriedFn2<number, Date | number, Date>,
+ subHours: CurriedFn2<number, Date | number, Date>,
+ subISOWeekYears: CurriedFn2<number, Date | number, Date>,
+ subMilliseconds: CurriedFn2<number, Date | number, Date>,
+ subMinutes: CurriedFn2<number, Date | number, Date>,
+ subMonths: CurriedFn2<number, Date | number, Date>,
+ subQuarters: CurriedFn2<number, Date | number, Date>,
+ subSeconds: CurriedFn2<number, Date | number, Date>,
+ subWeeks: CurriedFn2<number, Date | number, Date>,
+ subYears: CurriedFn2<number, Date | number, Date>,
+ toDate: CurriedFn1<Date | number, Date>,
+ weeksToDays: CurriedFn1<number, number>,
+ yearsToMonths: CurriedFn1<number, number>,
+ yearsToQuarters: CurriedFn1<number, number>,
+ daysInWeek: number,
+ maxTime: number,
+ millisecondsInMinute: number,
+ millisecondsInHour: number,
+ millisecondsInSecond: number,
+ minTime: number,
+ minutesInHour: number,
+ monthsInQuarter: number,
+ monthsInYear: number,
+ quartersInYear: number,
+ secondsInHour: number,
+ secondsInMinute: number,
+}
diff --git a/date-fns/src/fp/intervalToDuration/index.d.ts b/date-fns/src/fp/intervalToDuration/index.d.ts
new file mode 100644
index 0000000..4b2381d
--- /dev/null
+++ b/date-fns/src/fp/intervalToDuration/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { intervalToDuration } from 'date-fns/fp'
+export default intervalToDuration
diff --git a/date-fns/src/fp/intervalToDuration/index.js b/date-fns/src/fp/intervalToDuration/index.js
new file mode 100644
index 0000000..d596acc
--- /dev/null
+++ b/date-fns/src/fp/intervalToDuration/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../intervalToDuration/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var intervalToDuration = convertToFP(fn, 1)
+
+export default intervalToDuration
diff --git a/date-fns/src/fp/intervalToDuration/index.js.flow b/date-fns/src/fp/intervalToDuration/index.js.flow
new file mode 100644
index 0000000..88f6ff0
--- /dev/null
+++ b/date-fns/src/fp/intervalToDuration/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Interval, Duration>
diff --git a/date-fns/src/fp/intlFormat/index.d.ts b/date-fns/src/fp/intlFormat/index.d.ts
new file mode 100644
index 0000000..38f78a7
--- /dev/null
+++ b/date-fns/src/fp/intlFormat/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { intlFormat } from 'date-fns/fp'
+export default intlFormat
diff --git a/date-fns/src/fp/intlFormat/index.js b/date-fns/src/fp/intlFormat/index.js
new file mode 100644
index 0000000..8bd9e7c
--- /dev/null
+++ b/date-fns/src/fp/intlFormat/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../intlFormat/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var intlFormat = convertToFP(fn, 3)
+
+export default intlFormat
diff --git a/date-fns/src/fp/intlFormat/index.js.flow b/date-fns/src/fp/intlFormat/index.js.flow
new file mode 100644
index 0000000..c104dcf
--- /dev/null
+++ b/date-fns/src/fp/intlFormat/index.js.flow
@@ -0,0 +1,88 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ locale?: string | string[],
+ },
+ {
+ timeZone?: string,
+ hour12?: boolean,
+ formatMatcher?: 'basic' | 'best fit',
+ timeZoneName?: 'short' | 'long',
+ second?: 'numeric' | '2-digit',
+ minute?: 'numeric' | '2-digit',
+ hour?: 'numeric' | '2-digit',
+ day?: 'numeric' | '2-digit',
+ month?: 'numeric' | '2-digit' | 'narrow' | 'short' | 'long',
+ year?: 'numeric' | '2-digit',
+ era?: 'narrow' | 'short' | 'long',
+ weekday?: 'narrow' | 'short' | 'long',
+ localeMatcher?: 'lookup' | 'best fit',
+ },
+ Date | number,
+ string
+>
diff --git a/date-fns/src/fp/isAfter/index.d.ts b/date-fns/src/fp/isAfter/index.d.ts
new file mode 100644
index 0000000..de8ba72
--- /dev/null
+++ b/date-fns/src/fp/isAfter/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isAfter } from 'date-fns/fp'
+export default isAfter
diff --git a/date-fns/src/fp/isAfter/index.js b/date-fns/src/fp/isAfter/index.js
new file mode 100644
index 0000000..a754322
--- /dev/null
+++ b/date-fns/src/fp/isAfter/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isAfter/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isAfter = convertToFP(fn, 2)
+
+export default isAfter
diff --git a/date-fns/src/fp/isAfter/index.js.flow b/date-fns/src/fp/isAfter/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isAfter/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isBefore/index.d.ts b/date-fns/src/fp/isBefore/index.d.ts
new file mode 100644
index 0000000..d289198
--- /dev/null
+++ b/date-fns/src/fp/isBefore/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isBefore } from 'date-fns/fp'
+export default isBefore
diff --git a/date-fns/src/fp/isBefore/index.js b/date-fns/src/fp/isBefore/index.js
new file mode 100644
index 0000000..4b9ec17
--- /dev/null
+++ b/date-fns/src/fp/isBefore/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isBefore/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isBefore = convertToFP(fn, 2)
+
+export default isBefore
diff --git a/date-fns/src/fp/isBefore/index.js.flow b/date-fns/src/fp/isBefore/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isBefore/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isDate/index.d.ts b/date-fns/src/fp/isDate/index.d.ts
new file mode 100644
index 0000000..6f120ce
--- /dev/null
+++ b/date-fns/src/fp/isDate/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isDate } from 'date-fns/fp'
+export default isDate
diff --git a/date-fns/src/fp/isDate/index.js b/date-fns/src/fp/isDate/index.js
new file mode 100644
index 0000000..77f01e7
--- /dev/null
+++ b/date-fns/src/fp/isDate/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isDate/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isDate = convertToFP(fn, 1)
+
+export default isDate
diff --git a/date-fns/src/fp/isDate/index.js.flow b/date-fns/src/fp/isDate/index.js.flow
new file mode 100644
index 0000000..62e70e2
--- /dev/null
+++ b/date-fns/src/fp/isDate/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<any, boolean>
diff --git a/date-fns/src/fp/isEqual/index.d.ts b/date-fns/src/fp/isEqual/index.d.ts
new file mode 100644
index 0000000..b21d398
--- /dev/null
+++ b/date-fns/src/fp/isEqual/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isEqual } from 'date-fns/fp'
+export default isEqual
diff --git a/date-fns/src/fp/isEqual/index.js b/date-fns/src/fp/isEqual/index.js
new file mode 100644
index 0000000..bdc4dec
--- /dev/null
+++ b/date-fns/src/fp/isEqual/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isEqual/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isEqual = convertToFP(fn, 2)
+
+export default isEqual
diff --git a/date-fns/src/fp/isEqual/index.js.flow b/date-fns/src/fp/isEqual/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isEqual/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isExists/index.d.ts b/date-fns/src/fp/isExists/index.d.ts
new file mode 100644
index 0000000..e4ccb78
--- /dev/null
+++ b/date-fns/src/fp/isExists/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isExists } from 'date-fns/fp'
+export default isExists
diff --git a/date-fns/src/fp/isExists/index.js b/date-fns/src/fp/isExists/index.js
new file mode 100644
index 0000000..70789f2
--- /dev/null
+++ b/date-fns/src/fp/isExists/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isExists/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isExists = convertToFP(fn, 3)
+
+export default isExists
diff --git a/date-fns/src/fp/isExists/index.js.flow b/date-fns/src/fp/isExists/index.js.flow
new file mode 100644
index 0000000..2af9fe9
--- /dev/null
+++ b/date-fns/src/fp/isExists/index.js.flow
@@ -0,0 +1,67 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<number, number, number, boolean>
diff --git a/date-fns/src/fp/isFirstDayOfMonth/index.d.ts b/date-fns/src/fp/isFirstDayOfMonth/index.d.ts
new file mode 100644
index 0000000..e097310
--- /dev/null
+++ b/date-fns/src/fp/isFirstDayOfMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isFirstDayOfMonth } from 'date-fns/fp'
+export default isFirstDayOfMonth
diff --git a/date-fns/src/fp/isFirstDayOfMonth/index.js b/date-fns/src/fp/isFirstDayOfMonth/index.js
new file mode 100644
index 0000000..84365f8
--- /dev/null
+++ b/date-fns/src/fp/isFirstDayOfMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isFirstDayOfMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isFirstDayOfMonth = convertToFP(fn, 1)
+
+export default isFirstDayOfMonth
diff --git a/date-fns/src/fp/isFirstDayOfMonth/index.js.flow b/date-fns/src/fp/isFirstDayOfMonth/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isFirstDayOfMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isFriday/index.d.ts b/date-fns/src/fp/isFriday/index.d.ts
new file mode 100644
index 0000000..cdab1b1
--- /dev/null
+++ b/date-fns/src/fp/isFriday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isFriday } from 'date-fns/fp'
+export default isFriday
diff --git a/date-fns/src/fp/isFriday/index.js b/date-fns/src/fp/isFriday/index.js
new file mode 100644
index 0000000..01314a7
--- /dev/null
+++ b/date-fns/src/fp/isFriday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isFriday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isFriday = convertToFP(fn, 1)
+
+export default isFriday
diff --git a/date-fns/src/fp/isFriday/index.js.flow b/date-fns/src/fp/isFriday/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isFriday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isLastDayOfMonth/index.d.ts b/date-fns/src/fp/isLastDayOfMonth/index.d.ts
new file mode 100644
index 0000000..33750f0
--- /dev/null
+++ b/date-fns/src/fp/isLastDayOfMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isLastDayOfMonth } from 'date-fns/fp'
+export default isLastDayOfMonth
diff --git a/date-fns/src/fp/isLastDayOfMonth/index.js b/date-fns/src/fp/isLastDayOfMonth/index.js
new file mode 100644
index 0000000..58bf400
--- /dev/null
+++ b/date-fns/src/fp/isLastDayOfMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isLastDayOfMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isLastDayOfMonth = convertToFP(fn, 1)
+
+export default isLastDayOfMonth
diff --git a/date-fns/src/fp/isLastDayOfMonth/index.js.flow b/date-fns/src/fp/isLastDayOfMonth/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isLastDayOfMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isLeapYear/index.d.ts b/date-fns/src/fp/isLeapYear/index.d.ts
new file mode 100644
index 0000000..c92bce3
--- /dev/null
+++ b/date-fns/src/fp/isLeapYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isLeapYear } from 'date-fns/fp'
+export default isLeapYear
diff --git a/date-fns/src/fp/isLeapYear/index.js b/date-fns/src/fp/isLeapYear/index.js
new file mode 100644
index 0000000..babf413
--- /dev/null
+++ b/date-fns/src/fp/isLeapYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isLeapYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isLeapYear = convertToFP(fn, 1)
+
+export default isLeapYear
diff --git a/date-fns/src/fp/isLeapYear/index.js.flow b/date-fns/src/fp/isLeapYear/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isLeapYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isMatch/index.d.ts b/date-fns/src/fp/isMatch/index.d.ts
new file mode 100644
index 0000000..5085afa
--- /dev/null
+++ b/date-fns/src/fp/isMatch/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isMatch } from 'date-fns/fp'
+export default isMatch
diff --git a/date-fns/src/fp/isMatch/index.js b/date-fns/src/fp/isMatch/index.js
new file mode 100644
index 0000000..95e8e25
--- /dev/null
+++ b/date-fns/src/fp/isMatch/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isMatch/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isMatch = convertToFP(fn, 2)
+
+export default isMatch
diff --git a/date-fns/src/fp/isMatch/index.js.flow b/date-fns/src/fp/isMatch/index.js.flow
new file mode 100644
index 0000000..9eb7ae0
--- /dev/null
+++ b/date-fns/src/fp/isMatch/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<string, string, boolean>
diff --git a/date-fns/src/fp/isMatchWithOptions/index.d.ts b/date-fns/src/fp/isMatchWithOptions/index.d.ts
new file mode 100644
index 0000000..4645250
--- /dev/null
+++ b/date-fns/src/fp/isMatchWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isMatchWithOptions } from 'date-fns/fp'
+export default isMatchWithOptions
diff --git a/date-fns/src/fp/isMatchWithOptions/index.js b/date-fns/src/fp/isMatchWithOptions/index.js
new file mode 100644
index 0000000..a894b20
--- /dev/null
+++ b/date-fns/src/fp/isMatchWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isMatch/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isMatchWithOptions = convertToFP(fn, 3)
+
+export default isMatchWithOptions
diff --git a/date-fns/src/fp/isMatchWithOptions/index.js.flow b/date-fns/src/fp/isMatchWithOptions/index.js.flow
new file mode 100644
index 0000000..5b2b869
--- /dev/null
+++ b/date-fns/src/fp/isMatchWithOptions/index.js.flow
@@ -0,0 +1,78 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ useAdditionalDayOfYearTokens?: boolean,
+ useAdditionalWeekYearTokens?: boolean,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ string,
+ string,
+ boolean
+>
diff --git a/date-fns/src/fp/isMonday/index.d.ts b/date-fns/src/fp/isMonday/index.d.ts
new file mode 100644
index 0000000..550bbb0
--- /dev/null
+++ b/date-fns/src/fp/isMonday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isMonday } from 'date-fns/fp'
+export default isMonday
diff --git a/date-fns/src/fp/isMonday/index.js b/date-fns/src/fp/isMonday/index.js
new file mode 100644
index 0000000..e801cce
--- /dev/null
+++ b/date-fns/src/fp/isMonday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isMonday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isMonday = convertToFP(fn, 1)
+
+export default isMonday
diff --git a/date-fns/src/fp/isMonday/index.js.flow b/date-fns/src/fp/isMonday/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isMonday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isSameDay/index.d.ts b/date-fns/src/fp/isSameDay/index.d.ts
new file mode 100644
index 0000000..d7c74c7
--- /dev/null
+++ b/date-fns/src/fp/isSameDay/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameDay } from 'date-fns/fp'
+export default isSameDay
diff --git a/date-fns/src/fp/isSameDay/index.js b/date-fns/src/fp/isSameDay/index.js
new file mode 100644
index 0000000..cefc370
--- /dev/null
+++ b/date-fns/src/fp/isSameDay/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameDay/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameDay = convertToFP(fn, 2)
+
+export default isSameDay
diff --git a/date-fns/src/fp/isSameDay/index.js.flow b/date-fns/src/fp/isSameDay/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameDay/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSameHour/index.d.ts b/date-fns/src/fp/isSameHour/index.d.ts
new file mode 100644
index 0000000..ff4dacb
--- /dev/null
+++ b/date-fns/src/fp/isSameHour/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameHour } from 'date-fns/fp'
+export default isSameHour
diff --git a/date-fns/src/fp/isSameHour/index.js b/date-fns/src/fp/isSameHour/index.js
new file mode 100644
index 0000000..5412fb3
--- /dev/null
+++ b/date-fns/src/fp/isSameHour/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameHour/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameHour = convertToFP(fn, 2)
+
+export default isSameHour
diff --git a/date-fns/src/fp/isSameHour/index.js.flow b/date-fns/src/fp/isSameHour/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameHour/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSameISOWeek/index.d.ts b/date-fns/src/fp/isSameISOWeek/index.d.ts
new file mode 100644
index 0000000..41c5426
--- /dev/null
+++ b/date-fns/src/fp/isSameISOWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameISOWeek } from 'date-fns/fp'
+export default isSameISOWeek
diff --git a/date-fns/src/fp/isSameISOWeek/index.js b/date-fns/src/fp/isSameISOWeek/index.js
new file mode 100644
index 0000000..5d80c9c
--- /dev/null
+++ b/date-fns/src/fp/isSameISOWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameISOWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameISOWeek = convertToFP(fn, 2)
+
+export default isSameISOWeek
diff --git a/date-fns/src/fp/isSameISOWeek/index.js.flow b/date-fns/src/fp/isSameISOWeek/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameISOWeek/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSameISOWeekYear/index.d.ts b/date-fns/src/fp/isSameISOWeekYear/index.d.ts
new file mode 100644
index 0000000..f9f65c0
--- /dev/null
+++ b/date-fns/src/fp/isSameISOWeekYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameISOWeekYear } from 'date-fns/fp'
+export default isSameISOWeekYear
diff --git a/date-fns/src/fp/isSameISOWeekYear/index.js b/date-fns/src/fp/isSameISOWeekYear/index.js
new file mode 100644
index 0000000..0a14d31
--- /dev/null
+++ b/date-fns/src/fp/isSameISOWeekYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameISOWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameISOWeekYear = convertToFP(fn, 2)
+
+export default isSameISOWeekYear
diff --git a/date-fns/src/fp/isSameISOWeekYear/index.js.flow b/date-fns/src/fp/isSameISOWeekYear/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameISOWeekYear/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSameMinute/index.d.ts b/date-fns/src/fp/isSameMinute/index.d.ts
new file mode 100644
index 0000000..b19be2a
--- /dev/null
+++ b/date-fns/src/fp/isSameMinute/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameMinute } from 'date-fns/fp'
+export default isSameMinute
diff --git a/date-fns/src/fp/isSameMinute/index.js b/date-fns/src/fp/isSameMinute/index.js
new file mode 100644
index 0000000..f664f96
--- /dev/null
+++ b/date-fns/src/fp/isSameMinute/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameMinute/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameMinute = convertToFP(fn, 2)
+
+export default isSameMinute
diff --git a/date-fns/src/fp/isSameMinute/index.js.flow b/date-fns/src/fp/isSameMinute/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameMinute/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSameMonth/index.d.ts b/date-fns/src/fp/isSameMonth/index.d.ts
new file mode 100644
index 0000000..1c29c87
--- /dev/null
+++ b/date-fns/src/fp/isSameMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameMonth } from 'date-fns/fp'
+export default isSameMonth
diff --git a/date-fns/src/fp/isSameMonth/index.js b/date-fns/src/fp/isSameMonth/index.js
new file mode 100644
index 0000000..0479c45
--- /dev/null
+++ b/date-fns/src/fp/isSameMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameMonth = convertToFP(fn, 2)
+
+export default isSameMonth
diff --git a/date-fns/src/fp/isSameMonth/index.js.flow b/date-fns/src/fp/isSameMonth/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameMonth/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSameQuarter/index.d.ts b/date-fns/src/fp/isSameQuarter/index.d.ts
new file mode 100644
index 0000000..6fe36a5
--- /dev/null
+++ b/date-fns/src/fp/isSameQuarter/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameQuarter } from 'date-fns/fp'
+export default isSameQuarter
diff --git a/date-fns/src/fp/isSameQuarter/index.js b/date-fns/src/fp/isSameQuarter/index.js
new file mode 100644
index 0000000..1fcb783
--- /dev/null
+++ b/date-fns/src/fp/isSameQuarter/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameQuarter/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameQuarter = convertToFP(fn, 2)
+
+export default isSameQuarter
diff --git a/date-fns/src/fp/isSameQuarter/index.js.flow b/date-fns/src/fp/isSameQuarter/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameQuarter/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSameSecond/index.d.ts b/date-fns/src/fp/isSameSecond/index.d.ts
new file mode 100644
index 0000000..b65413a
--- /dev/null
+++ b/date-fns/src/fp/isSameSecond/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameSecond } from 'date-fns/fp'
+export default isSameSecond
diff --git a/date-fns/src/fp/isSameSecond/index.js b/date-fns/src/fp/isSameSecond/index.js
new file mode 100644
index 0000000..976a012
--- /dev/null
+++ b/date-fns/src/fp/isSameSecond/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameSecond/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameSecond = convertToFP(fn, 2)
+
+export default isSameSecond
diff --git a/date-fns/src/fp/isSameSecond/index.js.flow b/date-fns/src/fp/isSameSecond/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameSecond/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSameWeek/index.d.ts b/date-fns/src/fp/isSameWeek/index.d.ts
new file mode 100644
index 0000000..e6b37fa
--- /dev/null
+++ b/date-fns/src/fp/isSameWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameWeek } from 'date-fns/fp'
+export default isSameWeek
diff --git a/date-fns/src/fp/isSameWeek/index.js b/date-fns/src/fp/isSameWeek/index.js
new file mode 100644
index 0000000..043f63e
--- /dev/null
+++ b/date-fns/src/fp/isSameWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameWeek = convertToFP(fn, 2)
+
+export default isSameWeek
diff --git a/date-fns/src/fp/isSameWeek/index.js.flow b/date-fns/src/fp/isSameWeek/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameWeek/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSameWeekWithOptions/index.d.ts b/date-fns/src/fp/isSameWeekWithOptions/index.d.ts
new file mode 100644
index 0000000..240b654
--- /dev/null
+++ b/date-fns/src/fp/isSameWeekWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameWeekWithOptions } from 'date-fns/fp'
+export default isSameWeekWithOptions
diff --git a/date-fns/src/fp/isSameWeekWithOptions/index.js b/date-fns/src/fp/isSameWeekWithOptions/index.js
new file mode 100644
index 0000000..a05210f
--- /dev/null
+++ b/date-fns/src/fp/isSameWeekWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameWeekWithOptions = convertToFP(fn, 3)
+
+export default isSameWeekWithOptions
diff --git a/date-fns/src/fp/isSameWeekWithOptions/index.js.flow b/date-fns/src/fp/isSameWeekWithOptions/index.js.flow
new file mode 100644
index 0000000..154b894
--- /dev/null
+++ b/date-fns/src/fp/isSameWeekWithOptions/index.js.flow
@@ -0,0 +1,75 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date | number,
+ boolean
+>
diff --git a/date-fns/src/fp/isSameYear/index.d.ts b/date-fns/src/fp/isSameYear/index.d.ts
new file mode 100644
index 0000000..da9db07
--- /dev/null
+++ b/date-fns/src/fp/isSameYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSameYear } from 'date-fns/fp'
+export default isSameYear
diff --git a/date-fns/src/fp/isSameYear/index.js b/date-fns/src/fp/isSameYear/index.js
new file mode 100644
index 0000000..06b5ec4
--- /dev/null
+++ b/date-fns/src/fp/isSameYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSameYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSameYear = convertToFP(fn, 2)
+
+export default isSameYear
diff --git a/date-fns/src/fp/isSameYear/index.js.flow b/date-fns/src/fp/isSameYear/index.js.flow
new file mode 100644
index 0000000..38638c4
--- /dev/null
+++ b/date-fns/src/fp/isSameYear/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Date | number, Date | number, boolean>
diff --git a/date-fns/src/fp/isSaturday/index.d.ts b/date-fns/src/fp/isSaturday/index.d.ts
new file mode 100644
index 0000000..d6c100a
--- /dev/null
+++ b/date-fns/src/fp/isSaturday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSaturday } from 'date-fns/fp'
+export default isSaturday
diff --git a/date-fns/src/fp/isSaturday/index.js b/date-fns/src/fp/isSaturday/index.js
new file mode 100644
index 0000000..7fb3394
--- /dev/null
+++ b/date-fns/src/fp/isSaturday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSaturday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSaturday = convertToFP(fn, 1)
+
+export default isSaturday
diff --git a/date-fns/src/fp/isSaturday/index.js.flow b/date-fns/src/fp/isSaturday/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isSaturday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isSunday/index.d.ts b/date-fns/src/fp/isSunday/index.d.ts
new file mode 100644
index 0000000..d5ff84f
--- /dev/null
+++ b/date-fns/src/fp/isSunday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isSunday } from 'date-fns/fp'
+export default isSunday
diff --git a/date-fns/src/fp/isSunday/index.js b/date-fns/src/fp/isSunday/index.js
new file mode 100644
index 0000000..b37f29f
--- /dev/null
+++ b/date-fns/src/fp/isSunday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isSunday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isSunday = convertToFP(fn, 1)
+
+export default isSunday
diff --git a/date-fns/src/fp/isSunday/index.js.flow b/date-fns/src/fp/isSunday/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isSunday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isThursday/index.d.ts b/date-fns/src/fp/isThursday/index.d.ts
new file mode 100644
index 0000000..5f7c57c
--- /dev/null
+++ b/date-fns/src/fp/isThursday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isThursday } from 'date-fns/fp'
+export default isThursday
diff --git a/date-fns/src/fp/isThursday/index.js b/date-fns/src/fp/isThursday/index.js
new file mode 100644
index 0000000..d5c87d1
--- /dev/null
+++ b/date-fns/src/fp/isThursday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isThursday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isThursday = convertToFP(fn, 1)
+
+export default isThursday
diff --git a/date-fns/src/fp/isThursday/index.js.flow b/date-fns/src/fp/isThursday/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isThursday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isTuesday/index.d.ts b/date-fns/src/fp/isTuesday/index.d.ts
new file mode 100644
index 0000000..3a652b6
--- /dev/null
+++ b/date-fns/src/fp/isTuesday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isTuesday } from 'date-fns/fp'
+export default isTuesday
diff --git a/date-fns/src/fp/isTuesday/index.js b/date-fns/src/fp/isTuesday/index.js
new file mode 100644
index 0000000..d7da6f0
--- /dev/null
+++ b/date-fns/src/fp/isTuesday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isTuesday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isTuesday = convertToFP(fn, 1)
+
+export default isTuesday
diff --git a/date-fns/src/fp/isTuesday/index.js.flow b/date-fns/src/fp/isTuesday/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isTuesday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isValid/index.d.ts b/date-fns/src/fp/isValid/index.d.ts
new file mode 100644
index 0000000..42a8432
--- /dev/null
+++ b/date-fns/src/fp/isValid/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isValid } from 'date-fns/fp'
+export default isValid
diff --git a/date-fns/src/fp/isValid/index.js b/date-fns/src/fp/isValid/index.js
new file mode 100644
index 0000000..da5b3d2
--- /dev/null
+++ b/date-fns/src/fp/isValid/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isValid/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isValid = convertToFP(fn, 1)
+
+export default isValid
diff --git a/date-fns/src/fp/isValid/index.js.flow b/date-fns/src/fp/isValid/index.js.flow
new file mode 100644
index 0000000..62e70e2
--- /dev/null
+++ b/date-fns/src/fp/isValid/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<any, boolean>
diff --git a/date-fns/src/fp/isWednesday/index.d.ts b/date-fns/src/fp/isWednesday/index.d.ts
new file mode 100644
index 0000000..9752d6a
--- /dev/null
+++ b/date-fns/src/fp/isWednesday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isWednesday } from 'date-fns/fp'
+export default isWednesday
diff --git a/date-fns/src/fp/isWednesday/index.js b/date-fns/src/fp/isWednesday/index.js
new file mode 100644
index 0000000..b2fa123
--- /dev/null
+++ b/date-fns/src/fp/isWednesday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isWednesday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isWednesday = convertToFP(fn, 1)
+
+export default isWednesday
diff --git a/date-fns/src/fp/isWednesday/index.js.flow b/date-fns/src/fp/isWednesday/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isWednesday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isWeekend/index.d.ts b/date-fns/src/fp/isWeekend/index.d.ts
new file mode 100644
index 0000000..ff6c8a3
--- /dev/null
+++ b/date-fns/src/fp/isWeekend/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isWeekend } from 'date-fns/fp'
+export default isWeekend
diff --git a/date-fns/src/fp/isWeekend/index.js b/date-fns/src/fp/isWeekend/index.js
new file mode 100644
index 0000000..31a08f3
--- /dev/null
+++ b/date-fns/src/fp/isWeekend/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isWeekend/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isWeekend = convertToFP(fn, 1)
+
+export default isWeekend
diff --git a/date-fns/src/fp/isWeekend/index.js.flow b/date-fns/src/fp/isWeekend/index.js.flow
new file mode 100644
index 0000000..8f53be6
--- /dev/null
+++ b/date-fns/src/fp/isWeekend/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, boolean>
diff --git a/date-fns/src/fp/isWithinInterval/index.d.ts b/date-fns/src/fp/isWithinInterval/index.d.ts
new file mode 100644
index 0000000..c3b3c9b
--- /dev/null
+++ b/date-fns/src/fp/isWithinInterval/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { isWithinInterval } from 'date-fns/fp'
+export default isWithinInterval
diff --git a/date-fns/src/fp/isWithinInterval/index.js b/date-fns/src/fp/isWithinInterval/index.js
new file mode 100644
index 0000000..88167ff
--- /dev/null
+++ b/date-fns/src/fp/isWithinInterval/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../isWithinInterval/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var isWithinInterval = convertToFP(fn, 2)
+
+export default isWithinInterval
diff --git a/date-fns/src/fp/isWithinInterval/index.js.flow b/date-fns/src/fp/isWithinInterval/index.js.flow
new file mode 100644
index 0000000..8b45a5e
--- /dev/null
+++ b/date-fns/src/fp/isWithinInterval/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Interval, Date | number, boolean>
diff --git a/date-fns/src/fp/lastDayOfDecade/index.d.ts b/date-fns/src/fp/lastDayOfDecade/index.d.ts
new file mode 100644
index 0000000..6b32f46
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfDecade/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lastDayOfDecade } from 'date-fns/fp'
+export default lastDayOfDecade
diff --git a/date-fns/src/fp/lastDayOfDecade/index.js b/date-fns/src/fp/lastDayOfDecade/index.js
new file mode 100644
index 0000000..e2afa78
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfDecade/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lastDayOfDecade/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lastDayOfDecade = convertToFP(fn, 1)
+
+export default lastDayOfDecade
diff --git a/date-fns/src/fp/lastDayOfDecade/index.js.flow b/date-fns/src/fp/lastDayOfDecade/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfDecade/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/lastDayOfISOWeek/index.d.ts b/date-fns/src/fp/lastDayOfISOWeek/index.d.ts
new file mode 100644
index 0000000..13d7cbe
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfISOWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lastDayOfISOWeek } from 'date-fns/fp'
+export default lastDayOfISOWeek
diff --git a/date-fns/src/fp/lastDayOfISOWeek/index.js b/date-fns/src/fp/lastDayOfISOWeek/index.js
new file mode 100644
index 0000000..3c03939
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfISOWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lastDayOfISOWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lastDayOfISOWeek = convertToFP(fn, 1)
+
+export default lastDayOfISOWeek
diff --git a/date-fns/src/fp/lastDayOfISOWeek/index.js.flow b/date-fns/src/fp/lastDayOfISOWeek/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfISOWeek/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/lastDayOfISOWeekYear/index.d.ts b/date-fns/src/fp/lastDayOfISOWeekYear/index.d.ts
new file mode 100644
index 0000000..8e75ca7
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfISOWeekYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lastDayOfISOWeekYear } from 'date-fns/fp'
+export default lastDayOfISOWeekYear
diff --git a/date-fns/src/fp/lastDayOfISOWeekYear/index.js b/date-fns/src/fp/lastDayOfISOWeekYear/index.js
new file mode 100644
index 0000000..7227cb1
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfISOWeekYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lastDayOfISOWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lastDayOfISOWeekYear = convertToFP(fn, 1)
+
+export default lastDayOfISOWeekYear
diff --git a/date-fns/src/fp/lastDayOfISOWeekYear/index.js.flow b/date-fns/src/fp/lastDayOfISOWeekYear/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfISOWeekYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/lastDayOfMonth/index.d.ts b/date-fns/src/fp/lastDayOfMonth/index.d.ts
new file mode 100644
index 0000000..1a65a14
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lastDayOfMonth } from 'date-fns/fp'
+export default lastDayOfMonth
diff --git a/date-fns/src/fp/lastDayOfMonth/index.js b/date-fns/src/fp/lastDayOfMonth/index.js
new file mode 100644
index 0000000..1da2a17
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lastDayOfMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lastDayOfMonth = convertToFP(fn, 1)
+
+export default lastDayOfMonth
diff --git a/date-fns/src/fp/lastDayOfMonth/index.js.flow b/date-fns/src/fp/lastDayOfMonth/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/lastDayOfQuarter/index.d.ts b/date-fns/src/fp/lastDayOfQuarter/index.d.ts
new file mode 100644
index 0000000..27f41a8
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfQuarter/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lastDayOfQuarter } from 'date-fns/fp'
+export default lastDayOfQuarter
diff --git a/date-fns/src/fp/lastDayOfQuarter/index.js b/date-fns/src/fp/lastDayOfQuarter/index.js
new file mode 100644
index 0000000..c8b7f6b
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfQuarter/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lastDayOfQuarter/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lastDayOfQuarter = convertToFP(fn, 1)
+
+export default lastDayOfQuarter
diff --git a/date-fns/src/fp/lastDayOfQuarter/index.js.flow b/date-fns/src/fp/lastDayOfQuarter/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfQuarter/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/lastDayOfQuarterWithOptions/index.d.ts b/date-fns/src/fp/lastDayOfQuarterWithOptions/index.d.ts
new file mode 100644
index 0000000..4327d12
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfQuarterWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lastDayOfQuarterWithOptions } from 'date-fns/fp'
+export default lastDayOfQuarterWithOptions
diff --git a/date-fns/src/fp/lastDayOfQuarterWithOptions/index.js b/date-fns/src/fp/lastDayOfQuarterWithOptions/index.js
new file mode 100644
index 0000000..a6ef4bd
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfQuarterWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lastDayOfQuarter/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lastDayOfQuarterWithOptions = convertToFP(fn, 2)
+
+export default lastDayOfQuarterWithOptions
diff --git a/date-fns/src/fp/lastDayOfQuarterWithOptions/index.js.flow b/date-fns/src/fp/lastDayOfQuarterWithOptions/index.js.flow
new file mode 100644
index 0000000..4b6d0d4
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfQuarterWithOptions/index.js.flow
@@ -0,0 +1,64 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ additionalDigits?: 0 | 1 | 2,
+ },
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/lastDayOfWeek/index.d.ts b/date-fns/src/fp/lastDayOfWeek/index.d.ts
new file mode 100644
index 0000000..0d79da7
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lastDayOfWeek } from 'date-fns/fp'
+export default lastDayOfWeek
diff --git a/date-fns/src/fp/lastDayOfWeek/index.js b/date-fns/src/fp/lastDayOfWeek/index.js
new file mode 100644
index 0000000..0407263
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lastDayOfWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lastDayOfWeek = convertToFP(fn, 1)
+
+export default lastDayOfWeek
diff --git a/date-fns/src/fp/lastDayOfWeek/index.js.flow b/date-fns/src/fp/lastDayOfWeek/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfWeek/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/lastDayOfWeekWithOptions/index.d.ts b/date-fns/src/fp/lastDayOfWeekWithOptions/index.d.ts
new file mode 100644
index 0000000..5719524
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfWeekWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lastDayOfWeekWithOptions } from 'date-fns/fp'
+export default lastDayOfWeekWithOptions
diff --git a/date-fns/src/fp/lastDayOfWeekWithOptions/index.js b/date-fns/src/fp/lastDayOfWeekWithOptions/index.js
new file mode 100644
index 0000000..4d758bb
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfWeekWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lastDayOfWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lastDayOfWeekWithOptions = convertToFP(fn, 2)
+
+export default lastDayOfWeekWithOptions
diff --git a/date-fns/src/fp/lastDayOfWeekWithOptions/index.js.flow b/date-fns/src/fp/lastDayOfWeekWithOptions/index.js.flow
new file mode 100644
index 0000000..9821646
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfWeekWithOptions/index.js.flow
@@ -0,0 +1,65 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/lastDayOfYear/index.d.ts b/date-fns/src/fp/lastDayOfYear/index.d.ts
new file mode 100644
index 0000000..340473e
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lastDayOfYear } from 'date-fns/fp'
+export default lastDayOfYear
diff --git a/date-fns/src/fp/lastDayOfYear/index.js b/date-fns/src/fp/lastDayOfYear/index.js
new file mode 100644
index 0000000..faf5d62
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lastDayOfYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lastDayOfYear = convertToFP(fn, 1)
+
+export default lastDayOfYear
diff --git a/date-fns/src/fp/lastDayOfYear/index.js.flow b/date-fns/src/fp/lastDayOfYear/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/lastDayOfYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/lightFormat/index.d.ts b/date-fns/src/fp/lightFormat/index.d.ts
new file mode 100644
index 0000000..843b7fd
--- /dev/null
+++ b/date-fns/src/fp/lightFormat/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { lightFormat } from 'date-fns/fp'
+export default lightFormat
diff --git a/date-fns/src/fp/lightFormat/index.js b/date-fns/src/fp/lightFormat/index.js
new file mode 100644
index 0000000..da69f3c
--- /dev/null
+++ b/date-fns/src/fp/lightFormat/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../lightFormat/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var lightFormat = convertToFP(fn, 2)
+
+export default lightFormat
diff --git a/date-fns/src/fp/lightFormat/index.js.flow b/date-fns/src/fp/lightFormat/index.js.flow
new file mode 100644
index 0000000..013f277
--- /dev/null
+++ b/date-fns/src/fp/lightFormat/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<string, Date | number, string>
diff --git a/date-fns/src/fp/max/index.d.ts b/date-fns/src/fp/max/index.d.ts
new file mode 100644
index 0000000..000bf1d
--- /dev/null
+++ b/date-fns/src/fp/max/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { max } from 'date-fns/fp'
+export default max
diff --git a/date-fns/src/fp/max/index.js b/date-fns/src/fp/max/index.js
new file mode 100644
index 0000000..388ee28
--- /dev/null
+++ b/date-fns/src/fp/max/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../max/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var max = convertToFP(fn, 1)
+
+export default max
diff --git a/date-fns/src/fp/max/index.js.flow b/date-fns/src/fp/max/index.js.flow
new file mode 100644
index 0000000..dc66689
--- /dev/null
+++ b/date-fns/src/fp/max/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<(Date | number)[], Date>
diff --git a/date-fns/src/fp/milliseconds/index.d.ts b/date-fns/src/fp/milliseconds/index.d.ts
new file mode 100644
index 0000000..2552885
--- /dev/null
+++ b/date-fns/src/fp/milliseconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { milliseconds } from 'date-fns/fp'
+export default milliseconds
diff --git a/date-fns/src/fp/milliseconds/index.js b/date-fns/src/fp/milliseconds/index.js
new file mode 100644
index 0000000..3cd2b2c
--- /dev/null
+++ b/date-fns/src/fp/milliseconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../milliseconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var milliseconds = convertToFP(fn, 1)
+
+export default milliseconds
diff --git a/date-fns/src/fp/milliseconds/index.js.flow b/date-fns/src/fp/milliseconds/index.js.flow
new file mode 100644
index 0000000..a025a67
--- /dev/null
+++ b/date-fns/src/fp/milliseconds/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Duration, number>
diff --git a/date-fns/src/fp/millisecondsToHours/index.d.ts b/date-fns/src/fp/millisecondsToHours/index.d.ts
new file mode 100644
index 0000000..0ee6863
--- /dev/null
+++ b/date-fns/src/fp/millisecondsToHours/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { millisecondsToHours } from 'date-fns/fp'
+export default millisecondsToHours
diff --git a/date-fns/src/fp/millisecondsToHours/index.js b/date-fns/src/fp/millisecondsToHours/index.js
new file mode 100644
index 0000000..8d74476
--- /dev/null
+++ b/date-fns/src/fp/millisecondsToHours/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../millisecondsToHours/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var millisecondsToHours = convertToFP(fn, 1)
+
+export default millisecondsToHours
diff --git a/date-fns/src/fp/millisecondsToHours/index.js.flow b/date-fns/src/fp/millisecondsToHours/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/millisecondsToHours/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/millisecondsToMinutes/index.d.ts b/date-fns/src/fp/millisecondsToMinutes/index.d.ts
new file mode 100644
index 0000000..de84700
--- /dev/null
+++ b/date-fns/src/fp/millisecondsToMinutes/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { millisecondsToMinutes } from 'date-fns/fp'
+export default millisecondsToMinutes
diff --git a/date-fns/src/fp/millisecondsToMinutes/index.js b/date-fns/src/fp/millisecondsToMinutes/index.js
new file mode 100644
index 0000000..d9c64f1
--- /dev/null
+++ b/date-fns/src/fp/millisecondsToMinutes/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../millisecondsToMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var millisecondsToMinutes = convertToFP(fn, 1)
+
+export default millisecondsToMinutes
diff --git a/date-fns/src/fp/millisecondsToMinutes/index.js.flow b/date-fns/src/fp/millisecondsToMinutes/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/millisecondsToMinutes/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/millisecondsToSeconds/index.d.ts b/date-fns/src/fp/millisecondsToSeconds/index.d.ts
new file mode 100644
index 0000000..99736c4
--- /dev/null
+++ b/date-fns/src/fp/millisecondsToSeconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { millisecondsToSeconds } from 'date-fns/fp'
+export default millisecondsToSeconds
diff --git a/date-fns/src/fp/millisecondsToSeconds/index.js b/date-fns/src/fp/millisecondsToSeconds/index.js
new file mode 100644
index 0000000..3d59f18
--- /dev/null
+++ b/date-fns/src/fp/millisecondsToSeconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../millisecondsToSeconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var millisecondsToSeconds = convertToFP(fn, 1)
+
+export default millisecondsToSeconds
diff --git a/date-fns/src/fp/millisecondsToSeconds/index.js.flow b/date-fns/src/fp/millisecondsToSeconds/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/millisecondsToSeconds/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/min/index.d.ts b/date-fns/src/fp/min/index.d.ts
new file mode 100644
index 0000000..b666165
--- /dev/null
+++ b/date-fns/src/fp/min/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { min } from 'date-fns/fp'
+export default min
diff --git a/date-fns/src/fp/min/index.js b/date-fns/src/fp/min/index.js
new file mode 100644
index 0000000..70bd2f1
--- /dev/null
+++ b/date-fns/src/fp/min/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../min/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var min = convertToFP(fn, 1)
+
+export default min
diff --git a/date-fns/src/fp/min/index.js.flow b/date-fns/src/fp/min/index.js.flow
new file mode 100644
index 0000000..dc66689
--- /dev/null
+++ b/date-fns/src/fp/min/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<(Date | number)[], Date>
diff --git a/date-fns/src/fp/minutesToHours/index.d.ts b/date-fns/src/fp/minutesToHours/index.d.ts
new file mode 100644
index 0000000..15aeb30
--- /dev/null
+++ b/date-fns/src/fp/minutesToHours/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { minutesToHours } from 'date-fns/fp'
+export default minutesToHours
diff --git a/date-fns/src/fp/minutesToHours/index.js b/date-fns/src/fp/minutesToHours/index.js
new file mode 100644
index 0000000..d125abc
--- /dev/null
+++ b/date-fns/src/fp/minutesToHours/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../minutesToHours/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var minutesToHours = convertToFP(fn, 1)
+
+export default minutesToHours
diff --git a/date-fns/src/fp/minutesToHours/index.js.flow b/date-fns/src/fp/minutesToHours/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/minutesToHours/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/minutesToMilliseconds/index.d.ts b/date-fns/src/fp/minutesToMilliseconds/index.d.ts
new file mode 100644
index 0000000..0b19d01
--- /dev/null
+++ b/date-fns/src/fp/minutesToMilliseconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { minutesToMilliseconds } from 'date-fns/fp'
+export default minutesToMilliseconds
diff --git a/date-fns/src/fp/minutesToMilliseconds/index.js b/date-fns/src/fp/minutesToMilliseconds/index.js
new file mode 100644
index 0000000..1c54f4f
--- /dev/null
+++ b/date-fns/src/fp/minutesToMilliseconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../minutesToMilliseconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var minutesToMilliseconds = convertToFP(fn, 1)
+
+export default minutesToMilliseconds
diff --git a/date-fns/src/fp/minutesToMilliseconds/index.js.flow b/date-fns/src/fp/minutesToMilliseconds/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/minutesToMilliseconds/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/minutesToSeconds/index.d.ts b/date-fns/src/fp/minutesToSeconds/index.d.ts
new file mode 100644
index 0000000..bc47b3f
--- /dev/null
+++ b/date-fns/src/fp/minutesToSeconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { minutesToSeconds } from 'date-fns/fp'
+export default minutesToSeconds
diff --git a/date-fns/src/fp/minutesToSeconds/index.js b/date-fns/src/fp/minutesToSeconds/index.js
new file mode 100644
index 0000000..cd15bc1
--- /dev/null
+++ b/date-fns/src/fp/minutesToSeconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../minutesToSeconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var minutesToSeconds = convertToFP(fn, 1)
+
+export default minutesToSeconds
diff --git a/date-fns/src/fp/minutesToSeconds/index.js.flow b/date-fns/src/fp/minutesToSeconds/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/minutesToSeconds/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/monthsToQuarters/index.d.ts b/date-fns/src/fp/monthsToQuarters/index.d.ts
new file mode 100644
index 0000000..05ae53c
--- /dev/null
+++ b/date-fns/src/fp/monthsToQuarters/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { monthsToQuarters } from 'date-fns/fp'
+export default monthsToQuarters
diff --git a/date-fns/src/fp/monthsToQuarters/index.js b/date-fns/src/fp/monthsToQuarters/index.js
new file mode 100644
index 0000000..a06e630
--- /dev/null
+++ b/date-fns/src/fp/monthsToQuarters/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../monthsToQuarters/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var monthsToQuarters = convertToFP(fn, 1)
+
+export default monthsToQuarters
diff --git a/date-fns/src/fp/monthsToQuarters/index.js.flow b/date-fns/src/fp/monthsToQuarters/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/monthsToQuarters/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/monthsToYears/index.d.ts b/date-fns/src/fp/monthsToYears/index.d.ts
new file mode 100644
index 0000000..bc5f113
--- /dev/null
+++ b/date-fns/src/fp/monthsToYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { monthsToYears } from 'date-fns/fp'
+export default monthsToYears
diff --git a/date-fns/src/fp/monthsToYears/index.js b/date-fns/src/fp/monthsToYears/index.js
new file mode 100644
index 0000000..771bfa9
--- /dev/null
+++ b/date-fns/src/fp/monthsToYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../monthsToYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var monthsToYears = convertToFP(fn, 1)
+
+export default monthsToYears
diff --git a/date-fns/src/fp/monthsToYears/index.js.flow b/date-fns/src/fp/monthsToYears/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/monthsToYears/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/nextDay/index.d.ts b/date-fns/src/fp/nextDay/index.d.ts
new file mode 100644
index 0000000..dc6cd80
--- /dev/null
+++ b/date-fns/src/fp/nextDay/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { nextDay } from 'date-fns/fp'
+export default nextDay
diff --git a/date-fns/src/fp/nextDay/index.js b/date-fns/src/fp/nextDay/index.js
new file mode 100644
index 0000000..78f62f4
--- /dev/null
+++ b/date-fns/src/fp/nextDay/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../nextDay/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var nextDay = convertToFP(fn, 2)
+
+export default nextDay
diff --git a/date-fns/src/fp/nextDay/index.js.flow b/date-fns/src/fp/nextDay/index.js.flow
new file mode 100644
index 0000000..3d001b2
--- /dev/null
+++ b/date-fns/src/fp/nextDay/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Day, Date | number, Date>
diff --git a/date-fns/src/fp/nextFriday/index.d.ts b/date-fns/src/fp/nextFriday/index.d.ts
new file mode 100644
index 0000000..48e88cc
--- /dev/null
+++ b/date-fns/src/fp/nextFriday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { nextFriday } from 'date-fns/fp'
+export default nextFriday
diff --git a/date-fns/src/fp/nextFriday/index.js b/date-fns/src/fp/nextFriday/index.js
new file mode 100644
index 0000000..277d482
--- /dev/null
+++ b/date-fns/src/fp/nextFriday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../nextFriday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var nextFriday = convertToFP(fn, 1)
+
+export default nextFriday
diff --git a/date-fns/src/fp/nextFriday/index.js.flow b/date-fns/src/fp/nextFriday/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/nextFriday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/nextMonday/index.d.ts b/date-fns/src/fp/nextMonday/index.d.ts
new file mode 100644
index 0000000..50926c4
--- /dev/null
+++ b/date-fns/src/fp/nextMonday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { nextMonday } from 'date-fns/fp'
+export default nextMonday
diff --git a/date-fns/src/fp/nextMonday/index.js b/date-fns/src/fp/nextMonday/index.js
new file mode 100644
index 0000000..a09c1e0
--- /dev/null
+++ b/date-fns/src/fp/nextMonday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../nextMonday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var nextMonday = convertToFP(fn, 1)
+
+export default nextMonday
diff --git a/date-fns/src/fp/nextMonday/index.js.flow b/date-fns/src/fp/nextMonday/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/nextMonday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/nextSaturday/index.d.ts b/date-fns/src/fp/nextSaturday/index.d.ts
new file mode 100644
index 0000000..5774aa5
--- /dev/null
+++ b/date-fns/src/fp/nextSaturday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { nextSaturday } from 'date-fns/fp'
+export default nextSaturday
diff --git a/date-fns/src/fp/nextSaturday/index.js b/date-fns/src/fp/nextSaturday/index.js
new file mode 100644
index 0000000..145813f
--- /dev/null
+++ b/date-fns/src/fp/nextSaturday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../nextSaturday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var nextSaturday = convertToFP(fn, 1)
+
+export default nextSaturday
diff --git a/date-fns/src/fp/nextSaturday/index.js.flow b/date-fns/src/fp/nextSaturday/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/nextSaturday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/nextSunday/index.d.ts b/date-fns/src/fp/nextSunday/index.d.ts
new file mode 100644
index 0000000..acd1202
--- /dev/null
+++ b/date-fns/src/fp/nextSunday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { nextSunday } from 'date-fns/fp'
+export default nextSunday
diff --git a/date-fns/src/fp/nextSunday/index.js b/date-fns/src/fp/nextSunday/index.js
new file mode 100644
index 0000000..cb21ec9
--- /dev/null
+++ b/date-fns/src/fp/nextSunday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../nextSunday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var nextSunday = convertToFP(fn, 1)
+
+export default nextSunday
diff --git a/date-fns/src/fp/nextSunday/index.js.flow b/date-fns/src/fp/nextSunday/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/nextSunday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/nextThursday/index.d.ts b/date-fns/src/fp/nextThursday/index.d.ts
new file mode 100644
index 0000000..1f2dcf0
--- /dev/null
+++ b/date-fns/src/fp/nextThursday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { nextThursday } from 'date-fns/fp'
+export default nextThursday
diff --git a/date-fns/src/fp/nextThursday/index.js b/date-fns/src/fp/nextThursday/index.js
new file mode 100644
index 0000000..9e22adf
--- /dev/null
+++ b/date-fns/src/fp/nextThursday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../nextThursday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var nextThursday = convertToFP(fn, 1)
+
+export default nextThursday
diff --git a/date-fns/src/fp/nextThursday/index.js.flow b/date-fns/src/fp/nextThursday/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/nextThursday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/nextTuesday/index.d.ts b/date-fns/src/fp/nextTuesday/index.d.ts
new file mode 100644
index 0000000..4842cc0
--- /dev/null
+++ b/date-fns/src/fp/nextTuesday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { nextTuesday } from 'date-fns/fp'
+export default nextTuesday
diff --git a/date-fns/src/fp/nextTuesday/index.js b/date-fns/src/fp/nextTuesday/index.js
new file mode 100644
index 0000000..648bcc8
--- /dev/null
+++ b/date-fns/src/fp/nextTuesday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../nextTuesday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var nextTuesday = convertToFP(fn, 1)
+
+export default nextTuesday
diff --git a/date-fns/src/fp/nextTuesday/index.js.flow b/date-fns/src/fp/nextTuesday/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/nextTuesday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/nextWednesday/index.d.ts b/date-fns/src/fp/nextWednesday/index.d.ts
new file mode 100644
index 0000000..800d5a5
--- /dev/null
+++ b/date-fns/src/fp/nextWednesday/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { nextWednesday } from 'date-fns/fp'
+export default nextWednesday
diff --git a/date-fns/src/fp/nextWednesday/index.js b/date-fns/src/fp/nextWednesday/index.js
new file mode 100644
index 0000000..007100f
--- /dev/null
+++ b/date-fns/src/fp/nextWednesday/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../nextWednesday/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var nextWednesday = convertToFP(fn, 1)
+
+export default nextWednesday
diff --git a/date-fns/src/fp/nextWednesday/index.js.flow b/date-fns/src/fp/nextWednesday/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/nextWednesday/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/parse/index.d.ts b/date-fns/src/fp/parse/index.d.ts
new file mode 100644
index 0000000..0d42228
--- /dev/null
+++ b/date-fns/src/fp/parse/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { parse } from 'date-fns/fp'
+export default parse
diff --git a/date-fns/src/fp/parse/index.js b/date-fns/src/fp/parse/index.js
new file mode 100644
index 0000000..3a34a83
--- /dev/null
+++ b/date-fns/src/fp/parse/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../parse/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var parse = convertToFP(fn, 3)
+
+export default parse
diff --git a/date-fns/src/fp/parse/index.js.flow b/date-fns/src/fp/parse/index.js.flow
new file mode 100644
index 0000000..7146666
--- /dev/null
+++ b/date-fns/src/fp/parse/index.js.flow
@@ -0,0 +1,67 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<Date | number, string, string, Date>
diff --git a/date-fns/src/fp/parseISO/index.d.ts b/date-fns/src/fp/parseISO/index.d.ts
new file mode 100644
index 0000000..f89741c
--- /dev/null
+++ b/date-fns/src/fp/parseISO/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { parseISO } from 'date-fns/fp'
+export default parseISO
diff --git a/date-fns/src/fp/parseISO/index.js b/date-fns/src/fp/parseISO/index.js
new file mode 100644
index 0000000..2b6c652
--- /dev/null
+++ b/date-fns/src/fp/parseISO/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../parseISO/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var parseISO = convertToFP(fn, 1)
+
+export default parseISO
diff --git a/date-fns/src/fp/parseISO/index.js.flow b/date-fns/src/fp/parseISO/index.js.flow
new file mode 100644
index 0000000..4d84593
--- /dev/null
+++ b/date-fns/src/fp/parseISO/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<string, Date>
diff --git a/date-fns/src/fp/parseISOWithOptions/index.d.ts b/date-fns/src/fp/parseISOWithOptions/index.d.ts
new file mode 100644
index 0000000..b90cbd3
--- /dev/null
+++ b/date-fns/src/fp/parseISOWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { parseISOWithOptions } from 'date-fns/fp'
+export default parseISOWithOptions
diff --git a/date-fns/src/fp/parseISOWithOptions/index.js b/date-fns/src/fp/parseISOWithOptions/index.js
new file mode 100644
index 0000000..8927125
--- /dev/null
+++ b/date-fns/src/fp/parseISOWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../parseISO/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var parseISOWithOptions = convertToFP(fn, 2)
+
+export default parseISOWithOptions
diff --git a/date-fns/src/fp/parseISOWithOptions/index.js.flow b/date-fns/src/fp/parseISOWithOptions/index.js.flow
new file mode 100644
index 0000000..d2d80ca
--- /dev/null
+++ b/date-fns/src/fp/parseISOWithOptions/index.js.flow
@@ -0,0 +1,64 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ additionalDigits?: 0 | 1 | 2,
+ },
+ string,
+ Date
+>
diff --git a/date-fns/src/fp/parseJSON/index.d.ts b/date-fns/src/fp/parseJSON/index.d.ts
new file mode 100644
index 0000000..dd64334
--- /dev/null
+++ b/date-fns/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/date-fns/src/fp/parseJSON/index.js b/date-fns/src/fp/parseJSON/index.js
new file mode 100644
index 0000000..115c5e8
--- /dev/null
+++ b/date-fns/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'
+import convertToFP from '../_lib/convertToFP/index'
+
+var parseJSON = convertToFP(fn, 1)
+
+export default parseJSON
diff --git a/date-fns/src/fp/parseJSON/index.js.flow b/date-fns/src/fp/parseJSON/index.js.flow
new file mode 100644
index 0000000..9b7f47a
--- /dev/null
+++ b/date-fns/src/fp/parseJSON/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<string | number | Date, Date>
diff --git a/date-fns/src/fp/parseWithOptions/index.d.ts b/date-fns/src/fp/parseWithOptions/index.d.ts
new file mode 100644
index 0000000..d33b4ae
--- /dev/null
+++ b/date-fns/src/fp/parseWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { parseWithOptions } from 'date-fns/fp'
+export default parseWithOptions
diff --git a/date-fns/src/fp/parseWithOptions/index.js b/date-fns/src/fp/parseWithOptions/index.js
new file mode 100644
index 0000000..1a4d39a
--- /dev/null
+++ b/date-fns/src/fp/parseWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../parse/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var parseWithOptions = convertToFP(fn, 4)
+
+export default parseWithOptions
diff --git a/date-fns/src/fp/parseWithOptions/index.js.flow b/date-fns/src/fp/parseWithOptions/index.js.flow
new file mode 100644
index 0000000..e767e62
--- /dev/null
+++ b/date-fns/src/fp/parseWithOptions/index.js.flow
@@ -0,0 +1,94 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+type CurriedFn4<A, B, C, D, R> = <A>(
+ a: A
+) =>
+ | CurriedFn3<B, C, D, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) =>
+ | CurriedFn2<C, D, R>
+ | (<A, B, C>(
+ a: A,
+ b: B,
+ c: C
+ ) => CurriedFn1<D, R> | (<A, B, C, D>(a: A, b: B, c: C, d: D) => R)))
+
+declare module.exports: CurriedFn4<
+ {
+ useAdditionalDayOfYearTokens?: boolean,
+ useAdditionalWeekYearTokens?: boolean,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ string,
+ string,
+ Date
+>
diff --git a/date-fns/src/fp/quartersToMonths/index.d.ts b/date-fns/src/fp/quartersToMonths/index.d.ts
new file mode 100644
index 0000000..07220e8
--- /dev/null
+++ b/date-fns/src/fp/quartersToMonths/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { quartersToMonths } from 'date-fns/fp'
+export default quartersToMonths
diff --git a/date-fns/src/fp/quartersToMonths/index.js b/date-fns/src/fp/quartersToMonths/index.js
new file mode 100644
index 0000000..d804e23
--- /dev/null
+++ b/date-fns/src/fp/quartersToMonths/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../quartersToMonths/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var quartersToMonths = convertToFP(fn, 1)
+
+export default quartersToMonths
diff --git a/date-fns/src/fp/quartersToMonths/index.js.flow b/date-fns/src/fp/quartersToMonths/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/quartersToMonths/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/quartersToYears/index.d.ts b/date-fns/src/fp/quartersToYears/index.d.ts
new file mode 100644
index 0000000..6613aeb
--- /dev/null
+++ b/date-fns/src/fp/quartersToYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { quartersToYears } from 'date-fns/fp'
+export default quartersToYears
diff --git a/date-fns/src/fp/quartersToYears/index.js b/date-fns/src/fp/quartersToYears/index.js
new file mode 100644
index 0000000..9d28be7
--- /dev/null
+++ b/date-fns/src/fp/quartersToYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../quartersToYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var quartersToYears = convertToFP(fn, 1)
+
+export default quartersToYears
diff --git a/date-fns/src/fp/quartersToYears/index.js.flow b/date-fns/src/fp/quartersToYears/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/quartersToYears/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/roundToNearestMinutes/index.d.ts b/date-fns/src/fp/roundToNearestMinutes/index.d.ts
new file mode 100644
index 0000000..7777ce2
--- /dev/null
+++ b/date-fns/src/fp/roundToNearestMinutes/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { roundToNearestMinutes } from 'date-fns/fp'
+export default roundToNearestMinutes
diff --git a/date-fns/src/fp/roundToNearestMinutes/index.js b/date-fns/src/fp/roundToNearestMinutes/index.js
new file mode 100644
index 0000000..b2e0264
--- /dev/null
+++ b/date-fns/src/fp/roundToNearestMinutes/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../roundToNearestMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var roundToNearestMinutes = convertToFP(fn, 1)
+
+export default roundToNearestMinutes
diff --git a/date-fns/src/fp/roundToNearestMinutes/index.js.flow b/date-fns/src/fp/roundToNearestMinutes/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/roundToNearestMinutes/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/roundToNearestMinutesWithOptions/index.d.ts b/date-fns/src/fp/roundToNearestMinutesWithOptions/index.d.ts
new file mode 100644
index 0000000..fcd4df4
--- /dev/null
+++ b/date-fns/src/fp/roundToNearestMinutesWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { roundToNearestMinutesWithOptions } from 'date-fns/fp'
+export default roundToNearestMinutesWithOptions
diff --git a/date-fns/src/fp/roundToNearestMinutesWithOptions/index.js b/date-fns/src/fp/roundToNearestMinutesWithOptions/index.js
new file mode 100644
index 0000000..921eacc
--- /dev/null
+++ b/date-fns/src/fp/roundToNearestMinutesWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../roundToNearestMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var roundToNearestMinutesWithOptions = convertToFP(fn, 2)
+
+export default roundToNearestMinutesWithOptions
diff --git a/date-fns/src/fp/roundToNearestMinutesWithOptions/index.js.flow b/date-fns/src/fp/roundToNearestMinutesWithOptions/index.js.flow
new file mode 100644
index 0000000..b19bdb5
--- /dev/null
+++ b/date-fns/src/fp/roundToNearestMinutesWithOptions/index.js.flow
@@ -0,0 +1,64 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ nearestTo?: number,
+ },
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/secondsToHours/index.d.ts b/date-fns/src/fp/secondsToHours/index.d.ts
new file mode 100644
index 0000000..931f3a7
--- /dev/null
+++ b/date-fns/src/fp/secondsToHours/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { secondsToHours } from 'date-fns/fp'
+export default secondsToHours
diff --git a/date-fns/src/fp/secondsToHours/index.js b/date-fns/src/fp/secondsToHours/index.js
new file mode 100644
index 0000000..3e789d6
--- /dev/null
+++ b/date-fns/src/fp/secondsToHours/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../secondsToHours/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var secondsToHours = convertToFP(fn, 1)
+
+export default secondsToHours
diff --git a/date-fns/src/fp/secondsToHours/index.js.flow b/date-fns/src/fp/secondsToHours/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/secondsToHours/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/secondsToMilliseconds/index.d.ts b/date-fns/src/fp/secondsToMilliseconds/index.d.ts
new file mode 100644
index 0000000..98df8f2
--- /dev/null
+++ b/date-fns/src/fp/secondsToMilliseconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { secondsToMilliseconds } from 'date-fns/fp'
+export default secondsToMilliseconds
diff --git a/date-fns/src/fp/secondsToMilliseconds/index.js b/date-fns/src/fp/secondsToMilliseconds/index.js
new file mode 100644
index 0000000..daafff0
--- /dev/null
+++ b/date-fns/src/fp/secondsToMilliseconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../secondsToMilliseconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var secondsToMilliseconds = convertToFP(fn, 1)
+
+export default secondsToMilliseconds
diff --git a/date-fns/src/fp/secondsToMilliseconds/index.js.flow b/date-fns/src/fp/secondsToMilliseconds/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/secondsToMilliseconds/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/secondsToMinutes/index.d.ts b/date-fns/src/fp/secondsToMinutes/index.d.ts
new file mode 100644
index 0000000..e22b528
--- /dev/null
+++ b/date-fns/src/fp/secondsToMinutes/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { secondsToMinutes } from 'date-fns/fp'
+export default secondsToMinutes
diff --git a/date-fns/src/fp/secondsToMinutes/index.js b/date-fns/src/fp/secondsToMinutes/index.js
new file mode 100644
index 0000000..9aacc97
--- /dev/null
+++ b/date-fns/src/fp/secondsToMinutes/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../secondsToMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var secondsToMinutes = convertToFP(fn, 1)
+
+export default secondsToMinutes
diff --git a/date-fns/src/fp/secondsToMinutes/index.js.flow b/date-fns/src/fp/secondsToMinutes/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/secondsToMinutes/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/set/index.d.ts b/date-fns/src/fp/set/index.d.ts
new file mode 100644
index 0000000..601f00b
--- /dev/null
+++ b/date-fns/src/fp/set/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { set } from 'date-fns/fp'
+export default set
diff --git a/date-fns/src/fp/set/index.js b/date-fns/src/fp/set/index.js
new file mode 100644
index 0000000..8a17025
--- /dev/null
+++ b/date-fns/src/fp/set/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../set/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var set = convertToFP(fn, 2)
+
+export default set
diff --git a/date-fns/src/fp/set/index.js.flow b/date-fns/src/fp/set/index.js.flow
new file mode 100644
index 0000000..ccc5aca
--- /dev/null
+++ b/date-fns/src/fp/set/index.js.flow
@@ -0,0 +1,70 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ milliseconds?: number,
+ seconds?: number,
+ minutes?: number,
+ hours?: number,
+ date?: number,
+ month?: number,
+ year?: number,
+ },
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/setDate/index.d.ts b/date-fns/src/fp/setDate/index.d.ts
new file mode 100644
index 0000000..1d6343e
--- /dev/null
+++ b/date-fns/src/fp/setDate/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setDate } from 'date-fns/fp'
+export default setDate
diff --git a/date-fns/src/fp/setDate/index.js b/date-fns/src/fp/setDate/index.js
new file mode 100644
index 0000000..6548221
--- /dev/null
+++ b/date-fns/src/fp/setDate/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setDate/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setDate = convertToFP(fn, 2)
+
+export default setDate
diff --git a/date-fns/src/fp/setDate/index.js.flow b/date-fns/src/fp/setDate/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setDate/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setDay/index.d.ts b/date-fns/src/fp/setDay/index.d.ts
new file mode 100644
index 0000000..aa37dd9
--- /dev/null
+++ b/date-fns/src/fp/setDay/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setDay } from 'date-fns/fp'
+export default setDay
diff --git a/date-fns/src/fp/setDay/index.js b/date-fns/src/fp/setDay/index.js
new file mode 100644
index 0000000..3a7b804
--- /dev/null
+++ b/date-fns/src/fp/setDay/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setDay/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setDay = convertToFP(fn, 2)
+
+export default setDay
diff --git a/date-fns/src/fp/setDay/index.js.flow b/date-fns/src/fp/setDay/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setDay/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setDayOfYear/index.d.ts b/date-fns/src/fp/setDayOfYear/index.d.ts
new file mode 100644
index 0000000..4453a59
--- /dev/null
+++ b/date-fns/src/fp/setDayOfYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setDayOfYear } from 'date-fns/fp'
+export default setDayOfYear
diff --git a/date-fns/src/fp/setDayOfYear/index.js b/date-fns/src/fp/setDayOfYear/index.js
new file mode 100644
index 0000000..f1af2c7
--- /dev/null
+++ b/date-fns/src/fp/setDayOfYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setDayOfYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setDayOfYear = convertToFP(fn, 2)
+
+export default setDayOfYear
diff --git a/date-fns/src/fp/setDayOfYear/index.js.flow b/date-fns/src/fp/setDayOfYear/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setDayOfYear/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setDayWithOptions/index.d.ts b/date-fns/src/fp/setDayWithOptions/index.d.ts
new file mode 100644
index 0000000..537c230
--- /dev/null
+++ b/date-fns/src/fp/setDayWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setDayWithOptions } from 'date-fns/fp'
+export default setDayWithOptions
diff --git a/date-fns/src/fp/setDayWithOptions/index.js b/date-fns/src/fp/setDayWithOptions/index.js
new file mode 100644
index 0000000..44a02c6
--- /dev/null
+++ b/date-fns/src/fp/setDayWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setDay/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setDayWithOptions = convertToFP(fn, 3)
+
+export default setDayWithOptions
diff --git a/date-fns/src/fp/setDayWithOptions/index.js.flow b/date-fns/src/fp/setDayWithOptions/index.js.flow
new file mode 100644
index 0000000..62d0e5e
--- /dev/null
+++ b/date-fns/src/fp/setDayWithOptions/index.js.flow
@@ -0,0 +1,75 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ number,
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/setHours/index.d.ts b/date-fns/src/fp/setHours/index.d.ts
new file mode 100644
index 0000000..4ca8a06
--- /dev/null
+++ b/date-fns/src/fp/setHours/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setHours } from 'date-fns/fp'
+export default setHours
diff --git a/date-fns/src/fp/setHours/index.js b/date-fns/src/fp/setHours/index.js
new file mode 100644
index 0000000..81688bf
--- /dev/null
+++ b/date-fns/src/fp/setHours/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setHours/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setHours = convertToFP(fn, 2)
+
+export default setHours
diff --git a/date-fns/src/fp/setHours/index.js.flow b/date-fns/src/fp/setHours/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setHours/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setISODay/index.d.ts b/date-fns/src/fp/setISODay/index.d.ts
new file mode 100644
index 0000000..7319d5a
--- /dev/null
+++ b/date-fns/src/fp/setISODay/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setISODay } from 'date-fns/fp'
+export default setISODay
diff --git a/date-fns/src/fp/setISODay/index.js b/date-fns/src/fp/setISODay/index.js
new file mode 100644
index 0000000..0807db1
--- /dev/null
+++ b/date-fns/src/fp/setISODay/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setISODay/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setISODay = convertToFP(fn, 2)
+
+export default setISODay
diff --git a/date-fns/src/fp/setISODay/index.js.flow b/date-fns/src/fp/setISODay/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setISODay/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setISOWeek/index.d.ts b/date-fns/src/fp/setISOWeek/index.d.ts
new file mode 100644
index 0000000..ca354ce
--- /dev/null
+++ b/date-fns/src/fp/setISOWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setISOWeek } from 'date-fns/fp'
+export default setISOWeek
diff --git a/date-fns/src/fp/setISOWeek/index.js b/date-fns/src/fp/setISOWeek/index.js
new file mode 100644
index 0000000..e7823d2
--- /dev/null
+++ b/date-fns/src/fp/setISOWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setISOWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setISOWeek = convertToFP(fn, 2)
+
+export default setISOWeek
diff --git a/date-fns/src/fp/setISOWeek/index.js.flow b/date-fns/src/fp/setISOWeek/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setISOWeek/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setISOWeekYear/index.d.ts b/date-fns/src/fp/setISOWeekYear/index.d.ts
new file mode 100644
index 0000000..7e1fc21
--- /dev/null
+++ b/date-fns/src/fp/setISOWeekYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setISOWeekYear } from 'date-fns/fp'
+export default setISOWeekYear
diff --git a/date-fns/src/fp/setISOWeekYear/index.js b/date-fns/src/fp/setISOWeekYear/index.js
new file mode 100644
index 0000000..94234f1
--- /dev/null
+++ b/date-fns/src/fp/setISOWeekYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setISOWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setISOWeekYear = convertToFP(fn, 2)
+
+export default setISOWeekYear
diff --git a/date-fns/src/fp/setISOWeekYear/index.js.flow b/date-fns/src/fp/setISOWeekYear/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setISOWeekYear/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setMilliseconds/index.d.ts b/date-fns/src/fp/setMilliseconds/index.d.ts
new file mode 100644
index 0000000..0ee89fa
--- /dev/null
+++ b/date-fns/src/fp/setMilliseconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setMilliseconds } from 'date-fns/fp'
+export default setMilliseconds
diff --git a/date-fns/src/fp/setMilliseconds/index.js b/date-fns/src/fp/setMilliseconds/index.js
new file mode 100644
index 0000000..32e1a47
--- /dev/null
+++ b/date-fns/src/fp/setMilliseconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setMilliseconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setMilliseconds = convertToFP(fn, 2)
+
+export default setMilliseconds
diff --git a/date-fns/src/fp/setMilliseconds/index.js.flow b/date-fns/src/fp/setMilliseconds/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setMilliseconds/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setMinutes/index.d.ts b/date-fns/src/fp/setMinutes/index.d.ts
new file mode 100644
index 0000000..9e8d636
--- /dev/null
+++ b/date-fns/src/fp/setMinutes/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setMinutes } from 'date-fns/fp'
+export default setMinutes
diff --git a/date-fns/src/fp/setMinutes/index.js b/date-fns/src/fp/setMinutes/index.js
new file mode 100644
index 0000000..a22b6c1
--- /dev/null
+++ b/date-fns/src/fp/setMinutes/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setMinutes = convertToFP(fn, 2)
+
+export default setMinutes
diff --git a/date-fns/src/fp/setMinutes/index.js.flow b/date-fns/src/fp/setMinutes/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setMinutes/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setMonth/index.d.ts b/date-fns/src/fp/setMonth/index.d.ts
new file mode 100644
index 0000000..c9647b1
--- /dev/null
+++ b/date-fns/src/fp/setMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setMonth } from 'date-fns/fp'
+export default setMonth
diff --git a/date-fns/src/fp/setMonth/index.js b/date-fns/src/fp/setMonth/index.js
new file mode 100644
index 0000000..16de856
--- /dev/null
+++ b/date-fns/src/fp/setMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setMonth = convertToFP(fn, 2)
+
+export default setMonth
diff --git a/date-fns/src/fp/setMonth/index.js.flow b/date-fns/src/fp/setMonth/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setMonth/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setQuarter/index.d.ts b/date-fns/src/fp/setQuarter/index.d.ts
new file mode 100644
index 0000000..b94ff08
--- /dev/null
+++ b/date-fns/src/fp/setQuarter/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setQuarter } from 'date-fns/fp'
+export default setQuarter
diff --git a/date-fns/src/fp/setQuarter/index.js b/date-fns/src/fp/setQuarter/index.js
new file mode 100644
index 0000000..8834f9f
--- /dev/null
+++ b/date-fns/src/fp/setQuarter/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setQuarter/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setQuarter = convertToFP(fn, 2)
+
+export default setQuarter
diff --git a/date-fns/src/fp/setQuarter/index.js.flow b/date-fns/src/fp/setQuarter/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setQuarter/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setSeconds/index.d.ts b/date-fns/src/fp/setSeconds/index.d.ts
new file mode 100644
index 0000000..fbfa77e
--- /dev/null
+++ b/date-fns/src/fp/setSeconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setSeconds } from 'date-fns/fp'
+export default setSeconds
diff --git a/date-fns/src/fp/setSeconds/index.js b/date-fns/src/fp/setSeconds/index.js
new file mode 100644
index 0000000..2568487
--- /dev/null
+++ b/date-fns/src/fp/setSeconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setSeconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setSeconds = convertToFP(fn, 2)
+
+export default setSeconds
diff --git a/date-fns/src/fp/setSeconds/index.js.flow b/date-fns/src/fp/setSeconds/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setSeconds/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setWeek/index.d.ts b/date-fns/src/fp/setWeek/index.d.ts
new file mode 100644
index 0000000..d9edcaa
--- /dev/null
+++ b/date-fns/src/fp/setWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setWeek } from 'date-fns/fp'
+export default setWeek
diff --git a/date-fns/src/fp/setWeek/index.js b/date-fns/src/fp/setWeek/index.js
new file mode 100644
index 0000000..b1788fc
--- /dev/null
+++ b/date-fns/src/fp/setWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setWeek = convertToFP(fn, 2)
+
+export default setWeek
diff --git a/date-fns/src/fp/setWeek/index.js.flow b/date-fns/src/fp/setWeek/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setWeek/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setWeekWithOptions/index.d.ts b/date-fns/src/fp/setWeekWithOptions/index.d.ts
new file mode 100644
index 0000000..2971c7a
--- /dev/null
+++ b/date-fns/src/fp/setWeekWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setWeekWithOptions } from 'date-fns/fp'
+export default setWeekWithOptions
diff --git a/date-fns/src/fp/setWeekWithOptions/index.js b/date-fns/src/fp/setWeekWithOptions/index.js
new file mode 100644
index 0000000..bbbb2ea
--- /dev/null
+++ b/date-fns/src/fp/setWeekWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setWeekWithOptions = convertToFP(fn, 3)
+
+export default setWeekWithOptions
diff --git a/date-fns/src/fp/setWeekWithOptions/index.js.flow b/date-fns/src/fp/setWeekWithOptions/index.js.flow
new file mode 100644
index 0000000..ffea29c
--- /dev/null
+++ b/date-fns/src/fp/setWeekWithOptions/index.js.flow
@@ -0,0 +1,76 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ number,
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/setWeekYear/index.d.ts b/date-fns/src/fp/setWeekYear/index.d.ts
new file mode 100644
index 0000000..7d2c6cc
--- /dev/null
+++ b/date-fns/src/fp/setWeekYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setWeekYear } from 'date-fns/fp'
+export default setWeekYear
diff --git a/date-fns/src/fp/setWeekYear/index.js b/date-fns/src/fp/setWeekYear/index.js
new file mode 100644
index 0000000..2b34888
--- /dev/null
+++ b/date-fns/src/fp/setWeekYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setWeekYear = convertToFP(fn, 2)
+
+export default setWeekYear
diff --git a/date-fns/src/fp/setWeekYear/index.js.flow b/date-fns/src/fp/setWeekYear/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setWeekYear/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/setWeekYearWithOptions/index.d.ts b/date-fns/src/fp/setWeekYearWithOptions/index.d.ts
new file mode 100644
index 0000000..5d52f8f
--- /dev/null
+++ b/date-fns/src/fp/setWeekYearWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setWeekYearWithOptions } from 'date-fns/fp'
+export default setWeekYearWithOptions
diff --git a/date-fns/src/fp/setWeekYearWithOptions/index.js b/date-fns/src/fp/setWeekYearWithOptions/index.js
new file mode 100644
index 0000000..2f13647
--- /dev/null
+++ b/date-fns/src/fp/setWeekYearWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setWeekYearWithOptions = convertToFP(fn, 3)
+
+export default setWeekYearWithOptions
diff --git a/date-fns/src/fp/setWeekYearWithOptions/index.js.flow b/date-fns/src/fp/setWeekYearWithOptions/index.js.flow
new file mode 100644
index 0000000..ffea29c
--- /dev/null
+++ b/date-fns/src/fp/setWeekYearWithOptions/index.js.flow
@@ -0,0 +1,76 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+type CurriedFn3<A, B, C, R> = <A>(
+ a: A
+) =>
+ | CurriedFn2<B, C, R>
+ | (<A, B>(
+ a: A,
+ b: B
+ ) => CurriedFn1<C, R> | (<A, B, C>(a: A, b: B, c: C) => R))
+
+declare module.exports: CurriedFn3<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ number,
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/setYear/index.d.ts b/date-fns/src/fp/setYear/index.d.ts
new file mode 100644
index 0000000..be24ce0
--- /dev/null
+++ b/date-fns/src/fp/setYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { setYear } from 'date-fns/fp'
+export default setYear
diff --git a/date-fns/src/fp/setYear/index.js b/date-fns/src/fp/setYear/index.js
new file mode 100644
index 0000000..edd0e1c
--- /dev/null
+++ b/date-fns/src/fp/setYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../setYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var setYear = convertToFP(fn, 2)
+
+export default setYear
diff --git a/date-fns/src/fp/setYear/index.js.flow b/date-fns/src/fp/setYear/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/setYear/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/startOfDay/index.d.ts b/date-fns/src/fp/startOfDay/index.d.ts
new file mode 100644
index 0000000..fed6b05
--- /dev/null
+++ b/date-fns/src/fp/startOfDay/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfDay } from 'date-fns/fp'
+export default startOfDay
diff --git a/date-fns/src/fp/startOfDay/index.js b/date-fns/src/fp/startOfDay/index.js
new file mode 100644
index 0000000..2347aef
--- /dev/null
+++ b/date-fns/src/fp/startOfDay/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfDay/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfDay = convertToFP(fn, 1)
+
+export default startOfDay
diff --git a/date-fns/src/fp/startOfDay/index.js.flow b/date-fns/src/fp/startOfDay/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfDay/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfDecade/index.d.ts b/date-fns/src/fp/startOfDecade/index.d.ts
new file mode 100644
index 0000000..127c156
--- /dev/null
+++ b/date-fns/src/fp/startOfDecade/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfDecade } from 'date-fns/fp'
+export default startOfDecade
diff --git a/date-fns/src/fp/startOfDecade/index.js b/date-fns/src/fp/startOfDecade/index.js
new file mode 100644
index 0000000..a051c74
--- /dev/null
+++ b/date-fns/src/fp/startOfDecade/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfDecade/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfDecade = convertToFP(fn, 1)
+
+export default startOfDecade
diff --git a/date-fns/src/fp/startOfDecade/index.js.flow b/date-fns/src/fp/startOfDecade/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfDecade/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfHour/index.d.ts b/date-fns/src/fp/startOfHour/index.d.ts
new file mode 100644
index 0000000..9a1905e
--- /dev/null
+++ b/date-fns/src/fp/startOfHour/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfHour } from 'date-fns/fp'
+export default startOfHour
diff --git a/date-fns/src/fp/startOfHour/index.js b/date-fns/src/fp/startOfHour/index.js
new file mode 100644
index 0000000..33d20e6
--- /dev/null
+++ b/date-fns/src/fp/startOfHour/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfHour/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfHour = convertToFP(fn, 1)
+
+export default startOfHour
diff --git a/date-fns/src/fp/startOfHour/index.js.flow b/date-fns/src/fp/startOfHour/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfHour/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfISOWeek/index.d.ts b/date-fns/src/fp/startOfISOWeek/index.d.ts
new file mode 100644
index 0000000..008f896
--- /dev/null
+++ b/date-fns/src/fp/startOfISOWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfISOWeek } from 'date-fns/fp'
+export default startOfISOWeek
diff --git a/date-fns/src/fp/startOfISOWeek/index.js b/date-fns/src/fp/startOfISOWeek/index.js
new file mode 100644
index 0000000..e84f988
--- /dev/null
+++ b/date-fns/src/fp/startOfISOWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfISOWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfISOWeek = convertToFP(fn, 1)
+
+export default startOfISOWeek
diff --git a/date-fns/src/fp/startOfISOWeek/index.js.flow b/date-fns/src/fp/startOfISOWeek/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfISOWeek/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfISOWeekYear/index.d.ts b/date-fns/src/fp/startOfISOWeekYear/index.d.ts
new file mode 100644
index 0000000..aab0b5a
--- /dev/null
+++ b/date-fns/src/fp/startOfISOWeekYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfISOWeekYear } from 'date-fns/fp'
+export default startOfISOWeekYear
diff --git a/date-fns/src/fp/startOfISOWeekYear/index.js b/date-fns/src/fp/startOfISOWeekYear/index.js
new file mode 100644
index 0000000..e33f0ed
--- /dev/null
+++ b/date-fns/src/fp/startOfISOWeekYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfISOWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfISOWeekYear = convertToFP(fn, 1)
+
+export default startOfISOWeekYear
diff --git a/date-fns/src/fp/startOfISOWeekYear/index.js.flow b/date-fns/src/fp/startOfISOWeekYear/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfISOWeekYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfMinute/index.d.ts b/date-fns/src/fp/startOfMinute/index.d.ts
new file mode 100644
index 0000000..013f3a4
--- /dev/null
+++ b/date-fns/src/fp/startOfMinute/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfMinute } from 'date-fns/fp'
+export default startOfMinute
diff --git a/date-fns/src/fp/startOfMinute/index.js b/date-fns/src/fp/startOfMinute/index.js
new file mode 100644
index 0000000..e7d001d
--- /dev/null
+++ b/date-fns/src/fp/startOfMinute/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfMinute/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfMinute = convertToFP(fn, 1)
+
+export default startOfMinute
diff --git a/date-fns/src/fp/startOfMinute/index.js.flow b/date-fns/src/fp/startOfMinute/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfMinute/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfMonth/index.d.ts b/date-fns/src/fp/startOfMonth/index.d.ts
new file mode 100644
index 0000000..edbb15f
--- /dev/null
+++ b/date-fns/src/fp/startOfMonth/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfMonth } from 'date-fns/fp'
+export default startOfMonth
diff --git a/date-fns/src/fp/startOfMonth/index.js b/date-fns/src/fp/startOfMonth/index.js
new file mode 100644
index 0000000..fafef31
--- /dev/null
+++ b/date-fns/src/fp/startOfMonth/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfMonth/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfMonth = convertToFP(fn, 1)
+
+export default startOfMonth
diff --git a/date-fns/src/fp/startOfMonth/index.js.flow b/date-fns/src/fp/startOfMonth/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfMonth/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfQuarter/index.d.ts b/date-fns/src/fp/startOfQuarter/index.d.ts
new file mode 100644
index 0000000..1c3b602
--- /dev/null
+++ b/date-fns/src/fp/startOfQuarter/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfQuarter } from 'date-fns/fp'
+export default startOfQuarter
diff --git a/date-fns/src/fp/startOfQuarter/index.js b/date-fns/src/fp/startOfQuarter/index.js
new file mode 100644
index 0000000..8a57f8f
--- /dev/null
+++ b/date-fns/src/fp/startOfQuarter/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfQuarter/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfQuarter = convertToFP(fn, 1)
+
+export default startOfQuarter
diff --git a/date-fns/src/fp/startOfQuarter/index.js.flow b/date-fns/src/fp/startOfQuarter/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfQuarter/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfSecond/index.d.ts b/date-fns/src/fp/startOfSecond/index.d.ts
new file mode 100644
index 0000000..866aa6f
--- /dev/null
+++ b/date-fns/src/fp/startOfSecond/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfSecond } from 'date-fns/fp'
+export default startOfSecond
diff --git a/date-fns/src/fp/startOfSecond/index.js b/date-fns/src/fp/startOfSecond/index.js
new file mode 100644
index 0000000..91548ab
--- /dev/null
+++ b/date-fns/src/fp/startOfSecond/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfSecond/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfSecond = convertToFP(fn, 1)
+
+export default startOfSecond
diff --git a/date-fns/src/fp/startOfSecond/index.js.flow b/date-fns/src/fp/startOfSecond/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfSecond/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfWeek/index.d.ts b/date-fns/src/fp/startOfWeek/index.d.ts
new file mode 100644
index 0000000..ab17841
--- /dev/null
+++ b/date-fns/src/fp/startOfWeek/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfWeek } from 'date-fns/fp'
+export default startOfWeek
diff --git a/date-fns/src/fp/startOfWeek/index.js b/date-fns/src/fp/startOfWeek/index.js
new file mode 100644
index 0000000..7de56af
--- /dev/null
+++ b/date-fns/src/fp/startOfWeek/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfWeek = convertToFP(fn, 1)
+
+export default startOfWeek
diff --git a/date-fns/src/fp/startOfWeek/index.js.flow b/date-fns/src/fp/startOfWeek/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfWeek/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfWeekWithOptions/index.d.ts b/date-fns/src/fp/startOfWeekWithOptions/index.d.ts
new file mode 100644
index 0000000..0bd5568
--- /dev/null
+++ b/date-fns/src/fp/startOfWeekWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfWeekWithOptions } from 'date-fns/fp'
+export default startOfWeekWithOptions
diff --git a/date-fns/src/fp/startOfWeekWithOptions/index.js b/date-fns/src/fp/startOfWeekWithOptions/index.js
new file mode 100644
index 0000000..22b45ed
--- /dev/null
+++ b/date-fns/src/fp/startOfWeekWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfWeek/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfWeekWithOptions = convertToFP(fn, 2)
+
+export default startOfWeekWithOptions
diff --git a/date-fns/src/fp/startOfWeekWithOptions/index.js.flow b/date-fns/src/fp/startOfWeekWithOptions/index.js.flow
new file mode 100644
index 0000000..9821646
--- /dev/null
+++ b/date-fns/src/fp/startOfWeekWithOptions/index.js.flow
@@ -0,0 +1,65 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/startOfWeekYear/index.d.ts b/date-fns/src/fp/startOfWeekYear/index.d.ts
new file mode 100644
index 0000000..17ce1cb
--- /dev/null
+++ b/date-fns/src/fp/startOfWeekYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfWeekYear } from 'date-fns/fp'
+export default startOfWeekYear
diff --git a/date-fns/src/fp/startOfWeekYear/index.js b/date-fns/src/fp/startOfWeekYear/index.js
new file mode 100644
index 0000000..aeb28a6
--- /dev/null
+++ b/date-fns/src/fp/startOfWeekYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfWeekYear = convertToFP(fn, 1)
+
+export default startOfWeekYear
diff --git a/date-fns/src/fp/startOfWeekYear/index.js.flow b/date-fns/src/fp/startOfWeekYear/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfWeekYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/startOfWeekYearWithOptions/index.d.ts b/date-fns/src/fp/startOfWeekYearWithOptions/index.d.ts
new file mode 100644
index 0000000..26f9e80
--- /dev/null
+++ b/date-fns/src/fp/startOfWeekYearWithOptions/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfWeekYearWithOptions } from 'date-fns/fp'
+export default startOfWeekYearWithOptions
diff --git a/date-fns/src/fp/startOfWeekYearWithOptions/index.js b/date-fns/src/fp/startOfWeekYearWithOptions/index.js
new file mode 100644
index 0000000..a2c4107
--- /dev/null
+++ b/date-fns/src/fp/startOfWeekYearWithOptions/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfWeekYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfWeekYearWithOptions = convertToFP(fn, 2)
+
+export default startOfWeekYearWithOptions
diff --git a/date-fns/src/fp/startOfWeekYearWithOptions/index.js.flow b/date-fns/src/fp/startOfWeekYearWithOptions/index.js.flow
new file mode 100644
index 0000000..236eaa5
--- /dev/null
+++ b/date-fns/src/fp/startOfWeekYearWithOptions/index.js.flow
@@ -0,0 +1,66 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<
+ {
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ locale?: Locale,
+ },
+ Date | number,
+ Date
+>
diff --git a/date-fns/src/fp/startOfYear/index.d.ts b/date-fns/src/fp/startOfYear/index.d.ts
new file mode 100644
index 0000000..6e94924
--- /dev/null
+++ b/date-fns/src/fp/startOfYear/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { startOfYear } from 'date-fns/fp'
+export default startOfYear
diff --git a/date-fns/src/fp/startOfYear/index.js b/date-fns/src/fp/startOfYear/index.js
new file mode 100644
index 0000000..2f7559b
--- /dev/null
+++ b/date-fns/src/fp/startOfYear/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../startOfYear/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var startOfYear = convertToFP(fn, 1)
+
+export default startOfYear
diff --git a/date-fns/src/fp/startOfYear/index.js.flow b/date-fns/src/fp/startOfYear/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/startOfYear/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/sub/index.d.ts b/date-fns/src/fp/sub/index.d.ts
new file mode 100644
index 0000000..c50f32f
--- /dev/null
+++ b/date-fns/src/fp/sub/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { sub } from 'date-fns/fp'
+export default sub
diff --git a/date-fns/src/fp/sub/index.js b/date-fns/src/fp/sub/index.js
new file mode 100644
index 0000000..cc93525
--- /dev/null
+++ b/date-fns/src/fp/sub/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../sub/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var sub = convertToFP(fn, 2)
+
+export default sub
diff --git a/date-fns/src/fp/sub/index.js.flow b/date-fns/src/fp/sub/index.js.flow
new file mode 100644
index 0000000..3d4363b
--- /dev/null
+++ b/date-fns/src/fp/sub/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<Duration, Date | number, Date>
diff --git a/date-fns/src/fp/subBusinessDays/index.d.ts b/date-fns/src/fp/subBusinessDays/index.d.ts
new file mode 100644
index 0000000..6f7c95a
--- /dev/null
+++ b/date-fns/src/fp/subBusinessDays/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subBusinessDays } from 'date-fns/fp'
+export default subBusinessDays
diff --git a/date-fns/src/fp/subBusinessDays/index.js b/date-fns/src/fp/subBusinessDays/index.js
new file mode 100644
index 0000000..805c008
--- /dev/null
+++ b/date-fns/src/fp/subBusinessDays/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subBusinessDays/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subBusinessDays = convertToFP(fn, 2)
+
+export default subBusinessDays
diff --git a/date-fns/src/fp/subBusinessDays/index.js.flow b/date-fns/src/fp/subBusinessDays/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subBusinessDays/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subDays/index.d.ts b/date-fns/src/fp/subDays/index.d.ts
new file mode 100644
index 0000000..8a72d43
--- /dev/null
+++ b/date-fns/src/fp/subDays/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subDays } from 'date-fns/fp'
+export default subDays
diff --git a/date-fns/src/fp/subDays/index.js b/date-fns/src/fp/subDays/index.js
new file mode 100644
index 0000000..2b5d109
--- /dev/null
+++ b/date-fns/src/fp/subDays/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subDays/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subDays = convertToFP(fn, 2)
+
+export default subDays
diff --git a/date-fns/src/fp/subDays/index.js.flow b/date-fns/src/fp/subDays/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subDays/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subHours/index.d.ts b/date-fns/src/fp/subHours/index.d.ts
new file mode 100644
index 0000000..6fcfa1f
--- /dev/null
+++ b/date-fns/src/fp/subHours/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subHours } from 'date-fns/fp'
+export default subHours
diff --git a/date-fns/src/fp/subHours/index.js b/date-fns/src/fp/subHours/index.js
new file mode 100644
index 0000000..6048270
--- /dev/null
+++ b/date-fns/src/fp/subHours/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subHours/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subHours = convertToFP(fn, 2)
+
+export default subHours
diff --git a/date-fns/src/fp/subHours/index.js.flow b/date-fns/src/fp/subHours/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subHours/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subISOWeekYears/index.d.ts b/date-fns/src/fp/subISOWeekYears/index.d.ts
new file mode 100644
index 0000000..430fca4
--- /dev/null
+++ b/date-fns/src/fp/subISOWeekYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subISOWeekYears } from 'date-fns/fp'
+export default subISOWeekYears
diff --git a/date-fns/src/fp/subISOWeekYears/index.js b/date-fns/src/fp/subISOWeekYears/index.js
new file mode 100644
index 0000000..af21ed1
--- /dev/null
+++ b/date-fns/src/fp/subISOWeekYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subISOWeekYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subISOWeekYears = convertToFP(fn, 2)
+
+export default subISOWeekYears
diff --git a/date-fns/src/fp/subISOWeekYears/index.js.flow b/date-fns/src/fp/subISOWeekYears/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subISOWeekYears/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subMilliseconds/index.d.ts b/date-fns/src/fp/subMilliseconds/index.d.ts
new file mode 100644
index 0000000..9310a1c
--- /dev/null
+++ b/date-fns/src/fp/subMilliseconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subMilliseconds } from 'date-fns/fp'
+export default subMilliseconds
diff --git a/date-fns/src/fp/subMilliseconds/index.js b/date-fns/src/fp/subMilliseconds/index.js
new file mode 100644
index 0000000..4d1cfb4
--- /dev/null
+++ b/date-fns/src/fp/subMilliseconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subMilliseconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subMilliseconds = convertToFP(fn, 2)
+
+export default subMilliseconds
diff --git a/date-fns/src/fp/subMilliseconds/index.js.flow b/date-fns/src/fp/subMilliseconds/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subMilliseconds/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subMinutes/index.d.ts b/date-fns/src/fp/subMinutes/index.d.ts
new file mode 100644
index 0000000..0b7db10
--- /dev/null
+++ b/date-fns/src/fp/subMinutes/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subMinutes } from 'date-fns/fp'
+export default subMinutes
diff --git a/date-fns/src/fp/subMinutes/index.js b/date-fns/src/fp/subMinutes/index.js
new file mode 100644
index 0000000..de68341
--- /dev/null
+++ b/date-fns/src/fp/subMinutes/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subMinutes/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subMinutes = convertToFP(fn, 2)
+
+export default subMinutes
diff --git a/date-fns/src/fp/subMinutes/index.js.flow b/date-fns/src/fp/subMinutes/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subMinutes/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subMonths/index.d.ts b/date-fns/src/fp/subMonths/index.d.ts
new file mode 100644
index 0000000..3d03d27
--- /dev/null
+++ b/date-fns/src/fp/subMonths/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subMonths } from 'date-fns/fp'
+export default subMonths
diff --git a/date-fns/src/fp/subMonths/index.js b/date-fns/src/fp/subMonths/index.js
new file mode 100644
index 0000000..328a912
--- /dev/null
+++ b/date-fns/src/fp/subMonths/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subMonths/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subMonths = convertToFP(fn, 2)
+
+export default subMonths
diff --git a/date-fns/src/fp/subMonths/index.js.flow b/date-fns/src/fp/subMonths/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subMonths/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subQuarters/index.d.ts b/date-fns/src/fp/subQuarters/index.d.ts
new file mode 100644
index 0000000..6362cec
--- /dev/null
+++ b/date-fns/src/fp/subQuarters/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subQuarters } from 'date-fns/fp'
+export default subQuarters
diff --git a/date-fns/src/fp/subQuarters/index.js b/date-fns/src/fp/subQuarters/index.js
new file mode 100644
index 0000000..ae7cfd7
--- /dev/null
+++ b/date-fns/src/fp/subQuarters/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subQuarters/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subQuarters = convertToFP(fn, 2)
+
+export default subQuarters
diff --git a/date-fns/src/fp/subQuarters/index.js.flow b/date-fns/src/fp/subQuarters/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subQuarters/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subSeconds/index.d.ts b/date-fns/src/fp/subSeconds/index.d.ts
new file mode 100644
index 0000000..c5c6635
--- /dev/null
+++ b/date-fns/src/fp/subSeconds/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subSeconds } from 'date-fns/fp'
+export default subSeconds
diff --git a/date-fns/src/fp/subSeconds/index.js b/date-fns/src/fp/subSeconds/index.js
new file mode 100644
index 0000000..5e70757
--- /dev/null
+++ b/date-fns/src/fp/subSeconds/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subSeconds/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subSeconds = convertToFP(fn, 2)
+
+export default subSeconds
diff --git a/date-fns/src/fp/subSeconds/index.js.flow b/date-fns/src/fp/subSeconds/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subSeconds/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subWeeks/index.d.ts b/date-fns/src/fp/subWeeks/index.d.ts
new file mode 100644
index 0000000..18eebcb
--- /dev/null
+++ b/date-fns/src/fp/subWeeks/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subWeeks } from 'date-fns/fp'
+export default subWeeks
diff --git a/date-fns/src/fp/subWeeks/index.js b/date-fns/src/fp/subWeeks/index.js
new file mode 100644
index 0000000..496a43a
--- /dev/null
+++ b/date-fns/src/fp/subWeeks/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subWeeks/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subWeeks = convertToFP(fn, 2)
+
+export default subWeeks
diff --git a/date-fns/src/fp/subWeeks/index.js.flow b/date-fns/src/fp/subWeeks/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subWeeks/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/subYears/index.d.ts b/date-fns/src/fp/subYears/index.d.ts
new file mode 100644
index 0000000..55abb01
--- /dev/null
+++ b/date-fns/src/fp/subYears/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { subYears } from 'date-fns/fp'
+export default subYears
diff --git a/date-fns/src/fp/subYears/index.js b/date-fns/src/fp/subYears/index.js
new file mode 100644
index 0000000..5ae0b22
--- /dev/null
+++ b/date-fns/src/fp/subYears/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../subYears/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var subYears = convertToFP(fn, 2)
+
+export default subYears
diff --git a/date-fns/src/fp/subYears/index.js.flow b/date-fns/src/fp/subYears/index.js.flow
new file mode 100644
index 0000000..75c22e2
--- /dev/null
+++ b/date-fns/src/fp/subYears/index.js.flow
@@ -0,0 +1,58 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+type CurriedFn2<A, B, R> = <A>(
+ a: A
+) => CurriedFn1<B, R> | (<A, B>(a: A, b: B) => R)
+
+declare module.exports: CurriedFn2<number, Date | number, Date>
diff --git a/date-fns/src/fp/test.js b/date-fns/src/fp/test.js
new file mode 100644
index 0000000..cb69259
--- /dev/null
+++ b/date-fns/src/fp/test.js
@@ -0,0 +1,1045 @@
+// @flow
+/* eslint-env mocha */
+
+import assert from 'power-assert'
+import * as fp from '.'
+
+describe('FP functions', function() {
+ it('addDays', function() {
+ var result = fp.addDays(10)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 11))
+ })
+
+ it('addHours', function() {
+ var result = fp.addHours(2)(new Date(2014, 6 /* Jul */, 10, 23, 0))
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 11, 1, 0))
+ })
+
+ it('addISOWeekYears', function() {
+ var result = fp.addISOWeekYears(5)(new Date(2010, 6 /* Jul */, 2))
+ assert.deepEqual(result, new Date(2015, 5 /* Jun */, 26))
+ })
+
+ it('addMilliseconds', function() {
+ var result = fp.addMilliseconds(750)(
+ new Date(2014, 6 /* Jul */, 10, 12, 45, 30, 0)
+ )
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 10, 12, 45, 30, 750))
+ })
+
+ it('addMinutes', function() {
+ var result = fp.addMinutes(30)(new Date(2014, 6 /* Jul */, 10, 12, 0))
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 10, 12, 30))
+ })
+
+ it('addMonths', function() {
+ var result = fp.addMonths(5)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2015, 1 /* Feb */, 1))
+ })
+
+ it('addQuarters', function() {
+ var result = fp.addQuarters(1)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2014, 11 /* Dec */, 1))
+ })
+
+ it('addSeconds', function() {
+ var result = fp.addSeconds(30)(new Date(2014, 6 /* Jul */, 10, 12, 45, 0))
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 10, 12, 45, 30))
+ })
+
+ it('addWeeks', function() {
+ var result = fp.addWeeks(4)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 29))
+ })
+
+ it('addYears', function() {
+ var result = fp.addYears(5)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2019, 8 /* Sep */, 1))
+ })
+
+ it('areIntervalsOverlapping', function() {
+ var leftInterval = {
+ start: new Date(2016, 10, 10, 13, 0, 0),
+ end: new Date(2016, 11, 3, 15, 0, 0)
+ }
+ var rightInterval = {
+ start: new Date(2016, 10, 14),
+ end: new Date(2016, 10, 14)
+ }
+
+ var result = fp.areIntervalsOverlapping(rightInterval)(leftInterval)
+ assert(result === true)
+ })
+
+ it('closestIndexTo', function() {
+ var date = new Date(2014, 6 /* Jul */, 2)
+ var result = fp.closestIndexTo([
+ new Date(2015, 7 /* Aug */, 31),
+ new Date(2012, 6 /* Jul */, 2)
+ ])(date)
+ assert.equal(result, 0)
+ })
+
+ it('closestTo', function() {
+ var date = new Date(2014, 6 /* Jul */, 2)
+ var result = fp.closestTo([
+ new Date(2015, 7 /* Aug */, 31),
+ new Date(2012, 6 /* Jul */, 2)
+ ])(date)
+ assert.deepEqual(result, new Date(2015, 7 /* Aug */, 31))
+ })
+
+ it('compareAsc', function() {
+ var result = fp.compareAsc(new Date(1989, 6 /* Jul */, 10))(
+ new Date(1987, 1 /* Feb */, 11)
+ )
+ assert(result === -1)
+ })
+
+ it('compareDesc', function() {
+ var result = fp.compareDesc(new Date(1989, 6 /* Jul */, 10))(
+ new Date(1987, 1 /* Feb */, 11)
+ )
+ assert(result === 1)
+ })
+
+ it('differenceInCalendarDays', function() {
+ var result = fp.differenceInCalendarDays(
+ new Date(2011, 6 /* Jul */, 2, 6, 0)
+ )(new Date(2012, 6 /* Jul */, 2, 18, 0))
+ assert(result === 366)
+ })
+
+ it('differenceInCalendarISOWeeks', function() {
+ var result = fp.differenceInCalendarISOWeeks(
+ new Date(2014, 5 /* Jun */, 29, 6, 0)
+ )(new Date(2014, 6 /* Jul */, 8, 18, 0))
+ assert(result === 2)
+ })
+
+ it('differenceInCalendarISOWeekYears', function() {
+ var result = fp.differenceInCalendarISOWeekYears(
+ new Date(2011, 6 /* Jul */, 2, 6, 0)
+ )(new Date(2012, 6 /* Jul */, 2, 18, 0))
+ assert(result === 1)
+ })
+
+ it('differenceInCalendarMonths', function() {
+ var result = fp.differenceInCalendarMonths(
+ new Date(2011, 6 /* Jul */, 2, 6, 0)
+ )(new Date(2012, 6 /* Jul */, 2, 18, 0))
+ assert(result === 12)
+ })
+
+ it('differenceInCalendarQuarters', function() {
+ var result = fp.differenceInCalendarQuarters(
+ new Date(2011, 6 /* Jul */, 2, 6, 0)
+ )(new Date(2012, 6 /* Jul */, 2, 18, 0))
+ assert(result === 4)
+ })
+
+ it('differenceInCalendarWeeks', function() {
+ var result = fp.differenceInCalendarWeeks(
+ new Date(2014, 5 /* Jun */, 29, 6, 0)
+ )(new Date(2014, 6 /* Jul */, 8, 18, 0))
+ assert(result === 1)
+ })
+
+ it('differenceInCalendarWeeksWithOptions', function() {
+ var result = fp.differenceInCalendarWeeksWithOptions({ weekStartsOn: 1 })(
+ new Date(2014, 5 /* Jun */, 29, 6, 0)
+ )(new Date(2014, 6 /* Jul */, 8, 18, 0))
+ assert(result === 2)
+ })
+
+ it('differenceInCalendarYears', function() {
+ var result = fp.differenceInCalendarYears(
+ new Date(2011, 6 /* Jul */, 2, 6, 0)
+ )(new Date(2012, 6 /* Jul */, 2, 18, 0))
+ assert(result === 1)
+ })
+
+ it('differenceInDays', function() {
+ var result = fp.differenceInDays(new Date(2011, 6 /* Jul */, 2, 6, 0))(
+ new Date(2012, 6 /* Jul */, 2, 18, 0)
+ )
+ assert(result === 366)
+ })
+
+ it('differenceInHours', function() {
+ var result = fp.differenceInHours(new Date(2014, 6 /* Jul */, 2, 6, 0))(
+ new Date(2014, 6 /* Jul */, 2, 20, 0)
+ )
+ assert(result === 14)
+ })
+
+ it('differenceInISOWeekYears', function() {
+ var result = fp.differenceInISOWeekYears(
+ new Date(2011, 6 /* Jul */, 2, 6, 0)
+ )(new Date(2012, 6 /* Jul */, 2, 18, 0))
+ assert(result === 1)
+ })
+
+ it('differenceInMilliseconds', function() {
+ var result = fp.differenceInMilliseconds(
+ new Date(2014, 6 /* Jul */, 2, 12, 30, 20, 600)
+ )(new Date(2014, 6 /* Jul */, 2, 12, 30, 20, 700))
+ assert(result === 100)
+ })
+
+ it('differenceInMinutes', function() {
+ var result = fp.differenceInMinutes(new Date(2014, 6 /* Jul */, 2, 12, 6))(
+ new Date(2014, 6 /* Jul */, 2, 12, 20)
+ )
+ assert(result === 14)
+ })
+
+ it('differenceInMonths', function() {
+ var result = fp.differenceInMonths(new Date(2011, 6 /* Jul */, 2, 6, 0))(
+ new Date(2012, 6 /* Jul */, 2, 18, 0)
+ )
+ assert(result === 12)
+ })
+
+ it('differenceInQuarters', function() {
+ var result = fp.differenceInQuarters(new Date(2011, 6 /* Jul */, 2, 6, 0))(
+ new Date(2012, 6 /* Jul */, 2, 18, 0)
+ )
+ assert(result === 4)
+ })
+
+ it('differenceInSeconds', function() {
+ var result = fp.differenceInSeconds(
+ new Date(2014, 6 /* Jul */, 2, 12, 30, 6)
+ )(new Date(2014, 6 /* Jul */, 2, 12, 30, 20))
+ assert(result === 14)
+ })
+
+ it('differenceInWeeks', function() {
+ var result = fp.differenceInWeeks(new Date(2014, 5 /* Jun */, 29, 6, 0))(
+ new Date(2014, 6 /* Jul */, 8, 18, 0)
+ )
+ assert(result === 1)
+ })
+
+ it('differenceInYears', function() {
+ var result = fp.differenceInYears(new Date(2011, 6 /* Jul */, 2, 6, 0))(
+ new Date(2012, 6 /* Jul */, 2, 18, 0)
+ )
+ assert(result === 1)
+ })
+
+ it('eachDayOfInterval', function() {
+ var interval = {
+ start: new Date(2014, 9 /* Oct */, 6),
+ end: new Date(2014, 9 /* Oct */, 12)
+ }
+ var result = fp.eachDayOfInterval(interval)
+ assert.deepEqual(result, [
+ new Date(2014, 9 /* Oct */, 6),
+ new Date(2014, 9 /* Oct */, 7),
+ new Date(2014, 9 /* Oct */, 8),
+ new Date(2014, 9 /* Oct */, 9),
+ new Date(2014, 9 /* Oct */, 10),
+ new Date(2014, 9 /* Oct */, 11),
+ new Date(2014, 9 /* Oct */, 12)
+ ])
+ })
+
+ it('eachWeekOfInterval', function() {
+ var interval = {
+ start: new Date(2014, 9 /* Oct */, 6),
+ end: new Date(2014, 10 /* Nov */, 23)
+ }
+ var result = fp.eachWeekOfInterval(interval)
+ assert.deepEqual(result, [
+ new Date(2014, 9 /* Oct */, 5),
+ new Date(2014, 9 /* Oct */, 12),
+ new Date(2014, 9 /* Oct */, 19),
+ new Date(2014, 9 /* Oct */, 26),
+ new Date(2014, 10 /* Nov */, 2),
+ new Date(2014, 10 /* Nov */, 9),
+ new Date(2014, 10 /* Nov */, 16),
+ new Date(2014, 10 /* Nov */, 23)
+ ])
+ })
+
+ it('eachWeekOfIntervalWithOptions', function() {
+ var interval = {
+ start: new Date(2014, 9 /* Oct */, 6),
+ end: new Date(2014, 10 /* Nov */, 23)
+ }
+ var result = fp.eachWeekOfIntervalWithOptions({ weekStartsOn: 2 })(interval)
+ assert.deepEqual(result, [
+ new Date(2014, 8 /* Sep */, 30),
+ new Date(2014, 9 /* Oct */, 7),
+ new Date(2014, 9 /* Oct */, 14),
+ new Date(2014, 9 /* Oct */, 21),
+ new Date(2014, 9 /* Oct */, 28),
+ new Date(2014, 10 /* Nov */, 4),
+ new Date(2014, 10 /* Nov */, 11),
+ new Date(2014, 10 /* Nov */, 18)
+ ])
+ })
+
+ it('endOfDay', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.endOfDay(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 2, 23, 59, 59, 999))
+ })
+
+ it('endOfHour', function() {
+ var date = new Date(2014, 11, 1, 22, 15)
+ var result = fp.endOfHour(date)
+ assert.deepEqual(result, new Date(2014, 11, 1, 22, 59, 59, 999))
+ })
+
+ it('endOfISOWeek', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.endOfISOWeek(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 7, 23, 59, 59, 999))
+ })
+
+ it('endOfISOWeekYear', function() {
+ var result = fp.endOfISOWeekYear(new Date(2009, 0 /* Jan */, 1, 16, 0))
+ assert.deepEqual(result, new Date(2010, 0 /* Jan */, 3, 23, 59, 59, 999))
+ })
+
+ it('endOfMinute', function() {
+ var date = new Date(2014, 11, 1, 22, 15)
+ var result = fp.endOfMinute(date)
+ assert.deepEqual(result, new Date(2014, 11, 1, 22, 15, 59, 999))
+ })
+
+ it('endOfMonth', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.endOfMonth(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 30, 23, 59, 59, 999))
+ })
+
+ it('endOfQuarter', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.endOfQuarter(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 30, 23, 59, 59, 999))
+ })
+
+ it('endOfSecond', function() {
+ var date = new Date(2014, 11, 1, 22, 15, 30)
+ var result = fp.endOfSecond(date)
+ assert.deepEqual(result, new Date(2014, 11, 1, 22, 15, 30, 999))
+ })
+
+ it('endOfWeek', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.endOfWeek(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 6, 23, 59, 59, 999))
+ })
+
+ it('endOfWeekWithOptions', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.endOfWeekWithOptions({ weekStartsOn: 2 })(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 8, 23, 59, 59, 999))
+ })
+
+ it('endOfYear', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.endOfYear(date)
+ assert.deepEqual(result, new Date(2014, 11 /* Dec */, 31, 23, 59, 59, 999))
+ })
+
+ it('format', function() {
+ var date = new Date(2014, 3, 4)
+ var result = fp.format('yyyy-MM-dd')(date)
+ assert(result === '2014-04-04')
+ })
+
+ it('formatWithOptions', function() {
+ var date = new Date(2014, 3, 4)
+ var result = fp.formatWithOptions({})('yyyy-MM-dd')(date)
+ assert(result === '2014-04-04')
+ })
+
+ it('formatDistance', function() {
+ var result = fp.formatDistance(new Date(1986, 3, 4, 10, 34, 50))(
+ new Date(1986, 3, 4, 10, 32, 0)
+ )
+ assert(result === '3 minutes')
+ })
+
+ it('formatDistanceWithOptions', function() {
+ var result = fp.formatDistanceWithOptions({ includeSeconds: true })(
+ new Date(1986, 3, 4, 10, 32, 3)
+ )(new Date(1986, 3, 4, 10, 32, 0))
+ assert(result === 'less than 5 seconds')
+ })
+
+ it('formatDistanceStrict', function() {
+ var result = fp.formatDistanceStrict(new Date(1986, 3, 7, 10, 32, 0))(
+ new Date(1986, 3, 4, 10, 32, 0)
+ )
+ assert(result === '3 days')
+ })
+
+ it('formatDistanceStrictWithOptions', function() {
+ var result = fp.formatDistanceStrictWithOptions({ addSuffix: true })(
+ new Date(1986, 3, 4, 10, 32, 0)
+ )(new Date(1986, 3, 4, 11, 32, 0))
+ assert(result === 'in 1 hour')
+ })
+
+ it('formatRelative', function() {
+ var result = fp.formatRelative(new Date(1986, 3 /* Apr */, 4, 10, 32))(
+ new Date(1986, 2 /* Mar */, 28, 16, 50)
+ )
+ assert(result === '03/28/1986')
+ })
+
+ it('formatRelativeWithOptions', function() {
+ var result = fp.formatRelativeWithOptions({})(
+ new Date(1986, 3 /* Apr */, 4, 10, 32)
+ )(new Date(1986, 2 /* Mar */, 28, 16, 50))
+ assert(result === '03/28/1986')
+ })
+
+ it('fromUnixTime', function() {
+ var result = fp.fromUnixTime(1330515499)
+ assert(result.getTime() === 1330515499000)
+ })
+
+ it('getDate', function() {
+ var result = fp.getDate(new Date(2012, 1 /* Feb */, 29))
+ assert(result === 29)
+ })
+
+ it('getDay', function() {
+ var result = fp.getDay(new Date(2012, 1 /* Feb */, 29))
+ assert(result === 3)
+ })
+
+ it('getDayOfYear', function() {
+ var result = fp.getDayOfYear(new Date(2014, 6 /* Jul */, 2))
+ assert(result === 183)
+ })
+
+ it('getDaysInMonth', function() {
+ var result = fp.getDaysInMonth(new Date(2100, 1 /* Feb */, 11))
+ assert(result === 28)
+ })
+
+ it('getDaysInYear', function() {
+ var result = fp.getDaysInYear(new Date(2012, 6 /* Jul */, 2))
+ assert(result === 366)
+ })
+
+ it('getHours', function() {
+ var result = fp.getHours(new Date(2012, 1 /* Feb */, 29, 11, 45))
+ assert(result === 11)
+ })
+
+ it('getISODay', function() {
+ var result = fp.getISODay(new Date(2012, 1 /* Feb */, 29))
+ assert(result === 3)
+ })
+
+ it('getISOWeek', function() {
+ var result = fp.getISOWeek(new Date(2005, 0 /* Jan */, 2))
+ assert(result === 53)
+ })
+
+ it('getISOWeeksInYear', function() {
+ var result = fp.getISOWeeksInYear(new Date(2015, 1 /* Feb */, 11))
+ assert(result === 53)
+ })
+
+ it('getISOWeekYear', function() {
+ var result = fp.getISOWeekYear(new Date(2007, 11 /* Dec */, 31))
+ assert(result === 2008)
+ })
+
+ it('getMilliseconds', function() {
+ var result = fp.getMilliseconds(
+ new Date(2012, 1 /* Feb */, 29, 11, 45, 5, 123)
+ )
+ assert(result === 123)
+ })
+
+ it('getMinutes', function() {
+ var result = fp.getMinutes(new Date(2012, 1 /* Feb */, 29, 11, 45, 5))
+ assert(result === 45)
+ })
+
+ it('getMonth', function() {
+ var result = fp.getMonth(new Date(2012, 1 /* Feb */, 29))
+ assert(result === 1)
+ })
+
+ it('getOverlappingDaysInIntervals', function() {
+ var leftInterval = {
+ start: new Date(2016, 10, 10, 13, 0, 0),
+ end: new Date(2016, 11, 3, 15, 0, 0)
+ }
+ var rightInterval = {
+ start: new Date(2016, 10, 5),
+ end: new Date(2016, 11, 15)
+ }
+ var numOverlappingDays = fp.getOverlappingDaysInIntervals(rightInterval)(
+ leftInterval
+ )
+ assert(numOverlappingDays === 24)
+ })
+
+ it('getQuarter', function() {
+ var result = fp.getQuarter(new Date(2014, 6 /* Jul */, 2))
+ assert(result === 3)
+ })
+
+ it('getSeconds', function() {
+ var result = fp.getSeconds(new Date(2012, 1 /* Feb */, 29, 11, 45, 5, 123))
+ assert(result === 5)
+ })
+
+ it('getTime', function() {
+ var timestamp = 1483228800000
+ var result = fp.getTime(new Date(timestamp))
+ assert(result === timestamp)
+ })
+
+ it('getWeek', function() {
+ var result = fp.getWeek(new Date(2005, 0 /* Jan */, 2))
+ assert(result === 2)
+ })
+
+ it('getWeeksInMonth', function() {
+ var result = fp.getWeeksInMonth(new Date(2017, 3 /* Apr */, 8, 18, 0))
+ assert(result === 6)
+ })
+
+ it('getWeeksInMonthWithOptions', function() {
+ var result = fp.getWeeksInMonthWithOptions({})(
+ new Date(2017, 3 /* Apr */, 8, 18, 0)
+ )
+ assert(result === 6)
+ })
+
+ it('getWeekOfMonth', function() {
+ var result = fp.getWeekOfMonth(new Date(2017, 10 /* Nov */, 15))
+ assert(result === 3)
+ })
+
+ it('getWeekOfMonthWithOptions', function() {
+ var result = fp.getWeekOfMonthWithOptions({ weekStartsOn: 1 })(
+ new Date(2017, 9 /* Oct */, 1)
+ )
+ assert(result === 1)
+ })
+
+ it('getWeekYear', function() {
+ var result = fp.getWeekYear(new Date(2004, 11 /* Dec */, 26))
+ assert(result === 2005)
+ })
+
+ it('getWeekYearWithOptions', function() {
+ var result = fp.getWeekYearWithOptions({
+ weekStartsOn: 1,
+ firstWeekContainsDate: 4
+ })(new Date(2004, 11 /* Dec */, 26))
+ assert(result === 2004)
+ })
+
+ it('getYear', function() {
+ var result = fp.getYear(new Date(2014, 6 /* Jul */, 2))
+ assert(result === 2014)
+ })
+
+ it('isAfter', function() {
+ var result = fp.isAfter(new Date(1987, 1 /* Feb */, 11))(
+ new Date(1989, 6 /* Jul */, 10)
+ )
+ assert(result === true)
+ })
+
+ it('isBefore', function() {
+ var result = fp.isBefore(new Date(1989, 6 /* Jul */, 10))(
+ new Date(1987, 1 /* Feb */, 11)
+ )
+ assert(result === true)
+ })
+
+ it('isEqual', function() {
+ var result = fp.isEqual(new Date(1987, 1 /* Feb */, 11))(
+ new Date(1987, 1 /* Feb */, 11)
+ )
+ assert(result === true)
+ })
+
+ it('isFirstDayOfMonth', function() {
+ var result = fp.isFirstDayOfMonth(new Date(2014, 9 /* Oct */, 1))
+ assert(result === true)
+ })
+
+ it('isFriday', function() {
+ var result = fp.isFriday(new Date(2014, 8 /* Sep */, 26))
+ assert(result === true)
+ })
+
+ it('isLastDayOfMonth', function() {
+ var result = fp.isLastDayOfMonth(new Date(2014, 9 /* Oct */, 31))
+ assert(result === true)
+ })
+
+ it('isLeapYear', function() {
+ var result = fp.isLeapYear(new Date(2012, 6 /* Jul */, 2))
+ assert(result === true)
+ })
+
+ it('isMonday', function() {
+ var result = fp.isMonday(new Date(2014, 8 /* Sep */, 22))
+ assert(result === true)
+ })
+
+ it('isSameDay', function() {
+ var result = fp.isSameDay(new Date(2014, 8 /* Sep */, 4, 18, 0))(
+ new Date(2014, 8 /* Sep */, 4, 6, 0)
+ )
+ assert(result === true)
+ })
+
+ it('isSameHour', function() {
+ var result = fp.isSameHour(new Date(2014, 8 /* Sep */, 4, 6, 30))(
+ new Date(2014, 8 /* Sep */, 4, 6, 0)
+ )
+ assert(result === true)
+ })
+
+ it('isSameISOWeek', function() {
+ var result = fp.isSameISOWeek(new Date(2014, 8 /* Sep */, 7))(
+ new Date(2014, 8 /* Sep */, 1)
+ )
+ assert(result === true)
+ })
+
+ it('isSameISOWeekYear', function() {
+ var result = fp.isSameISOWeekYear(new Date(2005, 0 /* Jan */, 2))(
+ new Date(2003, 11 /* Dec */, 29)
+ )
+ assert(result === true)
+ })
+
+ it('isSameMinute', function() {
+ var result = fp.isSameMinute(new Date(2014, 8 /* Sep */, 4, 6, 30, 15))(
+ new Date(2014, 8 /* Sep */, 4, 6, 30)
+ )
+ assert(result === true)
+ })
+
+ it('isSameMonth', function() {
+ var result = fp.isSameMonth(new Date(2014, 8 /* Sep */, 25))(
+ new Date(2014, 8 /* Sep */, 2)
+ )
+ assert(result === true)
+ })
+
+ it('isSameQuarter', function() {
+ var result = fp.isSameQuarter(new Date(2014, 2 /* Mar */, 8))(
+ new Date(2014, 0 /* Jan */, 1)
+ )
+ assert(result === true)
+ })
+
+ it('isSameSecond', function() {
+ var result = fp.isSameSecond(
+ new Date(2014, 8 /* Sep */, 4, 6, 30, 15, 500)
+ )(new Date(2014, 8 /* Sep */, 4, 6, 30, 15))
+ assert(result === true)
+ })
+
+ it('isSameWeek', function() {
+ var result = fp.isSameWeek(new Date(2014, 8 /* Sep */, 4))(
+ new Date(2014, 7 /* Aug */, 31)
+ )
+ assert(result === true)
+ })
+
+ it('isSameWeekWithOptions', function() {
+ var result = fp.isSameWeekWithOptions({ weekStartsOn: 1 })(
+ new Date(2014, 8 /* Sep */, 4)
+ )(new Date(2014, 7 /* Aug */, 31))
+ assert(result === false)
+ })
+
+ it('isSameYear', function() {
+ var result = fp.isSameYear(new Date(2014, 8 /* Sep */, 25))(
+ new Date(2014, 8 /* Sep */, 2)
+ )
+ assert(result === true)
+ })
+
+ it('isSaturday', function() {
+ var result = fp.isSaturday(new Date(2014, 8 /* Sep */, 27))
+ assert(result === true)
+ })
+
+ it('isSunday', function() {
+ var result = fp.isSunday(new Date(2014, 8 /* Sep */, 21))
+ assert(result === true)
+ })
+
+ it('isThursday', function() {
+ var result = fp.isThursday(new Date(2014, 8 /* Sep */, 25))
+ assert(result === true)
+ })
+
+ it('isTuesday', function() {
+ var result = fp.isTuesday(new Date(2014, 8 /* Sep */, 23))
+ assert(result === true)
+ })
+
+ it('isValid', function() {
+ var result = fp.isValid(new Date())
+ assert(result === true)
+ })
+
+ it('isWednesday', function() {
+ var result = fp.isWednesday(new Date(2014, 8 /* Sep */, 24))
+ assert(result === true)
+ })
+
+ it('isWeekend', function() {
+ var result = fp.isWeekend(new Date(2014, 9 /* Oct */, 5))
+ assert(result === true)
+ })
+
+ it('isWithinInterval', function() {
+ var interval = {
+ start: new Date(2014, 8 /* Sep */, 1),
+ end: new Date(2014, 11 /* Dec */, 31)
+ }
+ var result = fp.isWithinInterval(interval)(new Date(2014, 9 /* Oct */, 31))
+ assert(result === true)
+ })
+
+ it('lastDayOfISOWeek', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.lastDayOfISOWeek(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 7))
+ })
+
+ it('lastDayOfISOWeekYear', function() {
+ var result = fp.lastDayOfISOWeekYear(new Date(2009, 0 /* Jan */, 1, 16, 0))
+ assert.deepEqual(result, new Date(2010, 0 /* Jan */, 3))
+ })
+
+ it('lastDayOfMonth', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.lastDayOfMonth(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 30))
+ })
+
+ it('lastDayOfQuarter', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.lastDayOfQuarter(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 30))
+ })
+
+ it('lastDayOfWeek', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.lastDayOfWeek(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 6))
+ })
+
+ it('lastDayOfWeekWithOptions', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.lastDayOfWeekWithOptions({ weekStartsOn: 1 })(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 7))
+ })
+
+ it('lastDayOfYear', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.lastDayOfYear(date)
+ assert.deepEqual(result, new Date(2014, 11 /* Dec */, 31))
+ })
+
+ it('max', function() {
+ var result = fp.max([
+ new Date(1989, 6 /* Jul */, 10),
+ new Date(1987, 1 /* Feb */, 11)
+ ])
+ assert.deepEqual(result, new Date(1989, 6 /* Jul */, 10))
+ })
+
+ it('min', function() {
+ var result = fp.min([
+ new Date(1989, 6 /* Jul */, 10),
+ new Date(1987, 1 /* Feb */, 11)
+ ])
+ assert.deepEqual(result, new Date(1987, 1 /* Feb */, 11))
+ })
+
+ it('parse', function() {
+ var baseDate = new Date(1986, 3 /* Apr */, 4, 10, 32, 0, 900)
+ var result = fp.parse(baseDate)("yyyyMMdd'T'HHmmss")('20161105T040404')
+ assert.deepEqual(result, new Date(2016, 10 /* Nov */, 5, 4, 4, 4, 0))
+ })
+
+ it('parseWithOptions', function() {
+ var baseDate = new Date(1986, 3 /* Apr */, 4, 10, 32, 0, 900)
+ var result = fp.parseWithOptions({})(baseDate)("yyyyMMdd'T'HHmmss")(
+ '20161105T040404'
+ )
+ assert.deepEqual(result, new Date(2016, 10 /* Nov */, 5, 4, 4, 4, 0))
+ })
+
+ it('roundToNearestMinutes', function() {
+ var result = fp.roundToNearestMinutes(
+ new Date(2014, 6 /* Jul */, 10, 12, 11, 34, 99)
+ )
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 10, 12, 12))
+ })
+
+ it('roundToNearestMinutesWithOptions', function() {
+ const resultA = fp.roundToNearestMinutesWithOptions({ nearestTo: 5 })(
+ new Date(2014, 6 /* Jul */, 10, 12, 11, 34, 99)
+ )
+ assert.deepEqual(resultA, new Date(2014, 6 /* Jul */, 10, 12, 10))
+
+ const resultB = fp.roundToNearestMinutesWithOptions({})(
+ new Date(2014, 6 /* Jul */, 10, 12, 11, 34, 99)
+ )
+ assert.deepEqual(resultB, new Date(2014, 6 /* Jul */, 10, 12, 12))
+ })
+
+ it('setDate', function() {
+ var result = fp.setDate(30)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 30))
+ })
+
+ it('setDay', function() {
+ var result = fp.setDay(0)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2014, 7 /* Aug */, 31))
+ })
+
+ it('setDayOfYear', function() {
+ var result = fp.setDayOfYear(2)(new Date(2014, 6 /* Jul */, 2))
+ assert.deepEqual(result, new Date(2014, 0 /* Jan */, 2))
+ })
+
+ it('setHours', function() {
+ var result = fp.setHours(4)(new Date(2014, 8 /* Sep */, 1, 11, 30))
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 1, 4, 30))
+ })
+
+ it('setISODay', function() {
+ var result = fp.setISODay(3)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 3))
+ })
+
+ it('setISOWeek', function() {
+ var result = fp.setISOWeek(53)(new Date(2004, 7 /* Aug */, 7))
+ assert.deepEqual(result, new Date(2005, 0 /* Jan */, 1))
+ })
+
+ it('setISOWeekYear', function() {
+ var result = fp.setISOWeekYear(2007)(new Date(2008, 11 /* Dec */, 29))
+ assert.deepEqual(result, new Date(2007, 0 /* Jan */, 1))
+ })
+
+ it('setMilliseconds', function() {
+ var result = fp.setMilliseconds(300)(
+ new Date(2014, 8 /* Sep */, 1, 11, 30, 40, 500)
+ )
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 1, 11, 30, 40, 300))
+ })
+
+ it('setMinutes', function() {
+ var result = fp.setMinutes(45)(new Date(2014, 8 /* Sep */, 1, 11, 30, 40))
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 1, 11, 45, 40))
+ })
+
+ it('setMonth', function() {
+ var result = fp.setMonth(1)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2014, 1 /* Feb */, 1))
+ })
+
+ it('setQuarter', function() {
+ var result = fp.setQuarter(1)(new Date(2014, 6 /* Jul */, 2))
+ assert.deepEqual(result, new Date(2014, 0 /* Jan */, 2))
+ })
+
+ it('setSeconds', function() {
+ var result = fp.setSeconds(45)(
+ new Date(2014, 8 /* Sep */, 1, 11, 30, 40, 500)
+ )
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 1, 11, 30, 45, 500))
+ })
+
+ it('setWeek', function() {
+ var result = fp.setWeek(1)(new Date(2005, 0 /* Jan */, 2))
+ assert.deepEqual(result, new Date(2004, 11 /* Dec */, 26))
+ })
+
+ it('setWeekWithOptions', function() {
+ var result = fp.setWeekWithOptions({
+ weekStartsOn: 1,
+ firstWeekContainsDate: 4
+ })(1)(new Date(2005, 0 /* Jan */, 2))
+ assert.deepEqual(result, new Date(2004, 0 /* Jan */, 4))
+ })
+
+ it('setWeekYear', function() {
+ var result = fp.setWeekYear(2004)(new Date(2010, 0 /* Jan */, 2))
+ assert.deepEqual(result, new Date(2004, 0 /* Jan */, 3))
+ })
+
+ it('setWeekYearWithOptions', function() {
+ var result = fp.setWeekYearWithOptions({
+ weekStartsOn: 1,
+ firstWeekContainsDate: 4
+ })(2004)(new Date(2010, 0 /* Jan */, 2))
+ assert.deepEqual(result, new Date(2005, 0 /* Jan */, 1))
+ })
+
+ it('setYear', function() {
+ var result = fp.setYear(2013)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2013, 8 /* Sep */, 1))
+ })
+
+ it('startOfDay', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.startOfDay(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 2, 0, 0, 0, 0))
+ })
+
+ it('startOfHour', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55)
+ var result = fp.startOfHour(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 2, 11))
+ })
+
+ it('startOfISOWeek', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.startOfISOWeek(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 1))
+ })
+
+ it('startOfISOWeekYear', function() {
+ var result = fp.startOfISOWeekYear(new Date(2009, 0 /* Jan */, 1, 16, 0))
+ assert.deepEqual(result, new Date(2008, 11 /* Dec */, 29, 0, 0, 0, 0))
+ })
+
+ it('startOfMinute', function() {
+ var date = new Date(2014, 11 /* Dec */, 1, 22, 15, 45, 400)
+ var result = fp.startOfMinute(date)
+ assert.deepEqual(result, new Date(2014, 11 /* Dec */, 1, 22, 15))
+ })
+
+ it('startOfMonth', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.startOfMonth(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 1))
+ })
+
+ it('startOfQuarter', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.startOfQuarter(date)
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 1))
+ })
+
+ it('startOfSecond', function() {
+ var date = new Date(2014, 11 /* Dec */, 1, 22, 15, 45, 400)
+ var result = fp.startOfSecond(date)
+ assert.deepEqual(result, new Date(2014, 11 /* Dec */, 1, 22, 15, 45))
+ })
+
+ it('startOfWeek', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.startOfWeek(date)
+ assert.deepEqual(result, new Date(2014, 7 /* Aug */, 31))
+ })
+
+ it('startOfWeekWithOptions', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.startOfWeekWithOptions({ weekStartsOn: 1 })(date)
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 1))
+ })
+
+ it('startOfWeekYear', function() {
+ var result = fp.startOfWeekYear(new Date(2005, 6 /* Jul */, 2))
+ assert.deepEqual(result, new Date(2004, 11 /* Dec */, 26, 0, 0, 0, 0))
+ })
+
+ it('startOfWeekYearWithOptions', function() {
+ var result = fp.startOfWeekYearWithOptions({
+ weekStartsOn: 1,
+ firstWeekContainsDate: 4
+ })(new Date(2005, 6 /* Jul */, 2))
+ assert.deepEqual(result, new Date(2005, 0 /* Jan */, 3, 0, 0, 0, 0))
+ })
+
+ it('startOfYear', function() {
+ var date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0)
+ var result = fp.startOfYear(date)
+ assert.deepEqual(result, new Date(2014, 0 /* Jan */, 1, 0, 0, 0, 0))
+ })
+
+ it('subDays', function() {
+ var result = fp.subDays(10)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2014, 7 /* Aug */, 22))
+ })
+
+ it('subHours', function() {
+ var result = fp.subHours(2)(new Date(2014, 6 /* Jul */, 11, 1, 0))
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 10, 23, 0))
+ })
+
+ it('subISOWeekYears', function() {
+ var result = fp.subISOWeekYears(5)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2009, 7 /* Aug */, 31))
+ })
+
+ it('subMilliseconds', function() {
+ var result = fp.subMilliseconds(750)(
+ new Date(2014, 6 /* Jul */, 10, 12, 45, 30, 0)
+ )
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 10, 12, 45, 29, 250))
+ })
+
+ it('subMinutes', function() {
+ var result = fp.subMinutes(30)(new Date(2014, 6 /* Jul */, 10, 12, 0))
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 10, 11, 30))
+ })
+
+ it('subMonths', function() {
+ var result = fp.subMonths(5)(new Date(2015, 1 /* Feb */, 1))
+ assert.deepEqual(result, new Date(2014, 8 /* Sep */, 1))
+ })
+
+ it('subQuarters', function() {
+ var result = fp.subQuarters(3)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2013, 11 /* Dec */, 1))
+ })
+
+ it('subSeconds', function() {
+ var result = fp.subSeconds(30)(new Date(2014, 6 /* Jul */, 10, 12, 45, 0))
+ assert.deepEqual(result, new Date(2014, 6 /* Jul */, 10, 12, 44, 30))
+ })
+
+ it('subWeeks', function() {
+ var result = fp.subWeeks(4)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2014, 7 /* Aug */, 4))
+ })
+
+ it('subYears', function() {
+ var result = fp.subYears(5)(new Date(2014, 8 /* Sep */, 1))
+ assert.deepEqual(result, new Date(2009, 8 /* Sep */, 1))
+ })
+
+ it('parseISO', function() {
+ var result = fp.parseISO('2014-10-25T13:46:20+07:00')
+ assert.deepEqual(result, new Date('2014-10-25T13:46:20+07:00'))
+ })
+
+ it('parseISOWithOptions', function() {
+ var result = fp.parseISOWithOptions({ additionalDigits: 0 })('+12340702')
+ assert.deepEqual(result, new Date(1234, 6 /* Jul */, 2))
+ })
+})
diff --git a/date-fns/src/fp/toDate/index.d.ts b/date-fns/src/fp/toDate/index.d.ts
new file mode 100644
index 0000000..2bbca80
--- /dev/null
+++ b/date-fns/src/fp/toDate/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { toDate } from 'date-fns/fp'
+export default toDate
diff --git a/date-fns/src/fp/toDate/index.js b/date-fns/src/fp/toDate/index.js
new file mode 100644
index 0000000..7cb0cb0
--- /dev/null
+++ b/date-fns/src/fp/toDate/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../toDate/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var toDate = convertToFP(fn, 1)
+
+export default toDate
diff --git a/date-fns/src/fp/toDate/index.js.flow b/date-fns/src/fp/toDate/index.js.flow
new file mode 100644
index 0000000..1fc072e
--- /dev/null
+++ b/date-fns/src/fp/toDate/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<Date | number, Date>
diff --git a/date-fns/src/fp/weeksToDays/index.d.ts b/date-fns/src/fp/weeksToDays/index.d.ts
new file mode 100644
index 0000000..df68239
--- /dev/null
+++ b/date-fns/src/fp/weeksToDays/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { weeksToDays } from 'date-fns/fp'
+export default weeksToDays
diff --git a/date-fns/src/fp/weeksToDays/index.js b/date-fns/src/fp/weeksToDays/index.js
new file mode 100644
index 0000000..1b42884
--- /dev/null
+++ b/date-fns/src/fp/weeksToDays/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../weeksToDays/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var weeksToDays = convertToFP(fn, 1)
+
+export default weeksToDays
diff --git a/date-fns/src/fp/weeksToDays/index.js.flow b/date-fns/src/fp/weeksToDays/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/weeksToDays/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/yearsToMonths/index.d.ts b/date-fns/src/fp/yearsToMonths/index.d.ts
new file mode 100644
index 0000000..39cd773
--- /dev/null
+++ b/date-fns/src/fp/yearsToMonths/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { yearsToMonths } from 'date-fns/fp'
+export default yearsToMonths
diff --git a/date-fns/src/fp/yearsToMonths/index.js b/date-fns/src/fp/yearsToMonths/index.js
new file mode 100644
index 0000000..0a58b71
--- /dev/null
+++ b/date-fns/src/fp/yearsToMonths/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../yearsToMonths/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var yearsToMonths = convertToFP(fn, 1)
+
+export default yearsToMonths
diff --git a/date-fns/src/fp/yearsToMonths/index.js.flow b/date-fns/src/fp/yearsToMonths/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/yearsToMonths/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>
diff --git a/date-fns/src/fp/yearsToQuarters/index.d.ts b/date-fns/src/fp/yearsToQuarters/index.d.ts
new file mode 100644
index 0000000..cbb664d
--- /dev/null
+++ b/date-fns/src/fp/yearsToQuarters/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { yearsToQuarters } from 'date-fns/fp'
+export default yearsToQuarters
diff --git a/date-fns/src/fp/yearsToQuarters/index.js b/date-fns/src/fp/yearsToQuarters/index.js
new file mode 100644
index 0000000..e9051b5
--- /dev/null
+++ b/date-fns/src/fp/yearsToQuarters/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../yearsToQuarters/index'
+import convertToFP from '../_lib/convertToFP/index'
+
+var yearsToQuarters = convertToFP(fn, 1)
+
+export default yearsToQuarters
diff --git a/date-fns/src/fp/yearsToQuarters/index.js.flow b/date-fns/src/fp/yearsToQuarters/index.js.flow
new file mode 100644
index 0000000..aa51b5f
--- /dev/null
+++ b/date-fns/src/fp/yearsToQuarters/index.js.flow
@@ -0,0 +1,54 @@
+// @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 = {
+ code?: string,
+ formatDistance?: (...args: Array<any>) => any,
+ formatRelative?: (...args: Array<any>) => any,
+ localize?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ formatLong?: {
+ date: (...args: Array<any>) => any,
+ time: (...args: Array<any>) => any,
+ dateTime: (...args: Array<any>) => any,
+ },
+ match?: {
+ ordinalNumber: (...args: Array<any>) => any,
+ era: (...args: Array<any>) => any,
+ quarter: (...args: Array<any>) => any,
+ month: (...args: Array<any>) => any,
+ day: (...args: Array<any>) => any,
+ dayPeriod: (...args: Array<any>) => any,
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
+ },
+}
+
+export type Duration = {
+ years?: number,
+ months?: number,
+ weeks?: number,
+ days?: number,
+ hours?: number,
+ minutes?: number,
+ seconds?: number,
+}
+
+export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
+
+type CurriedFn1<A, R> = <A>(a: A) => R
+
+declare module.exports: CurriedFn1<number, number>