@yaagoub/decorators
Version:
Angular decorators
23 lines • 3.23 kB
JavaScript
import { APP_INITIALIZER } from '@angular/core';
import { Injector, makeEnvironmentProviders } from '@angular/core';
import { InterceptorStore } from '../http/interceptors/interceptor.store';
import { YgbInjector } from './ygb-injector';
export function provideDecoratorsConfig(config = {}) {
return makeEnvironmentProviders([
InterceptorStore,
{
provide: APP_INITIALIZER,
multi: true,
deps: [Injector, InterceptorStore],
useFactory: (injector, store) => {
return () => {
YgbInjector.setInjector(injector);
if (config.interceptors?.length) {
store.addInterceptor(...config.interceptors);
}
};
}
}
]);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1kZWNvcmF0b3JzLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVjb3JhdG9ycy9zcmMvZ2xvYmFsL3Byb3ZpZGUtZGVjb3JhdG9ycy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUF3Qix3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTN0MsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFNBQTJCLEVBQUU7SUFDbkUsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QixnQkFBZ0I7UUFDaEI7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQztZQUNsQyxVQUFVLEVBQUUsQ0FBQyxRQUFrQixFQUFFLEtBQXVCLEVBQUUsRUFBRTtnQkFDMUQsT0FBTyxHQUFHLEVBQUU7b0JBQ1YsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO3dCQUNoQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMvQyxDQUFDO2dCQUNILENBQUMsQ0FBQztZQUNKLENBQUM7U0FDRjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluamVjdG9yLCBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnRlcmNlcHRvciB9IGZyb20gXCIuLi9odHRwL3R5cGVzXCI7XG5pbXBvcnQgeyBJbnRlcmNlcHRvclN0b3JlIH0gZnJvbSAnLi4vaHR0cC9pbnRlcmNlcHRvcnMvaW50ZXJjZXB0b3Iuc3RvcmUnO1xuaW1wb3J0IHsgWWdiSW5qZWN0b3IgfSBmcm9tICcuL3lnYi1pbmplY3Rvcic7XG5cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvcmF0b3JzQ29uZmlnIHtcbiAgaW50ZXJjZXB0b3JzPzogSW50ZXJjZXB0b3JbXTtcbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGVjb3JhdG9yc0NvbmZpZyhjb25maWc6IERlY29yYXRvcnNDb25maWcgPSB7fSk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgSW50ZXJjZXB0b3JTdG9yZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIGRlcHM6IFtJbmplY3RvciwgSW50ZXJjZXB0b3JTdG9yZV0sXG4gICAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yLCBzdG9yZTogSW50ZXJjZXB0b3JTdG9yZSkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIFlnYkluamVjdG9yLnNldEluamVjdG9yKGluamVjdG9yKTtcbiAgICAgICAgICBpZiAoY29uZmlnLmludGVyY2VwdG9ycz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBzdG9yZS5hZGRJbnRlcmNlcHRvciguLi5jb25maWcuaW50ZXJjZXB0b3JzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICBdKTtcbn1cbiJdfQ==