FrChangeNotifierVM<M extends FrModel> class abstract

support Provider-Consumer adapt FrProvider.listenable use ChangeNotifier

Inheritance
Implemented types
Mixed-in types
Available extensions

Constructors

FrChangeNotifierVM(M initialState)

Properties

hashCode → int
The hash code for this object.
no setterinherited
hasListeners → bool
Whether any listeners are currently registered.
no setterinherited
isClosed → bool
Whether the bloc is closed.
no setterinherited
logExtra → LogExtra?
set put log type
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
state → M
The current state.
no setterinherited
stream → Stream<M>
The current stream of states.
no setterinherited
value → M
Current state value using FlowR's legacy name.
no setterinherited

Methods

addError(Object error, [StackTrace? stackTrace]) → void
Reports an error which triggers onError with an optional StackTrace.
inherited
addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
autoDispose<T extends StreamSubscription?>(T subs, {String? tag}) → T
inherited
autoDisposeNotifier<N extends ChangeNotifier?>(N ntf, {String? tag}) → N
inherited
close() → Future<void>
Close the bloc and dispose FlowR helper resources.
inherited
debounce<R>(Object tag, Duration duration, FutureOr<R> action(), {Duration? maxDuration}) → FutureOr<R?>
debounce 防抖: 停止操作后等待 duration 执行最后一次。 maxDuration: 可选,解决“无限重置”问题。如果持续触发超过此时间,强制执行一次。
inherited
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
dispose() → void
Discards any resources used by the object.
inherited
emit(M state) → void
Updates the state to the provided state. emit does nothing if the state being emitted is equal to the current state.
inherited
frPrint(String message, {DateTime? time, int? sequenceNumber, int? level, String? name, Zone? zone, Object? error, StackTrace? stackTrace}) → void
inherited
isDebounceLocked(Object tag) → bool
检查是否正在防抖等待中
inherited
isMutexLocked(Object tag) → bool
检查是否正在执行 mutex 任务
inherited
isThrottleLocked(Object tag) → bool
检查是否处于节流冷却期
inherited
listen(void onChange(T ntf)?, {bool where(T ntf)?}) → T

Available on T, provided by the ChangeNotifierX extension

where filter the notification,
logE(String message, {LogExtra? logExtra, Object? error, StackTrace? stackTrace, DateTime? time, int? sequenceNumber, String? name, Zone? zone}) → void
for 'error'
inherited
logF(String message, {LogExtra? logExtra, Object? error, StackTrace? stackTrace, DateTime? time, int? sequenceNumber, String? name, Zone? zone}) → void
inherited
logger(String message, {LogExtra? logExtra, DateTime? time, int? sequenceNumber, int level = 800, String? name, Zone? zone, Object? error, StackTrace? stackTrace, bool uriFrame = true}) → void
logExtra print stack frame info name logger.name null: will use 'runtimeType' stackTrace will print with red color by dev.log but if error == null: will ignore stackTrace
inherited
logI(String message, {LogExtra? logExtra, Object? error, StackTrace? stackTrace, DateTime? time, int? sequenceNumber, String? name, Zone? zone}) → void
inherited
logS(String message, {LogExtra? logExtra, Object? error, StackTrace? stackTrace, DateTime? time, int? sequenceNumber, String? name, Zone? zone}) → void
for debug 'shout'
inherited
logW(String message, {LogExtra? logExtra, Object? error, StackTrace? stackTrace, DateTime? time, int? sequenceNumber, String? name, Zone? zone}) → void
for 'warning'
inherited
mutex<R>(Object tag, FutureOr<R> action()) → FutureOr<R?>
mutex 互斥锁 (Exhaust): 立即执行,执行期间的触发直接丢弃。
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners({FutureOr<M> update(M old)?, int slowlyMs = 100, Object? debounceTag, Object? throttleTag, Object? mutexTag}) → void
when invoke FrChangeNotifierMx.notifyListeners must invoke update (put)
inherited
ntfBy<T extends ChangeNotifier>(String tag) → T
inherited
onChange(Change<M> change) → void
Called whenever a change occurs with the given change. A change occurs when a new state is emitted. onChange is called before the state of the cubit is updated. onChange is a great spot to add logging/analytics for a specific cubit.
inherited
onError(Object error, StackTrace stackTrace) → void
Called whenever an error occurs and notifies BlocObserver.onError.
inherited
put(M value) → M
when invoke update (put) will call ChangeNotifier.notifyListeners
inherited
putError(Object error, [StackTrace? stackTrace]) → void
Put error value to this cubit.
inherited
putWithLogging(M value, {OnLogging<M>? logging}) → M
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
runCatching<R>(FutureOr<R?> block(), {FutureOr<R?> onSuccess(R data)?, FutureOr<R?> onFailure(Object e, StackTrace s)?, bool ignoreSkipError = true, int slowlyMs = 0, Object? debounceTag, Object? throttleTag, Object? mutexTag}) → FutureOr<R?>
run and catch error, then putError
inherited
skpIf(bool condition, String reason, {Level level = Level.FINE}) → void
if you want interrupt the normal flow, but not trigger runCatching.onFailure
inherited
skpIfNull(Object? obj, String reason) → void
if obj ==null, throw SkipError ref skpIf
inherited
skpNull<T>(T? obj, String reason, {Level level = Level.FINE}) → T
if obj == null: throw SkipError else: return obj!
inherited
subBy<T extends StreamSubscription>(String tag) → T
inherited
throttle<R>(Object tag, Duration duration, FutureOr<R> action(), {bool ensureLast = false}) → FutureOr<R?>
throttle 节流: 固定频率执行。 配合 mutex 解决异步任务重叠问题:如果周期到了但上次任务还没跑完,直接跳过。 ensureLast: 如果为 true,则在节流期间的最后一次触发将被防抖补发。
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A brief description of this object, usually just the runtimeType and the hashCode.
inherited
update(FutureOr<M> updater(M old), {dynamic onError(Object e, StackTrace s)?, int slowlyMs = 100, Object? debounceTag, Object? throttleTag, Object? mutexTag, dynamic ignoreSkipError = true, String onPutLogging(M cur)?, OnLogging<M>? logging}) → FutureOr<M?>
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited