@angular/platform-server 15.2.4 → 15.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"platform-server.mjs","sources":["../../../../../../packages/platform-server/src/domino_adapter.ts","../../../../../../packages/platform-server/src/platform_state.ts","../../../../../../packages/platform-server/src/tokens.ts","../../../../../../packages/platform-server/src/http.ts","../../../../../../packages/platform-server/src/location.ts","../../../../../../packages/platform-server/src/server_events.ts","../../../../../../packages/platform-server/src/server_renderer.ts","../../../../../../packages/platform-server/src/styles_host.ts","../../../../../../packages/platform-server/src/transfer_state.ts","../../../../../../packages/platform-server/src/server.ts","../../../../../../packages/platform-server/src/utils.ts","../../../../../../packages/platform-server/src/version.ts","../../../../../../packages/platform-server/public_api.ts","../../../../../../packages/platform-server/index.ts","../../../../../../packages/platform-server/platform-server.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/common';\nimport {ɵBrowserDomAdapter as BrowserDomAdapter} from '@angular/platform-browser';\nimport domino from 'domino';\n\nexport function setDomTypes() {\n // Make all Domino types available in the global env.\n Object.assign(global, domino.impl);\n (global as any)['KeyboardEvent'] = domino.impl.Event;\n}\n\n/**\n * Parses a document string to a Document object.\n */\nexport function parseDocument(html: string, url = '/') {\n let window = domino.createWindow(html, url);\n let doc = window.document;\n return doc;\n}\n\n/**\n * Serializes a document to string.\n */\nexport function serializeDocument(doc: Document): string {\n return (doc as any).serialize();\n}\n\n/**\n * DOM Adapter for the server platform based on https://github.com/fgnass/domino.\n */\nexport class DominoAdapter extends BrowserDomAdapter {\n static override makeCurrent() {\n setDomTypes();\n setRootDomAdapter(new DominoAdapter());\n }\n\n override readonly supportsDOMEvents = false;\n private static defaultDoc: Document;\n\n override createHtmlDocument(): Document {\n return parseDocument('<html><head><title>fakeTitle</title></head><body></body></html>');\n }\n\n override getDefaultDocument(): Document {\n if (!DominoAdapter.defaultDoc) {\n DominoAdapter.defaultDoc = domino.createDocument();\n }\n return DominoAdapter.defaultDoc;\n }\n\n override isElementNode(node: any): boolean {\n return node ? node.nodeType === DominoAdapter.defaultDoc.ELEMENT_NODE : false;\n }\n override isShadowRoot(node: any): boolean {\n return node.shadowRoot == node;\n }\n\n /** @deprecated No longer being used in Ivy code. To be removed in version 14. */\n override getGlobalEventTarget(doc: Document, target: string): EventTarget|null {\n if (target === 'window') {\n return doc.defaultView;\n }\n if (target === 'document') {\n return doc;\n }\n if (target === 'body') {\n return doc.body;\n }\n return null;\n }\n\n override getBaseHref(doc: Document): string {\n // TODO(alxhub): Need relative path logic from BrowserDomAdapter here?\n return doc.documentElement!.querySelector('base')?.getAttribute('href') || '';\n }\n\n override dispatchEvent(el: Node, evt: any) {\n el.dispatchEvent(evt);\n\n // Dispatch the event to the window also.\n const doc = el.ownerDocument || el;\n const win = (doc as any).defaultView;\n if (win) {\n win.dispatchEvent(evt);\n }\n }\n\n override getUserAgent(): string {\n return 'Fake user agent';\n }\n\n override getCookie(name: string): string {\n throw new Error('getCookie has not been implemented');\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\n\nimport {serializeDocument} from './domino_adapter';\n\n/**\n * Representation of the current platform state.\n *\n * @publicApi\n */\n@Injectable()\nexport class PlatformState {\n constructor(@Inject(DOCUMENT) private _doc: any) {}\n\n /**\n * Renders the current state of the platform to string.\n */\n renderToString(): string {\n return serializeDocument(this._doc);\n }\n\n /**\n * Returns the current DOM state.\n */\n getDocument(): any {\n return this._doc;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\n\n/**\n * Config object passed to initialize the platform.\n *\n * @publicApi\n */\nexport interface PlatformConfig {\n /**\n * The initial DOM to use to bootstrap the server application.\n * @default create a new DOM using Domino\n */\n document?: string;\n /**\n * The URL for the current application state. This is used for initializing\n * the platform's location. `protocol`, `hostname`, and `port` will be\n * overridden if `baseUrl` is set.\n * @default none\n */\n url?: string;\n /**\n * Whether to append the absolute URL to any relative HTTP requests. If set to\n * true, this logic executes prior to any HTTP interceptors that may run later\n * on in the request. `baseUrl` must be supplied if this flag is enabled.\n * @default false\n */\n useAbsoluteUrl?: boolean;\n /**\n * The base URL for resolving absolute URL for HTTP requests. It must be set\n * if `useAbsoluteUrl` is true, and must consist of protocol, hostname,\n * and optional port. This option has no effect if `useAbsoluteUrl` is not\n * enabled.\n */\n baseUrl?: string;\n}\n\n/**\n * The DI token for setting the initial config for the platform.\n *\n * @publicApi\n */\nexport const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG');\n\n/**\n * A function that will be executed when calling `renderApplication`, `renderModuleFactory` or\n * `renderModule` just before current platform state is rendered to string.\n *\n * @publicApi\n */\nexport const BEFORE_APP_SERIALIZED =\n new InjectionToken<Array<() => void | Promise<void>>>('Server.RENDER_MODULE_HOOK');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PlatformLocation, XhrFactory} from '@angular/common';\nimport {HttpBackend, HttpEvent, HttpHandler, HttpRequest, ɵHttpInterceptorHandler as HttpInterceptorHandler} from '@angular/common/http';\nimport {EnvironmentInjector, inject, Injectable, Provider} from '@angular/core';\nimport {Observable, Observer, Subscription} from 'rxjs';\nimport * as xhr2 from 'xhr2';\n\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\n// @see https://www.w3.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-01#URI-syntax\nconst isAbsoluteUrl = /^[a-zA-Z\\-\\+.]+:\\/\\//;\n\n@Injectable()\nexport class ServerXhr implements XhrFactory {\n build(): XMLHttpRequest {\n return new xhr2.XMLHttpRequest();\n }\n}\n\nexport abstract class ZoneMacroTaskWrapper<S, R> {\n wrap(request: S): Observable<R> {\n return new Observable((observer: Observer<R>) => {\n let task: Task = null!;\n let scheduled: boolean = false;\n let sub: Subscription|null = null;\n let savedResult: any = null;\n let savedError: any = null;\n\n const scheduleTask = (_task: Task) => {\n task = _task;\n scheduled = true;\n\n const delegate = this.delegate(request);\n sub = delegate.subscribe(\n res => savedResult = res,\n err => {\n if (!scheduled) {\n throw new Error(\n 'An http observable was completed twice. This shouldn\\'t happen, please file a bug.');\n }\n savedError = err;\n scheduled = false;\n task.invoke();\n },\n () => {\n if (!scheduled) {\n throw new Error(\n 'An http observable was completed twice. This shouldn\\'t happen, please file a bug.');\n }\n scheduled = false;\n task.invoke();\n });\n };\n\n const cancelTask = (_task: Task) => {\n if (!scheduled) {\n return;\n }\n scheduled = false;\n if (sub) {\n sub.unsubscribe();\n sub = null;\n }\n };\n\n const onComplete = () => {\n if (savedError !== null) {\n observer.error(savedError);\n } else {\n observer.next(savedResult);\n observer.complete();\n }\n };\n\n // MockBackend for Http is synchronous, which means that if scheduleTask is by\n // scheduleMacroTask, the request will hit MockBackend and the response will be\n // sent, causing task.invoke() to be called.\n const _task = Zone.current.scheduleMacroTask(\n 'ZoneMacroTaskWrapper.subscribe', onComplete, {}, () => null, cancelTask);\n scheduleTask(_task);\n\n return () => {\n if (scheduled && task) {\n task.zone.cancelTask(task);\n scheduled = false;\n }\n if (sub) {\n sub.unsubscribe();\n sub = null;\n }\n };\n });\n }\n\n protected abstract delegate(request: S): Observable<R>;\n}\n\nexport class ZoneClientBackend extends\n ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {\n constructor(\n private backend: HttpBackend, private platformLocation: PlatformLocation,\n private config: PlatformConfig) {\n super();\n }\n\n handle(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n const {href, protocol, hostname, port} = this.platformLocation;\n if (this.config.useAbsoluteUrl && !isAbsoluteUrl.test(request.url) &&\n isAbsoluteUrl.test(href)) {\n const baseHref = this.platformLocation.getBaseHrefFromDOM() || href;\n const urlPrefix = `${protocol}//${hostname}` + (port ? `:${port}` : '');\n const baseUrl = new URL(baseHref, urlPrefix);\n const url = new URL(request.url, baseUrl);\n return this.wrap(request.clone({url: url.toString()}));\n }\n return this.wrap(request);\n }\n\n protected override delegate(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n return this.backend.handle(request);\n }\n}\n\nexport function zoneWrappedInterceptorHandler(\n platformLocation: PlatformLocation, config: PlatformConfig) {\n return new ZoneClientBackend(\n new HttpInterceptorHandler(inject(HttpBackend), inject(EnvironmentInjector)),\n platformLocation, config);\n}\n\nexport const SERVER_HTTP_PROVIDERS: Provider[] = [\n {provide: XhrFactory, useClass: ServerXhr}, {\n provide: HttpHandler,\n useFactory: zoneWrappedInterceptorHandler,\n deps: [PlatformLocation, INITIAL_CONFIG]\n }\n];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT, LocationChangeEvent, LocationChangeListener, PlatformLocation, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport * as url from 'url';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\nfunction parseUrl(urlStr: string) {\n const parsedUrl = url.parse(urlStr);\n return {\n hostname: parsedUrl.hostname || '',\n protocol: parsedUrl.protocol || '',\n port: parsedUrl.port || '',\n pathname: parsedUrl.pathname || '',\n search: parsedUrl.search || '',\n hash: parsedUrl.hash || '',\n };\n}\n\n/**\n * Server-side implementation of URL state. Implements `pathname`, `search`, and `hash`\n * but not the state stack.\n */\n@Injectable()\nexport class ServerPlatformLocation implements PlatformLocation {\n public readonly href: string = '/';\n public readonly hostname: string = '/';\n public readonly protocol: string = '/';\n public readonly port: string = '/';\n public readonly pathname: string = '/';\n public readonly search: string = '';\n public readonly hash: string = '';\n private _hashUpdate = new Subject<LocationChangeEvent>();\n\n constructor(\n @Inject(DOCUMENT) private _doc: any, @Optional() @Inject(INITIAL_CONFIG) _config: any) {\n const config = _config as PlatformConfig | null;\n if (!config) {\n return;\n }\n if (config.url) {\n const url = parseUrl(config.url);\n this.protocol = url.protocol;\n this.hostname = url.hostname;\n this.port = url.port;\n this.pathname = url.pathname;\n this.search = url.search;\n this.hash = url.hash;\n this.href = _doc.location.href;\n }\n if (config.useAbsoluteUrl) {\n if (!config.baseUrl) {\n throw new Error(`\"PlatformConfig.baseUrl\" must be set if \"useAbsoluteUrl\" is true`);\n }\n const url = parseUrl(config.baseUrl);\n this.protocol = url.protocol;\n this.hostname = url.hostname;\n this.port = url.port;\n }\n }\n\n getBaseHrefFromDOM(): string {\n return getDOM().getBaseHref(this._doc)!;\n }\n\n onPopState(fn: LocationChangeListener): VoidFunction {\n // No-op: a state stack is not implemented, so\n // no events will ever come.\n return () => {};\n }\n\n onHashChange(fn: LocationChangeListener): VoidFunction {\n const subscription = this._hashUpdate.subscribe(fn);\n return () => subscription.unsubscribe();\n }\n\n get url(): string {\n return `${this.pathname}${this.search}${this.hash}`;\n }\n\n private setHash(value: string, oldUrl: string) {\n if (this.hash === value) {\n // Don't fire events if the hash has not changed.\n return;\n }\n (this as {hash: string}).hash = value;\n const newUrl = this.url;\n scheduleMicroTask(\n () => this._hashUpdate.next(\n {type: 'hashchange', state: null, oldUrl, newUrl} as LocationChangeEvent));\n }\n\n replaceState(state: any, title: string, newUrl: string): void {\n const oldUrl = this.url;\n const parsedUrl = parseUrl(newUrl);\n (this as {pathname: string}).pathname = parsedUrl.pathname;\n (this as {search: string}).search = parsedUrl.search;\n this.setHash(parsedUrl.hash, oldUrl);\n }\n\n pushState(state: any, title: string, newUrl: string): void {\n this.replaceState(state, title, newUrl);\n }\n\n forward(): void {\n throw new Error('Not implemented');\n }\n\n back(): void {\n throw new Error('Not implemented');\n }\n\n // History API isn't available on server, therefore return undefined\n getState(): unknown {\n return undefined;\n }\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\n\n@Injectable()\nexport class ServerEventManagerPlugin /* extends EventManagerPlugin which is private */ {\n constructor(@Inject(DOCUMENT) private doc: any) {}\n\n // Handle all events on the server.\n supports(eventName: string) {\n return true;\n }\n\n addEventListener(element: HTMLElement, eventName: string, handler: Function): Function {\n return getDOM().onAndCancel(element, eventName, handler);\n }\n\n /** @deprecated No longer being used in Ivy code. To be removed in version 14. */\n addGlobalEventListener(element: string, eventName: string, handler: Function): Function {\n const target: HTMLElement = getDOM().getGlobalEventTarget(this.doc, element);\n if (!target) {\n throw new Error(`Unsupported event target ${target} for event ${eventName}`);\n }\n return this.addEventListener(target, eventName, handler);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {DomElementSchemaRegistry} from '@angular/compiler';\nimport {Inject, Injectable, NgZone, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, ViewEncapsulation} from '@angular/core';\nimport {EventManager, ɵflattenStyles as flattenStyles, ɵNAMESPACE_URIS as NAMESPACE_URIS, ɵSharedStylesHost as SharedStylesHost, ɵshimContentAttribute as shimContentAttribute, ɵshimHostAttribute as shimHostAttribute} from '@angular/platform-browser';\n\nconst EMPTY_ARRAY: any[] = [];\n\nconst DEFAULT_SCHEMA = new DomElementSchemaRegistry();\n\n@Injectable()\nexport class ServerRendererFactory2 implements RendererFactory2 {\n private rendererByCompId = new Map<string, Renderer2>();\n private defaultRenderer: Renderer2;\n private schema = DEFAULT_SCHEMA;\n\n constructor(\n private eventManager: EventManager, private ngZone: NgZone,\n @Inject(DOCUMENT) private document: any, private sharedStylesHost: SharedStylesHost) {\n this.defaultRenderer = new DefaultServerRenderer2(eventManager, document, ngZone, this.schema);\n }\n\n createRenderer(element: any, type: RendererType2|null): Renderer2 {\n if (!element || !type) {\n return this.defaultRenderer;\n }\n switch (type.encapsulation) {\n case ViewEncapsulation.Emulated: {\n let renderer = this.rendererByCompId.get(type.id);\n if (!renderer) {\n renderer = new EmulatedEncapsulationServerRenderer2(\n this.eventManager, this.document, this.ngZone, this.sharedStylesHost, this.schema,\n type);\n this.rendererByCompId.set(type.id, renderer);\n }\n (<EmulatedEncapsulationServerRenderer2>renderer).applyToHost(element);\n return renderer;\n }\n default: {\n if (!this.rendererByCompId.has(type.id)) {\n const styles = flattenStyles(type.id, type.styles);\n this.sharedStylesHost.addStyles(styles);\n this.rendererByCompId.set(type.id, this.defaultRenderer);\n }\n return this.defaultRenderer;\n }\n }\n }\n\n begin() {}\n end() {}\n}\n\nclass DefaultServerRenderer2 implements Renderer2 {\n data: {[key: string]: any} = Object.create(null);\n\n constructor(\n private eventManager: EventManager, protected document: any, private ngZone: NgZone,\n private schema: DomElementSchemaRegistry) {}\n\n destroy(): void {}\n\n destroyNode = null;\n\n createElement(name: string, namespace?: string): any {\n if (namespace) {\n const doc = this.document || getDOM().getDefaultDocument();\n return doc.createElementNS(NAMESPACE_URIS[namespace], name);\n }\n\n return getDOM().createElement(name, this.document);\n }\n\n createComment(value: string): any {\n return getDOM().getDefaultDocument().createComment(value);\n }\n\n createText(value: string): any {\n const doc = getDOM().getDefaultDocument();\n return doc.createTextNode(value);\n }\n\n appendChild(parent: any, newChild: any): void {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.appendChild(newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.insertBefore(newChild, refChild);\n }\n }\n\n removeChild(parent: any, oldChild: any): void {\n if (parent) {\n parent.removeChild(oldChild);\n }\n }\n\n selectRootElement(selectorOrNode: string|any, preserveContent?: boolean): any {\n const el = typeof selectorOrNode === 'string' ? this.document.querySelector(selectorOrNode) :\n selectorOrNode;\n if (!el) {\n throw new Error(`The selector \"${selectorOrNode}\" did not match any elements`);\n }\n if (!preserveContent) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n }\n return el;\n }\n\n parentNode(node: any): any {\n return node.parentNode;\n }\n\n nextSibling(node: any): any {\n return node.nextSibling;\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n el.setAttributeNS(NAMESPACE_URIS[namespace], namespace + ':' + name, value);\n } else {\n el.setAttribute(name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n el.removeAttributeNS(NAMESPACE_URIS[namespace], name);\n } else {\n el.removeAttribute(name);\n }\n }\n\n addClass(el: any, name: string): void {\n el.classList.add(name);\n }\n\n removeClass(el: any, name: string): void {\n el.classList.remove(name);\n }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n style = style.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n value = value == null ? '' : `${value}`.trim();\n const styleMap = _readStyleAttribute(el);\n if (flags & RendererStyleFlags2.Important) {\n value += ' !important';\n }\n styleMap[style] = value;\n _writeStyleAttribute(el, styleMap);\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n // IE requires '' instead of null\n // see https://github.com/angular/angular/issues/7916\n this.setStyle(el, style, '', flags);\n }\n\n // The value was validated already as a property binding, against the property name.\n // To know this value is safe to use as an attribute, the security context of the\n // attribute with the given name is checked against that security context of the\n // property.\n private _isSafeToReflectProperty(tagName: string, propertyName: string): boolean {\n return this.schema.securityContext(tagName, propertyName, true) ===\n this.schema.securityContext(tagName, propertyName, false);\n }\n\n setProperty(el: any, name: string, value: any): void {\n checkNoSyntheticProp(name, 'property');\n if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n el.textContent = value;\n }\n (<any>el)[name] = value;\n // Mirror property values for known HTML element properties in the attributes.\n // Skip `innerhtml` which is conservatively marked as an attribute for security\n // purposes but is not actually an attribute.\n const tagName = (el.tagName as string).toLowerCase();\n if (value != null && (typeof value === 'number' || typeof value == 'string') &&\n name.toLowerCase() !== 'innerhtml' && this.schema.hasElement(tagName, EMPTY_ARRAY) &&\n this.schema.hasProperty(tagName, name, EMPTY_ARRAY) &&\n this._isSafeToReflectProperty(tagName, name)) {\n this.setAttribute(el, name, value.toString());\n }\n }\n\n setValue(node: any, value: string): void {\n node.textContent = value;\n }\n\n listen(\n target: 'document'|'window'|'body'|any, eventName: string,\n callback: (event: any) => boolean): () => void {\n checkNoSyntheticProp(eventName, 'listener');\n if (typeof target === 'string') {\n return <() => void>this.eventManager.addGlobalEventListener(\n target, eventName, this.decoratePreventDefault(callback));\n }\n return <() => void>this.eventManager.addEventListener(\n target, eventName, this.decoratePreventDefault(callback)) as () => void;\n }\n\n private decoratePreventDefault(eventHandler: Function): Function {\n return (event: any) => {\n // Ivy uses `Function` as a special token that allows us to unwrap the function\n // so that it can be invoked programmatically by `DebugNode.triggerEventHandler`.\n if (event === Function) {\n return eventHandler;\n }\n\n // Run the event handler inside the ngZone because event handlers are not patched\n // by Zone on the server. This is required only for tests.\n const allowDefaultBehavior = this.ngZone.runGuarded(() => eventHandler(event));\n if (allowDefaultBehavior === false) {\n event.preventDefault();\n event.returnValue = false;\n }\n\n return undefined;\n };\n }\n}\n\nconst AT_CHARCODE = '@'.charCodeAt(0);\nfunction checkNoSyntheticProp(name: string, nameKind: string) {\n if (name.charCodeAt(0) === AT_CHARCODE) {\n throw new Error(`Unexpected synthetic ${nameKind} ${name} found. Please make sure that:\n - Either \\`BrowserAnimationsModule\\` or \\`NoopAnimationsModule\\` are imported in your application.\n - There is corresponding configuration for the animation named \\`${\n name}\\` defined in the \\`animations\\` field of the \\`@Component\\` decorator (see https://angular.io/api/core/Component#animations).`);\n }\n}\n\nfunction isTemplateNode(node: any): node is HTMLTemplateElement {\n return node.tagName === 'TEMPLATE' && node.content !== undefined;\n}\n\nclass EmulatedEncapsulationServerRenderer2 extends DefaultServerRenderer2 {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n eventManager: EventManager, document: any, ngZone: NgZone, sharedStylesHost: SharedStylesHost,\n schema: DomElementSchemaRegistry, private component: RendererType2) {\n super(eventManager, document, ngZone, schema);\n // Add a 's' prefix to style attributes to indicate server.\n const componentId = 's' + component.id;\n const styles = flattenStyles(componentId, component.styles);\n sharedStylesHost.addStyles(styles);\n\n this.contentAttr = shimContentAttribute(componentId);\n this.hostAttr = shimHostAttribute(componentId);\n }\n\n applyToHost(element: any) {\n super.setAttribute(element, this.hostAttr, '');\n }\n\n override createElement(parent: any, name: string): Element {\n const el = super.createElement(parent, name);\n super.setAttribute(el, this.contentAttr, '');\n return el;\n }\n}\n\nfunction _readStyleAttribute(element: any): {[name: string]: string} {\n const styleMap: {[name: string]: string} = {};\n const styleAttribute = element.getAttribute('style');\n if (styleAttribute) {\n const styleList = styleAttribute.split(/;+/g);\n for (let i = 0; i < styleList.length; i++) {\n const style = styleList[i].trim();\n if (style.length > 0) {\n const colonIndex = style.indexOf(':');\n if (colonIndex === -1) {\n throw new Error(`Invalid CSS style: ${style}`);\n }\n const name = style.slice(0, colonIndex).trim();\n styleMap[name] = style.slice(colonIndex + 1).trim();\n }\n }\n }\n return styleMap;\n}\n\nfunction _writeStyleAttribute(element: any, styleMap: {[name: string]: string}) {\n // We have to construct the `style` attribute ourselves, instead of going through\n // `element.style.setProperty` like the other renderers, because `setProperty` won't\n // write newer CSS properties that Domino doesn't know about like `clip-path`.\n let styleAttrValue = '';\n for (const key in styleMap) {\n const newValue = styleMap[key];\n if (newValue != null && newValue !== '') {\n styleAttrValue += key + ':' + newValue + ';';\n }\n }\n if (styleAttrValue) {\n element.setAttribute('style', styleAttrValue);\n } else {\n element.removeAttribute('style');\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerStylesHost extends SharedStylesHost {\n private head: any = null;\n private _styleNodes = new Set<HTMLElement>();\n\n constructor(\n @Inject(DOCUMENT) private doc: any,\n @Optional() @Inject(ɵTRANSITION_ID) private transitionId: string) {\n super();\n this.head = doc.getElementsByTagName('head')[0];\n }\n\n override onStyleAdded(style: string): void {\n const adapter = getDOM();\n const el = adapter.createElement('style');\n el.textContent = style;\n if (!!this.transitionId) {\n el.setAttribute('ng-transition', this.transitionId);\n }\n this.head.appendChild(el);\n this._styleNodes.add(el);\n }\n\n override ngOnDestroy() {\n this._styleNodes.forEach(styleNode => styleNode.remove());\n this._styleNodes.clear();\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {APP_ID, NgModule, Provider} from '@angular/core';\nimport {TransferState, ɵescapeHtml as escapeHtml} from '@angular/platform-browser';\n\nimport {BEFORE_APP_SERIALIZED} from './tokens';\n\nexport const TRANSFER_STATE_SERIALIZATION_PROVIDERS: Provider[] = [{\n provide: BEFORE_APP_SERIALIZED,\n useFactory: serializeTransferStateFactory,\n deps: [DOCUMENT, APP_ID, TransferState],\n multi: true,\n}];\n\nfunction serializeTransferStateFactory(doc: Document, appId: string, transferStore: TransferState) {\n return () => {\n // The `.toJSON` here causes the `onSerialize` callbacks to be called.\n // These callbacks can be used to provide the value for a given key.\n const content = transferStore.toJson();\n\n if (transferStore.isEmpty) {\n // The state is empty, nothing to transfer,\n // avoid creating an extra `<script>` tag in this case.\n return;\n }\n\n const script = doc.createElement('script');\n script.id = appId + '-state';\n script.setAttribute('type', 'application/json');\n script.textContent = escapeHtml(content);\n\n // It is intentional that we add the script at the very bottom. Angular CLI script tags for\n // bundles are always `type=\"module\"`. These are deferred by default and cause the transfer\n // transfer data to be queried only after the browser has finished parsing the DOM.\n doc.body.appendChild(script);\n };\n}\n\n/**\n * NgModule to install on the server side while using the `TransferState` to transfer state from\n * server to client.\n *\n * Note: this module is not needed if the `renderApplication` function is used.\n * The `renderApplication` makes all providers from this module available in the application.\n *\n * @publicApi\n * @deprecated no longer needed, you can inject the `TransferState` in an app without providing\n * this module.\n */\n@NgModule({})\nexport class ServerTransferStateModule {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵAnimationEngine} from '@angular/animations/browser';\nimport {DOCUMENT, PlatformLocation, ViewportScroller, ɵgetDOM as getDOM, ɵNullViewportScroller as NullViewportScroller, ɵPLATFORM_SERVER_ID as PLATFORM_SERVER_ID} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {createPlatformFactory, Injector, NgModule, NgZone, Optional, PLATFORM_ID, PLATFORM_INITIALIZER, platformCore, PlatformRef, Provider, RendererFactory2, StaticProvider, Testability, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS, ɵsetDocument, ɵTESTABILITY as TESTABILITY} from '@angular/core';\nimport {BrowserModule, EVENT_MANAGER_PLUGINS, ɵSharedStylesHost as SharedStylesHost} from '@angular/platform-browser';\nimport {ɵplatformCoreDynamic as platformCoreDynamic} from '@angular/platform-browser-dynamic';\nimport {NoopAnimationsModule, ɵAnimationRendererFactory} from '@angular/platform-browser/animations';\n\nimport {DominoAdapter, parseDocument} from './domino_adapter';\nimport {SERVER_HTTP_PROVIDERS} from './http';\nimport {ServerPlatformLocation} from './location';\nimport {PlatformState} from './platform_state';\nimport {ServerEventManagerPlugin} from './server_events';\nimport {ServerRendererFactory2} from './server_renderer';\nimport {ServerStylesHost} from './styles_host';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\nimport {TRANSFER_STATE_SERIALIZATION_PROVIDERS} from './transfer_state';\n\nexport const INTERNAL_SERVER_PLATFORM_PROVIDERS: StaticProvider[] = [\n {provide: DOCUMENT, useFactory: _document, deps: [Injector]},\n {provide: PLATFORM_ID, useValue: PLATFORM_SERVER_ID},\n {provide: PLATFORM_INITIALIZER, useFactory: initDominoAdapter, multi: true}, {\n provide: PlatformLocation,\n useClass: ServerPlatformLocation,\n deps: [DOCUMENT, [Optional, INITIAL_CONFIG]]\n },\n {provide: PlatformState, deps: [DOCUMENT]},\n // Add special provider that allows multiple instances of platformServer* to be created.\n {provide: ALLOW_MULTIPLE_PLATFORMS, useValue: true}\n];\n\nfunction initDominoAdapter() {\n return () => {\n DominoAdapter.makeCurrent();\n };\n}\n\nexport function instantiateServerRendererFactory(\n renderer: RendererFactory2, engine: ɵAnimationEngine, zone: NgZone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\n\nexport const SERVER_RENDER_PROVIDERS: Provider[] = [\n ServerRendererFactory2,\n {\n provide: RendererFactory2,\n useFactory: instantiateServerRendererFactory,\n deps: [ServerRendererFactory2, ɵAnimationEngine, NgZone]\n },\n ServerStylesHost,\n {provide: SharedStylesHost, useExisting: ServerStylesHost},\n {provide: EVENT_MANAGER_PLUGINS, multi: true, useClass: ServerEventManagerPlugin},\n];\n\n/**\n * The ng module for the server.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n imports: [HttpClientModule, NoopAnimationsModule],\n providers: [\n TRANSFER_STATE_SERIALIZATION_PROVIDERS,\n SERVER_RENDER_PROVIDERS,\n SERVER_HTTP_PROVIDERS,\n {provide: Testability, useValue: null}, // Keep for backwards-compatibility.\n {provide: TESTABILITY, useValue: null},\n {provide: ViewportScroller, useClass: NullViewportScroller},\n ],\n})\nexport class ServerModule {\n}\n\nfunction _document(injector: Injector) {\n const config: PlatformConfig|null = injector.get(INITIAL_CONFIG, null);\n let document: Document;\n if (config && config.document) {\n document = typeof config.document === 'string' ? parseDocument(config.document, config.url) :\n config.document;\n } else {\n document = getDOM().createHtmlDocument();\n }\n // Tell ivy about the global document\n ɵsetDocument(document);\n return document;\n}\n\n/**\n * @publicApi\n */\nexport const platformServer: (extraProviders?: StaticProvider[]|undefined) => PlatformRef =\n createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * The server platform that supports the runtime compiler.\n *\n * @publicApi\n */\nexport const platformDynamicServer =\n createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ApplicationRef, EnvironmentProviders, importProvidersFrom, InjectionToken, NgModuleFactory, NgModuleRef, PlatformRef, Provider, Renderer2, StaticProvider, Type, ɵinternalCreateApplication as internalCreateApplication, ɵisPromise} from '@angular/core';\nimport {BrowserModule, ɵTRANSITION_ID} from '@angular/platform-browser';\nimport {first} from 'rxjs/operators';\n\nimport {PlatformState} from './platform_state';\nimport {platformDynamicServer, platformServer, ServerModule} from './server';\nimport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG} from './tokens';\nimport {TRANSFER_STATE_SERIALIZATION_PROVIDERS} from './transfer_state';\n\ninterface PlatformOptions {\n document?: string|Document;\n url?: string;\n platformProviders?: Provider[];\n}\n\nfunction _getPlatform(\n platformFactory: (extraProviders: StaticProvider[]) => PlatformRef,\n options: PlatformOptions): PlatformRef {\n const extraProviders = options.platformProviders ?? [];\n return platformFactory([\n {provide: INITIAL_CONFIG, useValue: {document: options.document, url: options.url}},\n extraProviders\n ]);\n}\n\n/**\n * Adds the `ng-server-context` attribute to host elements of all bootstrapped components\n * within a given application.\n */\nfunction appendServerContextInfo(serverContext: string, applicationRef: ApplicationRef) {\n applicationRef.components.forEach(componentRef => {\n const renderer = componentRef.injector.get(Renderer2);\n const element = componentRef.location.nativeElement;\n if (element) {\n renderer.setAttribute(element, 'ng-server-context', serverContext);\n }\n });\n}\n\nfunction _render<T>(\n platform: PlatformRef,\n bootstrapPromise: Promise<NgModuleRef<T>|ApplicationRef>): Promise<string> {\n return bootstrapPromise.then((moduleOrApplicationRef) => {\n const environmentInjector = moduleOrApplicationRef.injector;\n const transitionId = environmentInjector.get(ɵTRANSITION_ID, null);\n if (!transitionId) {\n throw new Error(\n `renderModule[Factory]() requires the use of BrowserModule.withServerTransition() to ensure\nthe server-rendered app can be properly bootstrapped into a client app.`);\n }\n const applicationRef: ApplicationRef = moduleOrApplicationRef instanceof ApplicationRef ?\n moduleOrApplicationRef :\n environmentInjector.get(ApplicationRef);\n const serverContext =\n sanitizeServerContext(environmentInjector.get(SERVER_CONTEXT, DEFAULT_SERVER_CONTEXT));\n return applicationRef.isStable.pipe((first((isStable: boolean) => isStable)))\n .toPromise()\n .then(() => {\n appendServerContextInfo(serverContext, applicationRef);\n\n const platformState = platform.injector.get(PlatformState);\n\n const asyncPromises: Promise<any>[] = [];\n\n // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string.\n const callbacks = environmentInjector.get(BEFORE_APP_SERIALIZED, null);\n\n if (callbacks) {\n for (const callback of callbacks) {\n try {\n const callbackResult = callback();\n if (ɵisPromise(callbackResult)) {\n // TODO: in TS3.7, callbackResult is void.\n asyncPromises.push(callbackResult as any);\n }\n\n } catch (e) {\n // Ignore exceptions.\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n }\n }\n }\n\n const complete = () => {\n const output = platformState.renderToString();\n platform.destroy();\n return output;\n };\n\n if (asyncPromises.length === 0) {\n return complete();\n }\n\n return Promise\n .all(asyncPromises.map(asyncPromise => {\n return asyncPromise.catch(e => {\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n });\n }))\n .then(complete);\n });\n });\n}\n\n/**\n * Specifies the value that should be used if no server context value has been provided.\n */\nconst DEFAULT_SERVER_CONTEXT = 'other';\n\n/**\n * An internal token that allows providing extra information about the server context\n * (e.g. whether SSR or SSG was used). The value is a string and characters other\n * than [a-zA-Z0-9\\-] are removed. See the default value in `DEFAULT_SERVER_CONTEXT` const.\n */\nexport const SERVER_CONTEXT = new InjectionToken<string>('SERVER_CONTEXT');\n\n/**\n * Sanitizes provided server context:\n * - removes all characters other than a-z, A-Z, 0-9 and `-`\n * - returns `other` if nothing is provided or the string is empty after sanitization\n */\nfunction sanitizeServerContext(serverContext: string): string {\n const context = serverContext.replace(/[^a-zA-Z0-9\\-]/g, '');\n return context.length > 0 ? context : DEFAULT_SERVER_CONTEXT;\n}\n\n/**\n * Bootstraps an application using provided NgModule and serializes the page content to string.\n *\n * @param moduleType A reference to an NgModule that should be used for bootstrap.\n * @param options Additional configuration for the render operation:\n * - `document` - the document of the page to render, either as an HTML string or\n * as a reference to the `document` instance.\n * - `url` - the URL for the current render request.\n * - `extraProviders` - set of platform level providers for the current render request.\n *\n * @publicApi\n */\nexport function renderModule<T>(moduleType: Type<T>, options: {\n document?: string|Document,\n url?: string,\n extraProviders?: StaticProvider[],\n}): Promise<string> {\n const {document, url, extraProviders: platformProviders} = options;\n const platform = _getPlatform(platformDynamicServer, {document, url, platformProviders});\n return _render(platform, platform.bootstrapModule(moduleType));\n}\n\n/**\n * Bootstraps an instance of an Angular application and renders it to a string.\n *\n * Note: the root component passed into this function *must* be a standalone one (should have the\n * `standalone: true` flag in the `@Component` decorator config).\n *\n * ```typescript\n * @Component({\n * standalone: true,\n * template: 'Hello world!'\n * })\n * class RootComponent {}\n *\n * const output: string = await renderApplication(RootComponent, {appId: 'server-app'});\n * ```\n *\n * @param rootComponent A reference to a Standalone Component that should be rendered.\n * @param options Additional configuration for the render operation:\n * - `appId` - a string identifier of this application. The appId is used to prefix all\n * server-generated stylings and state keys of the application in TransferState\n * use-cases.\n * - `document` - the document of the page to render, either as an HTML string or\n * as a reference to the `document` instance.\n * - `url` - the URL for the current render request.\n * - `providers` - set of application level providers for the current render request.\n * - `platformProviders` - the platform level providers for the current render request.\n *\n * @returns A Promise, that returns serialized (to a string) rendered page, once resolved.\n *\n * @publicApi\n * @developerPreview\n */\nexport function renderApplication<T>(rootComponent: Type<T>, options: {\n appId: string,\n document?: string|Document,\n url?: string,\n providers?: Array<Provider|EnvironmentProviders>,\n platformProviders?: Provider[],\n}): Promise<string> {\n const {document, url, platformProviders, appId} = options;\n const platform = _getPlatform(platformDynamicServer, {document, url, platformProviders});\n const appProviders = [\n importProvidersFrom(BrowserModule.withServerTransition({appId})),\n importProvidersFrom(ServerModule),\n ...(options.providers ?? []),\n ];\n return _render(platform, internalCreateApplication({rootComponent, appProviders}));\n}\n\n/**\n * Bootstraps an application using provided {@link NgModuleFactory} and serializes the page content\n * to string.\n *\n * @param moduleFactory An instance of the {@link NgModuleFactory} that should be used for\n * bootstrap.\n * @param options Additional configuration for the render operation:\n * - `document` - the document of the page to render, either as an HTML string or\n * as a reference to the `document` instance.\n * - `url` - the URL for the current render request.\n * - `extraProviders` - set of platform level providers for the current render request.\n *\n * @publicApi\n *\n * @deprecated\n * This symbol is no longer necessary as of Angular v13.\n * Use {@link renderModule} API instead.\n */\nexport function renderModuleFactory<T>(moduleFactory: NgModuleFactory<T>, options: {\n document?: string,\n url?: string,\n extraProviders?: StaticProvider[],\n}): Promise<string> {\n const {document, url, extraProviders: platformProviders} = options;\n const platform = _getPlatform(platformServer, {document, url, platformProviders});\n return _render(platform, platform.bootstrapModuleFactory(moduleFactory));\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-server package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = new Version('15.2.4');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/// <reference types=\"node\" />\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/platform-server';\n\n// This file only reexports content of the `src` folder. Keep it that way.\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BrowserDomAdapter","setRootDomAdapter","HttpInterceptorHandler","getDOM","flattenStyles","NAMESPACE_URIS","shimContentAttribute","shimHostAttribute","SharedStylesHost","escapeHtml","PLATFORM_SERVER_ID","ALLOW_MULTIPLE_PLATFORMS","TESTABILITY","NullViewportScroller","platformCoreDynamic","internalCreateApplication"],"mappings":"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"}
1
+ {"version":3,"file":"platform-server.mjs","sources":["../../../../../../packages/platform-server/src/domino_adapter.ts","../../../../../../packages/platform-server/src/platform_state.ts","../../../../../../packages/platform-server/src/tokens.ts","../../../../../../packages/platform-server/src/http.ts","../../../../../../packages/platform-server/src/location.ts","../../../../../../packages/platform-server/src/server_events.ts","../../../../../../packages/platform-server/src/server_renderer.ts","../../../../../../packages/platform-server/src/styles_host.ts","../../../../../../packages/platform-server/src/transfer_state.ts","../../../../../../packages/platform-server/src/server.ts","../../../../../../packages/platform-server/src/utils.ts","../../../../../../packages/platform-server/src/version.ts","../../../../../../packages/platform-server/public_api.ts","../../../../../../packages/platform-server/index.ts","../../../../../../packages/platform-server/platform-server.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/common';\nimport {ɵBrowserDomAdapter as BrowserDomAdapter} from '@angular/platform-browser';\nimport domino from 'domino';\n\nexport function setDomTypes() {\n // Make all Domino types available in the global env.\n Object.assign(global, domino.impl);\n (global as any)['KeyboardEvent'] = domino.impl.Event;\n}\n\n/**\n * Parses a document string to a Document object.\n */\nexport function parseDocument(html: string, url = '/') {\n let window = domino.createWindow(html, url);\n let doc = window.document;\n return doc;\n}\n\n/**\n * Serializes a document to string.\n */\nexport function serializeDocument(doc: Document): string {\n return (doc as any).serialize();\n}\n\n/**\n * DOM Adapter for the server platform based on https://github.com/fgnass/domino.\n */\nexport class DominoAdapter extends BrowserDomAdapter {\n static override makeCurrent() {\n setDomTypes();\n setRootDomAdapter(new DominoAdapter());\n }\n\n override readonly supportsDOMEvents = false;\n private static defaultDoc: Document;\n\n override createHtmlDocument(): Document {\n return parseDocument('<html><head><title>fakeTitle</title></head><body></body></html>');\n }\n\n override getDefaultDocument(): Document {\n if (!DominoAdapter.defaultDoc) {\n DominoAdapter.defaultDoc = domino.createDocument();\n }\n return DominoAdapter.defaultDoc;\n }\n\n override isElementNode(node: any): boolean {\n return node ? node.nodeType === DominoAdapter.defaultDoc.ELEMENT_NODE : false;\n }\n override isShadowRoot(node: any): boolean {\n return node.shadowRoot == node;\n }\n\n /** @deprecated No longer being used in Ivy code. To be removed in version 14. */\n override getGlobalEventTarget(doc: Document, target: string): EventTarget|null {\n if (target === 'window') {\n return doc.defaultView;\n }\n if (target === 'document') {\n return doc;\n }\n if (target === 'body') {\n return doc.body;\n }\n return null;\n }\n\n override getBaseHref(doc: Document): string {\n // TODO(alxhub): Need relative path logic from BrowserDomAdapter here?\n return doc.documentElement!.querySelector('base')?.getAttribute('href') || '';\n }\n\n override dispatchEvent(el: Node, evt: any) {\n el.dispatchEvent(evt);\n\n // Dispatch the event to the window also.\n const doc = el.ownerDocument || el;\n const win = (doc as any).defaultView;\n if (win) {\n win.dispatchEvent(evt);\n }\n }\n\n override getUserAgent(): string {\n return 'Fake user agent';\n }\n\n override getCookie(name: string): string {\n throw new Error('getCookie has not been implemented');\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\n\nimport {serializeDocument} from './domino_adapter';\n\n/**\n * Representation of the current platform state.\n *\n * @publicApi\n */\n@Injectable()\nexport class PlatformState {\n constructor(@Inject(DOCUMENT) private _doc: any) {}\n\n /**\n * Renders the current state of the platform to string.\n */\n renderToString(): string {\n return serializeDocument(this._doc);\n }\n\n /**\n * Returns the current DOM state.\n */\n getDocument(): any {\n return this._doc;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\n\n/**\n * Config object passed to initialize the platform.\n *\n * @publicApi\n */\nexport interface PlatformConfig {\n /**\n * The initial DOM to use to bootstrap the server application.\n * @default create a new DOM using Domino\n */\n document?: string;\n /**\n * The URL for the current application state. This is used for initializing\n * the platform's location. `protocol`, `hostname`, and `port` will be\n * overridden if `baseUrl` is set.\n * @default none\n */\n url?: string;\n /**\n * Whether to append the absolute URL to any relative HTTP requests. If set to\n * true, this logic executes prior to any HTTP interceptors that may run later\n * on in the request. `baseUrl` must be supplied if this flag is enabled.\n * @default false\n */\n useAbsoluteUrl?: boolean;\n /**\n * The base URL for resolving absolute URL for HTTP requests. It must be set\n * if `useAbsoluteUrl` is true, and must consist of protocol, hostname,\n * and optional port. This option has no effect if `useAbsoluteUrl` is not\n * enabled.\n */\n baseUrl?: string;\n}\n\n/**\n * The DI token for setting the initial config for the platform.\n *\n * @publicApi\n */\nexport const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG');\n\n/**\n * A function that will be executed when calling `renderApplication`, `renderModuleFactory` or\n * `renderModule` just before current platform state is rendered to string.\n *\n * @publicApi\n */\nexport const BEFORE_APP_SERIALIZED =\n new InjectionToken<Array<() => void | Promise<void>>>('Server.RENDER_MODULE_HOOK');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PlatformLocation, XhrFactory} from '@angular/common';\nimport {HttpBackend, HttpEvent, HttpHandler, HttpRequest, ɵHttpInterceptorHandler as HttpInterceptorHandler} from '@angular/common/http';\nimport {EnvironmentInjector, inject, Injectable, Provider} from '@angular/core';\nimport {Observable, Observer, Subscription} from 'rxjs';\nimport * as xhr2 from 'xhr2';\n\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\n// @see https://www.w3.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-01#URI-syntax\nconst isAbsoluteUrl = /^[a-zA-Z\\-\\+.]+:\\/\\//;\n\n@Injectable()\nexport class ServerXhr implements XhrFactory {\n build(): XMLHttpRequest {\n return new xhr2.XMLHttpRequest();\n }\n}\n\nexport abstract class ZoneMacroTaskWrapper<S, R> {\n wrap(request: S): Observable<R> {\n return new Observable((observer: Observer<R>) => {\n let task: Task = null!;\n let scheduled: boolean = false;\n let sub: Subscription|null = null;\n let savedResult: any = null;\n let savedError: any = null;\n\n const scheduleTask = (_task: Task) => {\n task = _task;\n scheduled = true;\n\n const delegate = this.delegate(request);\n sub = delegate.subscribe(\n res => savedResult = res,\n err => {\n if (!scheduled) {\n throw new Error(\n 'An http observable was completed twice. This shouldn\\'t happen, please file a bug.');\n }\n savedError = err;\n scheduled = false;\n task.invoke();\n },\n () => {\n if (!scheduled) {\n throw new Error(\n 'An http observable was completed twice. This shouldn\\'t happen, please file a bug.');\n }\n scheduled = false;\n task.invoke();\n });\n };\n\n const cancelTask = (_task: Task) => {\n if (!scheduled) {\n return;\n }\n scheduled = false;\n if (sub) {\n sub.unsubscribe();\n sub = null;\n }\n };\n\n const onComplete = () => {\n if (savedError !== null) {\n observer.error(savedError);\n } else {\n observer.next(savedResult);\n observer.complete();\n }\n };\n\n // MockBackend for Http is synchronous, which means that if scheduleTask is by\n // scheduleMacroTask, the request will hit MockBackend and the response will be\n // sent, causing task.invoke() to be called.\n const _task = Zone.current.scheduleMacroTask(\n 'ZoneMacroTaskWrapper.subscribe', onComplete, {}, () => null, cancelTask);\n scheduleTask(_task);\n\n return () => {\n if (scheduled && task) {\n task.zone.cancelTask(task);\n scheduled = false;\n }\n if (sub) {\n sub.unsubscribe();\n sub = null;\n }\n };\n });\n }\n\n protected abstract delegate(request: S): Observable<R>;\n}\n\nexport class ZoneClientBackend extends\n ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {\n constructor(\n private backend: HttpBackend, private platformLocation: PlatformLocation,\n private config: PlatformConfig) {\n super();\n }\n\n handle(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n const {href, protocol, hostname, port} = this.platformLocation;\n if (this.config.useAbsoluteUrl && !isAbsoluteUrl.test(request.url) &&\n isAbsoluteUrl.test(href)) {\n const baseHref = this.platformLocation.getBaseHrefFromDOM() || href;\n const urlPrefix = `${protocol}//${hostname}` + (port ? `:${port}` : '');\n const baseUrl = new URL(baseHref, urlPrefix);\n const url = new URL(request.url, baseUrl);\n return this.wrap(request.clone({url: url.toString()}));\n }\n return this.wrap(request);\n }\n\n protected override delegate(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n return this.backend.handle(request);\n }\n}\n\nexport function zoneWrappedInterceptorHandler(\n platformLocation: PlatformLocation, config: PlatformConfig) {\n return new ZoneClientBackend(\n new HttpInterceptorHandler(inject(HttpBackend), inject(EnvironmentInjector)),\n platformLocation, config);\n}\n\nexport const SERVER_HTTP_PROVIDERS: Provider[] = [\n {provide: XhrFactory, useClass: ServerXhr}, {\n provide: HttpHandler,\n useFactory: zoneWrappedInterceptorHandler,\n deps: [PlatformLocation, INITIAL_CONFIG]\n }\n];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT, LocationChangeEvent, LocationChangeListener, PlatformLocation, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport * as url from 'url';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\nfunction parseUrl(urlStr: string) {\n const parsedUrl = url.parse(urlStr);\n return {\n hostname: parsedUrl.hostname || '',\n protocol: parsedUrl.protocol || '',\n port: parsedUrl.port || '',\n pathname: parsedUrl.pathname || '',\n search: parsedUrl.search || '',\n hash: parsedUrl.hash || '',\n };\n}\n\n/**\n * Server-side implementation of URL state. Implements `pathname`, `search`, and `hash`\n * but not the state stack.\n */\n@Injectable()\nexport class ServerPlatformLocation implements PlatformLocation {\n public readonly href: string = '/';\n public readonly hostname: string = '/';\n public readonly protocol: string = '/';\n public readonly port: string = '/';\n public readonly pathname: string = '/';\n public readonly search: string = '';\n public readonly hash: string = '';\n private _hashUpdate = new Subject<LocationChangeEvent>();\n\n constructor(\n @Inject(DOCUMENT) private _doc: any, @Optional() @Inject(INITIAL_CONFIG) _config: any) {\n const config = _config as PlatformConfig | null;\n if (!config) {\n return;\n }\n if (config.url) {\n const url = parseUrl(config.url);\n this.protocol = url.protocol;\n this.hostname = url.hostname;\n this.port = url.port;\n this.pathname = url.pathname;\n this.search = url.search;\n this.hash = url.hash;\n this.href = _doc.location.href;\n }\n if (config.useAbsoluteUrl) {\n if (!config.baseUrl) {\n throw new Error(`\"PlatformConfig.baseUrl\" must be set if \"useAbsoluteUrl\" is true`);\n }\n const url = parseUrl(config.baseUrl);\n this.protocol = url.protocol;\n this.hostname = url.hostname;\n this.port = url.port;\n }\n }\n\n getBaseHrefFromDOM(): string {\n return getDOM().getBaseHref(this._doc)!;\n }\n\n onPopState(fn: LocationChangeListener): VoidFunction {\n // No-op: a state stack is not implemented, so\n // no events will ever come.\n return () => {};\n }\n\n onHashChange(fn: LocationChangeListener): VoidFunction {\n const subscription = this._hashUpdate.subscribe(fn);\n return () => subscription.unsubscribe();\n }\n\n get url(): string {\n return `${this.pathname}${this.search}${this.hash}`;\n }\n\n private setHash(value: string, oldUrl: string) {\n if (this.hash === value) {\n // Don't fire events if the hash has not changed.\n return;\n }\n (this as {hash: string}).hash = value;\n const newUrl = this.url;\n scheduleMicroTask(\n () => this._hashUpdate.next(\n {type: 'hashchange', state: null, oldUrl, newUrl} as LocationChangeEvent));\n }\n\n replaceState(state: any, title: string, newUrl: string): void {\n const oldUrl = this.url;\n const parsedUrl = parseUrl(newUrl);\n (this as {pathname: string}).pathname = parsedUrl.pathname;\n (this as {search: string}).search = parsedUrl.search;\n this.setHash(parsedUrl.hash, oldUrl);\n }\n\n pushState(state: any, title: string, newUrl: string): void {\n this.replaceState(state, title, newUrl);\n }\n\n forward(): void {\n throw new Error('Not implemented');\n }\n\n back(): void {\n throw new Error('Not implemented');\n }\n\n // History API isn't available on server, therefore return undefined\n getState(): unknown {\n return undefined;\n }\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\n\n@Injectable()\nexport class ServerEventManagerPlugin /* extends EventManagerPlugin which is private */ {\n constructor(@Inject(DOCUMENT) private doc: any) {}\n\n // Handle all events on the server.\n supports(eventName: string) {\n return true;\n }\n\n addEventListener(element: HTMLElement, eventName: string, handler: Function): Function {\n return getDOM().onAndCancel(element, eventName, handler);\n }\n\n /** @deprecated No longer being used in Ivy code. To be removed in version 14. */\n addGlobalEventListener(element: string, eventName: string, handler: Function): Function {\n const target: HTMLElement = getDOM().getGlobalEventTarget(this.doc, element);\n if (!target) {\n throw new Error(`Unsupported event target ${target} for event ${eventName}`);\n }\n return this.addEventListener(target, eventName, handler);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {DomElementSchemaRegistry} from '@angular/compiler';\nimport {Inject, Injectable, NgZone, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, ViewEncapsulation} from '@angular/core';\nimport {EventManager, ɵflattenStyles as flattenStyles, ɵNAMESPACE_URIS as NAMESPACE_URIS, ɵSharedStylesHost as SharedStylesHost, ɵshimContentAttribute as shimContentAttribute, ɵshimHostAttribute as shimHostAttribute} from '@angular/platform-browser';\n\nconst EMPTY_ARRAY: any[] = [];\n\nconst DEFAULT_SCHEMA = new DomElementSchemaRegistry();\n\n@Injectable()\nexport class ServerRendererFactory2 implements RendererFactory2 {\n private rendererByCompId = new Map<string, Renderer2>();\n private defaultRenderer: Renderer2;\n private schema = DEFAULT_SCHEMA;\n\n constructor(\n private eventManager: EventManager, private ngZone: NgZone,\n @Inject(DOCUMENT) private document: any, private sharedStylesHost: SharedStylesHost) {\n this.defaultRenderer = new DefaultServerRenderer2(eventManager, document, ngZone, this.schema);\n }\n\n createRenderer(element: any, type: RendererType2|null): Renderer2 {\n if (!element || !type) {\n return this.defaultRenderer;\n }\n switch (type.encapsulation) {\n case ViewEncapsulation.Emulated: {\n let renderer = this.rendererByCompId.get(type.id);\n if (!renderer) {\n renderer = new EmulatedEncapsulationServerRenderer2(\n this.eventManager, this.document, this.ngZone, this.sharedStylesHost, this.schema,\n type);\n this.rendererByCompId.set(type.id, renderer);\n }\n (<EmulatedEncapsulationServerRenderer2>renderer).applyToHost(element);\n return renderer;\n }\n default: {\n if (!this.rendererByCompId.has(type.id)) {\n const styles = flattenStyles(type.id, type.styles);\n this.sharedStylesHost.addStyles(styles);\n this.rendererByCompId.set(type.id, this.defaultRenderer);\n }\n return this.defaultRenderer;\n }\n }\n }\n\n begin() {}\n end() {}\n}\n\nclass DefaultServerRenderer2 implements Renderer2 {\n data: {[key: string]: any} = Object.create(null);\n\n constructor(\n private eventManager: EventManager, protected document: any, private ngZone: NgZone,\n private schema: DomElementSchemaRegistry) {}\n\n destroy(): void {}\n\n destroyNode = null;\n\n createElement(name: string, namespace?: string): any {\n if (namespace) {\n const doc = this.document || getDOM().getDefaultDocument();\n return doc.createElementNS(NAMESPACE_URIS[namespace], name);\n }\n\n return getDOM().createElement(name, this.document);\n }\n\n createComment(value: string): any {\n return getDOM().getDefaultDocument().createComment(value);\n }\n\n createText(value: string): any {\n const doc = getDOM().getDefaultDocument();\n return doc.createTextNode(value);\n }\n\n appendChild(parent: any, newChild: any): void {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.appendChild(newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.insertBefore(newChild, refChild);\n }\n }\n\n removeChild(parent: any, oldChild: any): void {\n if (parent) {\n parent.removeChild(oldChild);\n }\n }\n\n selectRootElement(selectorOrNode: string|any, preserveContent?: boolean): any {\n const el = typeof selectorOrNode === 'string' ? this.document.querySelector(selectorOrNode) :\n selectorOrNode;\n if (!el) {\n throw new Error(`The selector \"${selectorOrNode}\" did not match any elements`);\n }\n if (!preserveContent) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n }\n return el;\n }\n\n parentNode(node: any): any {\n return node.parentNode;\n }\n\n nextSibling(node: any): any {\n return node.nextSibling;\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n el.setAttributeNS(NAMESPACE_URIS[namespace], namespace + ':' + name, value);\n } else {\n el.setAttribute(name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n el.removeAttributeNS(NAMESPACE_URIS[namespace], name);\n } else {\n el.removeAttribute(name);\n }\n }\n\n addClass(el: any, name: string): void {\n el.classList.add(name);\n }\n\n removeClass(el: any, name: string): void {\n el.classList.remove(name);\n }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n style = style.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n value = value == null ? '' : `${value}`.trim();\n const styleMap = _readStyleAttribute(el);\n if (flags & RendererStyleFlags2.Important) {\n value += ' !important';\n }\n styleMap[style] = value;\n _writeStyleAttribute(el, styleMap);\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n // IE requires '' instead of null\n // see https://github.com/angular/angular/issues/7916\n this.setStyle(el, style, '', flags);\n }\n\n // The value was validated already as a property binding, against the property name.\n // To know this value is safe to use as an attribute, the security context of the\n // attribute with the given name is checked against that security context of the\n // property.\n private _isSafeToReflectProperty(tagName: string, propertyName: string): boolean {\n return this.schema.securityContext(tagName, propertyName, true) ===\n this.schema.securityContext(tagName, propertyName, false);\n }\n\n setProperty(el: any, name: string, value: any): void {\n checkNoSyntheticProp(name, 'property');\n if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n el.textContent = value;\n }\n (<any>el)[name] = value;\n // Mirror property values for known HTML element properties in the attributes.\n // Skip `innerhtml` which is conservatively marked as an attribute for security\n // purposes but is not actually an attribute.\n const tagName = (el.tagName as string).toLowerCase();\n if (value != null && (typeof value === 'number' || typeof value == 'string') &&\n name.toLowerCase() !== 'innerhtml' && this.schema.hasElement(tagName, EMPTY_ARRAY) &&\n this.schema.hasProperty(tagName, name, EMPTY_ARRAY) &&\n this._isSafeToReflectProperty(tagName, name)) {\n this.setAttribute(el, name, value.toString());\n }\n }\n\n setValue(node: any, value: string): void {\n node.textContent = value;\n }\n\n listen(\n target: 'document'|'window'|'body'|any, eventName: string,\n callback: (event: any) => boolean): () => void {\n checkNoSyntheticProp(eventName, 'listener');\n if (typeof target === 'string') {\n return <() => void>this.eventManager.addGlobalEventListener(\n target, eventName, this.decoratePreventDefault(callback));\n }\n return <() => void>this.eventManager.addEventListener(\n target, eventName, this.decoratePreventDefault(callback)) as () => void;\n }\n\n private decoratePreventDefault(eventHandler: Function): Function {\n return (event: any) => {\n // Ivy uses `Function` as a special token that allows us to unwrap the function\n // so that it can be invoked programmatically by `DebugNode.triggerEventHandler`.\n if (event === Function) {\n return eventHandler;\n }\n\n // Run the event handler inside the ngZone because event handlers are not patched\n // by Zone on the server. This is required only for tests.\n const allowDefaultBehavior = this.ngZone.runGuarded(() => eventHandler(event));\n if (allowDefaultBehavior === false) {\n event.preventDefault();\n event.returnValue = false;\n }\n\n return undefined;\n };\n }\n}\n\nconst AT_CHARCODE = '@'.charCodeAt(0);\nfunction checkNoSyntheticProp(name: string, nameKind: string) {\n if (name.charCodeAt(0) === AT_CHARCODE) {\n throw new Error(`Unexpected synthetic ${nameKind} ${name} found. Please make sure that:\n - Either \\`BrowserAnimationsModule\\` or \\`NoopAnimationsModule\\` are imported in your application.\n - There is corresponding configuration for the animation named \\`${\n name}\\` defined in the \\`animations\\` field of the \\`@Component\\` decorator (see https://angular.io/api/core/Component#animations).`);\n }\n}\n\nfunction isTemplateNode(node: any): node is HTMLTemplateElement {\n return node.tagName === 'TEMPLATE' && node.content !== undefined;\n}\n\nclass EmulatedEncapsulationServerRenderer2 extends DefaultServerRenderer2 {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n eventManager: EventManager, document: any, ngZone: NgZone, sharedStylesHost: SharedStylesHost,\n schema: DomElementSchemaRegistry, private component: RendererType2) {\n super(eventManager, document, ngZone, schema);\n // Add a 's' prefix to style attributes to indicate server.\n const componentId = 's' + component.id;\n const styles = flattenStyles(componentId, component.styles);\n sharedStylesHost.addStyles(styles);\n\n this.contentAttr = shimContentAttribute(componentId);\n this.hostAttr = shimHostAttribute(componentId);\n }\n\n applyToHost(element: any) {\n super.setAttribute(element, this.hostAttr, '');\n }\n\n override createElement(parent: any, name: string): Element {\n const el = super.createElement(parent, name);\n super.setAttribute(el, this.contentAttr, '');\n return el;\n }\n}\n\nfunction _readStyleAttribute(element: any): {[name: string]: string} {\n const styleMap: {[name: string]: string} = {};\n const styleAttribute = element.getAttribute('style');\n if (styleAttribute) {\n const styleList = styleAttribute.split(/;+/g);\n for (let i = 0; i < styleList.length; i++) {\n const style = styleList[i].trim();\n if (style.length > 0) {\n const colonIndex = style.indexOf(':');\n if (colonIndex === -1) {\n throw new Error(`Invalid CSS style: ${style}`);\n }\n const name = style.slice(0, colonIndex).trim();\n styleMap[name] = style.slice(colonIndex + 1).trim();\n }\n }\n }\n return styleMap;\n}\n\nfunction _writeStyleAttribute(element: any, styleMap: {[name: string]: string}) {\n // We have to construct the `style` attribute ourselves, instead of going through\n // `element.style.setProperty` like the other renderers, because `setProperty` won't\n // write newer CSS properties that Domino doesn't know about like `clip-path`.\n let styleAttrValue = '';\n for (const key in styleMap) {\n const newValue = styleMap[key];\n if (newValue != null && newValue !== '') {\n styleAttrValue += key + ':' + newValue + ';';\n }\n }\n if (styleAttrValue) {\n element.setAttribute('style', styleAttrValue);\n } else {\n element.removeAttribute('style');\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerStylesHost extends SharedStylesHost {\n private head: any = null;\n private _styleNodes = new Set<HTMLElement>();\n\n constructor(\n @Inject(DOCUMENT) private doc: any,\n @Optional() @Inject(ɵTRANSITION_ID) private transitionId: string) {\n super();\n this.head = doc.getElementsByTagName('head')[0];\n }\n\n override onStyleAdded(style: string): void {\n const adapter = getDOM();\n const el = adapter.createElement('style');\n el.textContent = style;\n if (!!this.transitionId) {\n el.setAttribute('ng-transition', this.transitionId);\n }\n this.head.appendChild(el);\n this._styleNodes.add(el);\n }\n\n override ngOnDestroy() {\n this._styleNodes.forEach(styleNode => styleNode.remove());\n this._styleNodes.clear();\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {APP_ID, NgModule, Provider} from '@angular/core';\nimport {TransferState, ɵescapeHtml as escapeHtml} from '@angular/platform-browser';\n\nimport {BEFORE_APP_SERIALIZED} from './tokens';\n\nexport const TRANSFER_STATE_SERIALIZATION_PROVIDERS: Provider[] = [{\n provide: BEFORE_APP_SERIALIZED,\n useFactory: serializeTransferStateFactory,\n deps: [DOCUMENT, APP_ID, TransferState],\n multi: true,\n}];\n\nfunction serializeTransferStateFactory(doc: Document, appId: string, transferStore: TransferState) {\n return () => {\n // The `.toJSON` here causes the `onSerialize` callbacks to be called.\n // These callbacks can be used to provide the value for a given key.\n const content = transferStore.toJson();\n\n if (transferStore.isEmpty) {\n // The state is empty, nothing to transfer,\n // avoid creating an extra `<script>` tag in this case.\n return;\n }\n\n const script = doc.createElement('script');\n script.id = appId + '-state';\n script.setAttribute('type', 'application/json');\n script.textContent = escapeHtml(content);\n\n // It is intentional that we add the script at the very bottom. Angular CLI script tags for\n // bundles are always `type=\"module\"`. These are deferred by default and cause the transfer\n // transfer data to be queried only after the browser has finished parsing the DOM.\n doc.body.appendChild(script);\n };\n}\n\n/**\n * NgModule to install on the server side while using the `TransferState` to transfer state from\n * server to client.\n *\n * Note: this module is not needed if the `renderApplication` function is used.\n * The `renderApplication` makes all providers from this module available in the application.\n *\n * @publicApi\n * @deprecated no longer needed, you can inject the `TransferState` in an app without providing\n * this module.\n */\n@NgModule({})\nexport class ServerTransferStateModule {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵAnimationEngine} from '@angular/animations/browser';\nimport {DOCUMENT, PlatformLocation, ViewportScroller, ɵgetDOM as getDOM, ɵNullViewportScroller as NullViewportScroller, ɵPLATFORM_SERVER_ID as PLATFORM_SERVER_ID} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {createPlatformFactory, Injector, NgModule, NgZone, Optional, PLATFORM_ID, PLATFORM_INITIALIZER, platformCore, PlatformRef, Provider, RendererFactory2, StaticProvider, Testability, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS, ɵsetDocument, ɵTESTABILITY as TESTABILITY} from '@angular/core';\nimport {BrowserModule, EVENT_MANAGER_PLUGINS, ɵSharedStylesHost as SharedStylesHost} from '@angular/platform-browser';\nimport {ɵplatformCoreDynamic as platformCoreDynamic} from '@angular/platform-browser-dynamic';\nimport {NoopAnimationsModule, ɵAnimationRendererFactory} from '@angular/platform-browser/animations';\n\nimport {DominoAdapter, parseDocument} from './domino_adapter';\nimport {SERVER_HTTP_PROVIDERS} from './http';\nimport {ServerPlatformLocation} from './location';\nimport {PlatformState} from './platform_state';\nimport {ServerEventManagerPlugin} from './server_events';\nimport {ServerRendererFactory2} from './server_renderer';\nimport {ServerStylesHost} from './styles_host';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\nimport {TRANSFER_STATE_SERIALIZATION_PROVIDERS} from './transfer_state';\n\nexport const INTERNAL_SERVER_PLATFORM_PROVIDERS: StaticProvider[] = [\n {provide: DOCUMENT, useFactory: _document, deps: [Injector]},\n {provide: PLATFORM_ID, useValue: PLATFORM_SERVER_ID},\n {provide: PLATFORM_INITIALIZER, useFactory: initDominoAdapter, multi: true}, {\n provide: PlatformLocation,\n useClass: ServerPlatformLocation,\n deps: [DOCUMENT, [Optional, INITIAL_CONFIG]]\n },\n {provide: PlatformState, deps: [DOCUMENT]},\n // Add special provider that allows multiple instances of platformServer* to be created.\n {provide: ALLOW_MULTIPLE_PLATFORMS, useValue: true}\n];\n\nfunction initDominoAdapter() {\n return () => {\n DominoAdapter.makeCurrent();\n };\n}\n\nexport function instantiateServerRendererFactory(\n renderer: RendererFactory2, engine: ɵAnimationEngine, zone: NgZone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\n\nexport const SERVER_RENDER_PROVIDERS: Provider[] = [\n ServerRendererFactory2,\n {\n provide: RendererFactory2,\n useFactory: instantiateServerRendererFactory,\n deps: [ServerRendererFactory2, ɵAnimationEngine, NgZone]\n },\n ServerStylesHost,\n {provide: SharedStylesHost, useExisting: ServerStylesHost},\n {provide: EVENT_MANAGER_PLUGINS, multi: true, useClass: ServerEventManagerPlugin},\n];\n\n/**\n * The ng module for the server.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n imports: [HttpClientModule, NoopAnimationsModule],\n providers: [\n TRANSFER_STATE_SERIALIZATION_PROVIDERS,\n SERVER_RENDER_PROVIDERS,\n SERVER_HTTP_PROVIDERS,\n {provide: Testability, useValue: null}, // Keep for backwards-compatibility.\n {provide: TESTABILITY, useValue: null},\n {provide: ViewportScroller, useClass: NullViewportScroller},\n ],\n})\nexport class ServerModule {\n}\n\nfunction _document(injector: Injector) {\n const config: PlatformConfig|null = injector.get(INITIAL_CONFIG, null);\n let document: Document;\n if (config && config.document) {\n document = typeof config.document === 'string' ? parseDocument(config.document, config.url) :\n config.document;\n } else {\n document = getDOM().createHtmlDocument();\n }\n // Tell ivy about the global document\n ɵsetDocument(document);\n return document;\n}\n\n/**\n * @publicApi\n */\nexport const platformServer: (extraProviders?: StaticProvider[]|undefined) => PlatformRef =\n createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * The server platform that supports the runtime compiler.\n *\n * @publicApi\n */\nexport const platformDynamicServer =\n createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ApplicationRef, EnvironmentProviders, importProvidersFrom, InjectionToken, NgModuleFactory, NgModuleRef, PlatformRef, Provider, Renderer2, StaticProvider, Type, ɵinternalCreateApplication as internalCreateApplication, ɵisPromise} from '@angular/core';\nimport {BrowserModule, ɵTRANSITION_ID} from '@angular/platform-browser';\nimport {first} from 'rxjs/operators';\n\nimport {PlatformState} from './platform_state';\nimport {platformDynamicServer, platformServer, ServerModule} from './server';\nimport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG} from './tokens';\nimport {TRANSFER_STATE_SERIALIZATION_PROVIDERS} from './transfer_state';\n\ninterface PlatformOptions {\n document?: string|Document;\n url?: string;\n platformProviders?: Provider[];\n}\n\nfunction _getPlatform(\n platformFactory: (extraProviders: StaticProvider[]) => PlatformRef,\n options: PlatformOptions): PlatformRef {\n const extraProviders = options.platformProviders ?? [];\n return platformFactory([\n {provide: INITIAL_CONFIG, useValue: {document: options.document, url: options.url}},\n extraProviders\n ]);\n}\n\n/**\n * Adds the `ng-server-context` attribute to host elements of all bootstrapped components\n * within a given application.\n */\nfunction appendServerContextInfo(serverContext: string, applicationRef: ApplicationRef) {\n applicationRef.components.forEach(componentRef => {\n const renderer = componentRef.injector.get(Renderer2);\n const element = componentRef.location.nativeElement;\n if (element) {\n renderer.setAttribute(element, 'ng-server-context', serverContext);\n }\n });\n}\n\nfunction _render<T>(\n platform: PlatformRef,\n bootstrapPromise: Promise<NgModuleRef<T>|ApplicationRef>): Promise<string> {\n return bootstrapPromise.then((moduleOrApplicationRef) => {\n const environmentInjector = moduleOrApplicationRef.injector;\n const transitionId = environmentInjector.get(ɵTRANSITION_ID, null);\n if (!transitionId) {\n throw new Error(\n `renderModule[Factory]() requires the use of BrowserModule.withServerTransition() to ensure\nthe server-rendered app can be properly bootstrapped into a client app.`);\n }\n const applicationRef: ApplicationRef = moduleOrApplicationRef instanceof ApplicationRef ?\n moduleOrApplicationRef :\n environmentInjector.get(ApplicationRef);\n const serverContext =\n sanitizeServerContext(environmentInjector.get(SERVER_CONTEXT, DEFAULT_SERVER_CONTEXT));\n return applicationRef.isStable.pipe((first((isStable: boolean) => isStable)))\n .toPromise()\n .then(() => {\n appendServerContextInfo(serverContext, applicationRef);\n\n const platformState = platform.injector.get(PlatformState);\n\n const asyncPromises: Promise<any>[] = [];\n\n // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string.\n const callbacks = environmentInjector.get(BEFORE_APP_SERIALIZED, null);\n\n if (callbacks) {\n for (const callback of callbacks) {\n try {\n const callbackResult = callback();\n if (ɵisPromise(callbackResult)) {\n // TODO: in TS3.7, callbackResult is void.\n asyncPromises.push(callbackResult as any);\n }\n\n } catch (e) {\n // Ignore exceptions.\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n }\n }\n }\n\n const complete = () => {\n const output = platformState.renderToString();\n platform.destroy();\n return output;\n };\n\n if (asyncPromises.length === 0) {\n return complete();\n }\n\n return Promise\n .all(asyncPromises.map(asyncPromise => {\n return asyncPromise.catch(e => {\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n });\n }))\n .then(complete);\n });\n });\n}\n\n/**\n * Specifies the value that should be used if no server context value has been provided.\n */\nconst DEFAULT_SERVER_CONTEXT = 'other';\n\n/**\n * An internal token that allows providing extra information about the server context\n * (e.g. whether SSR or SSG was used). The value is a string and characters other\n * than [a-zA-Z0-9\\-] are removed. See the default value in `DEFAULT_SERVER_CONTEXT` const.\n */\nexport const SERVER_CONTEXT = new InjectionToken<string>('SERVER_CONTEXT');\n\n/**\n * Sanitizes provided server context:\n * - removes all characters other than a-z, A-Z, 0-9 and `-`\n * - returns `other` if nothing is provided or the string is empty after sanitization\n */\nfunction sanitizeServerContext(serverContext: string): string {\n const context = serverContext.replace(/[^a-zA-Z0-9\\-]/g, '');\n return context.length > 0 ? context : DEFAULT_SERVER_CONTEXT;\n}\n\n/**\n * Bootstraps an application using provided NgModule and serializes the page content to string.\n *\n * @param moduleType A reference to an NgModule that should be used for bootstrap.\n * @param options Additional configuration for the render operation:\n * - `document` - the document of the page to render, either as an HTML string or\n * as a reference to the `document` instance.\n * - `url` - the URL for the current render request.\n * - `extraProviders` - set of platform level providers for the current render request.\n *\n * @publicApi\n */\nexport function renderModule<T>(moduleType: Type<T>, options: {\n document?: string|Document,\n url?: string,\n extraProviders?: StaticProvider[],\n}): Promise<string> {\n const {document, url, extraProviders: platformProviders} = options;\n const platform = _getPlatform(platformDynamicServer, {document, url, platformProviders});\n return _render(platform, platform.bootstrapModule(moduleType));\n}\n\n/**\n * Bootstraps an instance of an Angular application and renders it to a string.\n *\n * Note: the root component passed into this function *must* be a standalone one (should have the\n * `standalone: true` flag in the `@Component` decorator config).\n *\n * ```typescript\n * @Component({\n * standalone: true,\n * template: 'Hello world!'\n * })\n * class RootComponent {}\n *\n * const output: string = await renderApplication(RootComponent, {appId: 'server-app'});\n * ```\n *\n * @param rootComponent A reference to a Standalone Component that should be rendered.\n * @param options Additional configuration for the render operation:\n * - `appId` - a string identifier of this application. The appId is used to prefix all\n * server-generated stylings and state keys of the application in TransferState\n * use-cases.\n * - `document` - the document of the page to render, either as an HTML string or\n * as a reference to the `document` instance.\n * - `url` - the URL for the current render request.\n * - `providers` - set of application level providers for the current render request.\n * - `platformProviders` - the platform level providers for the current render request.\n *\n * @returns A Promise, that returns serialized (to a string) rendered page, once resolved.\n *\n * @publicApi\n * @developerPreview\n */\nexport function renderApplication<T>(rootComponent: Type<T>, options: {\n appId: string,\n document?: string|Document,\n url?: string,\n providers?: Array<Provider|EnvironmentProviders>,\n platformProviders?: Provider[],\n}): Promise<string> {\n const {document, url, platformProviders, appId} = options;\n const platform = _getPlatform(platformDynamicServer, {document, url, platformProviders});\n const appProviders = [\n importProvidersFrom(BrowserModule.withServerTransition({appId})),\n importProvidersFrom(ServerModule),\n ...(options.providers ?? []),\n ];\n return _render(platform, internalCreateApplication({rootComponent, appProviders}));\n}\n\n/**\n * Bootstraps an application using provided {@link NgModuleFactory} and serializes the page content\n * to string.\n *\n * @param moduleFactory An instance of the {@link NgModuleFactory} that should be used for\n * bootstrap.\n * @param options Additional configuration for the render operation:\n * - `document` - the document of the page to render, either as an HTML string or\n * as a reference to the `document` instance.\n * - `url` - the URL for the current render request.\n * - `extraProviders` - set of platform level providers for the current render request.\n *\n * @publicApi\n *\n * @deprecated\n * This symbol is no longer necessary as of Angular v13.\n * Use {@link renderModule} API instead.\n */\nexport function renderModuleFactory<T>(moduleFactory: NgModuleFactory<T>, options: {\n document?: string,\n url?: string,\n extraProviders?: StaticProvider[],\n}): Promise<string> {\n const {document, url, extraProviders: platformProviders} = options;\n const platform = _getPlatform(platformServer, {document, url, platformProviders});\n return _render(platform, platform.bootstrapModuleFactory(moduleFactory));\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-server package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = new Version('15.2.6');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/// <reference types=\"node\" />\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/platform-server';\n\n// This file only reexports content of the `src` folder. Keep it that way.\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BrowserDomAdapter","setRootDomAdapter","HttpInterceptorHandler","getDOM","flattenStyles","NAMESPACE_URIS","shimContentAttribute","shimHostAttribute","SharedStylesHost","escapeHtml","PLATFORM_SERVER_ID","ALLOW_MULTIPLE_PLATFORMS","TESTABILITY","NullViewportScroller","platformCoreDynamic","internalCreateApplication"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v15.2.4
2
+ * @license Angular v15.2.6
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -23,10 +23,10 @@ const platformServerTesting = createPlatformFactory(ɵplatformCoreDynamicTesting
23
23
  */
24
24
  class ServerTestingModule {
25
25
  }
26
- ServerTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ServerTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
- ServerTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: ServerTestingModule, imports: [NoopAnimationsModule], exports: [BrowserDynamicTestingModule] });
28
- ServerTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ServerTestingModule, providers: ɵSERVER_RENDER_PROVIDERS, imports: [NoopAnimationsModule, BrowserDynamicTestingModule] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: ServerTestingModule, decorators: [{
26
+ ServerTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ServerTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
+ ServerTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: ServerTestingModule, imports: [NoopAnimationsModule], exports: [BrowserDynamicTestingModule] });
28
+ ServerTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ServerTestingModule, providers: ɵSERVER_RENDER_PROVIDERS, imports: [NoopAnimationsModule, BrowserDynamicTestingModule] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ServerTestingModule, decorators: [{
30
30
  type: NgModule,
31
31
  args: [{
32
32
  exports: [BrowserDynamicTestingModule],
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v15.2.4
2
+ * @license Angular v15.2.6
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/init/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v15.2.4
2
+ * @license Angular v15.2.6
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/platform-server",
3
- "version": "15.2.4",
3
+ "version": "15.2.6",
4
4
  "description": "Angular - library for using Angular in Node.js",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -8,12 +8,12 @@
8
8
  "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
9
9
  },
10
10
  "peerDependencies": {
11
- "@angular/animations": "15.2.4",
12
- "@angular/common": "15.2.4",
13
- "@angular/compiler": "15.2.4",
14
- "@angular/core": "15.2.4",
15
- "@angular/platform-browser": "15.2.4",
16
- "@angular/platform-browser-dynamic": "15.2.4"
11
+ "@angular/animations": "15.2.6",
12
+ "@angular/common": "15.2.6",
13
+ "@angular/compiler": "15.2.6",
14
+ "@angular/core": "15.2.6",
15
+ "@angular/platform-browser": "15.2.6",
16
+ "@angular/platform-browser-dynamic": "15.2.6"
17
17
  },
18
18
  "dependencies": {
19
19
  "domino": "^2.1.2",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v15.2.4
2
+ * @license Angular v15.2.6
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */