@ngworker/lumberjack
Version:
Lumberjack is a versatile Angular logging library, specifically designed to be extended and customized
66 lines • 8.62 kB
JavaScript
import { provideHttpClient } from '@angular/common/http';
import { makeEnvironmentProviders } from '@angular/core';
import { lumberjackLogDriverConfigToken } from '@ngworker/lumberjack';
import { LumberjackHttpDriver } from '../log-drivers/lumberjack-http.driver';
import { lumberjackHttpDriverConfigToken } from './lumberjack-http-driver-config.token';
import { lumberjackHttpDriverProvider } from './lumberjack-http-driver.provider';
function makeLumberjackHttpConfiguration(kind, providers) {
return {
kind,
providers: makeEnvironmentProviders(providers),
};
}
export function withHttpConfig(config) {
return makeLumberjackHttpConfiguration('config', [
{
provide: lumberjackHttpDriverConfigToken,
deps: [lumberjackLogDriverConfigToken],
useFactory: (logDriverConfig) => ({
...logDriverConfig,
identifier: LumberjackHttpDriver.driverIdentifier,
...config,
}),
},
]);
}
export function withHttpOptions(options) {
return makeLumberjackHttpConfiguration('options', [
{
provide: lumberjackHttpDriverConfigToken,
deps: [lumberjackLogDriverConfigToken],
useFactory: (logDriverConfig) => ({
...logDriverConfig,
identifier: LumberjackHttpDriver.driverIdentifier,
...options,
}),
},
]);
}
/**
* Returns the [dependency-injection providers](https://angular.io/guide/glossary#provider)
*
* for the `LumberjackHttpDriver` and its `LumberjackHttpDriverConfig`.
* @usageNotes
*
* The function is useful when you want to bootstrap an application using
* the `bootstrapApplication` function and want to make available the `LumberjackHttpDriver` providers.
*
* ```typescript
* bootstrapApplication(RootComponent, {
* providers: [
* provideLumberjack({...}),
* provideLumberjackHttpDriver({...})
* ]
* });
* ```
*
* @publicApi
*/
export function provideLumberjackHttpDriver(configuration, ...features) {
return [
provideHttpClient(...features),
makeEnvironmentProviders([lumberjackHttpDriverProvider]),
configuration.providers,
];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1sdW1iZXJqYWNrLWh0dHAtZHJpdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmd3b3JrZXIvbHVtYmVyamFjay9odHRwLWRyaXZlci9zcmMvbGliL2NvbmZpZ3VyYXRpb24vcHJvdmlkZS1sdW1iZXJqYWNrLWh0dHAtZHJpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBd0Isd0JBQXdCLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUE2Qiw4QkFBOEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSXhGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBUWpGLFNBQVMsK0JBQStCLENBQ3RDLElBQVUsRUFDVixTQUFxQjtJQUVyQixPQUFPO1FBQ0wsSUFBSTtRQUNKLFNBQVMsRUFBRSx3QkFBd0IsQ0FBQyxTQUFTLENBQUM7S0FDL0MsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWtDO0lBQy9ELE9BQU8sK0JBQStCLENBQUMsUUFBUSxFQUFFO1FBQy9DO1lBQ0UsT0FBTyxFQUFFLCtCQUErQjtZQUN4QyxJQUFJLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztZQUN0QyxVQUFVLEVBQUUsQ0FBQyxlQUEwQyxFQUFzQyxFQUFFLENBQUMsQ0FBQztnQkFDL0YsR0FBRyxlQUFlO2dCQUNsQixVQUFVLEVBQUUsb0JBQW9CLENBQUMsZ0JBQWdCO2dCQUNqRCxHQUFHLE1BQU07YUFDVixDQUFDO1NBQ0g7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUFvQztJQUNsRSxPQUFPLCtCQUErQixDQUFDLFNBQVMsRUFBRTtRQUNoRDtZQUNFLE9BQU8sRUFBRSwrQkFBK0I7WUFDeEMsSUFBSSxFQUFFLENBQUMsOEJBQThCLENBQUM7WUFDdEMsVUFBVSxFQUFFLENBQUMsZUFBMEMsRUFBc0MsRUFBRSxDQUFDLENBQUM7Z0JBQy9GLEdBQUcsZUFBZTtnQkFDbEIsVUFBVSxFQUFFLG9CQUFvQixDQUFDLGdCQUFnQjtnQkFDakQsR0FBRyxPQUFPO2FBQ1gsQ0FBQztTQUNIO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUlEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxhQUFzRCxFQUN0RCxHQUFHLFFBQTRCO0lBRS9CLE9BQU87UUFDTCxpQkFBaUIsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM5Qix3QkFBd0IsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDeEQsYUFBYSxDQUFDLFNBQVM7S0FDeEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm92aWRlSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEx1bWJlcmphY2tMb2dEcml2ZXJDb25maWcsIGx1bWJlcmphY2tMb2dEcml2ZXJDb25maWdUb2tlbiB9IGZyb20gJ0BuZ3dvcmtlci9sdW1iZXJqYWNrJztcblxuaW1wb3J0IHsgTHVtYmVyamFja0h0dHBEcml2ZXIgfSBmcm9tICcuLi9sb2ctZHJpdmVycy9sdW1iZXJqYWNrLWh0dHAuZHJpdmVyJztcblxuaW1wb3J0IHsgbHVtYmVyamFja0h0dHBEcml2ZXJDb25maWdUb2tlbiB9IGZyb20gJy4vbHVtYmVyamFjay1odHRwLWRyaXZlci1jb25maWcudG9rZW4nO1xuaW1wb3J0IHsgTHVtYmVyamFja0h0dHBEcml2ZXJJbnRlcm5hbENvbmZpZyB9IGZyb20gJy4vbHVtYmVyamFjay1odHRwLWRyaXZlci1pbnRlcm5hbC5jb25maWcnO1xuaW1wb3J0IHsgTHVtYmVyamFja0h0dHBEcml2ZXJDb25maWcgfSBmcm9tICcuL2x1bWJlcmphY2staHR0cC1kcml2ZXIuY29uZmlnJztcbmltcG9ydCB7IEx1bWJlcmphY2tIdHRwRHJpdmVyT3B0aW9ucyB9IGZyb20gJy4vbHVtYmVyamFjay1odHRwLWRyaXZlci5vcHRpb25zJztcbmltcG9ydCB7IGx1bWJlcmphY2tIdHRwRHJpdmVyUHJvdmlkZXIgfSBmcm9tICcuL2x1bWJlcmphY2staHR0cC1kcml2ZXIucHJvdmlkZXInO1xuXG5leHBvcnQgdHlwZSBMdW1iZXJqYWNrSHR0cERyaXZlckNvbmZpZ3VyYXRpb25LaW5kID0gJ29wdGlvbnMnIHwgJ2NvbmZpZyc7XG5leHBvcnQgdHlwZSBMdW1iZXJqYWNrSHR0cERyaXZlckNvbmZpZ3VyYXRpb248S2luZCBleHRlbmRzIEx1bWJlcmphY2tIdHRwRHJpdmVyQ29uZmlndXJhdGlvbktpbmQ+ID0ge1xuICBraW5kOiBLaW5kO1xuICBwcm92aWRlcnM6IEVudmlyb25tZW50UHJvdmlkZXJzO1xufTtcblxuZnVuY3Rpb24gbWFrZUx1bWJlcmphY2tIdHRwQ29uZmlndXJhdGlvbjxLaW5kIGV4dGVuZHMgTHVtYmVyamFja0h0dHBEcml2ZXJDb25maWd1cmF0aW9uS2luZD4oXG4gIGtpbmQ6IEtpbmQsXG4gIHByb3ZpZGVyczogUHJvdmlkZXJbXVxuKTogTHVtYmVyamFja0h0dHBEcml2ZXJDb25maWd1cmF0aW9uPEtpbmQ+IHtcbiAgcmV0dXJuIHtcbiAgICBraW5kLFxuICAgIHByb3ZpZGVyczogbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKHByb3ZpZGVycyksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoSHR0cENvbmZpZyhjb25maWc6IEx1bWJlcmphY2tIdHRwRHJpdmVyQ29uZmlnKTogTHVtYmVyamFja0h0dHBEcml2ZXJDb25maWd1cmF0aW9uPCdjb25maWcnPiB7XG4gIHJldHVybiBtYWtlTHVtYmVyamFja0h0dHBDb25maWd1cmF0aW9uKCdjb25maWcnLCBbXG4gICAge1xuICAgICAgcHJvdmlkZTogbHVtYmVyamFja0h0dHBEcml2ZXJDb25maWdUb2tlbixcbiAgICAgIGRlcHM6IFtsdW1iZXJqYWNrTG9nRHJpdmVyQ29uZmlnVG9rZW5dLFxuICAgICAgdXNlRmFjdG9yeTogKGxvZ0RyaXZlckNvbmZpZzogTHVtYmVyamFja0xvZ0RyaXZlckNvbmZpZyk6IEx1bWJlcmphY2tIdHRwRHJpdmVySW50ZXJuYWxDb25maWcgPT4gKHtcbiAgICAgICAgLi4ubG9nRHJpdmVyQ29uZmlnLFxuICAgICAgICBpZGVudGlmaWVyOiBMdW1iZXJqYWNrSHR0cERyaXZlci5kcml2ZXJJZGVudGlmaWVyLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICB9KSxcbiAgICB9LFxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhIdHRwT3B0aW9ucyhvcHRpb25zOiBMdW1iZXJqYWNrSHR0cERyaXZlck9wdGlvbnMpOiBMdW1iZXJqYWNrSHR0cERyaXZlckNvbmZpZ3VyYXRpb248J29wdGlvbnMnPiB7XG4gIHJldHVybiBtYWtlTHVtYmVyamFja0h0dHBDb25maWd1cmF0aW9uKCdvcHRpb25zJywgW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IGx1bWJlcmphY2tIdHRwRHJpdmVyQ29uZmlnVG9rZW4sXG4gICAgICBkZXBzOiBbbHVtYmVyamFja0xvZ0RyaXZlckNvbmZpZ1Rva2VuXSxcbiAgICAgIHVzZUZhY3Rvcnk6IChsb2dEcml2ZXJDb25maWc6IEx1bWJlcmphY2tMb2dEcml2ZXJDb25maWcpOiBMdW1iZXJqYWNrSHR0cERyaXZlckludGVybmFsQ29uZmlnID0+ICh7XG4gICAgICAgIC4uLmxvZ0RyaXZlckNvbmZpZyxcbiAgICAgICAgaWRlbnRpZmllcjogTHVtYmVyamFja0h0dHBEcml2ZXIuZHJpdmVySWRlbnRpZmllcixcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIH0pLFxuICAgIH0sXG4gIF0pO1xufVxuXG5leHBvcnQgdHlwZSBIdHRwQ2xpZW50RmVhdHVyZXMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBwcm92aWRlSHR0cENsaWVudD47XG5cbi8qKlxuICogUmV0dXJucyB0aGUgW2RlcGVuZGVuY3ktaW5qZWN0aW9uIHByb3ZpZGVyc10oaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2dsb3NzYXJ5I3Byb3ZpZGVyKVxuICpcbiAqIGZvciB0aGUgYEx1bWJlcmphY2tIdHRwRHJpdmVyYCBhbmQgaXRzIGBMdW1iZXJqYWNrSHR0cERyaXZlckNvbmZpZ2AuXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqIFRoZSBmdW5jdGlvbiBpcyB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byBib290c3RyYXAgYW4gYXBwbGljYXRpb24gdXNpbmdcbiAqIHRoZSBgYm9vdHN0cmFwQXBwbGljYXRpb25gIGZ1bmN0aW9uIGFuZCB3YW50IHRvIG1ha2UgYXZhaWxhYmxlIHRoZSBgTHVtYmVyamFja0h0dHBEcml2ZXJgIHByb3ZpZGVycy5cbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBib290c3RyYXBBcHBsaWNhdGlvbihSb290Q29tcG9uZW50LCB7XG4gKiAgIHByb3ZpZGVyczogW1xuICogICAgcHJvdmlkZUx1bWJlcmphY2soey4uLn0pLFxuICogICAgcHJvdmlkZUx1bWJlcmphY2tIdHRwRHJpdmVyKHsuLi59KVxuICogICBdXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVMdW1iZXJqYWNrSHR0cERyaXZlcjxLaW5kIGV4dGVuZHMgTHVtYmVyamFja0h0dHBEcml2ZXJDb25maWd1cmF0aW9uS2luZD4oXG4gIGNvbmZpZ3VyYXRpb246IEx1bWJlcmphY2tIdHRwRHJpdmVyQ29uZmlndXJhdGlvbjxLaW5kPixcbiAgLi4uZmVhdHVyZXM6IEh0dHBDbGllbnRGZWF0dXJlc1xuKTogRW52aXJvbm1lbnRQcm92aWRlcnNbXSB7XG4gIHJldHVybiBbXG4gICAgcHJvdmlkZUh0dHBDbGllbnQoLi4uZmVhdHVyZXMpLFxuICAgIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbbHVtYmVyamFja0h0dHBEcml2ZXJQcm92aWRlcl0pLFxuICAgIGNvbmZpZ3VyYXRpb24ucHJvdmlkZXJzLFxuICBdO1xufVxuIl19