Skip to content

Instantly share code, notes, and snippets.

@OnlyTarg
OnlyTarg / tear_off_flutter_app .dart
Last active December 13, 2021 07:26
Tear-off constructor on flutter_app
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
enum MyEnum { one, two, three }
void main() {
print(MyEnum.one);
print(MyEnum.one.name); // one
final map = MyEnum.values.asNameMap();
print(map);
print(MyEnum.values.byName('two'));
void main() {
//example1 simple use generic class
print('example 1');
GenericExample<String> example1 = GenericExample('SomeString');
GenericExample<int> example2 = GenericExample(123);
print(example1.genericField);
print(example2.genericField);
@OnlyTarg
OnlyTarg / fields_at_abstract_classes.dart
Last active February 7, 2022 14:26
fields_at_abstract_classes
// ignore_for_file: avoid_print
/// Проблематика:
/// Как правильно объявлять переменные в абстрактных класах, чтоб в классах которые их имплементируют, эти переменные можно
/// было переопределять как immutable так и muttable (с ключевым словом final так и без)
///Вариант первый. использвать late final
///В таком случае в классе который имплементится от этого абстрактного класса это поле можно использовать без ключевого слово final
///Если в реализации нужно использвать immutable переменную - нужно реализовывать еще и сеттер.
///Так же в документации рекомендуется не использовать late final (https://dart.dev/guides/language/effective-dart/design#avoid-public-late-final-fields-without-initializers)
//сортировка вставками
void main() {
final array = <int>[5, 2, 6, 14, 87, 11, 9, 3, 76];
print(array);
sort(array);
print(array);
}
@OnlyTarg
OnlyTarg / async.dart
Last active June 7, 2023 07:17
async await
void main() async {
// final bool1 = await getSomeFuture1();
// final bool2 = await getSomeFuture2();
final bool3 = await getSomeFuture3();
// print(bool1);
// print(bool2);
print(bool3);
}
Future<bool> getSomeFuture3() async {
@OnlyTarg
OnlyTarg / partiallyHiddenToken.dart
Created September 29, 2023 09:44
partiallyHiddenToken
const String tokenFromServer =
'eyJhbGciOiJSUzI1NiIsImtpZCI6Ijg0NTBDRTFDODNFNEVBMEUxMjU1ODY2MURCMzE0M0I4MDQ1RDU1RDBSUzI1NiIsInR5cCI6ImF0K2p3dCIsIng1dCI6ImhGRE9ISVBrNmc0U1ZZWmgyekZEdUFSZFZkQSJ9.eyJuYmYiOjE2OTU5MDE1MDksImV4cCI6MTY5NTkwNTEwOSwiaXNzIjoiaHR0cHM6Ly9hdXRoLnNpbHBvLnVhIiwiYXVkIjoicHJvZmlsZS0tc2VjdXJpdHktLWlkZW50aXR5LXNlcnZpY2UiLCJjbGllbnRfaWQiOiJlY29tLS1zZi0tbW9iaWxlLS1mbHV0dGVyLWFwcCIsInN1YiI6ImUzZDU0NDBjLTVjMDctNDk4MC05NmM3LWQ4N2EwZWEyYTAxOCIsImF1dGhfdGltZSI6MTY5NTkwMTUwOSwiaWRwIjoibG9jYWwiLCJzZXNzaW9uSWQiOiIzODhiMzY4Ni04MmI1LTQxYTQtYTA0Yi1hY2EzM2VlNGVjOWUiLCJqdGkiOiJBNDk3RDE1MkYyNDgyQzg2RjU4NzhFRkE2MEIwRjJEMCIsImlhdCI6MTY5NTkwMTUwOSwic2NvcGUiOlsiY29yZS0tY29yZS0tbWVkaWEtc2VydmljZTptZWRpYS0tdXBsb2FkIiwib3BlbmlkIiwicHJvZmlsZS0tc2VjdXJpdHktLWlkZW50aXR5LXNlcnZpY2U6aW50ZXJuYWwtYXBpLS1jYWxsIiwicHVibGljLW15Iiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInNpbHBvX21vYmlsZV9sZWdhY3lfdG9rZW4iXX0.X6iCE5xVm-QBqCkIkyNFmpIKXJQLfL2qdYM4UUQX7hfnB85tHH4skx8Ygw0TPoGydd32N6M4_1bTZJvMoAU_0nImGU3M2tXHmQxh54MXJo7or_5-hqwBwZ8tG_Q
@OnlyTarg
OnlyTarg / flutter_3.19.dart
Last active March 1, 2024 08:45
flutter 3.19
import 'package:flutter/material.dart';
import 'package:flutter/gestures.dart';
void main() {
runApp(const FlutterPresentation());
}
class _FlutterPresentationState extends State<FlutterPresentation> {