Skip to content

Instantly share code, notes, and snippets.

View dsrenesanse's full-sized avatar
🇯🇵

Dan dsrenesanse

🇯🇵
  • Rakuten
  • Tokyo
View GitHub Profile
library example;
import 'dart:isolate';
import 'package:built_redux/built_redux.dart';
import 'package:built_value/built_value.dart';
part 'example.g.dart';
void main() async {
class BlocInjector extends InheritedWidget {
BlocInjector({
Key key,
@required Widget child,
@required this.bloc,
}) : super(key: key, child: child);
final Bloc bloc;
static BlocInjector of(BuildContext context) =>
class Bloc {
final broadcaster1 = StreamController<Model1>.broadcast();
final broadcaster2 = StreamController<Model2>.broadcast();
Stream<Model1> get stream1 => broadcaster1.stream;
Stream<Model2> get stream2 => broadcaster2.stream;
Bloc(){
subscribe();
main() async {
final broadcaster = StreamController.broadcast();
broadcaster.stream
.asyncExpand((data) =>
Stream.fromFuture(Future.delayed(Duration(seconds: 10), () {
return data;
})))
.listen((onData) {
print(onData);
});
import 'package:flutter/material.dart';
import 'dart:async';
main() {
final state = State();
final mutator = Mutator(state);
runApp(MyApp(state: state, mutator: mutator));
}
class State {
import 'state.dart';
enum Actions{ Increment }
class Mutator {
mutateState(action) {
switch(action){
case Actions.Increment : {
state.valueElementState.value++;
state.valueElementState.valueBroadcaster
import 'dart:async';
class ScreenState {
final valueElementState = _ElementState(value: 0);
/// Global state describes a screen state
}
class _ElementState{
/// Element state describes a view state
import 'package:flutter/material.dart';
import 'mutator.dart';
import 'state.dart';
void main() {
runApp(VMSApp());
}
class VMSApp extends StatelessWidget {
build(context) {