pip_services3_container 1.0.3

  • Readme
  • Changelog
  • Example
  • Installing
  • 81

Pip.Services Logo #

IoC container for Dart #

This framework is a part of the Pip.Services project. It provides an inversion-of-control component container to facilitate the development of composable services and applications.

As all Pip.Services projects this framework is implemented in a variety of different languages: Java, .NET, Python, Node.js, Golang and Dart.

The framework provides a light-weight container that can be embedded inside a service or application, or can be run by itself, as a system process, for example. Container configuration serves as a recipe for instantiating and configuring components inside the container.
The default container factory provides generic functionality on-demand, such as logging and performance monitoring.

  • Core - Component container and container as a system process
  • Build - Container default factory
  • Config - Container configuration
  • Refer - Container references

Quick Links:

Acknowledgements #

The Dart version of Pip.Services is created and maintained by:

  • Sergey Seroukhov
  • Levichev Dmitry

The documentation is written by:

  • Mark Makarychev
  • Levichev Dmitry

1.0.0 #

  • Initial version, created by Sergey Seroukhov and Dmitry Levichev

1.0.1 #

  • Optimize code for exit from process on windows platform

1.0.2 #

  • Fix work on MacOS platform

1.0.3 #

  • Exclude listener on SigQuit from ProcessContainer

example/main.dart

/// See full source on GitHub 
/// [https://github.com/pip-services3-dart/pip-services3-container-dart/tree/master/examples]
/// See configuration file (dummy.yaml) in ./config dir
/// 
import './DummyProcess.dart';
void main(List<String> arguments) {
  try {
    DummyProcess().run(arguments);
  } catch (ex) {
    print(ex);
  }
}

Use this package as a library

1. Depend on it

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


dependencies:
  pip_services3_container: ^1.0.3

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:pip_services3_container/pip_services3_container.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
63
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
81
Learn more about scoring.

We analyzed this package on Jul 7, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.4
  • pana: 0.13.13

Analysis suggestions

Package not compatible with SDK flutter

Because it is not compatible with any of the supported runtimes: flutter-native, flutter-web

Package not compatible with runtime flutter-native on android

Because of the import of dart:mirrors via the import chain package:pip_services3_container/pip_services3_container.dartpackage:pip_services3_container/src/ProcessContainer.dartpackage:pip_services3_container/src/Container.dartpackage:pip_services3_container/src/refer/ContainerReferences.dartpackage:pip_services3_container/src/refer/ManagedReferences.dartpackage:pip_services3_container/src/refer/RunReferencesDecorator.dartpackage:pip_services3_container/src/refer/ReferencesDecorator.dartpackage:pip_services3_commons/pip_services3_commons.dartpackage:pip_services3_commons/src/validate/validate.dartpackage:pip_services3_commons/src/validate/ProjectionParamsSchema.dartpackage:pip_services3_commons/src/validate/ArraySchema.dartpackage:pip_services3_commons/src/reflect/ObjectReader.dartpackage:pip_services3_commons/src/reflect/PropertyReflector.dartdart:mirrors

Package not compatible with runtime flutter-native on ios

Because of the import of dart:mirrors via the import chain package:pip_services3_container/pip_services3_container.dartpackage:pip_services3_container/src/ProcessContainer.dartpackage:pip_services3_container/src/Container.dartpackage:pip_services3_container/src/refer/ContainerReferences.dartpackage:pip_services3_container/src/refer/ManagedReferences.dartpackage:pip_services3_container/src/refer/RunReferencesDecorator.dartpackage:pip_services3_container/src/refer/ReferencesDecorator.dartpackage:pip_services3_commons/pip_services3_commons.dartpackage:pip_services3_commons/src/validate/validate.dartpackage:pip_services3_commons/src/validate/ProjectionParamsSchema.dartpackage:pip_services3_commons/src/validate/ArraySchema.dartpackage:pip_services3_commons/src/reflect/ObjectReader.dartpackage:pip_services3_commons/src/reflect/PropertyReflector.dartdart:mirrors

Package not compatible with runtime flutter-native on linux

Because of the import of dart:mirrors via the import chain package:pip_services3_container/pip_services3_container.dartpackage:pip_services3_container/src/ProcessContainer.dartpackage:pip_services3_container/src/Container.dartpackage:pip_services3_container/src/refer/ContainerReferences.dartpackage:pip_services3_container/src/refer/ManagedReferences.dartpackage:pip_services3_container/src/refer/RunReferencesDecorator.dartpackage:pip_services3_container/src/refer/ReferencesDecorator.dartpackage:pip_services3_commons/pip_services3_commons.dartpackage:pip_services3_commons/src/validate/validate.dartpackage:pip_services3_commons/src/validate/ProjectionParamsSchema.dartpackage:pip_services3_commons/src/validate/ArraySchema.dartpackage:pip_services3_commons/src/reflect/ObjectReader.dartpackage:pip_services3_commons/src/reflect/PropertyReflector.dartdart:mirrors

Package not compatible with runtime flutter-native on macos

