bootstrapper

Creator: coderz1093

Last updated:

0 purchases

bootstrapper Image
bootstrapper Images

Languages

Categories

Add to Cart

Description:

bootstrapper

Bootstrapper #
Bootstrapper is a Dart package that allows you to initialize multiple config processes in parallel by grouping them.
Features #

Bootstrapper enables you to group a list of objects that need to be initialized.
Objects that implement the Bootstrapable abstract class can be grouped together and initialized in parallel.
Bootstrapper ensures that objects belonging to the same group are initialized before objects belonging to a different group.

Getting started #
To use Bootstrapper in your project, you should include it in your dependencies in your pubspec.yaml file as follows:
dependencies:
bootstrapper: ^0.1.0
copied to clipboard
Usage #
import 'package:bootstrapper/bootstrapper.dart';

class FooConfig implements Bootstrapable<String> {
FooConfig(this.groupId);

@override
final int groupId;

@override
Future<void> initialize(String property) async {
print('FooConfig($groupId) is started with $property property');

await Future.delayed(const Duration(seconds: 1));

print('FooConfig($groupId) is finished with $property property');
}
}

class BarConfig implements Bootstrapable<String> {
BarConfig(this.groupId);

@override
final int groupId;

@override
Future<void> initialize(String property) async {
print('BarConfig($groupId) is started with $property property');

await Future.delayed(const Duration(seconds: 2));

print('BarConfig($groupId) is finished with $property property');
}
}

class BazConfig implements Bootstrapable<String> {
BazConfig(this.groupId);

@override
final int groupId;

@override
Future<void> initialize(String property) async {
print('BazConfig($groupId) is started with $property property');

await Future.delayed(const Duration(seconds: 3));

print('BazConfig($groupId) is finished with $property property');
}
}

Future<void> main() async {
Bootstrapper bootstrapper = Bootstrapper<String>(
property: 'development',
bootstrapables: [
FooConfig(0),
BarConfig(0),
BarConfig(1),
],
);

await bootstrapper.initialize();
}
copied to clipboard
Additional information #
If you encounter any issues or have any questions, you can file an issue on the official GitHub repository. Contributions are also welcome via pull requests.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.