Skip to content

Instantly share code, notes, and snippets.

View rrousselGit's full-sized avatar
🎯
Fluttering

Remi Rousselet rrousselGit

🎯
Fluttering
View GitHub Profile
@rrousselGit
rrousselGit / main.dart
Last active May 3, 2026 15:08
Experimental Riverpod dartpad
// ignore_for_file: prefer_relative_imports, public_member_api_docs, invalid_use_of_internal_member
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_riverpod/misc.dart';
import 'package:flutter_riverpod/mutation.dart';
import 'package:flutter/material.dart';
class Counter extends Notifier<int> {
@override
int build() => 0;
// ignore_for_file: prefer_relative_imports, public_member_api_docs, invalid_use_of_internal_member
import 'package:flutter_riverpod/experimental/mutation.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_riverpod/misc.dart';
final _fam = Family(
name: null,
dependencies: null,
$allTransitiveDependencies: null,
@rrousselGit
rrousselGit / main.dart
Created August 18, 2025 22:01
Riverpod first_app DartPad embed
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:dio/dio.dart';
void main() {
runApp(const ProviderScope(child: MyApp()));
}
class MyApp extends StatelessWidget {
void main() async {
final stream = fn();
print('here');
print(await stream.first);
print('done');
}
Stream<int> fn() async* {
print('try');
@rrousselGit
rrousselGit / main.dart
Last active March 6, 2022 14:49
Graph table inspector
import 'dart:math';
import 'package:flutter/material.dart';
void main() {
runApp(const MaterialApp(home: MyHomePage()));
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key}) : super(key: key);
@rrousselGit
rrousselGit / main.dart
Last active January 15, 2022 12:18
raw Riverpod
import 'package:riverpod/riverpod.dart';
void main() {
final container = ProviderContainer();
container.listen<Counter>(counter, (prev, value) {
print('count: ${value.count}');
}, fireImmediately: true);
container.read(counter).increment();
import 'package:flutter/foundation.dart';
void main() {
print('start');
awaitFn();
thenFn();
print('end');
}
Future<void> awaitFn() async {
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:flutter/material.dart';
Future<void> asyncFunction() async {
print('a');
await Future.value();
print('b');
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
final firstCounter = ValueNotifier(0);
final secondCounter = ValueNotifier(0);
class MyApp extends StatelessWidget {
@rrousselGit
rrousselGit / change_notifier.dart
Last active August 1, 2020 05:43
A benchmark that compares before and after performances for notifyListeners of ChangeNotifier
import 'observer_list.dart';
typedef VoidCallback = void Function();
class ChangeNotifier {
ObserverList<VoidCallback> _listeners = ObserverList<VoidCallback>();
bool get hasListeners {
return _listeners.isNotEmpty;
}