toolkit 0.3.2 toolkit: ^0.3.2 copied to clipboard
Just a simple toolkit for flutter. Will add extensions to String, Map, and some common helper.
Toolkit #
Just a simple toolkit for flutter. Some APIs are ready to help manipulate map, string, random, sleep, and media query.
Usage #
-
Add
toolkit
as a dependency in your pubspec.yaml.dependencies: toolkit: ^0.3.1
-
Install it
flutter pub get
-
And import it
import 'package:toolkit/toolkit.dart';
Kit Map
-
clone(Map<String, dynamic> json)
=>Map<String, dynamic>
Clone a map into new map.
-
toStringify()
=>String
Encode to map string.
-
toStringifyTransform(ToolkitCase mode)
=>String
Encode to map string, and transform the keys.
-
toMapTransform(ToolkitCase mode)
=>Map<dynamic, dynamic>
New map, and transform the keys.
-
parse(String mapString)
=>void
Parse json string to map.
-
set(dynamic key, dynamic value)
=>void
Set map value.
-
getString(String key)
=>String?
Get map value as string.
-
getInt(String key)
=>int?
Get map value as int.
-
getDouble(String key)
=>double?
Get map value as double.
-
getBoolean(String key)
=>bool?
Get map value as boolean.
-
getMap(String key)
=>Map<dynamic, dynamic>?
Get map value as map.
-
getList(String key)
=>List<dynamic>?
Get map value as list.
-
get<T>(String key)
=>T?
Get map value as specific type.
Kit String
-
toSentenceFromCamelCase()
=>String
To sentence case from camel case.
-
toSentenceFromSnakeCase()
=>String
To sentence case from camel case.
-
toCapitalCase()
=>String
Format to capital case.
-
toSnakeCase()
=>String
Format to snake case.
-
toCamelCase()
=>String
Format to camel case.
-
toHyphenCase()
=>String
Format to hyphen case.
-
limitString(String str, int length)
=>String
Limit string into specific length.
-
limitStringAppend(String str, int length, String append)
=>String
Limit string into specific length, and append another string.
-
isEmail
=>bool
Check if string is valid email format.
-
isContainsAlpha
=>bool
Check if string is contains alpha.
-
isContainsAlphaLowercase
=>bool
Check if string is contains alpha lowercase.
-
isContainsAlphaUppercase
=>bool
Check if string is contains alpha uppercase.
-
isContainsNumeric
=>bool
Check if string is contains numeric.
-
isContainsSpecialCharacters
=>bool
Check if string is contains special characters.
-
isOnlyAlpha
=>bool
Check if string is only alpha.
-
isOnlyAlphaLowercase
=>bool
Check if string is only alpha lowercase.
-
isOnlyAlphaUppercase
=>bool
Check if string is only alpha uppercase.
-
isOnlyNumeric
=>bool
Check if string is only numeric.
Kit Sleep
-
sleep(Duration duration)
=>Future
Set sleep by specific duration.
-
sleepMilliseconds(int milliseconds)
=>Future
Set sleep in milliseconds.
-
sleepSeconds(int seconds)
=>Future
Set sleep in seconds.
-
sleepMinutes(int minutes)
=>Future
Set sleep in minutes.
-
sleepHours(int hours)
=>Future
Set sleep in hours.
-
sleepDays(int days)
=>Future
Set sleep in days.
Kit Random
-
string(String chars, int length)
=>String
Generate random string from specific characters and length.
-
stringAlpha(int length)
=>String
Generate random string of alpha only. Lowercase uppercase included.
-
stringAlphaLowercase(int length)
=>String
Generate random string of alpha lowercase only.
-
stringAlphaUppercase(int length)
=>String
Generate random string of alpha uppercase only.
-
stringAlphaNumeric(int length)
=>String
Generate random string of alphanumeric. For alpha lowercase uppercase included.
-
stringNumeric(int length)
=>String
Generate random string of numeric.
-
specialCharacters(int length)
=>String
Generate random string of special characters.
-
numeric(int max)
=>int
Generate random int.
-
numericBetween(int min, int max)
=>int
Generate random int, between min and max.
-
randomBoolean()
=>bool
Generate random boolean.
-
randomColorHex()
=>String
Generate random color hex.
Kit RegExp
-
containsAlpha(String str)
=>bool
Check string contains alpha.
-
containsAlphaLowercase(String str)
=>bool
Check string contains alpha lowercase.
-
containsAlphaUppercase(String str)
=>bool
Check string contains alpha uppercase.
-
containsNumeric(String str)
=>bool
Check string contains numeric.
-
onlyAlpha(String str)
=>bool
Check string only alpha.
-
onlyAlphaLowercase(String str)
=>bool
Check string only alpha lowercase.
-
onlyAlphaUppercase(String str)
=>bool
Check string only alpha uppercase.
-
onlyNumeric(String str)
=>bool
Check string only numeric.
-
email(String str)
=>bool
Check string is valid email format.
-
containsSpecialCharacters(String str)
=>bool
Check string contains special characters.
Kit MediaQuery
-
getSize(BuildContext context)
=>Size
Get screen size.
-
getWidth(BuildContext context, { double size = 1 })
=>double
Get screen width, can be resize with size between 0 and 1.
-
getHeight(BuildContext context, { double size = 1 })
=>double
Get screen height, can be resize with size between 0 and 1.
Example #
// create new map
var map1 = {};
var map2 = {};
// set value of map1
map1.set('keyA', 1);
map1.set('keyB', 2);
map1.set('keyC', 3);
// set value of map2
map2.set('keyD', 'hello world');
map2.set('keyF', {
'key': 'value'
});
// delete keyA from map1
map1.delete('keyA');
// transform map
var transformMap1Upper = map1.toMapTransform(ToolkitCase.upper);
var transformMap1Lower = map1.toMapTransform(ToolkitCase.lower);
var transformMap1Capital = map1.toMapTransform(ToolkitCase.capital);
// transform map string
var transformMap2Upper = map2.toStringifyTransform(ToolkitCase.upper);
var transformMap2Lower = map2.toStringifyTransform(ToolkitCase.lower);
var transformMap2Capital = map2.toStringifyTransform(ToolkitCase.capital);
// parse from json string
var map3 = {};
String jsonString = '{"name": "SpiderMan", "age": 40, "fly": true}';
map3.parse(jsonString);
map3.set('weapons', ['Pulse Bolt', 'Energy Blade', 'Tri-beam', 'Uni-beam', 'Smart Missiles']);
// get map value
var name = map3.getString("name");
var age = map3.getInt("age");
var canFly = map3.getBoolean("fly");
var weapons = map3.get("weapons");
var weapons2 = map3.getList("weapons");
print("===== Map Example =====");
print(transformMap1Lower); // {keyb: 2, keyc: 3}
print(transformMap1Upper); // {KEYB: 2, KEYC: 3}
print(transformMap1Capital); // {KeyB: 2, KeyC: 3}
print(transformMap2Lower); // {"keyd":"hello world","keyf":{"key":"value"}}
print(transformMap2Upper); // {"KEYD":"hello world","KEYF":{"KEY":"value"}}
print(transformMap2Capital); // {"KeyD":"hello world","KeyF":{"Key":"value"}}
print(name); // IronMan
print(age); // 40
print(canFly); // true
print(weapons); // [Pulse Bolt, Energy Blade, Tri-beam, Uni-beam, Smart Missiles]
print(weapons2); // [Pulse Bolt, Energy Blade, Tri-beam, Uni-beam, Smart Missiles]
// clear map
map1.clear();
map2.clear();
map3.clear();
var randomInt = t.randomInt(10);
var randomIntBetween = t.randomIntBetween(5, 8);
var randomString = t.randomString("RANDOMIZE", 4);
var randomStringAlpha = t.randomStringAlpha(12);
var randomStringAlphaLower = t.randomStringAlphaLowercase(12);
var randomStringAlphaUpper = t.randomStringAlphaUppercase(12);
var randomStringAlphaNumeric = t.randomStringAlphaNumeric(12);
var randomStringNumeric = t.randomStringNumeric(12);
var randomBoolean = t.randomBoolean();
double randomDouble = t.randomDouble();
String randomColorHex = t.randomColorHex();
print("===== Random Example =====");
print(randomInt); // 3
print(randomIntBetween); // 6
print(randomString); // DEEZ
print(randomStringAlpha); // VYRJvFwnBkyI
print(randomStringAlphaLower); // ulyzaqakjsic
print(randomStringAlphaUpper); // GVLEREOOBHIU
print(randomStringAlphaNumeric); // cTof58MhnlUd
print(randomStringNumeric); // 261679006839
print(randomBoolean); // false
print(randomDouble); // 0.9711403523337846
print(randomColorHex); // #0B8EBB
String alpha = "ABCabc";
String alphaLowercase = "abcdef";
String alphaUppercase = "ABCDEF";
String alphaNumeric = "ABCDEF123";
String numeric = "123456";
print("===== RegExp Example =====");
print("==> Contains Alpha");
print(alpha + " - " + Toolkit.regex.containsAlpha(alpha).toString()); // ABCabc - true
print(alphaLowercase + " - " + Toolkit.regex.containsAlpha(alphaLowercase).toString()); // abcdef - true
print(alphaUppercase + " - " + Toolkit.regex.containsAlpha(alphaUppercase).toString()); // ABCDEF - true
print(alphaNumeric + " - " + Toolkit.regex.containsAlpha(alphaNumeric).toString()); // ABCDEF123 - true
print(numeric + " - " + Toolkit.regex.containsAlpha(numeric).toString()); // 123456 - false
print("==> Contains Alpha Lowercase");
print(alpha + " - " + Toolkit.regex.containsAlphaLowercase(alpha).toString()); // ABCabc - true
print(alphaLowercase + " - " + Toolkit.regex.containsAlphaLowercase(alphaLowercase).toString()); // abcdef - true
print(alphaUppercase + " - " + Toolkit.regex.containsAlphaLowercase(alphaUppercase).toString()); // ABCDEF - false
print(alphaNumeric + " - " + Toolkit.regex.containsAlphaLowercase(alphaNumeric).toString()); // ABCDEF123 - false
print(numeric + " - " + Toolkit.regex.containsAlphaLowercase(numeric).toString()); 123456 - false
print("==> Contains Alpha Uppercase");
print(alpha + " - " + Toolkit.regex.containsAlphaUppercase(alpha).toString()); // ABCabc - true
print(alphaLowercase + " - " + Toolkit.regex.containsAlphaUppercase(alphaLowercase).toString()); // abcdef - false
print(alphaUppercase + " - " + Toolkit.regex.containsAlphaUppercase(alphaUppercase).toString()); // ABCDEF - true
print(alphaNumeric + " - " + Toolkit.regex.containsAlphaUppercase(alphaNumeric).toString()); // ABCDEF123 - true
print(numeric + " - " + Toolkit.regex.containsAlphaUppercase(numeric).toString()); // 123456 - false
print("==> Contains Numeric");
print(alpha + " - " + Toolkit.regex.containsNumeric(alpha).toString()); // ABCabc - false
print(alphaLowercase + " - " + Toolkit.regex.containsNumeric(alphaLowercase).toString()); // abcdef - false
print(alphaUppercase + " - " + Toolkit.regex.containsNumeric(alphaUppercase).toString()); // ABCDEF - false
print(alphaNumeric + " - " + Toolkit.regex.containsNumeric(alphaNumeric).toString()); // ABCDEF123 - true
print(numeric + " - " + Toolkit.regex.containsNumeric(numeric).toString()); // 123456 - true
print("==> Only Alpha");
print(alpha + " - " + Toolkit.regex.onlyAlpha(alpha).toString()); // ABCabc - true
print(alphaLowercase + " - " + Toolkit.regex.onlyAlpha(alphaLowercase).toString()); // abcdef - true
print(alphaUppercase + " - " + Toolkit.regex.onlyAlpha(alphaUppercase).toString()); // ABCDEF - true
print(alphaNumeric + " - " + Toolkit.regex.onlyAlpha(alphaNumeric).toString()); // ABCDEF123 - false
print(numeric + " - " + Toolkit.regex.onlyAlpha(numeric).toString()); // 123456 - false
print("==> Only Alpha Lowercase");
print(alpha + " - " + Toolkit.regex.onlyAlphaLowercase(alpha).toString()); // ABCabc - false
print(alphaLowercase + " - " + Toolkit.regex.onlyAlphaLowercase(alphaLowercase).toString()); // abcdef - true
print(alphaUppercase + " - " + Toolkit.regex.onlyAlphaLowercase(alphaUppercase).toString()); // ABCDEF - false
print(alphaNumeric + " - " + Toolkit.regex.onlyAlphaLowercase(alphaNumeric).toString()); // ABCDEF123 - false
print(numeric + " - " + Toolkit.regex.onlyAlphaLowercase(numeric).toString()); // 123456 - false
print("==> Only Alpha Uppercase");
print(alpha + " - " + Toolkit.regex.onlyAlphaUppercase(alpha).toString()); // ABCabc - false
print(alphaLowercase + " - " + Toolkit.regex.onlyAlphaUppercase(alphaLowercase).toString()); // abcdef - false
print(alphaUppercase + " - " + Toolkit.regex.onlyAlphaUppercase(alphaUppercase).toString()); // ABCDEF - true
print(alphaNumeric + " - " + Toolkit.regex.onlyAlphaUppercase(alphaNumeric).toString()); // ABCDEF123 - false
print(numeric + " - " + Toolkit.regex.onlyAlphaUppercase(numeric).toString()); // 123456 - false
print("==> Only Numeric");
print(alpha + " - " + Toolkit.regex.onlyNumeric(alpha).toString()); // ABCabc - false
print(alphaLowercase + " - " + Toolkit.regex.onlyNumeric(alphaLowercase).toString()); // abcdef - false
print(alphaUppercase + " - " + Toolkit.regex.onlyNumeric(alphaUppercase).toString()); // ABCDEF - false
print(alphaNumeric + " - " + Toolkit.regex.onlyNumeric(alphaNumeric).toString()); // ABCDEF123 - false
print(numeric + " - " + Toolkit.regex.onlyNumeric(numeric).toString()); // 123456 - true
print("===== Sleep Example =====");
// sleep by 5 seconds
print(DateTime.now()); // 2020-07-05 21:02:21.112141
await t.sleepSeconds(5);
print(DateTime.now()); // 2020-07-05 21:02:26.120927