@bespunky/angular-zen
Version:
The Angular tools you always wished were there.
1 lines • 21.4 kB
Source Map (JSON)
{"version":3,"file":"bespunky-angular-zen-universal.mjs","sources":["../../../../libs/angular-zen/universal/src/services/universal.service.ts","../../../../libs/angular-zen/universal/src/directives/platform.directive.ts","../../../../libs/angular-zen/universal/src/directives/browser-only.directive.ts","../../../../libs/angular-zen/universal/src/directives/server-only.directive.ts","../../../../libs/angular-zen/universal/src/directives/worker-app-only.directive.ts","../../../../libs/angular-zen/universal/src/directives/worker-ui-only.directive.ts","../../../../libs/angular-zen/universal/src/directives/non-browser-only.directive.ts","../../../../libs/angular-zen/universal/src/directives/non-server-only.directive.ts","../../../../libs/angular-zen/universal/src/directives/non-worker-app-only.directive.ts","../../../../libs/angular-zen/universal/src/directives/non-worker-ui-only.directive.ts","../../../../libs/angular-zen/universal/src/universal.module.ts","../../../../libs/angular-zen/universal/src/bespunky-angular-zen-universal.ts"],"sourcesContent":["import { Injectable, PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser, isPlatformWorkerApp, isPlatformWorkerUi, isPlatformServer } from '@angular/common';\n\n/**\n * Provides quick access to platform information.\n *\n * @export\n * @class UniversalService\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class UniversalService\n{\n /**\n * `true` if the app is currently running on a browser; otherwise `false`.\n */\n public readonly isPlatformBrowser: boolean;\n /**\n * `true` if the app is currently running on a server; otherwise `false`.\n */\n public readonly isPlatformServer: boolean;\n /**\n * `true` if the app is currently running on a worker app; otherwise `false`.\n */\n public readonly isPlatformWorkerApp: boolean;\n /**\n * `true` if the app is currently running on a worker UI; otherwise `false`.\n */\n public readonly isPlatformWorkerUi: boolean;\n\n /**\n * Creates an instance of UniversalService.\n * \n * @param {*} platformId The id of the current platform. This always equals to `PLATFORM_ID`.\n */\n constructor(@Inject(PLATFORM_ID) public readonly platformId: any)\n {\n this.isPlatformBrowser = isPlatformBrowser(this.platformId);\n this.isPlatformServer = isPlatformServer(this.platformId);\n this.isPlatformWorkerApp = isPlatformWorkerApp(this.platformId);\n this.isPlatformWorkerUi = isPlatformWorkerUi(this.platformId);\n }\n\n /**\n * Executes the specified function only on browser platfroms.\n *\n * @template T The type of value returned by the `execute()` function.\n * @param {() => T} execute The function to execute only on browser platforms.\n * @returns {T} The value returned by the `execute()` function. If the funtion was not executed, this will be `undefined`.\n */\n public onBrowser<T>(execute: () => T): T | undefined\n {\n return this.onPlatform(this.isPlatformBrowser, execute);\n }\n \n /**\n * Executes the specified function only on server platfroms.\n *\n * @template T The type of value returned by the `execute()` function.\n * @param {() => T} execute The function to execute only on server platforms.\n * @returns {T} The value returned by the `execute()` function. If the funtion was not executed, this will be `undefined`.\n */\n public onServer<T>(execute: () => T): T | undefined\n {\n return this.onPlatform(this.isPlatformServer, execute);\n }\n \n /**\n * Executes the specified function only on worker app platfroms.\n *\n * @template T The type of value returned by the `execute()` function.\n * @param {() => T} execute The function to execute only on worker app platforms.\n * @returns {T} The value returned by the `execute()` function. If the funtion was not executed, this will be `undefined`.\n */\n \n public onWorkerApp<T>(execute: () => T): T | undefined\n {\n return this.onPlatform(this.isPlatformWorkerApp, execute);\n }\n \n /**\n * Executes the specified function only on worker UI platfroms.\n *\n * @template T The type of value returned by the `execute()` function.\n * @param {() => T} execute The function to execute only on worker UI platforms.\n * @returns {T} The value returned by the `execute()` function. If the funtion was not executed, this will be `undefined`.\n */\n public onWorkerUi<T>(execute: () => T): T | undefined\n {\n return this.onPlatform(this.isPlatformWorkerUi, execute);\n }\n\n /**\n * Executes the specified function only on browser platfroms.\n *\n * @template T The type of value returned by the `execute()` function.\n * @param {() => T} execute The function to execute only on browser platforms.\n * @returns {T} The value returned by the `execute()` function. If the funtion was not executed, this will be `undefined`.\n */\n public onNonBrowser<T>(execute: () => T): T | undefined\n {\n return this.onPlatform(!this.isPlatformBrowser, execute);\n }\n \n /**\n * Executes the specified function only on server platfroms.\n *\n * @template T The type of value returned by the `execute()` function.\n * @param {() => T} execute The function to execute only on server platforms.\n * @returns {T} The value returned by the `execute()` function. If the funtion was not executed, this will be `undefined`.\n */\n public onNonServer<T>(execute: () => T): T | undefined\n {\n return this.onPlatform(!this.isPlatformServer, execute);\n }\n \n /**\n * Executes the specified function only on worker app platfroms.\n *\n * @template T The type of value returned by the `execute()` function.\n * @param {() => T} execute The function to execute only on worker app platforms.\n * @returns {T} The value returned by the `execute()` function. If the funtion was not executed, this will be `undefined`.\n */\n \n public onNonWorkerApp<T>(execute: () => T): T | undefined\n {\n return this.onPlatform(!this.isPlatformWorkerApp, execute);\n }\n \n /**\n * Executes the specified function only on worker UI platfroms.\n *\n * @template T The type of value returned by the `execute()` function.\n * @param {() => T} execute The function to execute only on worker UI platforms.\n * @returns {T} The value returned by the `execute()` function. If the funtion was not executed, this will be `undefined`.\n */\n public onNonWorkerUi<T>(execute: () => T): T | undefined\n {\n return this.onPlatform(!this.isPlatformWorkerUi, execute);\n }\n \n private onPlatform<T>(isPlatform: boolean, execute: () => T): T | undefined\n {\n return isPlatform ? execute() : undefined;\n }\n}\n","import { Directive, TemplateRef, ViewContainerRef, ElementRef, OnInit } from '@angular/core';\n\nimport { UniversalService } from '../services/universal.service';\n\n/**\n * Provides the base functionality for platform directives to render elements only on certain platforms.\n *\n * @export\n * @abstract\n * @class PlatformDirective\n * @implements {OnInit}\n */\n@Directive()\nexport abstract class PlatformDirective implements OnInit\n{\n constructor(private template: TemplateRef<ElementRef>, private viewContainer: ViewContainerRef, protected universal: UniversalService) { }\n\n /**\n * Checks whether the element should be rendered on the current platform and renders it.\n */\n ngOnInit()\n {\n this.shouldRender() ? this.viewContainer.createEmbeddedView(this.template) : this.viewContainer.clear();\n }\n\n /**\n * Checks whether the element should be rendered on the current platform.\n *\n * @protected\n * @abstract\n * @returns {boolean}\n */\n protected abstract shouldRender(): boolean;\n}","import { Directive } from '@angular/core';\n\nimport { PlatformDirective } from './platform.directive';\n\n/**\n * Renders the marked element only on browser platforms.\n *\n * @export\n * @class BrowserOnlyDirective\n * @extends {PlatformDirective}\n */\n@Directive({\n selector: '[browserOnly]'\n})\nexport class BrowserOnlyDirective extends PlatformDirective\n{\n /**\n * Checks whether the element should be rendered on the current platform.\n *\n * @protected\n * @returns {boolean}\n */\n protected shouldRender(): boolean\n {\n return this.universal.isPlatformBrowser;\n }\n}","import { Directive } from '@angular/core';\n\nimport { PlatformDirective } from './platform.directive';\n\n/**\n * Renders the marked element only on server platforms.\n *\n * @export\n * @class ServerOnlyDirective\n * @extends {PlatformDirective}\n */\n@Directive({\n selector: '[serverOnly]'\n})\nexport class ServerOnlyDirective extends PlatformDirective\n{\n /**\n * Checks whether the element should be rendered on the current platform.\n *\n * @protected\n * @returns {boolean}\n */\n protected shouldRender(): boolean\n {\n return this.universal.isPlatformServer;\n }\n}","import { Directive } from '@angular/core';\n\nimport { PlatformDirective } from './platform.directive';\n\n/**\n * Renders the marked element only on worker-app platforms.\n *\n * @export\n * @class WorkerAppOnlyDirective\n * @extends {PlatformDirective}\n */\n@Directive({\n selector: '[workerAppOnly]'\n})\nexport class WorkerAppOnlyDirective extends PlatformDirective\n{\n /**\n * Checks whether the element should be rendered on the current platform.\n *\n * @protected\n * @returns {boolean}\n */\n protected shouldRender(): boolean\n {\n return this.universal.isPlatformWorkerApp;\n }\n}","import { Directive } from '@angular/core';\n\nimport { PlatformDirective } from './platform.directive';\n\n/**\n * Renders the marked element only on worker-ui platforms.\n *\n * @export\n * @class WorkerUiOnlyDirective\n * @extends {PlatformDirective}\n */\n@Directive({\n selector: '[workerUiOnly]'\n})\nexport class WorkerUiOnlyDirective extends PlatformDirective\n{\n /**\n * Checks whether the element should be rendered on the current platform.\n *\n * @protected\n * @returns {boolean}\n */\n protected shouldRender(): boolean\n {\n return this.universal.isPlatformWorkerUi;\n }\n}","import { Directive } from '@angular/core';\n\nimport { PlatformDirective } from './platform.directive';\n\n/**\n * Renders the marked element only on non-browser platforms.\n *\n * @export\n * @class NonBrowserOnlyDirective\n * @extends {PlatformDirective}\n */\n@Directive({\n selector: '[nonBrowserOnly]'\n})\nexport class NonBrowserOnlyDirective extends PlatformDirective\n{\n /**\n * Checks whether the element should be rendered on the current platform.\n *\n * @protected\n * @returns {boolean}\n */\n protected shouldRender(): boolean\n {\n return !this.universal.isPlatformBrowser;\n }\n}","import { Directive } from '@angular/core';\n\nimport { PlatformDirective } from './platform.directive';\n\n/**\n * Renders the marked element only on non-server platforms.\n *\n * @export\n * @class NonServerOnlyDirective\n * @extends {PlatformDirective}\n */\n@Directive({\n selector: '[nonServerOnly]'\n})\nexport class NonServerOnlyDirective extends PlatformDirective\n{\n /**\n * Checks whether the element should be rendered on the current platform.\n *\n * @protected\n * @returns {boolean}\n */\n protected shouldRender(): boolean\n {\n return !this.universal.isPlatformServer;\n }\n}","import { Directive } from '@angular/core';\n\nimport { PlatformDirective } from './platform.directive';\n\n/**\n * Renders the marked element only on non-worker-app platforms.\n *\n * @export\n * @class NonWorkerAppOnlyDirective\n * @extends {PlatformDirective}\n */\n@Directive({\n selector: '[nonWorkerAppOnly]'\n})\nexport class NonWorkerAppOnlyDirective extends PlatformDirective\n{\n /**\n * Checks whether the element should be rendered on the current platform.\n *\n * @protected\n * @returns {boolean}\n */\n protected shouldRender(): boolean\n {\n return !this.universal.isPlatformWorkerApp;\n }\n}","import { Directive } from '@angular/core';\n\nimport { PlatformDirective } from './platform.directive';\n\n/**\n * Renders the marked element only on non-worker-ui platforms.\n *\n * @export\n * @class NonWorkerUiOnlyDirective\n * @extends {PlatformDirective}\n */\n@Directive({\n selector: '[nonWorkerUiOnly]'\n})\nexport class NonWorkerUiOnlyDirective extends PlatformDirective\n{\n /**\n * Checks whether the element should be rendered on the current platform.\n *\n * @protected\n * @returns {boolean}\n */\n protected shouldRender(): boolean\n {\n return !this.universal.isPlatformWorkerUi;\n }\n}","import { NgModule } from '@angular/core';\nimport { BrowserOnlyDirective } from './directives/browser-only.directive';\nimport { ServerOnlyDirective } from './directives/server-only.directive';\nimport { WorkerAppOnlyDirective } from './directives/worker-app-only.directive';\nimport { WorkerUiOnlyDirective } from './directives/worker-ui-only.directive';\nimport { NonBrowserOnlyDirective } from './directives/non-browser-only.directive';\nimport { NonServerOnlyDirective } from './directives/non-server-only.directive';\nimport { NonWorkerAppOnlyDirective } from './directives/non-worker-app-only.directive';\nimport { NonWorkerUiOnlyDirective } from './directives/non-worker-ui-only.directive';\n\nconst exported = [\n BrowserOnlyDirective,\n ServerOnlyDirective,\n WorkerAppOnlyDirective,\n WorkerUiOnlyDirective,\n \n NonBrowserOnlyDirective,\n NonServerOnlyDirective,\n NonWorkerAppOnlyDirective,\n NonWorkerUiOnlyDirective\n];\n\n/**\n * Provides facilitating tools for work with Angular Universal.\n *\n * @export\n * @class UniversalModule\n */\n@NgModule({\n declarations: exported,\n exports : exported\n})\nexport class UniversalModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.UniversalService"],"mappings":"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"}