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

Upgrade your class with automatic cleanup and finalization, similar to "using + IDisposable" in C# and "try-with-resource + AutoCloseable" in Java.

example/using_example.dart

import 'dart:convert';

import 'package:using/using.dart';

import 'impl/some_crypto_algorithm.dart';
import 'impl/utils.dart';

void main() {
  // enable tracking
  ReleasableTracker.enable();

  final hash = SomeCryptoAlgorithm().use((crypto) {
    Print.blue('hashing...');
    crypto
      ..update(utf8.encode('password'))
      ..update(utf8.encode('salt'))
      ..update(utf8.encode('secret message'));
    return crypto.digest();
  });
  Print.green('hash = ${dumpBytes(hash)}');

  Print.std('');

  // report
  Print.std('Tracked count = ${ReleasableTracker.releasables.length}');
}
copied to clipboard
1
likes
160
points
6.58k
downloads

Publisher

unverified uploader

Weekly Downloads

2024.09.21 - 2025.04.05

Upgrade your class with automatic cleanup and finalization, similar to "using + IDisposable" in C# and "try-with-resource + AutoCloseable" in Java.

Repository (GitHub)

Topics

#resource-management #disposable #dispose #using

Documentation

API reference

License

MIT (license)

Dependencies

meta

More

Packages that depend on using