├── .github └── workflows │ └── lint.yml ├── .gitignore ├── .husky └── pre-commit ├── .nvmrc ├── CHANGELOG.md ├── LICENSE ├── README.md ├── docs ├── RSDI_architecture.jpg ├── RSDI_types.png ├── async_factory_resolver.md ├── context_vs_container.md └── strict_types.md ├── eslint.config.ts ├── package.json ├── pnpm-lock.yaml ├── src ├── DIContainer.ts ├── __tests__ │ ├── __helpers__ │ │ └── fakeClasses.ts │ ├── __typetests__ │ │ └── testTypes.test-d.ts │ ├── clone.test.ts │ ├── extend.test.ts │ ├── hasResolvedDependency.test.ts │ ├── merge.test.ts │ └── resolve.test.ts ├── errors.ts ├── index.ts └── types.ts └── tsconfig.json /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | pnpm lint-staged --shell /bin/bash 2 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 22.14 -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/README.md -------------------------------------------------------------------------------- /docs/RSDI_architecture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/docs/RSDI_architecture.jpg -------------------------------------------------------------------------------- /docs/RSDI_types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/docs/RSDI_types.png -------------------------------------------------------------------------------- /docs/async_factory_resolver.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/docs/async_factory_resolver.md -------------------------------------------------------------------------------- /docs/context_vs_container.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/docs/context_vs_container.md -------------------------------------------------------------------------------- /docs/strict_types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/docs/strict_types.md -------------------------------------------------------------------------------- /eslint.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/eslint.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /src/DIContainer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/DIContainer.ts -------------------------------------------------------------------------------- /src/__tests__/__helpers__/fakeClasses.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/__tests__/__helpers__/fakeClasses.ts -------------------------------------------------------------------------------- /src/__tests__/__typetests__/testTypes.test-d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/__tests__/__typetests__/testTypes.test-d.ts -------------------------------------------------------------------------------- /src/__tests__/clone.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/__tests__/clone.test.ts -------------------------------------------------------------------------------- /src/__tests__/extend.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/__tests__/extend.test.ts -------------------------------------------------------------------------------- /src/__tests__/hasResolvedDependency.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/__tests__/hasResolvedDependency.test.ts -------------------------------------------------------------------------------- /src/__tests__/merge.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/__tests__/merge.test.ts -------------------------------------------------------------------------------- /src/__tests__/resolve.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/__tests__/resolve.test.ts -------------------------------------------------------------------------------- /src/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/errors.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/src/types.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/radzserg/rsdi3/HEAD/tsconfig.json --------------------------------------------------------------------------------