├── .eslintrc.yml
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── workflows
│ ├── build.yml
│ └── publish.yml
├── .gitignore
├── .huskyrc.json
├── .npmignore
├── .nvmrc
├── .prettierrc.yml
├── .travis.yml
├── .vscode
└── settings.json
├── LICENSE
├── README.md
├── SECURITY.md
├── package.json
├── src
├── __tests__
│ ├── auto-injectable.test.ts
│ ├── child-container.test.ts
│ ├── disposable.test.ts
│ ├── errors.test.ts
│ ├── fixtures
│ │ ├── 01-test-case-A01-injects-B01.ts
│ │ ├── 01-test-case-B01-injects-A01.ts
│ │ ├── 02-test-case-A02-lazy-injects-B02.ts
│ │ ├── 02-test-case-B02-lazy-injects-A02.ts
│ │ ├── 03-test-case-A03-lazy-injects-B03-interface.ts
│ │ └── 03-test-case-B03-lazy-injects-A03-interface.ts
│ ├── global-container.test.ts
│ ├── inject-lazy-interfaces.tests.ts
│ ├── inject-lazy.tests.ts
│ ├── interception.test.ts
│ ├── registry.test.ts
│ ├── scoped.test.ts
│ ├── transform.test.ts
│ ├── tsconfig.json
│ └── utils
│ │ └── error-match.ts
├── decorators
│ ├── auto-injectable.ts
│ ├── index.ts
│ ├── inject-all-with-transform.ts
│ ├── inject-all.ts
│ ├── inject-with-transform.ts
│ ├── inject.ts
│ ├── injectable.ts
│ ├── registry.ts
│ ├── scoped.ts
│ └── singleton.ts
├── dependency-container.ts
├── error-helpers.ts
├── factories
│ ├── factory-function.ts
│ ├── index.ts
│ ├── instance-caching-factory.ts
│ ├── instance-per-container-caching-factory.ts
│ └── predicate-aware-class-factory.ts
├── index.ts
├── interceptors.ts
├── lazy-helpers.ts
├── providers
│ ├── class-provider.ts
│ ├── factory-provider.ts
│ ├── index.ts
│ ├── injection-token.ts
│ ├── provider.ts
│ ├── token-provider.ts
│ └── value-provider.ts
├── reflect-metadata.d.ts
├── reflection-helpers.ts
├── registry-base.ts
├── registry.ts
├── resolution-context.ts
└── types
│ ├── constructor.ts
│ ├── dependency-container.ts
│ ├── dictionary.ts
│ ├── disposable.ts
│ ├── frequency.ts
│ ├── index.ts
│ ├── interceptor-options.ts
│ ├── lifecycle.ts
│ ├── registration-options.ts
│ └── transform.ts
├── test
├── jest.config.js
└── jest.setup.ts
├── tsconfig.json
├── typescript
├── es5Types.d.ts
├── tsconfig.base.json
├── tsconfig.esm2015.json
├── tsconfig.esm5.json
└── tsconfig.types.json
└── yarn.lock
/.eslintrc.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.eslintrc.yml
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.github/ISSUE_TEMPLATE/bug_report.md
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.github/ISSUE_TEMPLATE/feature_request.md
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.github/workflows/build.yml
--------------------------------------------------------------------------------
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.github/workflows/publish.yml
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.gitignore
--------------------------------------------------------------------------------
/.huskyrc.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.huskyrc.json
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.npmignore
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | 8.17
--------------------------------------------------------------------------------
/.prettierrc.yml:
--------------------------------------------------------------------------------
1 | trailingComma: none
2 | tabWidth: 2
3 | bracketSpacing: false
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.travis.yml
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/.vscode/settings.json
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/LICENSE
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/README.md
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/SECURITY.md
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/package.json
--------------------------------------------------------------------------------
/src/__tests__/auto-injectable.test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/auto-injectable.test.ts
--------------------------------------------------------------------------------
/src/__tests__/child-container.test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/child-container.test.ts
--------------------------------------------------------------------------------
/src/__tests__/disposable.test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/disposable.test.ts
--------------------------------------------------------------------------------
/src/__tests__/errors.test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/errors.test.ts
--------------------------------------------------------------------------------
/src/__tests__/fixtures/01-test-case-A01-injects-B01.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/fixtures/01-test-case-A01-injects-B01.ts
--------------------------------------------------------------------------------
/src/__tests__/fixtures/01-test-case-B01-injects-A01.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/fixtures/01-test-case-B01-injects-A01.ts
--------------------------------------------------------------------------------
/src/__tests__/fixtures/02-test-case-A02-lazy-injects-B02.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/fixtures/02-test-case-A02-lazy-injects-B02.ts
--------------------------------------------------------------------------------
/src/__tests__/fixtures/02-test-case-B02-lazy-injects-A02.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/fixtures/02-test-case-B02-lazy-injects-A02.ts
--------------------------------------------------------------------------------
/src/__tests__/fixtures/03-test-case-A03-lazy-injects-B03-interface.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/fixtures/03-test-case-A03-lazy-injects-B03-interface.ts
--------------------------------------------------------------------------------
/src/__tests__/fixtures/03-test-case-B03-lazy-injects-A03-interface.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/fixtures/03-test-case-B03-lazy-injects-A03-interface.ts
--------------------------------------------------------------------------------
/src/__tests__/global-container.test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/global-container.test.ts
--------------------------------------------------------------------------------
/src/__tests__/inject-lazy-interfaces.tests.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/inject-lazy-interfaces.tests.ts
--------------------------------------------------------------------------------
/src/__tests__/inject-lazy.tests.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/inject-lazy.tests.ts
--------------------------------------------------------------------------------
/src/__tests__/interception.test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/interception.test.ts
--------------------------------------------------------------------------------
/src/__tests__/registry.test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/registry.test.ts
--------------------------------------------------------------------------------
/src/__tests__/scoped.test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/scoped.test.ts
--------------------------------------------------------------------------------
/src/__tests__/transform.test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/transform.test.ts
--------------------------------------------------------------------------------
/src/__tests__/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/tsconfig.json
--------------------------------------------------------------------------------
/src/__tests__/utils/error-match.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/__tests__/utils/error-match.ts
--------------------------------------------------------------------------------
/src/decorators/auto-injectable.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/auto-injectable.ts
--------------------------------------------------------------------------------
/src/decorators/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/index.ts
--------------------------------------------------------------------------------
/src/decorators/inject-all-with-transform.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/inject-all-with-transform.ts
--------------------------------------------------------------------------------
/src/decorators/inject-all.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/inject-all.ts
--------------------------------------------------------------------------------
/src/decorators/inject-with-transform.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/inject-with-transform.ts
--------------------------------------------------------------------------------
/src/decorators/inject.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/inject.ts
--------------------------------------------------------------------------------
/src/decorators/injectable.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/injectable.ts
--------------------------------------------------------------------------------
/src/decorators/registry.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/registry.ts
--------------------------------------------------------------------------------
/src/decorators/scoped.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/scoped.ts
--------------------------------------------------------------------------------
/src/decorators/singleton.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/decorators/singleton.ts
--------------------------------------------------------------------------------
/src/dependency-container.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/dependency-container.ts
--------------------------------------------------------------------------------
/src/error-helpers.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/error-helpers.ts
--------------------------------------------------------------------------------
/src/factories/factory-function.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/factories/factory-function.ts
--------------------------------------------------------------------------------
/src/factories/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/factories/index.ts
--------------------------------------------------------------------------------
/src/factories/instance-caching-factory.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/factories/instance-caching-factory.ts
--------------------------------------------------------------------------------
/src/factories/instance-per-container-caching-factory.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/factories/instance-per-container-caching-factory.ts
--------------------------------------------------------------------------------
/src/factories/predicate-aware-class-factory.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/factories/predicate-aware-class-factory.ts
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/index.ts
--------------------------------------------------------------------------------
/src/interceptors.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/interceptors.ts
--------------------------------------------------------------------------------
/src/lazy-helpers.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/lazy-helpers.ts
--------------------------------------------------------------------------------
/src/providers/class-provider.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/providers/class-provider.ts
--------------------------------------------------------------------------------
/src/providers/factory-provider.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/providers/factory-provider.ts
--------------------------------------------------------------------------------
/src/providers/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/providers/index.ts
--------------------------------------------------------------------------------
/src/providers/injection-token.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/providers/injection-token.ts
--------------------------------------------------------------------------------
/src/providers/provider.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/providers/provider.ts
--------------------------------------------------------------------------------
/src/providers/token-provider.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/providers/token-provider.ts
--------------------------------------------------------------------------------
/src/providers/value-provider.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/providers/value-provider.ts
--------------------------------------------------------------------------------
/src/reflect-metadata.d.ts:
--------------------------------------------------------------------------------
1 | import "reflect-metadata";
2 |
--------------------------------------------------------------------------------
/src/reflection-helpers.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/reflection-helpers.ts
--------------------------------------------------------------------------------
/src/registry-base.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/registry-base.ts
--------------------------------------------------------------------------------
/src/registry.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/registry.ts
--------------------------------------------------------------------------------
/src/resolution-context.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/resolution-context.ts
--------------------------------------------------------------------------------
/src/types/constructor.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/constructor.ts
--------------------------------------------------------------------------------
/src/types/dependency-container.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/dependency-container.ts
--------------------------------------------------------------------------------
/src/types/dictionary.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/dictionary.ts
--------------------------------------------------------------------------------
/src/types/disposable.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/disposable.ts
--------------------------------------------------------------------------------
/src/types/frequency.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/frequency.ts
--------------------------------------------------------------------------------
/src/types/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/index.ts
--------------------------------------------------------------------------------
/src/types/interceptor-options.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/interceptor-options.ts
--------------------------------------------------------------------------------
/src/types/lifecycle.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/lifecycle.ts
--------------------------------------------------------------------------------
/src/types/registration-options.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/registration-options.ts
--------------------------------------------------------------------------------
/src/types/transform.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/src/types/transform.ts
--------------------------------------------------------------------------------
/test/jest.config.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/test/jest.config.js
--------------------------------------------------------------------------------
/test/jest.setup.ts:
--------------------------------------------------------------------------------
1 | import "reflect-metadata";
2 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/tsconfig.json
--------------------------------------------------------------------------------
/typescript/es5Types.d.ts:
--------------------------------------------------------------------------------
1 | interface Function {
2 | readonly name: string;
3 | }
4 |
--------------------------------------------------------------------------------
/typescript/tsconfig.base.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/typescript/tsconfig.base.json
--------------------------------------------------------------------------------
/typescript/tsconfig.esm2015.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/typescript/tsconfig.esm2015.json
--------------------------------------------------------------------------------
/typescript/tsconfig.esm5.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/typescript/tsconfig.esm5.json
--------------------------------------------------------------------------------
/typescript/tsconfig.types.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/typescript/tsconfig.types.json
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/microsoft/tsyringe/HEAD/yarn.lock
--------------------------------------------------------------------------------