diff --git a/frontend/src/charts/Sunburst.svelte b/frontend/src/charts/Sunburst.svelte index 0cbea441a..19cc7b323 100644 --- a/frontend/src/charts/Sunburst.svelte +++ b/frontend/src/charts/Sunburst.svelte @@ -27,7 +27,7 @@ let root = $derived(partition()(data)); let nodes = $derived( - root.descendants().filter((d) => !d.data.dummy && d.depth), + root.descendants().filter((d) => !d.data.dummy && d.depth > 0), ); let current: AccountHierarchyNode | null = $state(null); diff --git a/frontend/src/charts/Treemap.svelte b/frontend/src/charts/Treemap.svelte index 241e77baa..21b6b4e43 100644 --- a/frontend/src/charts/Treemap.svelte +++ b/frontend/src/charts/Treemap.svelte @@ -25,7 +25,9 @@ const tree = treemap().paddingInner(2).round(true); let root = $derived(tree.size([width, height])(data)); - let leaves = $derived(root.leaves().filter((d) => d.value)); + let leaves = $derived( + root.leaves().filter((d) => d.value != null && d.value !== 0), + ); function fill(d: AccountHierarchyNode) { const node = d.data.dummy && d.parent ? d.parent : d; diff --git a/frontend/src/charts/hierarchy.ts b/frontend/src/charts/hierarchy.ts index 9d71f92b3..70d1a19bc 100644 --- a/frontend/src/charts/hierarchy.ts +++ b/frontend/src/charts/hierarchy.ts @@ -120,7 +120,7 @@ export function hierarchy_from_parsed_data( ).sort((a, b) => sign * ((b.value ?? 0) - (a.value ?? 0))); return [currency, r] as const; }) - .filter(([, h]) => h.value), + .filter(([, h]) => h.value != null && h.value !== 0), ), ); } diff --git a/frontend/src/lib/fuzzy.ts b/frontend/src/lib/fuzzy.ts index 6148d392b..cbf317a54 100644 --- a/frontend/src/lib/fuzzy.ts +++ b/frontend/src/lib/fuzzy.ts @@ -44,7 +44,7 @@ export function fuzzyfilter( } return suggestions .map((s): [string, number] => [s, fuzzytest(pattern, s)]) - .filter(([, score]) => score) + .filter(([, score]) => score > 0) .sort((a, b) => b[1] - a[1]) .map(([s]) => s); } diff --git a/frontend/src/router.ts b/frontend/src/router.ts index d17c30f0a..b0ce6cc27 100644 --- a/frontend/src/router.ts +++ b/frontend/src/router.ts @@ -117,8 +117,8 @@ export class Router extends Events<"page-loaded"> { private async frontendRender(url: URL): Promise { const report = getUrlPath(url); - const route = this.frontend_routes?.find((r) => - report?.startsWith(`${r.report}/`), + const route = this.frontend_routes?.find( + (r) => report?.startsWith(`${r.report}/`) === true, ); if (route) { is_loading_internal.set(true); diff --git a/frontend/src/sidebar/AsideContents.svelte b/frontend/src/sidebar/AsideContents.svelte index 26f6146d7..2f6ae8970 100644 --- a/frontend/src/sidebar/AsideContents.svelte +++ b/frontend/src/sidebar/AsideContents.svelte @@ -11,7 +11,9 @@ let user_queries = $derived($ledgerData.user_queries); let upcoming_events_count = $derived($ledgerData.upcoming_events_count); let sidebar_links = $derived($ledgerData.sidebar_links); - let extension_reports = $derived($extensions.filter((e) => e.report_title)); + let extension_reports = $derived( + $extensions.filter((e) => e.report_title != null), + ); {#if sidebar_links.length} diff --git a/frontend/src/tree-table/AccountCell.svelte b/frontend/src/tree-table/AccountCell.svelte index 72f6a6b4d..041300f2e 100644 --- a/frontend/src/tree-table/AccountCell.svelte +++ b/frontend/src/tree-table/AccountCell.svelte @@ -40,14 +40,14 @@ } else { new_t.add(n.account); } - n.children.filter((c) => c.children.length).forEach(toggle_all); + n.children.filter((c) => c.children.length > 0).forEach(toggle_all); }; children.forEach(toggle_all); } if (is_toggled && (event.ctrlKey || event.metaKey)) { // collapse all direct children to only expand one level children - .filter((c) => c.children.length) + .filter((c) => c.children.length > 0) .forEach((n) => { new_t.add(n.account); }); diff --git a/src/fava/beans/account.py b/src/fava/beans/account.py index 759fee877..f1f303396 100644 --- a/src/fava/beans/account.py +++ b/src/fava/beans/account.py @@ -11,8 +11,8 @@ from fava.beans.abc import Transaction if TYPE_CHECKING: # pragma: no cover + from collections.abc import Callable from collections.abc import Sequence - from typing import Callable from fava.beans.abc import Directive diff --git a/src/fava/core/filters.py b/src/fava/core/filters.py index 3e14228de..8ca3eb2e2 100644 --- a/src/fava/core/filters.py +++ b/src/fava/core/filters.py @@ -7,7 +7,6 @@ from abc import abstractmethod from decimal import Decimal from typing import Any -from typing import Callable from typing import TYPE_CHECKING import ply.yacc # type: ignore[import-untyped] @@ -20,6 +19,7 @@ from fava.util.date import parse_date if TYPE_CHECKING: # pragma: no cover + from collections.abc import Callable from collections.abc import Iterable from collections.abc import Sequence diff --git a/src/fava/core/ingest.py b/src/fava/core/ingest.py index fb26e18e0..c02ca363b 100644 --- a/src/fava/core/ingest.py +++ b/src/fava/core/ingest.py @@ -34,11 +34,11 @@ from fava.util.date import local_today if TYPE_CHECKING: # pragma: no cover + from collections.abc import Callable from collections.abc import Iterable from collections.abc import Mapping from collections.abc import Sequence from typing import Any - from typing import Callable from typing import ParamSpec from typing import TypeVar diff --git a/src/fava/core/inventory.py b/src/fava/core/inventory.py index 871006dd6..8abcf0eac 100644 --- a/src/fava/core/inventory.py +++ b/src/fava/core/inventory.py @@ -3,7 +3,6 @@ from __future__ import annotations from decimal import Decimal -from typing import Callable from typing import NamedTuple from typing import Optional from typing import TYPE_CHECKING @@ -13,6 +12,7 @@ if TYPE_CHECKING: # pragma: no cover import datetime + from collections.abc import Callable from collections.abc import Iterator from typing import Concatenate from typing import ParamSpec diff --git a/src/fava/core/number.py b/src/fava/core/number.py index f8c824fbb..0d34fb7b4 100644 --- a/src/fava/core/number.py +++ b/src/fava/core/number.py @@ -3,8 +3,8 @@ from __future__ import annotations import copy +from collections.abc import Callable from decimal import Decimal -from typing import Callable from typing import TYPE_CHECKING from babel.core import Locale diff --git a/src/fava/core/watcher.py b/src/fava/core/watcher.py index 11b7bf9d8..4cb2f04cc 100644 --- a/src/fava/core/watcher.py +++ b/src/fava/core/watcher.py @@ -15,9 +15,9 @@ if TYPE_CHECKING: # pragma: no cover import types + from collections.abc import Callable from collections.abc import Iterable from collections.abc import Sequence - from typing import Callable from watchfiles.main import Change diff --git a/src/fava/ext/__init__.py b/src/fava/ext/__init__.py index f7f25adca..37ed5a656 100644 --- a/src/fava/ext/__init__.py +++ b/src/fava/ext/__init__.py @@ -17,7 +17,7 @@ from fava.helpers import BeancountError if TYPE_CHECKING: # pragma: no cover - from typing import Callable + from collections.abc import Callable from typing import TypeVar from flask.wrappers import Response diff --git a/src/fava/json_api.py b/src/fava/json_api.py index c72414ed3..71f9b2c4b 100644 --- a/src/fava/json_api.py +++ b/src/fava/json_api.py @@ -18,7 +18,6 @@ from pathlib import Path from pprint import pformat from typing import Any -from typing import Callable from typing import TYPE_CHECKING from flask import Blueprint @@ -43,6 +42,7 @@ from fava.serialisation import serialise if TYPE_CHECKING: # pragma: no cover + from collections.abc import Callable from collections.abc import Mapping from collections.abc import Sequence from datetime import date diff --git a/src/fava/util/__init__.py b/src/fava/util/__init__.py index aa7807397..1a58802ce 100644 --- a/src/fava/util/__init__.py +++ b/src/fava/util/__init__.py @@ -16,10 +16,10 @@ from flask import send_file if TYPE_CHECKING: # pragma: no cover + from collections.abc import Callable from collections.abc import Iterable from collections.abc import Mapping from typing import Any - from typing import Callable from typing import ParamSpec from typing import TypeVar from wsgiref.types import StartResponse diff --git a/tests/conftest.py b/tests/conftest.py index dd4086cf9..51330d5c8 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -10,7 +10,6 @@ from pprint import pformat from textwrap import dedent from typing import Any -from typing import Callable from typing import TYPE_CHECKING import pytest @@ -24,6 +23,7 @@ from fava.util.date import local_today if TYPE_CHECKING: # pragma: no cover + from collections.abc import Callable from typing import Literal from typing import Protocol from typing import TypeAlias diff --git a/tests/test_core_query_shell.py b/tests/test_core_query_shell.py index 50e206327..022fb0440 100644 --- a/tests/test_core_query_shell.py +++ b/tests/test_core_query_shell.py @@ -15,7 +15,7 @@ from fava.util import excel if TYPE_CHECKING: # pragma: no cover - from typing import Callable + from collections.abc import Callable from fava.core.query import QueryResult