maxgherman/TypeIOC

View on GitHub
README.md

Summary

Maintainability
Test Coverage
<h1 align="center">TypeIOC</h1>
<h5 align="center">
Dependency injection container for typescript / javascript
</h5>

<br/>

<div align="center">

...X | Windows | Coverage
---- | --------|---------
[![Build Status](https://travis-ci.org/typeioc/typeioc.svg?branch=master)](https://travis-ci.org/typeioc/typeioc)|[![Build status](https://ci.appveyor.com/api/projects/status/syvw7sg5p9qlg2pd/branch/master?svg=true)](https://ci.appveyor.com/project/maxgherman/typeioc/branch/master)|[![Coverage Status](https://coveralls.io/repos/github/typeioc/typeioc/badge.svg)](https://coveralls.io/github/typeioc/typeioc??branch=master)
</div>

<br/>

### Install

```sh
npm install typeioc
```

### Documentation
- [Wiki](https://github.com/typeioc/typeioc/wiki)
- [API](https://typeioc.github.io/typeioc/typeioc.html)


### Examples
- [TypeScript](https://github.com/typeioc/examples-ts)
- [JavaScript](https://github.com/typeioc/examples-js)

### Features

- [x] - Type compliance checking.
- [x] - Late instances creation through lambda expressions.
- [x] - Dependencies resolution.
- [x] - Named instances resolution.
- [x] - Custom instance initialization.
- [x] - Custom instance disposal.
- [x] - Instance scoping.
- [x] - Instance ownership.
- [x] - Fluent API.
- [x] - Runtime / Dynamic dependencies substitution.
- [x] - Cached resolution results.
- [x] - Interceptors.
- [x] - ES7 decorators style registration.
- [x] - Asynchronous resolution.
- [x] - Circular dependency detection.
- [x] - Lazy resolution.
- [ ] - Conditional registration.
- [ ] - Group registration.
- [ ] - Decorative style interceptors.
- [ ] - Usage with 3d part libraries.


### License

This project is [MIT](https://github.com/typeioc/typeioc/blob/master/LICENSE) licensed.