performance improvements

This commit is contained in:
Fabian Freund
2026-07-31 05:14:27 +02:00
parent c2c7cc0729
commit bdfc851681
36 changed files with 1988 additions and 608 deletions
@@ -41,7 +41,7 @@ final class TabStatesProvider
}
}
String _$tabStatesHash() => r'04b7f1ea704575e368a0f1186fc1c58f317620b1';
String _$tabStatesHash() => r'1ae4e941890116eabf1803809014b3e575c33e73';
abstract class _$TabStates extends $Notifier<Map<String, TabState>> {
Map<String, TabState> build();
@@ -138,6 +138,68 @@ final class TabStateFamily extends $Family
String toString() => r'tabStateProvider';
}
/// Projection of [tabStatesProvider] for consumers that order or filter tabs
/// but render nothing from the state itself. Watching this instead of the full
/// map keeps the (expensive) grouping/sorting passes off the path of every
/// icon, security-info and readerable event.
@ProviderFor(tabSortKeys)
final tabSortKeysProvider = TabSortKeysProvider._();
/// Projection of [tabStatesProvider] for consumers that order or filter tabs
/// but render nothing from the state itself. Watching this instead of the full
/// map keeps the (expensive) grouping/sorting passes off the path of every
/// icon, security-info and readerable event.
final class TabSortKeysProvider
extends
$FunctionalProvider<
EquatableValue<Map<String, TabSortKeys>>,
EquatableValue<Map<String, TabSortKeys>>,
EquatableValue<Map<String, TabSortKeys>>
>
with $Provider<EquatableValue<Map<String, TabSortKeys>>> {
/// Projection of [tabStatesProvider] for consumers that order or filter tabs
/// but render nothing from the state itself. Watching this instead of the full
/// map keeps the (expensive) grouping/sorting passes off the path of every
/// icon, security-info and readerable event.
TabSortKeysProvider._()
: super(
from: null,
argument: null,
retry: null,
name: r'tabSortKeysProvider',
isAutoDispose: false,
dependencies: null,
$allTransitiveDependencies: null,
);
@override
String debugGetCreateSourceHash() => _$tabSortKeysHash();
@$internal
@override
$ProviderElement<EquatableValue<Map<String, TabSortKeys>>> $createElement(
$ProviderPointer pointer,
) => $ProviderElement(pointer);
@override
EquatableValue<Map<String, TabSortKeys>> create(Ref ref) {
return tabSortKeys(ref);
}
/// {@macro riverpod.override_with_value}
Override overrideWithValue(EquatableValue<Map<String, TabSortKeys>> value) {
return $ProviderOverride(
origin: this,
providerOverride:
$SyncValueProvider<EquatableValue<Map<String, TabSortKeys>>>(value),
);
}
}
String _$tabSortKeysHash() => r'7bf660099d006b6df9846594d2a5d78a32fa3bdb';
@ProviderFor(tabStateWithFallback)
final tabStateWithFallbackProvider = TabStateWithFallbackFamily._();