modulapp_utils 1.0.0
modulapp_utils: ^1.0.0 copied to clipboard
A set of useful (or not) methods and type extensions
Core #
A set of static methods/getters to core dependency injection, logging, etc, across app's modules/sfeatures
Start coreing your features by just overriding inject & get methods #
Note:
- This example use flutter_inject as dependency injection package
- This example use dart:developer for the logging method
- For dependency injection, you can use any context based package
import 'dart:developer' as dev;
import 'package:flutter/material.dart';
import 'package:flutter_inject/flutter_inject.dart' as pkg;
import 'package:modulapp_utils/modulapp_utils.dart';
void main() {
// Define project's dependency injection
Core.inject = <T>({required factory, required builder}) => pkg.Inject<T>(builder: builder, factory: factory);
// Define project's instance getter through context
Core.get = <T>(context) => pkg.Dependency.get<T>(context);
// Define project's logging method
Core.log = <T>(msg1, [msg2, msg3]) => dev.log('[$msg1] $msg2\n$msg3');
runApp(
MaterialApp(
// Note: here we're calling injectAll which an alias of Core.injectAll
home: injectAll(
dependencies: [
Dependency<String>((context) => 'This text has been injected'),
Dependency<int>((context) => 5),
],
builder: (context) => const HomeView(),
),
),
);
}