Skip to content

Instantly share code, notes, and snippets.

View dickermoshe's full-sized avatar

Moshe Dicker dickermoshe

  • Lakewood, NJ
View GitHub Profile
import "package:rxdart/rxdart.dart";
void main() async {
// Emit an incrementing number every 5 seconds
final parentStream = Stream.periodic(Duration(seconds: 5), (i) => i);
/// Every second, emit an incrementing number which is multipled by the current parentStream
final childStream = parentStream.asyncMap((multiplyBy) {
return Stream.periodic(Duration(seconds: 1), (i) => i * multiplyBy);
});
@dickermoshe
dickermoshe / main.dart
Created December 22, 2024 07:59
Piped Widgets
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
class Foo {
int bar;
Foo(this.bar);
}
void main() {
var data = List.generate(10_000_000, (i) => Foo(i));
// Imutable
final t1 = DateTime.now();
data = [for (final i in data) Foo(i.bar + 1)];
@Stateful
class Counter{
int initialCount; // Public variables are inputs
int _count = 0; // Private variables are part of state
int? nullableInput = null; // All fields are required unless defaults are specified
}
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
@dickermoshe
dickermoshe / main.dart
Created January 10, 2024 17:39
Generated code from pixels2flutter.dev
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
@dickermoshe
dickermoshe / when_extension.dart
Created November 14, 2023 06:04
An extension for `AsyncSnapshot` with the `when` method from Riverpod's `AsyncValue` : Simplily use of `FutureBuilder`
import 'package:flutter/material.dart';
extension When<T> on AsyncSnapshot<T> {
R when<R>({
required R Function(T data) data,
required R Function(Object error, StackTrace stackTrace) error,
required R Function() loading,
}) {
switch (connectionState) {
case ConnectionState.none:
@dickermoshe
dickermoshe / main.dart
Created June 12, 2023 23:08
Flutter Large App Bar Bug
import 'package:flutter/material.dart';
const Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
@dickermoshe
dickermoshe / main.dart
Last active April 9, 2023 15:19
Flutter RTL bug
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {