mirror of
https://github.com/rrousselGit/riverpod.git
synced 2025-08-16 02:43:05 +08:00

This changes the Persist syntax a bit to simplify its usage. This removes the `with Persistable` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new `persistJson` method for JSON-based state persistence, simplifying how persistence is integrated and allowing for custom encoding/decoding. - Added a `key` getter to provide default storage keys for persisted providers. - Exposed `NotifierPersistX` and related persistence utilities for broader use in persistence scenarios. - **Refactor** - Unified and updated type signatures for notifiers and persistence methods, improving type safety and consistency across providers. - Simplified persistence API usage by removing the need for mixins and named parameters, favoring direct method calls with positional arguments. - **Documentation** - Updated documentation and code examples to reflect the new persistence API and usage patterns. - **Tests** - Enhanced test coverage to validate the new persistence approach and updated type signatures. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
105 lines
2.7 KiB
Dart
Generated
105 lines
2.7 KiB
Dart
Generated
// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
|
|
// ignore_for_file: non_constant_identifier_names
|
|
|
|
part of 'codegen.dart';
|
|
|
|
// **************************************************************************
|
|
// RiverpodGenerator
|
|
// **************************************************************************
|
|
|
|
@ProviderFor(other)
|
|
const otherProvider = OtherProvider._();
|
|
|
|
final class OtherProvider extends $FunctionalProvider<int, int>
|
|
with $Provider<int> {
|
|
const OtherProvider._()
|
|
: super(
|
|
from: null,
|
|
argument: null,
|
|
retry: null,
|
|
name: r'otherProvider',
|
|
isAutoDispose: true,
|
|
dependencies: null,
|
|
$allTransitiveDependencies: null,
|
|
);
|
|
|
|
@override
|
|
String debugGetCreateSourceHash() => _$otherHash();
|
|
|
|
@$internal
|
|
@override
|
|
$ProviderElement<int> $createElement($ProviderPointer pointer) =>
|
|
$ProviderElement(pointer);
|
|
|
|
@override
|
|
int create(Ref ref) {
|
|
return other(ref);
|
|
}
|
|
|
|
/// {@macro riverpod.override_with_value}
|
|
Override overrideWithValue(int value) {
|
|
return $ProviderOverride(
|
|
origin: this,
|
|
providerOverride: $ValueProvider<int>(value),
|
|
);
|
|
}
|
|
}
|
|
|
|
String _$otherHash() => r'5d27b2b1b1c6bd17ba0844f74ade2088611be371';
|
|
|
|
@ProviderFor(MyNotifier)
|
|
const myNotifierProvider = MyNotifierProvider._();
|
|
|
|
final class MyNotifierProvider extends $NotifierProvider<MyNotifier, int> {
|
|
const MyNotifierProvider._()
|
|
: super(
|
|
from: null,
|
|
argument: null,
|
|
retry: null,
|
|
name: r'myNotifierProvider',
|
|
isAutoDispose: true,
|
|
dependencies: null,
|
|
$allTransitiveDependencies: null,
|
|
);
|
|
|
|
@override
|
|
String debugGetCreateSourceHash() => _$myNotifierHash();
|
|
|
|
@$internal
|
|
@override
|
|
MyNotifier create() => MyNotifier();
|
|
|
|
@$internal
|
|
@override
|
|
$NotifierProviderElement<MyNotifier, int> $createElement(
|
|
$ProviderPointer pointer) =>
|
|
$NotifierProviderElement(pointer);
|
|
|
|
/// {@macro riverpod.override_with_value}
|
|
Override overrideWithValue(int value) {
|
|
return $ProviderOverride(
|
|
origin: this,
|
|
providerOverride: $ValueProvider<int>(value),
|
|
);
|
|
}
|
|
}
|
|
|
|
String _$myNotifierHash() => r'353efe22dd5a91b2d036286211ac9e60c9de5f6d';
|
|
|
|
abstract class _$MyNotifier extends $Notifier<int> {
|
|
int build();
|
|
@$mustCallSuper
|
|
@override
|
|
void runBuild() {
|
|
final created = build();
|
|
final ref = this.ref as $Ref<int>;
|
|
final element = ref.element
|
|
as $ClassProviderElement<AnyNotifier<int, int>, int, Object?, Object?>;
|
|
element.handleValue(ref, created);
|
|
}
|
|
}
|
|
|
|
// ignore_for_file: type=lint
|
|
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
|