{"repo":"wzhudev/redi","free":true,"listed":false,"github":"https://github.com/wzhudev/redi","clone":"git clone https://github.com/wzhudev/redi.git","description":"💉 A dependency injection library for TypeScript & JavaScript, along with a binding for React.","language":"TypeScript","stars":170,"topics":["typescript","react","dependency-injection","ioc"],"license":"MIT","category":"ui-components","readme_excerpt":"redi redi (pronounced 'ready') is a lightweight dependency injection library for TypeScript and JavaScript, with React bindings included. Why redi? Feature Description ----------------------- ----------------------------------------------- 🪶 Lightweight Zero dependencies, small bundle size 🔧 esbuild friendly No emitDecoratorMetadata required 📦 Feature-rich Class, value, factory, async injection and more ⚛️ React ready Built-in hooks for React integration ✅ Well tested 100% code coverage Quick Start Getting started . Features - Dependency Items : Class { useClass } , Value { useValue } , Factory { useFactory } , Async { useAsync } - Interface Injection : Use createIdentifier for interface-based injection - Lazy Instantiation : Defer creation with { lazy: true } - Hierarchy Injection : Parent-child injectors with @Self() and @SkipSelf() - Optional & Many : @Optional() and @Many() decorators - React Integration : useDependency , connectDependencies and more hooks - RxJS Support : useObservable and useUpdateBinder for reactive programming Who's Using redi? - Univer - ByteDance Links - Demo TodoMVC (source) - Starter Template - Contributing Guide License MIT. Copyright 2021-present Wenzhao Hu.","default_branch":null,"files":null,"tree":[],"storefront":"/r/wzhudev","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/wzhudev/redi/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}