Skip to content

Instantly share code, notes, and snippets.

View selectable_sqlite_async.dart
import 'package:sqlite3/sqlite3.dart';
import 'package:sqlite_async/sqlite_async.dart';
typedef RowParser<T> = T Function(Row row);
extension SqliteDatabaseUtils on SqliteDatabase {
Selectable<T> select<T>(
String sql, {
List<Object?> parameters = const [],
Set<String> tables = const {},
@rodydavis
rodydavis / podcast_rss_feed.xml
Created April 27, 2020 22:22
Podcast RSS Feed Example
View podcast_rss_feed.xml
<?xml version="1.0" encoding="UTF-8" ?>
<rss xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:rawvoice="http://www.rawvoice.com/rawvoiceRssModule/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
<channel>
<title>Creative Engineering</title>
<googleplay:author>Rody Davis, Norbert Kozsir</googleplay:author>
<rawvoice:rating>TV-G</rawvoice:rating>
<rawvoice:location>San Francisco, California</rawvoice:location>
<rawvoice:frequency>Weekly</rawvoice:frequency>
<author>Rody Davis, Norbert Kozsir</author>
<itunes:author>Rody Davis, Norbert Kozsir</itunes:author>
View signals_fullname_example.dart
import 'package:flutter/material.dart';
import 'package:signals/signals_flutter.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) => const MaterialApp(
View signals.dart
import 'package:flutter/material.dart';
final brightness = signal(Brightness.light);
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
View preact_signals.dart
// ignore_for_file: public_member_api_docs, constant_identifier_names
const _maxCallDepth = 100;
void cycleDetected() {
throw Exception('Cycle detected');
}
void mutationDetected() {
throw Exception('Computed cannot have side-effects');
}
@rodydavis
rodydavis / flutter_github_ci.yml
Last active November 10, 2023 21:10
Flutter Github Actions Build and Deploy Web to Firebase Hosting, iOS to Testflight, Android to Google Play (fastlane)
View flutter_github_ci.yml
name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build_web:
View flutter_native_http.dart
import 'package:cronet_http/cronet_http.dart';
import 'package:cupertino_http/cupertino_http.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:fetch_client/fetch_client.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart';
import 'package:platform_info/platform_info.dart';
import 'package:flutter/foundation.dart';
void main() async {
@rodydavis
rodydavis / flutter_stream_widget.dart
Created November 2, 2023 23:16
Render a widget as a stream instead of a single funciton
View flutter_stream_widget.dart
import 'dart:async';
import 'package:flutter/widgets.dart';
abstract class StreamWidget extends StatefulWidget {
const StreamWidget({Key? key}) : super(key: key);
Stream<Widget> build(BuildContext context);
void initState() {}
@rodydavis
rodydavis / input_output_preview.dart
Created November 1, 2023 22:01
Flutter input, output, preview
View input_output_preview.dart
import 'package:flutter/material.dart';
import 'two_pane.dart';
class InputOutputPreview extends StatefulWidget {
const InputOutputPreview({
super.key,
required this.title,
required this.input,
required this.output,
@rodydavis
rodydavis / flutter-multi-touch-canvas-demo.dart
Last active September 27, 2023 06:47
Flutter Multi Touch Canvas Demo
View flutter-multi-touch-canvas-demo.dart
import 'dart:async';
import 'dart:math' as math;
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {