Description
Several exported functions in `lib/recurring.ts` (`saveRecurringRule` at line 27, `removeRecurringRule` at line 34, `buildNextRunAt` at line 46, `createRenewalPreset` at line 51) rely on inferred return types instead of explicit annotations, unlike `getRecurringRules(): RecurringRule[]` in the same file which already has one.
Location
`lib/recurring.ts:27, 34, 46, 51`
Task
Add explicit return type annotations to each of these functions, matching the existing convention set by `getRecurringRules()`.
Good for newcomers because
Small, mechanical type-annotation additions with an existing convention in the same file to follow.
Description
Several exported functions in `lib/recurring.ts` (`saveRecurringRule` at line 27, `removeRecurringRule` at line 34, `buildNextRunAt` at line 46, `createRenewalPreset` at line 51) rely on inferred return types instead of explicit annotations, unlike `getRecurringRules(): RecurringRule[]` in the same file which already has one.
Location
`lib/recurring.ts:27, 34, 46, 51`
Task
Add explicit return type annotations to each of these functions, matching the existing convention set by `getRecurringRules()`.
Good for newcomers because
Small, mechanical type-annotation additions with an existing convention in the same file to follow.