• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgorBabkin / ts-ioc-container / 25239439449
97%
master: 94%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 02 May 2026 12:46AM UTC
Jobs 1
Files 49
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 May 2026 12:45AM UTC coverage: 96.357% (+1.0%) from 95.387%
25239439449

push

github

web-flow
refactor(provider)!: collapse SingletonProvider/DecoratorProvider into Provider (#75)

* refactor(provider)!: collapse SingletonProvider/DecoratorProvider into Provider

Fold the decorator hierarchy into a single Provider class that owns
caching, instance mappers, args pipeline, and access rules. The
extension seam moves from "subclass ProviderDecorator" to
"map(...DecorateFn[])". Removes pipe() from IProvider — Provider
is now configured via direct method chains (.singleton(), .lazy(),
.addArgsFn(), .addAccessRule(), .map()).

BREAKING CHANGE: SingletonProvider, DecoratorProvider, and
ProviderDecorator are removed. IProvider.pipe() is removed; use
the dedicated mutator methods. IProvider.addArgs() is removed; use
addArgsFn() or the appendArgs(...) pipe. ScopeAccessOptions now
includes args.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor(provider): move ProviderPipe into registration module

ProviderPipe only existed to bridge providers and registrations, and
registerPipe was only called from Registration.pipe. Co-locating it
with IRegistration makes the dependency flow one-directional and
removes the dedicated bridge file in lib/provider/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor(provider): relocate inject helpers and pipe helpers to their owning modules

Fold inject/args/argsFn/resolveArgs into MetadataInjector — they exist
solely to support metadata-based reflection injection, so the file
that owns the strategy now owns the helpers.

Move appendArgs, appendArgsFn, scopeAccess, lazy, decorate, singleton
from IProvider into IRegistration, alongside bindTo and scope. Pipes
are a registration-layer concern (see prior commit relocating
ProviderPipe), so the helpers that produce them belong with the
registration module too. IProvider.ts is now purely the provider
type/interface.

Re-group lib/index.ts so the new locations sit with their existing
companions instead of as trailing one-liners.

Co-Author... (continued)

235 of 245 branches covered (95.92%)

Branch coverage included in aggregate %.

57 of 57 new or added lines in 6 files covered. (100.0%)

532 of 551 relevant lines covered (96.55%)

63.21 hits per line

Subprojects
ID Flag name Job ID Ran Files Coverage
1 /jobs/181156652 25239439449.1 02 May 2026 12:46AM UTC 49
96.36
GitHub Action Run
Source Files on build 25239439449
  • Tree
  • List 49
  • Changed 6
  • Source Changed 6
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25239439449
  • 9053f2af on github
  • Prev Build on main (#25235444113)
  • Next Build on main (#25240099531)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc