0 purchases
quickly
Quickly is awesome flutter package for faster and cleaner development.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents #
About The Project
Built With
Usage
Contributing
License
Contact
About The Project #
Quickly is a powerful Flutter package that aims to enhance the development experience by offering a variety of extension methods for types such as String, List and Map, allowing for a more efficient and cleaner coding experience. It is inspired by Bootstrap and Tailwind CSS, and is built using Flutter and Dart. The package offers a wide range of utility functions, such as applying padding, visibility, and text styling to widgets. It can be easily integrated into your code by importing the package and using the provided extension methods on your widgets.
With Quickly, developers can take advantage of features such as:
A collection of useful widgets and classes for quickly creating common UI elements.
Utility functions for common tasks like data validation and formatting.
Performance optimization tools for improving the overall performance of your app.
In summary, Quickly is an essential tool for any Flutter developer looking to improve their development workflow and create high-quality, polished apps.
(back to top)
Built With #
Flutter
Dart
(back to top)
Usage #
Flutter #
// Display big bold red Text in italic with underline and alligned it to center
Text('Quickly').red500.xl.bold.italic.underline.center
// Apply padding to Widget
Text('12 Padding from all side').p12
Text('4 Padding from top and bottom side').py4
Text('16 Padding from all side except top').pnt16
// Visibility
Text('Hide this widget').hide()
// Rounded border
Text('Make rounded this widget').rounded
// Vertical space
2.hBox(child:Text('Added 2dp vertical space'))
copied to clipboard
Dart #
The following are a list of extensions on various types (lists, maps, integers, and doubles) to provide additional functionality:
List Extensions: #
Sample data :
numbers = [5, 2, 9, 1, 7]
people = [{'name': 'Bob', 'age': 30}, {'name': 'Alice', 'age': 25}]
copied to clipboard
list.sorted(): Returns a new list with the elements sorted in ascending order.
numbers.sorted() // [1, 2, 5, 7, 9]
copied to clipboard
list.sortedDec(): Returns a new list with the elements sorted in descending order.
numbers.sortedDec() // [9, 7, 5, 2, 1]
copied to clipboard
list.sortedBy(key): Returns a new list of objects sorted by the provided key.
people.sortedBy('age') // [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}]
copied to clipboard
list.chunk(n): Divides the list into equal chunks of size n and returns a list of lists.
numbers.chunk(2) // [[5, 2], [9, 1], [7]]
copied to clipboard
list.split(n): Divides the list into n equal parts and returns a list of lists.
numbers.split(3) // [[5, 2], [9], [1, 7]]
copied to clipboard
list.pluck(key): Retrieves all of the values for a given key from a list of objects.
people.pluck('name') // ['Bob', 'Alice', 'Charlie']
copied to clipboard
Map Extensions: #
Sample data :
person = {'name': 'Bob', 'age': 30, 'gender': 'male'}
copied to clipboard
map.has("key","value"): Returns a boolean value indicating if the provided key-value pair is present in the map.
person.has('gender', 'male') // true
copied to clipboard
map.getId(): Returns the value associated with the key 'id' if it exists, else returns NULL.
person.getId() // null
copied to clipboard
map.getString('key'): Returns the value associated with the provided key if it exists, else returns NULL.
person.getString('name') // 'Bob'
copied to clipboard
map.getBool('key'): Returns the boolean value associated with the provided key if it exists, else returns false.
person.getBool('gender') // false
copied to clipboard
map.retainKeys(keys): Returns a new map with only the key-value pairs that match the provided keys.
person.retainKeys(['name', 'age']) // {'name': 'Bob', 'age': 30}
copied to clipboard
map.match(key, [defaultValue]): Returns the value associated with the provided key if it exists, else returns the provided default value or "Invalid input" if no default value is provided.
person.match('age', 'Unknown') // 30
copied to clipboard
Num Extensions: #
int.suffix(): Returns the ordinal suffix for the integer (e.g. 1st, 2nd, 8th)
double.suffix([suffix]): Returns the double with the provided suffix
8.suffix() // '8th'
10.5.suffix('$') // '10.5$'
copied to clipboard
int.getMonthName({isShort}): Returns the name of the month corresponding to the integer
1.getMonthName() // 'January'
1.getMonthName(isShort:true) // 'Jan'
copied to clipboard
int.getWeekName({isShort}): Returns the name of the day of the week corresponding to the integer
3.getWeekName() // 'Wednesday'
3.getWeekName(isShort:true) // 'Wed'
copied to clipboard
For more examples, please refer to the Documentation
(back to top)
Contributing #
We welcome and greatly appreciate any contributions to Quickly. Whether you have a bug report, feature suggestion, or are interested in helping to develop the package, we encourage you to get involved.
Here are a few ways you can contribute:
Report a bug: If you find a bug or issue with the package, please open an issue and provide as much detail as possible about the problem.
Suggest a feature: If you have an idea for a new feature or improvement, please open an issue and share your thoughts.
Contribute code: If you're interested in developing the package further, please fork the repository and submit a pull request with your changes. Before submitting, please make sure to run the tests and ensure that your code follows the project's coding style.
Spread the word: If you find Quickly useful, please tell your friends and colleagues about it and give the project a star on GitHub.
Thank you for your support!
Fork the Project
Create your Feature Branch (git checkout -b feature/AmazingFeature)
Commit your Changes (git commit -m 'Add some AmazingFeature')
Push to the Branch (git push origin feature/AmazingFeature)
Open a Pull Request
(back to top)
License #
Distributed under the MIT License. See LICENSE for more information.
(back to top)
Contact #
Aniket Khote - @aniketkhote99 - [email protected]
Project Link: https://github.com/Aniketkhote/Quickly
Show some ❤️ to Like, Follow, and Star our repo! #
(back to top)
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.