dioc_generator 0.1.0

  • README.md
  • CHANGELOG.md
  • Installing
  • Versions
  • 50

dioc_generator #

A generator of code for dioc containers.

Usage #

All registrations are made by annotating a partial bootstrapper class.

Various environments could be declared as methods that return a Container. You have to decorate these methods with Provide annotations to register dependencies.

library example;

import 'package:dioc/src/container.dart';
import 'package:dioc/src/built_container.dart';

part "example.g.dart";

@bootsrapper
@Provide.implemented(OtherService) // Default registration for all environments
abstract class AppBootsrapper extends Bootsrapper {

  @Provide(Service, MockService)
  Container development();

  @Provide(Service, WebService)
  Container production();
}

To indicate how to inject dependencies, you can also decorate your class fields with Inject annotations (and @inject, @singleton shortcuts).

class OtherService {
  @inject
  final Service dependency;

  @singleton
  final Service dependency2;

  OtherService(this.dependency,{this.dependency2});
}

To trigger code generation, run the command :

pub run build_runner build

Then simply use the provided builder to create your Container.

final container = AppBootsrapperBuilder.instance.development();

A complete example is also available.

Features and bugs #

Please file feature requests and bugs at the issue tracker.

Changelog #

0.0.1 #

  • Initial version

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  dioc_generator: ^0.1.0

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:dioc_generator/dioc_generator.dart';
  
Version Uploaded Documentation Archive
0.1.6 Mar 11, 2019 Go to the documentation of dioc_generator 0.1.6 Download dioc_generator 0.1.6 archive
0.1.5 Nov 3, 2018 Go to the documentation of dioc_generator 0.1.5 Download dioc_generator 0.1.5 archive
0.1.4 Nov 3, 2018 Go to the documentation of dioc_generator 0.1.4 Download dioc_generator 0.1.4 archive
0.1.3 Nov 3, 2018 Go to the documentation of dioc_generator 0.1.3 Download dioc_generator 0.1.3 archive
0.1.2 Oct 16, 2018 Go to the documentation of dioc_generator 0.1.2 Download dioc_generator 0.1.2 archive
0.1.1 Sep 5, 2018 Go to the documentation of dioc_generator 0.1.1 Download dioc_generator 0.1.1 archive
0.1.0 Sep 5, 2018 Go to the documentation of dioc_generator 0.1.0 Download dioc_generator 0.1.0 archive
0.0.1 Jan 24, 2018 Go to the documentation of dioc_generator 0.0.1 Download dioc_generator 0.0.1 archive
Popularity:
Describes how popular the package is relative to other packages. [more]
63
Health:
Code health derived from static analysis. [more]
30
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
50
Overall:
Weighted score of the above. [more]
50
Learn more about scoring.

We analyzed this package on Mar 6, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.2.0
  • pana: 0.12.14

Platforms

Detected platforms:

Error(s) prevent platform classification:

Error(s) in lib/dioc_generator.dart: Arguments of a constant creation must be constant expressions.

Health issues and suggestions

Fix lib/dioc_generator.dart. (-44.59 points)

Analysis of lib/dioc_generator.dart failed with 2 errors, 3 hints:

line 22 col 78: Arguments of a constant creation must be constant expressions.

line 22 col 78: Undefined name 'Bootsrapper'.

line 15 col 47: Use = to separate a named parameter from its default value.

line 15 col 70: Use = to separate a named parameter from its default value.

line 139 col 15: 'parameterKind' is deprecated and shouldn't be used.

Format lib/builder.dart.

Run dartfmt to format lib/builder.dart.

Maintenance issues and suggestions

Fix platform conflicts. (-20 points)

Error(s) prevent platform classification:

Error(s) in lib/dioc_generator.dart: Arguments of a constant creation must be constant expressions.

The package description is too short. (-20 points)

Add more detail to the description field of pubspec.yaml. Use 60 to 180 characters to describe the package, what it does, and its target use case.

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package.

Common filename patterns include main.dart, example.dart, and dioc_generator.dart. Packages with multiple examples should provide example/README.md.

For more information see the pub package layout conventions.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >2.0.0-dev <3.0.0
analyzer ^0.32.5 0.32.6 0.35.3
build ^0.12.7+3 0.12.8 1.1.1
build_runner ^0.10.1+1 0.10.3 1.2.8
build_test ^0.10.3+1 0.10.6
code_builder ^3.1.3 3.2.0
dart_style ^1.1.3 1.1.3 1.2.3
dioc ^0.1.0 0.1.4
source_gen ^0.9.0+1 0.9.1+3 0.9.4+1
Transitive dependencies
args 1.5.1
async 2.0.8
boolean_selector 1.0.4
build_config 0.3.1+4
build_resolvers 0.2.2+7 1.0.3
build_runner_core 1.0.0 2.0.3
built_collection 4.1.0
built_value 6.3.1
charcode 1.1.2
collection 1.14.11
convert 2.1.1
crypto 2.0.6
csslib 0.14.6
fixnum 0.10.9
front_end 0.1.4+2 0.1.13
glob 1.1.7
graphs 0.1.3+1 0.2.0
html 0.13.4+1
http 0.12.0+1
http_multi_server 2.0.5
http_parser 3.1.3
io 0.3.3
js 0.6.1+1
json_annotation 1.2.0 2.0.0
json_rpc_2 2.0.9
kernel 0.3.4+2 0.3.13
logging 0.11.3+2
matcher 0.12.3+1 0.12.4
meta 1.1.7
mime 0.9.6+2
multi_server_socket 1.0.2
node_preamble 1.4.4
package_config 1.0.5
package_resolver 1.0.10
path 1.6.2
pedantic 1.5.0
plugin 0.2.0+3
pool 1.4.0
pub_semver 1.4.2
pubspec_parse 0.1.4
quiver 2.0.1
shelf 0.7.4
shelf_packages_handler 1.0.4
shelf_static 0.2.8
shelf_web_socket 0.2.2+4
source_map_stack_trace 1.1.5
source_maps 0.10.8
source_span 1.5.5
stack_trace 1.9.3
stream_channel 1.6.8
stream_transform 0.0.15
string_scanner 1.0.4
term_glyph 1.1.0
test_api 0.2.2
test_core 0.2.1+1
timing 0.1.1+1
typed_data 1.1.6
utf 0.9.0+5
vm_service_client 0.2.6
watcher 0.9.7+10
web_socket_channel 1.0.9
yaml 2.1.15
Dev dependencies
test any 1.5.3