genioc
di-compiler
genioc | di-compiler | |
---|---|---|
1 | 2 | |
8 | 77 | |
- | - | |
2.2 | 3.9 | |
9 months ago | 9 months ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
genioc
-
[TS] Java-like, decorator-free simple IOC container
Note: the reason "IUserRepository" is passed here as a string to bind() is because Typescript interfaces are not "real" types or symbols, unlike classes, so therefore we must use the string name of them. However, the autogenerated code contains simple union-type that makes sure you pass a correct name for the interface to bind() The key here is that there is an additional pre-preprocessing step that uses Typescript compiler to parse the arguments of each constructor and generates a project-specific IOC container code with a tree of depenedencies, allowing to resolve them in runtime (basically an additional .ts file in your source code folder). You can also run it in watch mode, so it actively rebuilds the tree as you edit the code in project, or just make it a required step before running your app in npm start for example. The example of auto generated container code, that you import in your project can be found there: Github
di-compiler
-
Typesafe, (almost) Zero Cost Dependency Injection in TypeScript
DI-compiler
-
Generating Trees Images on Canvas Using L-Systems, TypeScript and OOP
The custom di transformer replaces interfaces with according class instances. In the future, we will explicitly define which class should implement a particular interface.
What are some alternatives?
ioc - :unicorn: lightweight (<1kb) inversion of control javascript library for dependency injection written in typescript
reflect-metadata - Prototype for a Metadata Reflection API for ECMAScript
lambda-ioc - Super type safe dependency injection 💉 for TypeScript (inspired by Diddly)
injection-js - Dependency injection library for JavaScript and TypeScript in 5.1K. It is an extraction of the Angular's ReflectiveInjector which means that it's well designed, feature complete, fast, reliable and well tested.
Ditox.js - Dependency injection for modular web applications
di - Dependency injection library for TypeScript projects.
diod - A very opinionated inversion of control (IoC) container and dependency injector for Typescript, Node.js or browser apps.
typed-inject - Type safe dependency injection for TypeScript