UNPKG

ngx-dynamic-hooks

Version:

Automatically insert live Angular components into a dynamic string of content (based on their selector or any pattern of your choice) and render the result in the DOM.

52 lines 5.8 kB
import { isPlatformBrowser } from '@angular/common'; import { isDevMode, Injectable, Inject, PLATFORM_ID } from '@angular/core'; import * as i0 from "@angular/core"; /** * A utility service to print logs and warnings */ export class Logger { constructor(platformId) { this.platformId = platformId; } log(content, options) { this.handleLog(content, options, 'log'); } warn(content, options) { this.handleLog(content, options, 'warn'); } error(content, options) { this.handleLog(content, options, 'error'); } /** * Logs an array of content according to the submitted options * * @param content - The content to log * @param options - The current ParseOptions * @param method - The console method to use */ handleLog(content, options, method) { if (options.logOptions?.dev && this.isDevMode() && isPlatformBrowser(this.platformId) || options.logOptions?.prod && !this.isDevMode() && isPlatformBrowser(this.platformId) || options.logOptions?.ssr && !isPlatformBrowser(this.platformId)) { console[method](...content); } } /** * Use local method that is easier to mock in tests */ isDevMode() { return isDevMode(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Logger, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Logger, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Logger, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtaG9va3Mvc3JjL2xpYi9zZXJ2aWNlcy91dGlscy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0U7O0dBRUc7QUFJSCxNQUFNLE9BQU8sTUFBTTtJQUVqQixZQUF5QyxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBQzNELENBQUM7SUFFRCxHQUFHLENBQUMsT0FBYyxFQUFFLE9BQXFCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWMsRUFBRSxPQUFxQjtRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFjLEVBQUUsT0FBcUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxTQUFTLENBQUMsT0FBYyxFQUFFLE9BQXFCLEVBQUUsTUFBYztRQUNyRSxJQUNFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2pGLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkYsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQzlELENBQUM7WUFDQSxPQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssU0FBUztRQUNmLE9BQU8sU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzsrR0F2Q1UsTUFBTSxrQkFFRyxXQUFXO21IQUZwQixNQUFNLGNBRkwsTUFBTTs7NEZBRVAsTUFBTTtrQkFIbEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdjLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGlzRGV2TW9kZSwgSW5qZWN0YWJsZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFyc2VPcHRpb25zIH0gZnJvbSAnLi4vc2V0dGluZ3Mvb3B0aW9ucyc7XG5cbi8qKlxuICogQSB1dGlsaXR5IHNlcnZpY2UgdG8gcHJpbnQgbG9ncyBhbmQgd2FybmluZ3NcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9nZ2VyIHtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IHN0cmluZykge1xuICB9XG5cbiAgbG9nKGNvbnRlbnQ6IGFueVtdLCBvcHRpb25zOiBQYXJzZU9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUxvZyhjb250ZW50LCBvcHRpb25zLCAnbG9nJyk7XG4gIH1cblxuICB3YXJuKGNvbnRlbnQ6IGFueVtdLCBvcHRpb25zOiBQYXJzZU9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUxvZyhjb250ZW50LCBvcHRpb25zLCAnd2FybicpO1xuICB9XG5cbiAgZXJyb3IoY29udGVudDogYW55W10sIG9wdGlvbnM6IFBhcnNlT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlTG9nKGNvbnRlbnQsIG9wdGlvbnMsICdlcnJvcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvZ3MgYW4gYXJyYXkgb2YgY29udGVudCBhY2NvcmRpbmcgdG8gdGhlIHN1Ym1pdHRlZCBvcHRpb25zXG4gICAqIFxuICAgKiBAcGFyYW0gY29udGVudCAtIFRoZSBjb250ZW50IHRvIGxvZ1xuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBjdXJyZW50IFBhcnNlT3B0aW9uc1xuICAgKiBAcGFyYW0gbWV0aG9kIC0gVGhlIGNvbnNvbGUgbWV0aG9kIHRvIHVzZVxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVMb2coY29udGVudDogYW55W10sIG9wdGlvbnM6IFBhcnNlT3B0aW9ucywgbWV0aG9kOiBzdHJpbmcpIHtcbiAgICBpZiAoXG4gICAgICBvcHRpb25zLmxvZ09wdGlvbnM/LmRldiAmJiB0aGlzLmlzRGV2TW9kZSgpICYmIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHxcbiAgICAgIG9wdGlvbnMubG9nT3B0aW9ucz8ucHJvZCAmJiAhdGhpcy5pc0Rldk1vZGUoKSAmJiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8XG4gICAgICBvcHRpb25zLmxvZ09wdGlvbnM/LnNzciAmJiAhaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKVxuICAgICkgeyBcbiAgICAgIChjb25zb2xlIGFzIGFueSlbbWV0aG9kXSguLi5jb250ZW50KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlIGxvY2FsIG1ldGhvZCB0aGF0IGlzIGVhc2llciB0byBtb2NrIGluIHRlc3RzXG4gICAqL1xuICBwcml2YXRlIGlzRGV2TW9kZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNEZXZNb2RlKCk7XG4gIH0gXG59XG4iXX0=