extension_dart 1.0.4 copy "extension_dart: ^1.0.4" to clipboard
extension_dart: ^1.0.4 copied to clipboard

A lightweight Dart extensions that simplify framework usage for elegant, effortless app development.

example/main.dart

import 'package:extension_dart/extensions.dart';
import 'package:extension_dart/utils.dart';

void main() {
  /* Double */
  double value = 3.1415926;
  print(value.fixed(decimals: 3)); // 3.141
  print(value.fixed(decimals: 3, round: true)); // 3.142

  /* Num */
  print((4783484).thousands()); // '4,783,484'
  print((125).timer()); // '02:05'

  print((0.5).percentage(fit: true)); // '50%' (instead of '50.00%')
  print((0.501).percentage()); // '50.10%'

  /* String */

  print("3.1415926".digits()); // 3.1415926

  print("4.56%".digits()); // 0.456

  print("-1.e3".digits()); // -1000.0

  print("hello world".toCamelCase()); // helloWorld
  print("Hello World".toSnakeCase()); // hello_world

  '12345'.chunks(2); // ['12', '34', '5']

  /// Other extension methods
  "qwerty".chunks(3); // ["qwe", "rty];
  "Hello".bytes(); // [72, 101, 108, 108, 111]
  "qwerty你好".bytesCount; // 10
  "Hello".bytesChunks(2); // [[72, 101], [108, 108], [111]]
  "hello".capitalize(); // return Hello
  "{}".isJson; // true
  "test@gmail.com".isEmail; // true
  "xxxxxxxx".isCreditCard; // false
  "dZ9GK_ee83".isStrongPassword; // true

  /* Map */

  Map<String, dynamic> headers = {};
  final {"requestId": requestId, "silent": silent} = headers.destructure();

  /* Iterate or List */

  final numbers = <int>[1, 2, 3, 5, 6, 7];
  var result = numbers.find((element) => element < 5); // 1
  result = numbers.find((element) => element > 5); // 6
  result = numbers.find((element) => element > 10); // null
  result = numbers.find((element) => element > 10, orElse: () => -1); // -1
  /// other api `findIndex` return index of target element, return -1 otherwise

  var numbersArr = [
    [
      1,
      2,
      [7, 8]
    ],
    [3, 5]
  ];
  print(numbersArr.flat()); // (1, 2, [7, 8], 3, 5)
  print(numbersArr.flat(depth: 2)); // (1, 2, 7, 8, 3, 5)

  ['a', 'aa', 'aaa'].sum((s) => s.length); // 6
  [1, 2, 3, 4].sum(); // 10

  /// Other similar methods
  [1, 2, 3, 4].max(); // 4
  [1, 2, 3, 4].min(); // 1
  [1, 2, 3, 4].average(); // 2.5
  [1, 2, 3, 4].chunks(3); // [[1, 2, 3], [4]]

  /* DateTime */
  DateTime now = DateTime.now();

  print(now.isToday); // true
  print(now.timeOnly.toString()); // 11:56:23.647266
  print(now.addDays(1).dateOnly); // 2025/10/21

  /* Time */

  final time = const Time(15, 30);
  print(time.toString()); // 15:30:00.000000

  /* Utils */

  print(Utils.fastUUID()); // 8c3acae0-fd12-4061-b714-119095c6ddda
  print(Utils.pickup({
    "kk": {"pp": 3}
  }, "pp")); // [3]
  print(Utils.isEmpty([])); // true
}
1
likes
150
points
160
downloads

Publisher

unverified uploader

Weekly Downloads

A lightweight Dart extensions that simplify framework usage for elegant, effortless app development.

Repository (GitHub)
View/report issues

Topics

#dart-extension #extension #extensions #dart-extensions #utils

Documentation

API reference

License

MIT (license)

Dependencies

meta

More

Packages that depend on extension_dart