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
JavaScript
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=