gmana_utils 0.0.1 copy "gmana_utils: ^0.0.1" to clipboard
gmana_utils: ^0.0.1 copied to clipboard

Pure Dart runtime utilities — Debouncer, Throttler, and IdGenerator.

example/main.dart

// ignore_for_file: avoid_print
import 'dart:async';
import 'dart:convert';

import 'package:gmana_utils/gmana_utils.dart';

Future<void> main() async {
  final debouncer = Debouncer(milliseconds: 40);
  final throttler = Throttler(milliseconds: 40);
  final events = <String>[];

  debouncer.run(() => events.add('debounced first'));
  debouncer.run(() => events.add('debounced latest'));

  throttler.run(() => events.add('throttled immediate'));
  throttler.run(() => events.add('throttled skipped'));

  await Future<void>.delayed(const Duration(milliseconds: 60));
  throttler.run(() => events.add('throttled after cooldown'));

  print('Timing utilities');
  print('  events: $events');

  final encoded = IdGenerator.encodeToBase64(['package', 'gmana_utils']);
  final decoded = json.decode(utf8.decode(base64.decode(encoded)));

  print('\nIDs');
  print('  nanoid: ${IdGenerator.nanoid(size: 10)}');
  print('  timestamp: ${IdGenerator.timestampId()}');
  print('  uuid-shaped: ${IdGenerator.uuidV4Like()}');
  print('  encoded payload: $decoded');

  debouncer.dispose();
  throttler.dispose();
}
0
likes
160
points
69
downloads

Documentation

API reference

Publisher

verified publishergmana.co

Weekly Downloads

Pure Dart runtime utilities — Debouncer, Throttler, and IdGenerator.

Repository (GitHub)
View/report issues

Topics

#utility #debounce #throttle #id-generator

License

MIT (license)

More

Packages that depend on gmana_utils