Because of the import of dart:mirrors via the import chain package:pip_services3_container/pip_services3_container.dartpackage:pip_services3_container/src/ProcessContainer.dartpackage:pip_services3_container/src/Container.dartpackage:pip_services3_container/src/refer/ContainerReferences.dartpackage:pip_services3_container/src/refer/ManagedReferences.dartpackage:pip_services3_container/src/refer/RunReferencesDecorator.dartpackage:pip_services3_container/src/refer/ReferencesDecorator.dartpackage:pip_services3_commons/pip_services3_commons.dartpackage:pip_services3_commons/src/validate/validate.dartpackage:pip_services3_commons/src/validate/ProjectionParamsSchema.dartpackage:pip_services3_commons/src/validate/ArraySchema.dartpackage:pip_services3_commons/src/reflect/ObjectReader.dartpackage:pip_services3_commons/src/reflect/PropertyReflector.dartdart:mirrors

Package not compatible with runtime flutter-native on windows

Because of the import of dart:mirrors via the import chain package:pip_services3_container/pip_services3_container.dartpackage:pip_services3_container/src/ProcessContainer.dartpackage:pip_services3_container/src/Container.dartpackage:pip_services3_container/src/refer/ContainerReferences.dartpackage:pip_services3_container/src/refer/ManagedReferences.dartpackage:pip_services3_container/src/refer/RunReferencesDecorator.dartpackage:pip_services3_container/src/refer/ReferencesDecorator.dartpackage:pip_services3_commons/pip_services3_commons.dartpackage:pip_services3_commons/src/validate/validate.dartpackage:pip_services3_commons/src/validate/ProjectionParamsSchema.dartpackage:pip_services3_commons/src/validate/ArraySchema.dartpackage:pip_services3_commons/src/reflect/ObjectReader.dartpackage:pip_services3_commons/src/reflect/PropertyReflector.dartdart:mirrors

Package not compatible with runtime flutter-web on web

Because of the import of dart:mirrors via the import chain package:pip_services3_container/pip_services3_container.dartpackage:pip_services3_container/src/ProcessContainer.dartpackage:pip_services3_container/src/Container.dartpackage:pip_services3_container/src/refer/ContainerReferences.dartpackage:pip_services3_container/src/refer/ManagedReferences.dartpackage:pip_services3_container/src/refer/RunReferencesDecorator.dartpackage:pip_services3_container/src/refer/ReferencesDecorator.dartpackage:pip_services3_commons/pip_services3_commons.dartpackage:pip_services3_commons/src/validate/validate.dartpackage:pip_services3_commons/src/validate/ProjectionParamsSchema.dartpackage:pip_services3_commons/src/validate/ArraySchema.dartpackage:pip_services3_commons/src/reflect/ObjectReader.dartpackage:pip_services3_commons/src/reflect/PropertyReflector.dartdart:mirrors

Package not compatible with runtime native-aot

Because of the import of dart:mirrors via the import chain package:pip_services3_container/pip_services3_container.dartpackage:pip_services3_container/src/ProcessContainer.dartpackage:pip_services3_container/src/Container.dartpackage:pip_services3_container/src/refer/ContainerReferences.dartpackage:pip_services3_container/src/refer/ManagedReferences.dartpackage:pip_services3_container/src/refer/RunReferencesDecorator.dartpackage:pip_services3_container/src/refer/ReferencesDecorator.dartpackage:pip_services3_commons/pip_services3_commons.dartpackage:pip_services3_commons/src/validate/validate.dartpackage:pip_services3_commons/src/validate/ProjectionParamsSchema.dartpackage:pip_services3_commons/src/validate/ArraySchema.dartpackage:pip_services3_commons/src/reflect/ObjectReader.dartpackage:pip_services3_commons/src/reflect/PropertyReflector.dartdart:mirrors

Package not compatible with runtime web

Because of the import of dart:mirrors via the import chain package:pip_services3_container/pip_services3_container.dartpackage:pip_services3_container/src/ProcessContainer.dartpackage:pip_services3_container/src/Container.dartpackage:pip_services3_container/src/refer/ContainerReferences.dartpackage:pip_services3_container/src/refer/ManagedReferences.dartpackage:pip_services3_container/src/refer/RunReferencesDecorator.dartpackage:pip_services3_container/src/refer/ReferencesDecorator.dartpackage:pip_services3_commons/pip_services3_commons.dartpackage:pip_services3_commons/src/validate/validate.dartpackage:pip_services3_commons/src/validate/ProjectionParamsSchema.dartpackage:pip_services3_commons/src/validate/ArraySchema.dartpackage:pip_services3_commons/src/reflect/ObjectReader.dartpackage:pip_services3_commons/src/reflect/PropertyReflector.dartdart:mirrors

Health suggestions

Fix example/DummyProcess.dart. (-0.50 points)

Analysis of example/DummyProcess.dart reported 1 hint:

line 1 col 8: Avoid relative imports for files in lib/.

Fix lib/src/refer/ContainerReferences.dart. (-0.50 points)

Analysis of lib/src/refer/ContainerReferences.dart reported 1 hint:

line 57 col 30: Unnecessary cast.

Format bin/run.dart.

Run dartfmt to format bin/run.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
pip_services3_commons >=1.0.3 <2.0.0 1.0.11
pip_services3_components >=1.0.2 <2.0.0 1.0.6
Transitive dependencies
charcode 1.1.3
collection 1.14.13
convert 2.1.1
crypto 2.1.5
meta 1.2.1
mustache4dart2 0.1.0
path 1.7.0
source_span 1.7.0
sprintf 4.0.2
string_scanner 1.0.5
term_glyph 1.1.0
typed_data 1.2.0
uuid 2.2.0
yaml 2.2.1
Dev dependencies
test >=1.14.2 <2.0.0