Wuchuheng Hooks | Coderz Repository

wuchuheng_hooks

Last updated:

0 purchases

wuchuheng_hooks Image
wuchuheng_hooks Images

Free

Languages

Categories

Add to Cart

Description:

wuchuheng hooks

wuchuheng_hooks



Hooks is a state management library where data can be set and changes can be subscribed.






Features #

Get data status
data change subscriptions

Getting started #
Usage #
import 'package:wuchuheng_hooks/src/index.dart';
import 'package:wuchuheng_hooks/src/subscription_builder/subscription_builder_abstract.dart';

void main() async {
/// basic usage.
Hook<String> strHook = Hook('Hi');
final subscribe = strHook.subscribe((value) {
print(value);
// -> new Data
});
print(strHook.value);
// -> Hi
strHook.set('new Data');
// unsubscribe
subscribe.unsubscribe();

///Batch unsubscribe hooks
Hook<String> hook1 = Hook('');
Hook<int> hook2 = Hook(0);
final unsubscribeCollect = UnsubscribeCollect([
hook1.subscribe((value) {
print(value);
// -> hi
}),
hook2.subscribe((value) {
print(value);
// -> 74110
})
]);

hook1.set('Hi');
hook2.set(74110);
unsubscribeCollect.unsubscribe();

/// SubjectHook
SubjectHook subjectHook = SubjectHook<bool>();
Future.delayed(Duration(seconds: 10), () => subjectHook.next(true));
// 10s waiting for results
final result = await subjectHook.toFuture();
print(result); // true

// ChannelHook
final ChannelHook<String> stringHook = ChannelHook<String>();
final String expectValue = 'foo';
stringHook.value.then((value) { // <-- get value from channel
print(value); // foo
});
stringHook.push(expectValue); // <-- push value to channel
await Future.delayed(Duration(seconds: 1));
}
copied to clipboard
Additional information #
contribute to the package, how to file issues, what response they can expect
from the package authors, and more.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product: (if this is empty don't purchase this product)

Customer Reviews

There are no reviews.