UNPKG

@yaagoub/decorators

Version:

Angular decorators

57 lines 8.23 kB
import { Injectable } from '@angular/core'; import { SettingsService } from './ygb-settings.service'; import { printLog } from '../utils'; import { SendLogService } from './ygb-send-log.service'; import * as i0 from "@angular/core"; import * as i1 from "./ygb-settings.service"; import * as i2 from "./ygb-send-log.service"; export class ControlLogService { settings; sendLogService; constructor(settings, sendLogService) { this.settings = settings; this.sendLogService = sendLogService; } /** * Controls the logging based on the type, context, destination, and message. * * @param type - The type of the log (e.g., error, info, debug). * @param context - The context in which the log is being made. * @param destination - The destination where the log should be sent (e.g., console, server, both). * @param message - The message to be logged. * * @example * const context: YgbContext = { userId: '12345', sessionId: 'abcde' }; * controlLog('info', context, 'console', 'This is an informational message.'); * controlLog('error', undefined, 'server', 'An error occurred.'); */ controlLog(type, context, destination, message) { if (destination === 'none' && this.settings.getSettings().destination === 'console') { printLog(type, message ?? '', context); } else if (destination === 'none' && this.settings.getSettings().destination === 'server') { this.sendLogService.sendLogToBackend(type, message ?? '', context ?? {}); } else if (destination === 'none' && this.settings.getSettings().destination === 'both') { printLog(type, message ?? '', context); this.sendLogService.sendLogToBackend(type, message ?? '', context ?? {}); } else if (destination === 'console') { printLog(type, message ?? '', context); } else if (destination === 'server') { this.sendLogService.sendLogToBackend(type, message ?? '', context ?? {}); } else if (destination === 'both') { printLog(type, message ?? '', context); this.sendLogService.sendLogToBackend(type, message ?? '', context ?? {}); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ControlLogService, deps: [{ token: i1.SettingsService }, { token: i2.SendLogService }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ControlLogService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ControlLogService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.SettingsService }, { type: i2.SendLogService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWdiLWNvbnRyb2wtbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RlY29yYXRvcnMvc3JjL2xvZ2dpbmcvc2VydmljZXMveWdiLWNvbnRyb2wtbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFHeEQsTUFBTSxPQUFPLGlCQUFpQjtJQUNSO0lBQW1DO0lBQXZELFlBQW9CLFFBQXlCLEVBQVUsY0FBOEI7UUFBakUsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRXpGOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILFVBQVUsQ0FDUixJQUFnQixFQUNoQixPQUErQixFQUMvQixXQUE4QixFQUM5QixPQUFlO1FBRWYsSUFBSSxXQUFXLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BGLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDO2FBQU0sSUFBSSxXQUFXLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFGLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7YUFBTSxJQUFJLFdBQVcsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDeEYsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7YUFBTSxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQzthQUFNLElBQUksV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7YUFBTSxJQUFJLFdBQVcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxJQUFJLEVBQUUsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNILENBQUM7dUdBckNVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBREosTUFBTTs7MkZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL3lnYi1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFlnYkNvbnRleHQsIFlnYkxvZ0Rlc3RpbmF0aW9uLCBZZ2JMb2dUeXBlIH0gZnJvbSAnLi4vdHlwZXMveWdiLXR5cGVzJztcbmltcG9ydCB7IHByaW50TG9nIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgU2VuZExvZ1NlcnZpY2UgfSBmcm9tICcuL3lnYi1zZW5kLWxvZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb250cm9sTG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSwgcHJpdmF0ZSBzZW5kTG9nU2VydmljZTogU2VuZExvZ1NlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIHRoZSBsb2dnaW5nIGJhc2VkIG9uIHRoZSB0eXBlLCBjb250ZXh0LCBkZXN0aW5hdGlvbiwgYW5kIG1lc3NhZ2UuXG4gICAqIFxuICAgKiBAcGFyYW0gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBsb2cgKGUuZy4sIGVycm9yLCBpbmZvLCBkZWJ1ZykuXG4gICAqIEBwYXJhbSBjb250ZXh0IC0gVGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGxvZyBpcyBiZWluZyBtYWRlLlxuICAgKiBAcGFyYW0gZGVzdGluYXRpb24gLSBUaGUgZGVzdGluYXRpb24gd2hlcmUgdGhlIGxvZyBzaG91bGQgYmUgc2VudCAoZS5nLiwgY29uc29sZSwgc2VydmVyLCBib3RoKS5cbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBiZSBsb2dnZWQuXG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBjb25zdCBjb250ZXh0OiBZZ2JDb250ZXh0ID0geyB1c2VySWQ6ICcxMjM0NScsIHNlc3Npb25JZDogJ2FiY2RlJyB9O1xuICAgKiBjb250cm9sTG9nKCdpbmZvJywgY29udGV4dCwgJ2NvbnNvbGUnLCAnVGhpcyBpcyBhbiBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UuJyk7XG4gICAqIGNvbnRyb2xMb2coJ2Vycm9yJywgdW5kZWZpbmVkLCAnc2VydmVyJywgJ0FuIGVycm9yIG9jY3VycmVkLicpO1xuICAgKi9cbiAgY29udHJvbExvZyhcbiAgICB0eXBlOiBZZ2JMb2dUeXBlLFxuICAgIGNvbnRleHQ6IFlnYkNvbnRleHQgfCB1bmRlZmluZWQsXG4gICAgZGVzdGluYXRpb246IFlnYkxvZ0Rlc3RpbmF0aW9uLFxuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICApIHtcbiAgICBpZiAoZGVzdGluYXRpb24gPT09ICdub25lJyAmJiB0aGlzLnNldHRpbmdzLmdldFNldHRpbmdzKCkuZGVzdGluYXRpb24gPT09ICdjb25zb2xlJykge1xuICAgICAgcHJpbnRMb2codHlwZSwgbWVzc2FnZSA/PyAnJywgY29udGV4dCk7XG4gICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvbiA9PT0gJ25vbmUnICYmIHRoaXMuc2V0dGluZ3MuZ2V0U2V0dGluZ3MoKS5kZXN0aW5hdGlvbiA9PT0gJ3NlcnZlcicpIHtcbiAgICAgIHRoaXMuc2VuZExvZ1NlcnZpY2Uuc2VuZExvZ1RvQmFja2VuZCh0eXBlLCBtZXNzYWdlID8/ICcnLCBjb250ZXh0ID8/IHt9KTtcbiAgICB9IGVsc2UgaWYgKGRlc3RpbmF0aW9uID09PSAnbm9uZScgJiYgdGhpcy5zZXR0aW5ncy5nZXRTZXR0aW5ncygpLmRlc3RpbmF0aW9uID09PSAnYm90aCcpIHtcbiAgICAgIHByaW50TG9nKHR5cGUsIG1lc3NhZ2UgPz8gJycsIGNvbnRleHQpO1xuICAgICAgdGhpcy5zZW5kTG9nU2VydmljZS5zZW5kTG9nVG9CYWNrZW5kKHR5cGUsIG1lc3NhZ2UgPz8gJycsIGNvbnRleHQgPz8ge30pO1xuICAgIH0gZWxzZSBpZiAoZGVzdGluYXRpb24gPT09ICdjb25zb2xlJykge1xuICAgICAgcHJpbnRMb2codHlwZSwgbWVzc2FnZSA/PyAnJywgY29udGV4dCk7XG4gICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvbiA9PT0gJ3NlcnZlcicpIHtcbiAgICAgIHRoaXMuc2VuZExvZ1NlcnZpY2Uuc2VuZExvZ1RvQmFja2VuZCh0eXBlLCBtZXNzYWdlID8/ICcnLCBjb250ZXh0ID8/IHt9KTtcbiAgICB9IGVsc2UgaWYgKGRlc3RpbmF0aW9uID09PSAnYm90aCcpIHtcbiAgICAgIHByaW50TG9nKHR5cGUsIG1lc3NhZ2UgPz8gJycsIGNvbnRleHQpO1xuICAgICAgdGhpcy5zZW5kTG9nU2VydmljZS5zZW5kTG9nVG9CYWNrZW5kKHR5cGUsIG1lc3NhZ2UgPz8gJycsIGNvbnRleHQgPz8ge30pO1xuICAgIH1cbiAgfVxufVxuIl19