iti
genioc
iti | genioc | |
---|---|---|
6 | 1 | |
120 | 8 | |
- | - | |
0.0 | 2.2 | |
7 months ago | 8 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.
iti
-
The Problem with Dependency Injection Frameworks
I didn’t want to adopt a framework for a bigger one, so I’ve built a manual DI helper.
It is for typescript. It is really helpful for me.
https://itijs.org
-
Best practice for using different implementations of data fetching code in React/Next.js app?
If you are interested, I wrote an obscure DI helper library to help mi with ts/react/nest apps. Most examples use classes, but it perfectly works with pure functions. Nothing groundbreaking, just helps me ship apps with lazy async data pipelines faster https://github.com/molszanski/iti
-
What do you use for dependency injection?
I've had success in adding an iti to an existing 50K app
- Has anyone successfully created a Dependency Injection using typescript decorators?
- How do I know when to make a custom hook ?
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
What are some alternatives?
tsyringe - Lightweight dependency injection container for JavaScript/TypeScript
ioc - :unicorn: lightweight (<1kb) inversion of control javascript library for dependency injection written in typescript
brandi - The dependency injection container powered by TypeScript.
lambda-ioc - Super type safe dependency injection 💉 for TypeScript (inspired by Diddly)
ExpressBeans - ExpressBeans is a lightweight IoC Container (Inversion of Control Container) that allow a clean java-like code organization.
Ditox.js - Dependency injection for modular web applications
obsidian - Dependency injection library for React and React Native applications
diod - A very opinionated inversion of control (IoC) container and dependency injector for Typescript, Node.js or browser apps.
fold - IoC container with all required goodies to write flexible node applications
dandi - 🌻A modular DI, MVC, and Model binding/validation framework for NodeJS and TypeScript or ES6
InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript.
di-compiler - A Custom Transformer for Typescript that enables compile-time Dependency Injection