Skip to content

Instantly share code, notes, and snippets.

View iapicca's full-sized avatar
🎯
Focusing

Francesco Iapicca iapicca

🎯
Focusing
View GitHub Profile
@iapicca
iapicca / main.dart
Last active August 29, 2022 08:25
extension do not warn for error
import 'dart:async';
typedef Nullary<T> = T Function();
typedef NullaryAsync<T> = Nullary<Future<T>>;
typedef NullaryFutureOr<T> = Nullary<FutureOr<T>>;
typedef Unary<T, S> = T Function(S);
typedef UnaryAsync<T, S> = Unary<Future<T>, S>;
typedef UnaryFutureOr<T, S> = Unary<FutureOr<T>, S>;
@iapicca
iapicca / main.dart
Last active August 27, 2022 18:59
issue_109983 (c)
import 'package:flutter/material.dart';
void main() => runApp(const MaterialApp(home: MyHomePage()));
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
@iapicca
iapicca / main.dart
Last active August 27, 2022 18:19
issue_109983 (b)
import 'package:flutter/material.dart';
void main() => runApp(const MaterialApp(home: MyHomePage()));
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
@iapicca
iapicca / main.dart
Created August 27, 2022 17:26
issue_109983
import 'package:flutter/material.dart';
void main() => runApp(const MaterialApp(home: MyHomePage()));
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
@iapicca
iapicca / main.dart
Created August 25, 2022 15:29
material state example
import 'package:flutter/material.dart';
class ButtonStyleOverlay {
const ButtonStyleOverlay();
Color call(Set<MaterialState> states) {
if (states.contains(MaterialState.focused)) {
return Colors.white;
}
if (states.contains(MaterialState.hovered)) {
return Colors.orange;
@iapicca
iapicca / main.dart
Last active August 12, 2022 12:20
issue_109437
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() => runApp(const MaterialApp(home: HomePage()));
extension HumanReadableRawKeyEventX on RawKeyEvent {
String get details => [
this is RawKeyDownEvent ? 'down' : 'up',
'$logicalKey',
@iapicca
iapicca / main.dart
Created August 11, 2022 20:44
useTextEditingController example
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
void main() => runApp(const Application());
class Application extends StatelessWidget {
const Application({super.key});
@override
Widget build(context) => const MaterialApp(home: HomePage());
@iapicca
iapicca / main.dart
Last active August 12, 2022 06:02
issues_109020
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
abstract class Routes {
static const splash = '/';
static const home = '/home';
}
void main() => runApp(const MyApp());
@iapicca
iapicca / main.dart
Created August 2, 2022 11:24
weird equality issue
List<int> integersUntil(int limit) => [for (var i = 0; i < limit; i++) i];
class Foo {
final List<int> bar;
final List<int> baz;
const Foo(this.bar, this.baz);
@override
bool operator ==(Object other) => other is Foo && other.hashCode == hashCode;
@override
@iapicca
iapicca / main.dart
Created July 26, 2022 20:48
pagination example
List<int> intUntil(int n) => [for (var i = 0; i < n; ++i) i];
extension PaginateX<T> on List<T> {
Iterable<Iterable<T>> paginateBy(int n) sync* {
final floor = (length / n).floor();
for (var i = 0; i < floor; ++i) {
yield getRange(i * n, (i + 1) * n);
}