@@ -402,7 +402,7 @@ module Scheduling =
402
402
payments
403
403
| FixedSchedules regularFixedSchedules ->
404
404
regularFixedSchedules
405
- |> Array.map ( fun rfs ->
405
+ |> Array.collect ( fun rfs ->
406
406
if rfs.PaymentCount = 0 then
407
407
[||]
408
408
else
@@ -411,16 +411,14 @@ module Scheduling =
411
411
[||]
412
412
else
413
413
generatePaymentSchedule rfs.PaymentCount Duration.Unlimited Direction.Forward rfs.UnitPeriodConfig
414
- |> Array.map ( OffsetDay.fromDate startDate)
415
- |> Array.map( fun d ->
414
+ |> Array.map( OffsetDay.fromDate startDate >> fun d ->
416
415
let originalValue , rescheduledValue =
417
416
match rfs.ScheduleType with
418
417
| ScheduleType.Original -> ValueSome rfs.PaymentValue, ValueNone
419
418
| ScheduleType.Rescheduled rescheduleDay -> ValueNone, ValueSome { Value = rfs.PaymentValue; RescheduleDay = rescheduleDay }
420
419
d, ScheduledPayment.quick originalValue rescheduledValue
421
420
)
422
421
)
423
- |> Array.concat
424
422
|> Array.sortBy fst
425
423
|> Array.groupBy fst
426
424
|> Array.map( fun ( d , spp ) ->
@@ -699,7 +697,7 @@ module Scheduling =
699
697
// split any rescheduled payments into latest and previous
700
698
let latestRescheduling , previousReschedulings =
701
699
match rescheduled with
702
- | r :: [ ] -> ValueSome r, []
700
+ | [ r ] -> ValueSome r, []
703
701
| r :: pr -> ValueSome r, pr
704
702
| _ -> ValueNone, []
705
703
// update the previous reschedule day, if any
0 commit comments