Fluda is a library which makes Flutter application development faster and easier. It makes your code clean and easy to read.
Note: Fluda is still under development. Feedback and Pull Requests are most welcome!
Extension | Example Usage | Original Equivalent |
---|---|---|
MediaQueryData get query |
context.query |
MediaQuery.of(context) |
FocusScopeNode get focus |
context.focus |
FocusScope.of(context) |
ThemeData get theme |
context.theme |
Theme.of(context) |
NavigatorState get navigator |
context.navigator |
Navigator.of(context) |
Extension | Example Usage | Original Equivalent |
---|---|---|
hideKeyboard() |
context.focus.hideKeyboard() |
if (!FocusScope.of(context).hasPrimaryFocus) FocusScope.of(context).unfocus() |
Extension | Example Usage | Original Equivalent |
---|---|---|
ifTrue(yes, [no]) |
someBool.ifTrue(Text("Hello")) |
someBool ? Text("Hello") : SizedBox() |
someBool.ifTrue(firstVariable, secondVariable) |
someBool ? firstVariable : secondVariable |
Extension | Example Usage | Original Equivalent |
---|---|---|
bool get isEven |
5.isEven |
(5 % 2 == 0) |
bool get isOdd |
5.isOdd |
(5 % 2 != 0) |
bool get isPositive |
5.isPositive |
(5 > 0) |
bool get isNegative |
5.isNegative |
(5 < 0) |
Iterable<int> to(int end, {int step = 1}) |
2.to(5) |
[2, 3, 4, 5] |
Extension | Example Usage | Original Equivalent |
---|---|---|
bool get isEmptyOrNull |
"Hello".isEmptyOrNull |
"Hello" == null ⎮⎮ "Hello".isEmpty |
bool get isNotEmptyOrNull |
"Hello".isNotEmptyOrNull |
"Hello" != null && "Hello".isNotEmpty |
int toInt() |
"23".toInt() |
int.parse("23") |
double toDouble() |
"23.3".toDouble() |
double.parse("23.3") |
bool validate() |
"Simon Pham".validate(RegexUtils.name) |
RegExp(nameRegex).hasMatch("Simon Pham") |
bool validateEmail() |
"email@email.com".validateEmail() |
RegExp(emailRegex).hasMatch("email@email.com") |
Future launch() |
"https://some.url".launch() |
if (await url.canLaunch("https://some.url")) url.launch("https://some.url") |
Future dial() |
"0987654321".dial() |
if (await url.canLaunch("tel:0987654321")) url.launch("tel:0987654321") |
Future sendMail() |
"me@email.com".sendMail() |
if (await url.canLaunch("mailto:me@email.com")) url.launch("mailto:me@email.com") |
Extension | Example Usage | Description |
---|---|---|
Future<void> goTo(int page) |
pageController.goTo(2) |
Animate PageView to page index 2 smoothly |
Extension | Example Usage | Description |
---|---|---|
Future<void> goTo(double position) |
scrollController.goTo(233.99) |
Animate Scroll widget to position 233.99 smoothly |
Extension | Example Usage | Description |
---|---|---|
void selectAll() |
textEditingController.selectAll() |
Select all text in the text field |
Constant | Value |
---|---|
FludaX.x0_5 |
4.0 |
FludaX.x |
8.0 |
FludaX.x2 |
16.0 |
FludaX.x3 |
24.0 |
FludaX.x4 |
32.0 |
FludaX.x5 |
40.0 |
FludaX.x6 |
48.0 |
FludaX.x7 |
56.0 |
FludaX.x8 |
64.0 |
Constant (Duration ) |
Value |
---|---|
FludaDuration.ms |
100ms |
FludaDuration.ms2 |
200ms |
FludaDuration.ms3 |
300ms |
FludaDuration.ms4 |
400ms |
FludaDuration.ms5 |
500ms |
FludaDuration.ms6 |
600ms |
FludaDuration.ms7 |
700ms |
FludaDuration.ms8 |
800ms |
Please file Fluda specific issues, bugs, or feature requests in our issue tracker.
Plugin issues that are not specific to Fluda can be filed in the Flutter issue tracker.
If you wish to contribute a change to any of the existing plugins in this repo, please review our contribution guide, and send a pull request.