From 0a34ede61ae6ccd42a1601f3c50d416ec57ac152 Mon Sep 17 00:00:00 2001
From: Koen van Staveren <koenvanstaveren@hotmail.com>
Date: Wed, 4 Sep 2024 18:56:21 +0200
Subject: [PATCH] fix: typescript rschedule types (#3361)

* fix: typescript rschedule types

* chore: release note
---
 .../loot-core/src/server/accounts/rules.ts    |  1 -
 .../loot-core/src/server/schedules/app.ts     | 22 ++++++++-----------
 .../src/server/schedules/find-schedules.ts    | 12 ++++------
 .../loot-core/src/server/util/rschedule.ts    |  1 -
 upcoming-release-notes/3361.md                |  6 +++++
 5 files changed, 19 insertions(+), 23 deletions(-)
 create mode 100644 upcoming-release-notes/3361.md

diff --git a/packages/loot-core/src/server/accounts/rules.ts b/packages/loot-core/src/server/accounts/rules.ts
index e97fa8ef2..8bf51d7cc 100644
--- a/packages/loot-core/src/server/accounts/rules.ts
+++ b/packages/loot-core/src/server/accounts/rules.ts
@@ -35,7 +35,6 @@ function parseRecurDate(desc) {
 
     return {
       type: 'recur',
-      // @ts-expect-error fix me
       schedule: new RSchedule({
         rrules: rules,
         data: {
diff --git a/packages/loot-core/src/server/schedules/app.ts b/packages/loot-core/src/server/schedules/app.ts
index dedbe2e0e..ea99443d4 100644
--- a/packages/loot-core/src/server/schedules/app.ts
+++ b/packages/loot-core/src/server/schedules/app.ts
@@ -374,21 +374,17 @@ async function getUpcomingDates({ config, count }) {
   const rules = recurConfigToRSchedule(config);
 
   try {
-    // @ts-expect-error fix me
     const schedule = new RSchedule({ rrules: rules });
 
-    return (
-      schedule
-        // @ts-expect-error fix me
-        .occurrences({ start: d.startOfDay(new Date()), take: count })
-        .toArray()
-        .map(date =>
-          config.skipWeekend
-            ? getDateWithSkippedWeekend(date.date, config.weekendSolveMode)
-            : date.date,
-        )
-        .map(date => dayFromDate(date))
-    );
+    return schedule
+      .occurrences({ start: d.startOfDay(new Date()), take: count })
+      .toArray()
+      .map(date =>
+        config.skipWeekend
+          ? getDateWithSkippedWeekend(date.date, config.weekendSolveMode)
+          : date.date,
+      )
+      .map(date => dayFromDate(date));
   } catch (err) {
     captureBreadcrumb(config);
     throw err;
diff --git a/packages/loot-core/src/server/schedules/find-schedules.ts b/packages/loot-core/src/server/schedules/find-schedules.ts
index d63c04b13..8b4540613 100644
--- a/packages/loot-core/src/server/schedules/find-schedules.ts
+++ b/packages/loot-core/src/server/schedules/find-schedules.ts
@@ -16,15 +16,11 @@ import { Schedule as RSchedule } from '../util/rschedule';
 import { SchedulesHandlers } from './types/handlers';
 
 function takeDates(config) {
-  // @ts-expect-error fix me
   const schedule = new RSchedule({ rrules: recurConfigToRSchedule(config) });
-  return (
-    schedule
-      // @ts-expect-error fix me
-      .occurrences({ take: 3 })
-      .toArray()
-      .map(d => d.date)
-  );
+  return schedule
+    .occurrences({ take: 3 })
+    .toArray()
+    .map(d => d.date);
 }
 
 async function getTransactions(date, account) {
diff --git a/packages/loot-core/src/server/util/rschedule.ts b/packages/loot-core/src/server/util/rschedule.ts
index e43edb389..0d61be8af 100644
--- a/packages/loot-core/src/server/util/rschedule.ts
+++ b/packages/loot-core/src/server/util/rschedule.ts
@@ -1,5 +1,4 @@
 import '@rschedule/standard-date-adapter/setup';
-import '@rschedule/json-tools/Schedule';
 
 export * from '@rschedule/standard-date-adapter';
 export * from '@rschedule/core';
diff --git a/upcoming-release-notes/3361.md b/upcoming-release-notes/3361.md
new file mode 100644
index 000000000..7b9dd2163
--- /dev/null
+++ b/upcoming-release-notes/3361.md
@@ -0,0 +1,6 @@
+---
+category: Maintenance
+authors: [UnderKoen]
+---
+
+TypeScript: RSchedule types fixed
-- 
GitLab