Skip to content

Instantly share code, notes, and snippets.

View hawkkiller's full-sized avatar
🎯
Focusing

Michael Lazebny hawkkiller

🎯
Focusing
View GitHub Profile
@hawkkiller
hawkkiller / main.dart
Created June 28, 2023 19:53
Transformers
import 'dart:async';
final transformer = StreamTransformer<int, int>.fromHandlers(
handleData: (data, sink) {
print('transformed');
sink.add(data * 2); // For every data event, we double the value.
},
handleError: (error, stacktrace, sink) {
sink.addError('An error occurred: $error'); // We transform any error.
},
@hawkkiller
hawkkiller / cronjob.yaml
Created April 29, 2023 10:45
mysql backup to s3
{{ if .Values.mysql.backup.enabled }}
apiVersion: batch/v1
kind: CronJob
metadata:
name: {{ .Release.Name }}-mysql-backup
spec:
schedule: {{ .Values.mysql.backup.schedule | quote }}
jobTemplate:
spec:
ttlSecondsAfterFinished: {{ .Values.mysql.backup.ttlSecondsAfterFinished }}
@hawkkiller
hawkkiller / global_key.dart
Created March 23, 2023 15:53
Dart global key showcase
import 'dart:math';
import 'package:flutter/material.dart';
void main() {
runApp(const MainApp());
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
import 'package:flutter/material.dart';
import 'package:themegen_annotation/themegen_annotation.dart';
part 'example.g.dart';
@ThemeGen(
extensions: {
_$AppColorsLight,
_$AppFontStylesLight,
},
@hawkkiller
hawkkiller / no_transition_page.dart
Created October 29, 2022 12:08
No Transition Page Dart, useful for nested nav
import 'package:flutter/material.dart';
class NoTransitionPage extends Page<Object> {
const NoTransitionPage({
required this.child,
this.fullscreenDialog = false,
this.maintainState = true,
this.barrierColor,
this.barrierLabel,
});

General Purpose

part 'theme.g.dart';

@ThemeGen(name: 'Light')
class _$AppThemeLight {}

@ThemeGen(name: 'Dark')
class _$AppThemeDark {}
@hawkkiller
hawkkiller / animatable_textfield.dart
Last active August 12, 2022 20:21
A textfield that contain animated widget. Like telegram new update has. A breakthrough in mobile engineering as Durov said ✌️
import 'package:flutter/material.dart';
void main() {
runApp(const MainApp());
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
@hawkkiller
hawkkiller / debounced_restartable.dart
Created August 8, 2022 19:54
Debounced restartable which can help you implement the right search behavior, for example.
class DebouncedRestartableTransformer extends StreamTransformerBase<int, int> {
@override
Stream<int> bind(Stream<int> stream) {
return stream.debounce(const Duration(seconds: 1)).switchMap(Stream.value);
}
}
@hawkkiller
hawkkiller / http.dart
Last active August 8, 2022 19:10
Create HTTP get request without using any libraries
import 'dart:io';
Future<void> main() {
final sock = await Socket.connect('www.google.com', 80);
sock.write('GET / HTTP/1.0\r\nHost: www.google.com\r\n\r\n');
sock.listen((event) {
print(String.fromCharCodes(event));
});
}
@hawkkiller
hawkkiller / class.dart
Created June 23, 2022 08:50
Freezed vs Plain Class
@freezed
class UserCardsState with _$UserCardsState {
const UserCardsState._();
bool get inProgress => maybeMap(
fetching: (_) => true,
orElse: () => false,
);
bool get isFetched => maybeMap(
fetched: (_) => true,