diff --git a/packages/api/tsconfig.dist.json b/packages/api/tsconfig.dist.json index 4795f0c97ec07ed956c5029c0bb435b15a1bf17a..d85cb67ca5f9b289f16b8987b668cfa5a6cf9f5b 100644 --- a/packages/api/tsconfig.dist.json +++ b/packages/api/tsconfig.dist.json @@ -10,6 +10,7 @@ "outDir": "dist", "declarationDir": "@types", "paths": { + "loot-core/src/*": ["./loot-core/*"], "loot-core/*": ["./@types/loot-core/*"], } }, diff --git a/packages/loot-core/src/server/importers/ynab5.ts b/packages/loot-core/src/server/importers/ynab5.ts index 30ab10224cf06f8f322800cb1b75789b8bdb0bfb..011b0d15ba8265fee2d3d007c981d013cc6d6d3f 100644 --- a/packages/loot-core/src/server/importers/ynab5.ts +++ b/packages/loot-core/src/server/importers/ynab5.ts @@ -8,6 +8,7 @@ import { v4 as uuidv4 } from 'uuid'; import * as monthUtils from '../../shared/months'; import { sortByKey, groupBy } from '../../shared/util'; +import { CategoryGroupEntity } from '../../types/models'; import { YNAB5 } from './ynab5-types'; @@ -338,10 +339,16 @@ function equalsIgnoreCase(stringa: string, stringb: string): boolean { ); } -function findByNameIgnoreCase(categories: YNAB5.CategoryGroup[], name: string) { +function findByNameIgnoreCase( + categories: (YNAB5.CategoryGroup | CategoryGroupEntity)[], + name: string, +) { return categories.find(cat => equalsIgnoreCase(cat.name, name)); } -function findIdByName(categories: YNAB5.CategoryGroup[], name: string) { +function findIdByName( + categories: (YNAB5.CategoryGroup | CategoryGroupEntity)[], + name: string, +) { return findByNameIgnoreCase(categories, name)?.id; } diff --git a/packages/loot-core/src/types/api-handlers.d.ts b/packages/loot-core/src/types/api-handlers.d.ts index 1f314fde6b704ca13452d016185e0d7fd28b0bba..c1f42776f37e807158d26cbc9bdde6c372673dfe 100644 --- a/packages/loot-core/src/types/api-handlers.d.ts +++ b/packages/loot-core/src/types/api-handlers.d.ts @@ -1,5 +1,12 @@ import { type batchUpdateTransactions } from '../server/accounts/transactions'; +import type { + TransactionEntity, + AccountEntity, + CategoryGroupEntity, + CategoryEntity, + PayeeEntity, +} from './models'; import { type ServerHandlers } from './server-handlers'; export interface ApiHandlers { @@ -107,7 +114,7 @@ export interface ApiHandlers { 'api/categories-get': (arg: { grouped; - }) => Promise<Array<CategoryGroupEntity> | Array<CategoryEntity>>; + }) => Promise<Array<CategoryGroupEntity | CategoryEntity>>; 'api/category-groups-get': () => Promise<CategoryGroupEntity[]>; diff --git a/upcoming-release-notes/2567.md b/upcoming-release-notes/2567.md new file mode 100644 index 0000000000000000000000000000000000000000..c73a7289cf5fc75c5bf819b3a1f2e3db8772cd3e --- /dev/null +++ b/upcoming-release-notes/2567.md @@ -0,0 +1,6 @@ +--- +category: Maintenance +authors: [twk3] +--- + +Improve API output types.