Skip to content

Commit

Permalink
fix: Extend date functions clobbering plus/minus (#5170)
Browse files Browse the repository at this point in the history
* fix: extended date functions clobbering plus/minus

* fix: minus extension doing plus instead
  • Loading branch information
valya authored Jan 16, 2023
1 parent a0c5232 commit f634f0d
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions packages/workflow/src/Extensions/DateExtensions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
DateTimeFormatOptions,
DateTimeUnit,
Duration,
DurationLike,
DurationObjectUnits,
LocaleOptions,
} from 'luxon';
Expand Down Expand Up @@ -161,7 +162,11 @@ function isWeekend(date: Date): boolean {
return [DAYS.saturday, DAYS.sunday].includes(DateTime.fromJSDate(date).weekday);
}

function minus(date: Date | DateTime, extraArgs: unknown[]): Date {
function minus(date: Date | DateTime, extraArgs: unknown[]): Date | DateTime {
if (isDateTime(date) && extraArgs.length === 1) {
return date.minus(extraArgs[0] as DurationLike);
}

const [durationValue = 0, unit = 'minutes'] = extraArgs as [number, DurationUnit];

if (isDateTime(date)) {
Expand All @@ -170,7 +175,11 @@ function minus(date: Date | DateTime, extraArgs: unknown[]): Date {
return DateTime.fromJSDate(date).minus(generateDurationObject(durationValue, unit)).toJSDate();
}

function plus(date: Date | DateTime, extraArgs: unknown[]): Date {
function plus(date: Date | DateTime, extraArgs: unknown[]): Date | DateTime {
if (isDateTime(date) && extraArgs.length === 1) {
return date.plus(extraArgs[0] as DurationLike);
}

const [durationValue = 0, unit = 'minutes'] = extraArgs as [number, DurationUnit];

if (isDateTime(date)) {
Expand Down

0 comments on commit f634f0d

Please sign in to comment.