import { InjectOptions, Injector, ProviderToken } from "@angular/core"; export class ModalInjector implements Injector { constructor( private _parentInjector: Injector, private _additionalTokens: WeakMap, ) {} get( token: ProviderToken, notFoundValue: undefined, options: InjectOptions & { optional?: false }, ): T; get(token: ProviderToken, notFoundValue: null, options: InjectOptions): T; get(token: ProviderToken, notFoundValue?: T, options?: InjectOptions): T; get(token: any, notFoundValue?: any): any; get(token: any, notFoundValue?: any, flags?: any): any { return this._additionalTokens.get(token) ?? this._parentInjector.get(token, notFoundValue); } }